diff --git a/.github/workflows/assign_milestone.yml b/.github/workflows/assign_milestone.yml
index 443d28e80d6..daa70e8c6ca 100644
--- a/.github/workflows/assign_milestone.yml
+++ b/.github/workflows/assign_milestone.yml
@@ -12,18 +12,18 @@ env:
jobs:
build:
name: Assign Milestone
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Set up Go
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Checkout code
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Assign Milestone
run: |
diff --git a/.github/workflows/auto_approve_pr.yml b/.github/workflows/auto_approve_pr.yml
index 6985f78e224..de553694927 100644
--- a/.github/workflows/auto_approve_pr.yml
+++ b/.github/workflows/auto_approve_pr.yml
@@ -16,7 +16,7 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Auto Approve Pull Request
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/check_label.yml b/.github/workflows/check_label.yml
index ec5309c6757..15b3ae3ec15 100644
--- a/.github/workflows/check_label.yml
+++ b/.github/workflows/check_label.yml
@@ -9,7 +9,7 @@ jobs:
check_pull_request_labels:
name: Check Pull Request labels
timeout-minutes: 10
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
if: github.repository == 'vitessio/vitess'
steps:
- name: Release Notes label
diff --git a/.github/workflows/check_make_vtadmin_authz_testgen.yml b/.github/workflows/check_make_vtadmin_authz_testgen.yml
index 3502c973632..f69df918be1 100644
--- a/.github/workflows/check_make_vtadmin_authz_testgen.yml
+++ b/.github/workflows/check_make_vtadmin_authz_testgen.yml
@@ -6,7 +6,7 @@ permissions: read-all
jobs:
build:
name: Check Make vtadmin_authz_testgen
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
run: |
@@ -27,11 +27,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -47,10 +47,10 @@ jobs:
- '.github/workflows/check_make_vtadmin_authz_testgen.yml'
- name: Set up Go
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.vtadmin_changes == 'true'
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.vtadmin_changes == 'true'
diff --git a/.github/workflows/check_make_vtadmin_web_proto.yml b/.github/workflows/check_make_vtadmin_web_proto.yml
index 61c83168c23..0f8d404a256 100644
--- a/.github/workflows/check_make_vtadmin_web_proto.yml
+++ b/.github/workflows/check_make_vtadmin_web_proto.yml
@@ -6,7 +6,7 @@ permissions: read-all
jobs:
build:
name: Check Make VTAdmin Web Proto
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
run: |
@@ -27,11 +27,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -49,14 +49,14 @@ jobs:
- '.github/workflows/check_make_vtadmin_web_proto.yml'
- name: Set up Go
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Setup Node
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
- uses: actions/setup-node@v4
+ uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
# node-version should match package.json
node-version: '20.12.2'
diff --git a/.github/workflows/close_stale_pull_requests.yml b/.github/workflows/close_stale_pull_requests.yml
index e0201c0104b..17fef550aa3 100644
--- a/.github/workflows/close_stale_pull_requests.yml
+++ b/.github/workflows/close_stale_pull_requests.yml
@@ -9,12 +9,12 @@ permissions: read-all
jobs:
close_stale_pull_requests:
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- - uses: actions/stale@v5
+ - uses: actions/stale@f7176fd3007623b69d27091f9b9d4ab7995f0a06 # v5.2.1
with:
days-before-stale: 30
# Do not handle issues at all. We only want to handle PRs.
diff --git a/.github/workflows/cluster_endtoend_12.yml b/.github/workflows/cluster_endtoend_12.yml
index 3c984f4d403..e65fb04f937 100644
--- a/.github/workflows/cluster_endtoend_12.yml
+++ b/.github/workflows/cluster_endtoend_12.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (12)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_13.yml b/.github/workflows/cluster_endtoend_13.yml
index c1a92a8a4b7..27490365583 100644
--- a/.github/workflows/cluster_endtoend_13.yml
+++ b/.github/workflows/cluster_endtoend_13.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (13)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_15.yml b/.github/workflows/cluster_endtoend_15.yml
index 3d2881b7676..cd113235346 100644
--- a/.github/workflows/cluster_endtoend_15.yml
+++ b/.github/workflows/cluster_endtoend_15.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (15)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_18.yml b/.github/workflows/cluster_endtoend_18.yml
index 1f35fbf0431..298430abc09 100644
--- a/.github/workflows/cluster_endtoend_18.yml
+++ b/.github/workflows/cluster_endtoend_18.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (18)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -156,7 +156,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_21.yml b/.github/workflows/cluster_endtoend_21.yml
index d47ad86dfd1..efb49a3a964 100644
--- a/.github/workflows/cluster_endtoend_21.yml
+++ b/.github/workflows/cluster_endtoend_21.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (21)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_backup_pitr.yml b/.github/workflows/cluster_endtoend_backup_pitr.yml
index 560b3029158..af18d5efd81 100644
--- a/.github/workflows/cluster_endtoend_backup_pitr.yml
+++ b/.github/workflows/cluster_endtoend_backup_pitr.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (backup_pitr)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_backup_pitr_mysqlshell.yml b/.github/workflows/cluster_endtoend_backup_pitr_mysqlshell.yml
new file mode 100644
index 00000000000..70c70313e17
--- /dev/null
+++ b/.github/workflows/cluster_endtoend_backup_pitr_mysqlshell.yml
@@ -0,0 +1,157 @@
+# DO NOT MODIFY: THIS FILE IS GENERATED USING "make generate_ci_workflows"
+
+name: Cluster (backup_pitr_mysqlshell)
+on: [push, pull_request]
+concurrency:
+ group: format('{0}-{1}', ${{ github.ref }}, 'Cluster (backup_pitr_mysqlshell)')
+ cancel-in-progress: true
+
+permissions: read-all
+
+env:
+ LAUNCHABLE_ORGANIZATION: "vitess"
+ LAUNCHABLE_WORKSPACE: "vitess-app"
+ GITHUB_PR_HEAD_SHA: "${{ github.event.pull_request.head.sha }}"
+
+jobs:
+ build:
+ name: Run endtoend tests on Cluster (backup_pitr_mysqlshell)
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Skip CI
+ run: |
+ if [[ "${{contains( github.event.pull_request.labels.*.name, 'Skip CI')}}" == "true" ]]; then
+ echo "skipping CI due to the 'Skip CI' label"
+ exit 1
+ fi
+
+ - name: Check if workflow needs to be skipped
+ id: skip-workflow
+ run: |
+ skip='false'
+ if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
+ skip='true'
+ fi
+ echo Skip ${skip}
+ echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
+
+ PR_DATA=$(curl -s\
+ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
+ -H "Accept: application/vnd.github.v3+json" \
+ "https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}")
+ draft=$(echo "$PR_DATA" | jq .draft -r)
+ echo "is_draft=${draft}" >> $GITHUB_OUTPUT
+
+ - name: Check out code
+ if: steps.skip-workflow.outputs.skip-workflow == 'false'
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+
+ - name: Check for changes in relevant files
+ if: steps.skip-workflow.outputs.skip-workflow == 'false'
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
+ id: changes
+ with:
+ token: ''
+ filters: |
+ end_to_end:
+ - 'go/**/*.go'
+ - 'go/vt/sidecardb/**/*.sql'
+ - 'go/test/endtoend/onlineddl/vrepl_suite/**'
+ - 'test.go'
+ - 'Makefile'
+ - 'build.env'
+ - 'go.sum'
+ - 'go.mod'
+ - 'proto/*.proto'
+ - 'tools/**'
+ - 'config/**'
+ - 'bootstrap.sh'
+ - '.github/workflows/cluster_endtoend_backup_pitr_mysqlshell.yml'
+
+ - name: Set up Go
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
+ with:
+ go-version-file: go.mod
+
+ - name: Set up python
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
+
+ - name: Tune the OS
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
+ run: |
+ # Limit local port range to not use ports that overlap with server side
+ # ports that we listen on.
+ sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
+ # Increase the asynchronous non-blocking I/O. More information at https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_use_native_aio
+ echo "fs.aio-max-nr = 1048576" | sudo tee -a /etc/sysctl.conf
+ sudo sysctl -p /etc/sysctl.conf
+
+ - name: Get dependencies
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
+ run: |
+
+ # Get key to latest MySQL repo
+ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
+ # Setup MySQL 8.0
+ wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
+ echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
+ sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
+ sudo apt-get -qq update
+ # Install everything else we need, and configure
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+
+ sudo service mysql stop
+ sudo service etcd stop
+ sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
+ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
+ go mod download
+
+ # install JUnit report formatter
+ go install github.com/vitessio/go-junit-report@HEAD
+
+ - name: Setup launchable dependencies
+ if: steps.skip-workflow.outputs.is_draft == 'false' && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && github.base_ref == 'main'
+ run: |
+ # Get Launchable CLI installed. If you can, make it a part of the builder image to speed things up
+ pip3 install --user launchable~=1.0 > /dev/null
+
+ # verify that launchable setup is all correct.
+ launchable verify || true
+
+ # Tell Launchable about the build you are producing and testing
+ launchable record build --name "$GITHUB_RUN_ID" --no-commit-collection --source .
+
+ - name: Run cluster endtoend test
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
+ timeout-minutes: 45
+ run: |
+ # We set the VTDATAROOT to the /tmp folder to reduce the file path of mysql.sock file
+ # which musn't be more than 107 characters long.
+ export VTDATAROOT="/tmp/"
+ source build.env
+
+ set -exo pipefail
+
+ # run the tests however you normally do, then produce a JUnit XML file
+ eatmydata -- go run test.go -docker=false -follow -shard backup_pitr_mysqlshell | tee -a output.txt | go-junit-report -set-exit-code > report.xml
+
+ - name: Print test output and Record test result in launchable if PR is not a draft
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
+ run: |
+ if [[ "${{steps.skip-workflow.outputs.is_draft}}" == "false" ]]; then
+ # send recorded tests to launchable
+ launchable record tests --build "$GITHUB_RUN_ID" go-test . || true
+ fi
+
+ # print test output
+ cat output.txt
+
+ - name: Test Summary
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
+ with:
+ paths: "report.xml"
+ show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_backup_pitr_xtrabackup.yml b/.github/workflows/cluster_endtoend_backup_pitr_xtrabackup.yml
index 1891d1a75d2..7b8985ce5a6 100644
--- a/.github/workflows/cluster_endtoend_backup_pitr_xtrabackup.yml
+++ b/.github/workflows/cluster_endtoend_backup_pitr_xtrabackup.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (backup_pitr_xtrabackup)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -154,7 +154,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml b/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml
index a3f41d78264..b5919bb3b42 100644
--- a/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml
+++ b/.github/workflows/cluster_endtoend_ers_prs_newfeatures_heavy.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (ers_prs_newfeatures_heavy)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -169,7 +169,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_mysql80.yml b/.github/workflows/cluster_endtoend_mysql80.yml
index f5dc2abad55..d5870aeb443 100644
--- a/.github/workflows/cluster_endtoend_mysql80.yml
+++ b/.github/workflows/cluster_endtoend_mysql80.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (mysql80)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_mysql_server_vault.yml b/.github/workflows/cluster_endtoend_mysql_server_vault.yml
index d41b6f014f5..b698d02abc9 100644
--- a/.github/workflows/cluster_endtoend_mysql_server_vault.yml
+++ b/.github/workflows/cluster_endtoend_mysql_server_vault.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (mysql_server_vault)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -156,7 +156,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_onlineddl_revert.yml b/.github/workflows/cluster_endtoend_onlineddl_revert.yml
index 10e6c4e670f..b4d79419fd5 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_revert.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_revert.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (onlineddl_revert)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -102,7 +102,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -152,7 +152,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml b/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml
index 4b76d62b923..d6c37830504 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_scheduler.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (onlineddl_scheduler)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -102,7 +102,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -152,7 +152,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml
index f2e7d2939f0..adf6db6aa24 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl.yml
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -102,7 +102,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -156,7 +156,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml
index 7574a4bcea2..22d63bf570d 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress.yml
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -102,7 +102,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -156,7 +156,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml
index c6576ed2927..a695c80ef15 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_stress_suite.yml
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -102,7 +102,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -156,7 +156,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml b/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml
index ce528f797ea..ebd76c327bf 100644
--- a/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml
+++ b/.github/workflows/cluster_endtoend_onlineddl_vrepl_suite.yml
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -102,7 +102,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -156,7 +156,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml b/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml
index 07224c415db..e146781d9da 100644
--- a/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml
+++ b/.github/workflows/cluster_endtoend_schemadiff_vrepl.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (schemadiff_vrepl)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -102,7 +102,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -156,7 +156,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_tabletmanager_consul.yml b/.github/workflows/cluster_endtoend_tabletmanager_consul.yml
index e80c8598f44..1bb2c54ce61 100644
--- a/.github/workflows/cluster_endtoend_tabletmanager_consul.yml
+++ b/.github/workflows/cluster_endtoend_tabletmanager_consul.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (tabletmanager_consul)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -156,7 +156,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml b/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml
index 14973bd1f2d..f6e5e948bd3 100644
--- a/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml
+++ b/.github/workflows/cluster_endtoend_tabletmanager_tablegc.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (tabletmanager_tablegc)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml b/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml
index a647e443e61..8cf00a2327f 100644
--- a/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml
+++ b/.github/workflows/cluster_endtoend_tabletmanager_throttler_topo.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (tabletmanager_throttler_topo)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_topo_connection_cache.yml b/.github/workflows/cluster_endtoend_topo_connection_cache.yml
index 37c932621d9..e1ecbc23260 100644
--- a/.github/workflows/cluster_endtoend_topo_connection_cache.yml
+++ b/.github/workflows/cluster_endtoend_topo_connection_cache.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (topo_connection_cache)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml b/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml
index 9116e1d3fc2..a353bde7be5 100644
--- a/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_across_db_versions.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vreplication_across_db_versions)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -173,7 +173,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vreplication_basic.yml b/.github/workflows/cluster_endtoend_vreplication_basic.yml
index 7843ad05192..d091cb86961 100644
--- a/.github/workflows/cluster_endtoend_vreplication_basic.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_basic.yml
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -173,7 +173,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vreplication_cellalias.yml b/.github/workflows/cluster_endtoend_vreplication_cellalias.yml
index 9a179229f1e..2dffd6f8153 100644
--- a/.github/workflows/cluster_endtoend_vreplication_cellalias.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_cellalias.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vreplication_cellalias)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -173,7 +173,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vreplication_copy_parallel.yml b/.github/workflows/cluster_endtoend_vreplication_copy_parallel.yml
index 37eafd948c4..46f03e9aacc 100644
--- a/.github/workflows/cluster_endtoend_vreplication_copy_parallel.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_copy_parallel.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vreplication_copy_parallel)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -173,7 +173,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vreplication_foreign_key_stress.yml b/.github/workflows/cluster_endtoend_vreplication_foreign_key_stress.yml
index 9fb4287e0b1..d30ec2c8530 100644
--- a/.github/workflows/cluster_endtoend_vreplication_foreign_key_stress.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_foreign_key_stress.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vreplication_foreign_key_stress)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -173,7 +173,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vreplication_mariadb_to_mysql.yml b/.github/workflows/cluster_endtoend_vreplication_mariadb_to_mysql.yml
index 86f2fa69e30..fccad49e2a5 100644
--- a/.github/workflows/cluster_endtoend_vreplication_mariadb_to_mysql.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_mariadb_to_mysql.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vreplication_mariadb_to_mysql)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -173,7 +173,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
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 d7d385f1e9f..079a0907583 100644
--- a/.github/workflows/cluster_endtoend_vreplication_migrate_vdiff2_convert_tz.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_migrate_vdiff2_convert_tz.yml
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -173,7 +173,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vreplication_multi_tenant.yml b/.github/workflows/cluster_endtoend_vreplication_multi_tenant.yml
index e4e5ee17452..2ec587bf525 100644
--- a/.github/workflows/cluster_endtoend_vreplication_multi_tenant.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_multi_tenant.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vreplication_multi_tenant)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -173,7 +173,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vreplication_partial_movetables_and_materialize.yml b/.github/workflows/cluster_endtoend_vreplication_partial_movetables_and_materialize.yml
index a7b2c31b420..5644f1713f8 100644
--- a/.github/workflows/cluster_endtoend_vreplication_partial_movetables_and_materialize.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_partial_movetables_and_materialize.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vreplication_partial_movetables_and_materialize)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -173,7 +173,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vreplication_v2.yml b/.github/workflows/cluster_endtoend_vreplication_v2.yml
index fb1247fabfb..a40e069a4c4 100644
--- a/.github/workflows/cluster_endtoend_vreplication_v2.yml
+++ b/.github/workflows/cluster_endtoend_vreplication_v2.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vreplication_v2)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -173,7 +173,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vstream.yml b/.github/workflows/cluster_endtoend_vstream.yml
index 5d13e6d3a41..bff03174c0c 100644
--- a/.github/workflows/cluster_endtoend_vstream.yml
+++ b/.github/workflows/cluster_endtoend_vstream.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vstream)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtbackup.yml b/.github/workflows/cluster_endtoend_vtbackup.yml
index 9bf411cc328..c14fe37997e 100644
--- a/.github/workflows/cluster_endtoend_vtbackup.yml
+++ b/.github/workflows/cluster_endtoend_vtbackup.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtbackup)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml b/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml
index 09fbfa8e451..b400f875946 100644
--- a/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml
+++ b/.github/workflows/cluster_endtoend_vtctlbackup_sharded_clustertest_heavy.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtctlbackup_sharded_clustertest_heavy)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -169,7 +169,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml b/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml
index b8cb2d77ad9..c55465cbf51 100644
--- a/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_concurrentdml.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_concurrentdml)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_foreignkey_stress.yml b/.github/workflows/cluster_endtoend_vtgate_foreignkey_stress.yml
index 5ad1025debd..ff2e94699c6 100644
--- a/.github/workflows/cluster_endtoend_vtgate_foreignkey_stress.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_foreignkey_stress.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_foreignkey_stress)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_gen4.yml b/.github/workflows/cluster_endtoend_vtgate_gen4.yml
index 43bbe666186..082a4b90d0e 100644
--- a/.github/workflows/cluster_endtoend_vtgate_gen4.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_gen4.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_gen4)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml b/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml
index d63edf72ae7..53238c2094f 100644
--- a/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_general_heavy.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_general_heavy)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -169,7 +169,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_godriver.yml b/.github/workflows/cluster_endtoend_vtgate_godriver.yml
index c7c2d0bf494..728ed53c822 100644
--- a/.github/workflows/cluster_endtoend_vtgate_godriver.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_godriver.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_godriver)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml b/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml
index 3510e8f2144..4ed84c056ce 100644
--- a/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_partial_keyspace.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_partial_keyspace)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_queries.yml b/.github/workflows/cluster_endtoend_vtgate_queries.yml
index 40f20e2177e..c9d2da1f0dd 100644
--- a/.github/workflows/cluster_endtoend_vtgate_queries.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_queries.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_queries)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml b/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml
index c913e05810a..cf32b2410a1 100644
--- a/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_readafterwrite.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_readafterwrite)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml b/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml
index aa173b32ca3..ace8a69531e 100644
--- a/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_reservedconn.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_reservedconn)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_schema.yml b/.github/workflows/cluster_endtoend_vtgate_schema.yml
index 5a5ab725b8a..b8cf32712fb 100644
--- a/.github/workflows/cluster_endtoend_vtgate_schema.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_schema.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_schema)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml b/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml
index 00244b8223a..1e0d0695ec8 100644
--- a/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_schema_tracker.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_schema_tracker)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml b/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml
index ee14848cd79..f7d14b8a73b 100644
--- a/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_tablet_healthcheck_cache.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_tablet_healthcheck_cache)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_topo.yml b/.github/workflows/cluster_endtoend_vtgate_topo.yml
index 9517ad965b5..1edffcb35f5 100644
--- a/.github/workflows/cluster_endtoend_vtgate_topo.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_topo.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_topo)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml b/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml
index 6d585fb41f3..2f027ffa7f4 100644
--- a/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_topo_consul.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_topo_consul)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -156,7 +156,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml b/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml
index d1ae0e96afd..14f68e56f80 100644
--- a/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_topo_etcd.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_topo_etcd)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_transaction.yml b/.github/workflows/cluster_endtoend_vtgate_transaction.yml
index 50f6a57b551..821575cbf27 100644
--- a/.github/workflows/cluster_endtoend_vtgate_transaction.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_transaction.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_transaction)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_unsharded.yml b/.github/workflows/cluster_endtoend_vtgate_unsharded.yml
index b0d8348aaab..8b2564dc39a 100644
--- a/.github/workflows/cluster_endtoend_vtgate_unsharded.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_unsharded.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_unsharded)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml b/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml
index 330ee506517..efa50df18f4 100644
--- a/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_vindex_heavy.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_vindex_heavy)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -169,7 +169,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtgate_vschema.yml b/.github/workflows/cluster_endtoend_vtgate_vschema.yml
index 4ddf20fa9c5..e2d3bb3c491 100644
--- a/.github/workflows/cluster_endtoend_vtgate_vschema.yml
+++ b/.github/workflows/cluster_endtoend_vtgate_vschema.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtgate_vschema)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vtorc.yml b/.github/workflows/cluster_endtoend_vtorc.yml
index 77493692395..0a22b4ec710 100644
--- a/.github/workflows/cluster_endtoend_vtorc.yml
+++ b/.github/workflows/cluster_endtoend_vtorc.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vtorc)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -54,11 +54,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -80,13 +80,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -110,7 +110,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -160,7 +160,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml b/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml
index 58ff4074c0c..dc67234d90c 100644
--- a/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml
+++ b/.github/workflows/cluster_endtoend_vttablet_prscomplex.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (vttablet_prscomplex)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -101,7 +101,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
sudo service mysql stop
sudo service etcd stop
@@ -151,7 +151,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_xb_backup.yml b/.github/workflows/cluster_endtoend_xb_backup.yml
index 5a8acc66d8c..c41e4d08d23 100644
--- a/.github/workflows/cluster_endtoend_xb_backup.yml
+++ b/.github/workflows/cluster_endtoend_xb_backup.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (xb_backup)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -154,7 +154,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/cluster_endtoend_xb_recovery.yml b/.github/workflows/cluster_endtoend_xb_recovery.yml
index 94fb11320fb..12eb059bb04 100644
--- a/.github/workflows/cluster_endtoend_xb_recovery.yml
+++ b/.github/workflows/cluster_endtoend_xb_recovery.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Cluster (xb_recovery)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -154,7 +154,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/code_freeze.yml b/.github/workflows/code_freeze.yml
index 5640bc01b69..92ef037ee6b 100644
--- a/.github/workflows/code_freeze.yml
+++ b/.github/workflows/code_freeze.yml
@@ -7,7 +7,7 @@ permissions: read-all
jobs:
build:
name: Code Freeze
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
steps:
- name: Fail if Code Freeze is enabled
run: |
diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml
index 3015309d2c2..7846749a013 100644
--- a/.github/workflows/codecov.yml
+++ b/.github/workflows/codecov.yml
@@ -13,10 +13,10 @@ jobs:
steps:
- name: Check out code
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in files relevant to code coverage
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -30,13 +30,13 @@ jobs:
- name: Set up Go
if: steps.changes.outputs.changed_files == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.changes.outputs.changed_files == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.changes.outputs.changed_files == 'true'
diff --git a/.github/workflows/codeql_analysis.yml b/.github/workflows/codeql_analysis.yml
index d6d5ea6335d..e1a474ce9a2 100644
--- a/.github/workflows/codeql_analysis.yml
+++ b/.github/workflows/codeql_analysis.yml
@@ -14,7 +14,7 @@ permissions: read-all
jobs:
analyze:
name: Analyze
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
permissions:
actions: read
contents: read
@@ -27,12 +27,12 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up Go
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml
index cb393141ae3..bafb115bb03 100644
--- a/.github/workflows/create_release.yml
+++ b/.github/workflows/create_release.yml
@@ -12,15 +12,15 @@ permissions: read-all
jobs:
build:
name: Create Release
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Set up Go
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Setup node
uses: actions/setup-node@v4
@@ -32,7 +32,7 @@ jobs:
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
- name: Check out code
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get dependencies
run: |
diff --git a/.github/workflows/build_docker_images.yml b/.github/workflows/docker_build_images.yml
similarity index 62%
rename from .github/workflows/build_docker_images.yml
rename to .github/workflows/docker_build_images.yml
index da1e7c63887..6d5e12119b3 100644
--- a/.github/workflows/build_docker_images.yml
+++ b/.github/workflows/docker_build_images.yml
@@ -1,101 +1,23 @@
-name: Build Docker Images
+name: Docker Build Images
on:
- pull_request:
push:
branches:
- main
tags:
- - '*'
+ - 'v[2-9][0-9]*.*' # run only on tags greater or equal to v20.0.0 where this new way of building docker image was changed
+ workflow_dispatch:
concurrency:
- group: format('{0}-{1}', ${{ github.ref }}, 'Build Docker Images')
+ group: format('{0}-{1}', ${{ github.ref }}, 'Docker Build Images (v20+)')
cancel-in-progress: true
permissions: read-all
jobs:
- push:
- name: Set push variable
- runs-on: ubuntu-20.04
- if: github.repository == 'vitessio/vitess'
- outputs:
- push: ${{ steps.push.outputs.push }}
-
- steps:
- - name: Set push variable
- id: push
- run: |
- push='false'
- if [[ "${{github.event.pull_request}}" == "" ]]; then
- push='true'
- fi
- echo Push ${push}
- echo "push=${push}" >> $GITHUB_OUTPUT
-
- build_and_push_vttestserver:
- name: Build and push vttestserver
- runs-on: gh-hosted-runners-16cores-1
- if: github.repository == 'vitessio/vitess' && needs.push.result == 'success'
- needs:
- - push
-
- strategy:
- fail-fast: true
- matrix:
- branch: [ mysql80 ]
-
- steps:
- - name: Check out code
- uses: actions/checkout@v4
-
- - name: Login to Docker Hub
- if: needs.push.outputs.push == 'true'
- uses: docker/login-action@v3
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Set Dockerfile path
- run: |
- echo "DOCKERFILE=./docker/vttestserver/Dockerfile.${{ matrix.branch }}" >> $GITHUB_ENV
-
- - name: Build and push on main
- if: startsWith(github.ref, 'refs/tags/') == false
- uses: docker/build-push-action@v5
- with:
- context: .
- file: ${{ env.DOCKERFILE }}
- push: ${{ needs.push.outputs.push }}
- tags: vitess/vttestserver:${{ matrix.branch }}
-
- ######
- # All code below only applies to new tags
- ######
- - name: Get the Git tag
- if: startsWith(github.ref, 'refs/tags/')
- run: echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
-
- - name: Set Docker tag name
- if: startsWith(github.ref, 'refs/tags/')
- run: |
- echo "DOCKER_TAG=vitess/vttestserver:${TAG_NAME}-${{ matrix.branch }}" >> $GITHUB_ENV
-
- - name: Build and push on tags
- if: startsWith(github.ref, 'refs/tags/')
- uses: docker/build-push-action@v5
- with:
- context: .
- file: ${{ env.DOCKERFILE }}
- push: true
- tags: ${{ env.DOCKER_TAG }}
-
-
build_and_push_lite:
- name: Build and push lite
- runs-on: gh-hosted-runners-16cores-1
- if: github.repository == 'vitessio/vitess' && needs.push.result == 'success'
- needs:
- - push
+ name: Build and push vitess/lite Docker images
+ runs-on: ubuntu-latest
+ if: github.repository == 'vitessio/vitess'
strategy:
fail-fast: true
@@ -107,7 +29,6 @@ jobs:
uses: actions/checkout@v4
- name: Login to Docker Hub
- if: needs.push.outputs.push == 'true'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
@@ -122,12 +43,12 @@ jobs:
fi
- name: Build and push on main
- if: startsWith(github.ref, 'refs/tags/') == false
+ if: github.ref == 'refs/heads/main'
uses: docker/build-push-action@v5
with:
context: .
file: ${{ env.DOCKERFILE }}
- push: ${{ needs.push.outputs.push }}
+ push: true
tags: vitess/lite:${{ matrix.branch }}
######
@@ -156,25 +77,22 @@ jobs:
tags: ${{ env.DOCKER_TAG }}
build_and_push_components:
- name: Build and push
+ name: Build and push vitess components Docker images
+ needs: build_and_push_lite
runs-on: gh-hosted-runners-16cores-1
- if: github.repository == 'vitessio/vitess' && needs.push.result == 'success' && needs.build_and_push_lite.result == 'success'
- needs:
- - push
- - build_and_push_lite
+ if: github.repository == 'vitessio/vitess'
strategy:
fail-fast: true
matrix:
debian: [ bullseye, bookworm ]
- component: [ vtadmin, vtorc, vtgate, vttablet, mysqlctld, mysqlctl, vtctl, vtctlclient, vtctld, vtctldclient, logrotate, logtail, vtbackup, vtexplain ]
+ component: [ vtadmin, vtorc, vtgate, vttablet, mysqlctld, mysqlctl, vtctl, vtctlclient, vtctld, logrotate, logtail, vtbackup, vtexplain ]
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Login to Docker Hub
- if: needs.push.outputs.push == 'true'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
@@ -185,22 +103,22 @@ jobs:
echo "DOCKER_CTX=./docker/binaries/${{ matrix.component }}" >> $GITHUB_ENV
- name: Build and push on main latest tag
- if: startsWith(github.ref, 'refs/tags/') == false && matrix.debian == 'bookworm'
+ if: github.ref == 'refs/heads/main' && matrix.debian == 'bookworm'
uses: docker/build-push-action@v5
with:
context: ${{ env.DOCKER_CTX }}
- push: ${{ needs.push.outputs.push }}
+ push: true
tags: vitess/${{ matrix.component }}:latest
build-args: |
VT_BASE_VER=latest
DEBIAN_VER=${{ matrix.debian }}-slim
- name: Build and push on main debian specific tag
- if: startsWith(github.ref, 'refs/tags/') == false
+ if: github.ref == 'refs/heads/main'
uses: docker/build-push-action@v5
with:
context: ${{ env.DOCKER_CTX }}
- push: ${{ needs.push.outputs.push }}
+ push: true
tags: vitess/${{ matrix.component }}:latest-${{ matrix.debian }}
build-args: |
VT_BASE_VER=latest
diff --git a/.github/workflows/docker_test_cluster_10.yml b/.github/workflows/docker_test_cluster_10.yml
index 2a1c1050461..ce1c9e7277b 100644
--- a/.github/workflows/docker_test_cluster_10.yml
+++ b/.github/workflows/docker_test_cluster_10.yml
@@ -5,7 +5,7 @@ jobs:
build:
name: Docker Test Cluster 10
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -27,11 +27,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/docker_test_cluster_25.yml b/.github/workflows/docker_test_cluster_25.yml
index ba73f50252b..eb2319b8c9f 100644
--- a/.github/workflows/docker_test_cluster_25.yml
+++ b/.github/workflows/docker_test_cluster_25.yml
@@ -5,7 +5,7 @@ jobs:
build:
name: Docker Test Cluster 25
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -27,11 +27,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/e2e_race.yml b/.github/workflows/e2e_race.yml
index 7819ab3ae90..78c8d0b1753 100644
--- a/.github/workflows/e2e_race.yml
+++ b/.github/workflows/e2e_race.yml
@@ -5,7 +5,7 @@ jobs:
build:
name: End-to-End Test (Race)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
run: |
@@ -26,11 +26,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/endtoend.yml b/.github/workflows/endtoend.yml
index 783d3305fc8..9e06e4ee44b 100644
--- a/.github/workflows/endtoend.yml
+++ b/.github/workflows/endtoend.yml
@@ -5,7 +5,7 @@ jobs:
build:
name: End-to-End Test
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
run: |
@@ -26,11 +26,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/.github/workflows/local_example.yml b/.github/workflows/local_example.yml
index 851db91df22..65669158415 100644
--- a/.github/workflows/local_example.yml
+++ b/.github/workflows/local_example.yml
@@ -30,11 +30,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -55,9 +55,9 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.examples == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.examples == 'true'
diff --git a/.github/workflows/region_example.yml b/.github/workflows/region_example.yml
index b10abe415d7..c031ea315b5 100644
--- a/.github/workflows/region_example.yml
+++ b/.github/workflows/region_example.yml
@@ -30,11 +30,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -55,9 +55,9 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.examples == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.examples == 'true'
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
new file mode 100644
index 00000000000..7d20694b850
--- /dev/null
+++ b/.github/workflows/scorecards.yml
@@ -0,0 +1,67 @@
+name: Scorecard supply-chain security
+on:
+ # For Branch-Protection check. Only the default branch is supported. See
+ # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
+ branch_protection_rule:
+ # To guarantee Maintained check is occasionally updated. See
+ # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
+ push:
+ branches: [ "main" ]
+
+# Declare default permissions as read only.
+permissions: read-all
+
+jobs:
+ analysis:
+ name: Scorecard analysis
+ runs-on: ubuntu-latest
+ permissions:
+ # Needed to upload the results to code-scanning dashboard.
+ security-events: write
+ # Needed to publish results and get a badge (see publish_results below).
+ id-token: write
+ # Uncomment the permissions below if installing in a private repository.
+ # contents: read
+ # actions: read
+
+ steps:
+ - name: "Checkout code"
+ uses: actions/checkout@v4
+ with:
+ persist-credentials: false
+
+ - name: "Run analysis"
+ uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
+ with:
+ results_file: results.sarif
+ results_format: sarif
+ # (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
+ # - you want to enable the Branch-Protection check on a *public* repository, or
+ # - you are installing Scorecard on a *private* repository
+ # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional.
+ # repo_token: ${{ secrets.SCORECARD_TOKEN }}
+
+ # Public repositories:
+ # - Publish results to OpenSSF REST API for easy access by consumers
+ # - Allows the repository to include the Scorecard badge.
+ # - See https://github.com/ossf/scorecard-action#publishing-results.
+ # For private repositories:
+ # - `publish_results` will always be set to `false`, regardless
+ # of the value entered here.
+ publish_results: true
+
+ # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
+ # format to the repository Actions tab.
+ - name: "Upload artifact"
+ uses: actions/upload-artifact@v3
+ with:
+ name: SARIF file
+ path: results.sarif
+ retention-days: 5
+
+ # Upload the results to GitHub's code scanning dashboard (optional).
+ # Commenting out will disable upload of results to your repo's Code Scanning dashboard
+ - name: "Upload to code-scanning"
+ uses: github/codeql-action/upload-sarif@v3
+ with:
+ sarif_file: results.sarif
diff --git a/.github/workflows/static_checks_etc.yml b/.github/workflows/static_checks_etc.yml
index 75fb01e487e..cd896d5fd29 100644
--- a/.github/workflows/static_checks_etc.yml
+++ b/.github/workflows/static_checks_etc.yml
@@ -9,7 +9,7 @@ permissions: read-all
jobs:
build:
name: Static Code Checks Etc
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -31,7 +31,7 @@ jobs:
- name: Checkout code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Run FOSSA scan and upload build data
uses: fossa-contrib/fossa-action@v3
@@ -42,7 +42,7 @@ jobs:
- name: Check for changes in Go files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -52,6 +52,7 @@ jobs:
- '*.go'
- 'go.sum'
- 'go.mod'
+ - '.github/workflows/static_checks_etc.yml'
parser_changes:
- 'go/vt/sqlparser/**'
- 'go.sum'
@@ -118,12 +119,13 @@ jobs:
- '.github/**'
- 'Makefile'
- 'test/ci_workflow_gen.go'
+ - '.github/workflows/static_checks_etc.yml'
- 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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.go_files == 'true'
@@ -193,7 +195,7 @@ jobs:
- name: Install golangci-lint
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.go_files == 'true'
- run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.56.2
+ run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.60.2
- name: Clean Env
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.go_files == 'true'
@@ -221,6 +223,13 @@ jobs:
echo "$output"
exit 1
+ - name: Setup Node
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
+ uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
+ with:
+ # make proto requires newer node than the pre-installed one
+ node-version: '20.12.2'
+
- name: check_make_proto
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
run: |
diff --git a/.github/workflows/unit_race.yml b/.github/workflows/unit_race.yml
index 3f6de3eb6f8..6b3133f2770 100644
--- a/.github/workflows/unit_race.yml
+++ b/.github/workflows/unit_race.yml
@@ -43,11 +43,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -67,13 +67,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
@@ -147,7 +147,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/unit_race_evalengine.yml b/.github/workflows/unit_race_evalengine.yml
index 77ada6729bd..5ea72291a93 100644
--- a/.github/workflows/unit_race_evalengine.yml
+++ b/.github/workflows/unit_race_evalengine.yml
@@ -43,11 +43,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -67,13 +67,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
@@ -147,7 +147,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/unit_test_evalengine_mysql57.yml b/.github/workflows/unit_test_evalengine_mysql57.yml
index 313e076177c..868a0e01c7d 100644
--- a/.github/workflows/unit_test_evalengine_mysql57.yml
+++ b/.github/workflows/unit_test_evalengine_mysql57.yml
@@ -16,7 +16,7 @@ env:
jobs:
test:
name: Unit Test (evalengine_mysql57)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -69,13 +69,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
@@ -172,7 +172,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/unit_test_evalengine_mysql80.yml b/.github/workflows/unit_test_evalengine_mysql80.yml
index a19087f6f29..9a4f951e222 100644
--- a/.github/workflows/unit_test_evalengine_mysql80.yml
+++ b/.github/workflows/unit_test_evalengine_mysql80.yml
@@ -16,7 +16,7 @@ env:
jobs:
test:
name: Unit Test (evalengine_mysql80)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -69,13 +69,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
@@ -169,7 +169,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/unit_test_evalengine_mysql84.yml b/.github/workflows/unit_test_evalengine_mysql84.yml
index be066cc5bb1..0b70c5c9a87 100644
--- a/.github/workflows/unit_test_evalengine_mysql84.yml
+++ b/.github/workflows/unit_test_evalengine_mysql84.yml
@@ -16,7 +16,7 @@ env:
jobs:
test:
name: Unit Test (evalengine_mysql84)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -69,13 +69,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
@@ -169,7 +169,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/unit_test_mysql57.yml b/.github/workflows/unit_test_mysql57.yml
index 1ccf3e320a9..7fccf1e3659 100644
--- a/.github/workflows/unit_test_mysql57.yml
+++ b/.github/workflows/unit_test_mysql57.yml
@@ -16,7 +16,7 @@ env:
jobs:
test:
name: Unit Test (mysql57)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -69,13 +69,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
@@ -172,7 +172,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/unit_test_mysql80.yml b/.github/workflows/unit_test_mysql80.yml
index 1984d36a5a9..512ab962bb4 100644
--- a/.github/workflows/unit_test_mysql80.yml
+++ b/.github/workflows/unit_test_mysql80.yml
@@ -16,7 +16,7 @@ env:
jobs:
test:
name: Unit Test (mysql80)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -69,13 +69,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
@@ -169,7 +169,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/unit_test_mysql84.yml b/.github/workflows/unit_test_mysql84.yml
index f3fab513358..98becd7a7e4 100644
--- a/.github/workflows/unit_test_mysql84.yml
+++ b/.github/workflows/unit_test_mysql84.yml
@@ -16,7 +16,7 @@ env:
jobs:
test:
name: Unit Test (mysql84)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -69,13 +69,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
@@ -169,7 +169,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/.github/workflows/update_golang_dependencies.yml b/.github/workflows/update_golang_dependencies.yml
index 7538090d51e..a614a634d83 100644
--- a/.github/workflows/update_golang_dependencies.yml
+++ b/.github/workflows/update_golang_dependencies.yml
@@ -17,12 +17,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up Go
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Check out code
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: main
diff --git a/.github/workflows/update_golang_version.yml b/.github/workflows/update_golang_version.yml
index df9677e7cf4..b25f3e72da1 100644
--- a/.github/workflows/update_golang_version.yml
+++ b/.github/workflows/update_golang_version.yml
@@ -20,12 +20,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up Go
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Check out code
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ matrix.branch }}
@@ -38,9 +38,9 @@ jobs:
echo "old-go-version=${old_go_version}" >> $GITHUB_OUTPUT
if [ ${{ matrix.branch }} == "main" ]; then
- go run ./go/tools/go-upgrade/go-upgrade.go upgrade --workflow-update=false --main --allow-major-upgrade
+ go run ./go/tools/go-upgrade/go-upgrade.go upgrade --main --allow-major-upgrade
else
- go run ./go/tools/go-upgrade/go-upgrade.go upgrade --workflow-update=false
+ go run ./go/tools/go-upgrade/go-upgrade.go upgrade
fi
output=$(git status -s)
@@ -81,8 +81,6 @@ jobs:
There are a few manual steps remaining:
- [ ] Make sure you update the Golang version used in the previous and next release branches for the Upgrade/Downgrade tests.
- [ ] Build and Push the bootstrap images to Docker Hub, the bot cannot handle that.
- - [ ] Update the `./.github/workflows/*.yml` files with the newer Golang version, the bot cannot handle that due to permissions.
- - To accomplish this, run the following: `go run ./go/tools/go-upgrade/go-upgrade.go upgrade workflows --go-to=${{steps.detect-and-update.outputs.go-version}}`
cc @vitessio/release
base: ${{ matrix.branch }}
diff --git a/.github/workflows/upgrade_downgrade_test_backups_e2e.yml b/.github/workflows/upgrade_downgrade_test_backups_e2e.yml
index e8b8a688879..f1c4f335f0d 100644
--- a/.github/workflows/upgrade_downgrade_test_backups_e2e.yml
+++ b/.github/workflows/upgrade_downgrade_test_backups_e2e.yml
@@ -35,7 +35,7 @@ jobs:
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -49,7 +49,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version: 1.22.7
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -107,7 +107,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -129,7 +129,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- 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_e2e_next_release.yml b/.github/workflows/upgrade_downgrade_test_backups_e2e_next_release.yml
index 0e24c534057..73c24c5e72e 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -51,7 +51,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -109,7 +109,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -131,7 +131,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- 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 9c98b643c3e..9c866affb0b 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version: 1.22.7
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- 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 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- 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_next_release.yml b/.github/workflows/upgrade_downgrade_test_backups_manual_next_release.yml
index 1cdfcee1fec..802ee78d940 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -53,7 +53,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -130,7 +130,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -152,7 +152,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- 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_onlineddl_flow.yml b/.github/workflows/upgrade_downgrade_test_onlineddl_flow.yml
index c32a24ab083..89e5f7c4d25 100644
--- a/.github/workflows/upgrade_downgrade_test_onlineddl_flow.yml
+++ b/.github/workflows/upgrade_downgrade_test_onlineddl_flow.yml
@@ -38,13 +38,13 @@ jobs:
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -81,13 +81,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version: 1.22.7
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -127,7 +127,7 @@ jobs:
# Checkout to the last release of Vitess
- name: Check out last 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -150,7 +150,7 @@ jobs:
# Checkout to the next release of Vitess
- name: Check out next 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -173,7 +173,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- 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 36fc151bba6..f7d68dfee04 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version: 1.22.7
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -135,7 +135,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -154,6 +154,12 @@ jobs:
cp -R bin /tmp/vitess-build-other/
rm -Rf bin/*
+ - name: Convert ErrorContains checks to Error checks
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
+ run: |
+ find ./go/test/endtoend -name '*.go' -exec sed -i 's/ErrorContains/Error/g' {} +
+ find ./go/test/endtoend -name '*.go' -exec sed -i 's/EqualError/Error/g' {} +
+
# Swap the binaries in the bin. Use vtgate version n-1 and keep vttablet at version n
- name: Use last release's VTGate
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_next_release.yml b/.github/workflows/upgrade_downgrade_test_query_serving_queries_next_release.yml
index 03c9212f449..c3011453557 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -53,7 +53,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -136,7 +136,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -155,6 +155,12 @@ jobs:
cp -R bin /tmp/vitess-build-other/
rm -Rf bin/*
+ - name: Convert ErrorContains checks to Error checks
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
+ run: |
+ find ./go/test/endtoend -name '*.go' -exec sed -i 's/ErrorContains/Error/g' {} +
+ find ./go/test/endtoend -name '*.go' -exec sed -i 's/EqualError/Error/g' {} +
+
# Swap the binaries in the bin. Use vtgate version n+1 and keep vttablet at version n
- name: Use next release's VTGate
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 1006179a97a..a9162d2f199 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version: 1.22.7
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -119,7 +119,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -141,7 +141,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -157,6 +157,12 @@ jobs:
mkdir -p /tmp/vitess-build-current/
cp -R bin /tmp/vitess-build-current/
+ - name: Convert ErrorContains checks to Error checks
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
+ run: |
+ find ./go/test/endtoend -name '*.go' -exec sed -i 's/ErrorContains/Error/g' {} +
+ find ./go/test/endtoend -name '*.go' -exec sed -i 's/EqualError/Error/g' {} +
+
# Swap the binaries in the bin. Use vtgate version n-1 and keep vttablet at version n
- name: Use last release's VTGate
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_next_release.yml b/.github/workflows/upgrade_downgrade_test_query_serving_schema_next_release.yml
index 1c30fe53c2f..bf5f63d8836 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -53,7 +53,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -120,7 +120,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -142,7 +142,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get dependencies for this commit
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -158,6 +158,12 @@ jobs:
mkdir -p /tmp/vitess-build-current/
cp -R bin /tmp/vitess-build-current/
+ - name: Convert ErrorContains checks to Error checks
+ if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
+ run: |
+ find ./go/test/endtoend -name '*.go' -exec sed -i 's/ErrorContains/Error/g' {} +
+ find ./go/test/endtoend -name '*.go' -exec sed -i 's/EqualError/Error/g' {} +
+
# Swap the binaries in the bin. Use vtgate version n+1 and keep vttablet at version n
- name: Use next release's VTGate
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 853dd172ff6..ac6615b5788 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -53,7 +53,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -120,7 +120,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -142,7 +142,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- 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 90c41d4ee09..e163ab35ea4 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -53,7 +53,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -127,7 +127,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-next-release-ref.outputs.next_release_ref }}
@@ -149,7 +149,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- 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 7008f07ce44..93e94466b74 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version: 1.22.7
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -119,7 +119,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -141,7 +141,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- 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_vttablet.yml b/.github/workflows/upgrade_downgrade_test_reparent_old_vttablet.yml
index e1240dd9a13..12f6b514aa1 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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version: 1.22.7
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -119,7 +119,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -141,7 +141,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- 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_semi_sync.yml b/.github/workflows/upgrade_downgrade_test_semi_sync.yml
index 91b3b22b93e..16dac6e7fd2 100644
--- a/.github/workflows/upgrade_downgrade_test_semi_sync.yml
+++ b/.github/workflows/upgrade_downgrade_test_semi_sync.yml
@@ -35,7 +35,7 @@ jobs:
- name: Check out commit's code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -49,7 +49,7 @@ jobs:
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version: 1.22.7
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -107,7 +107,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ steps.output-previous-release-ref.outputs.previous_release_ref }}
@@ -129,7 +129,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@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- 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/vitess_tester_vtgate.yml b/.github/workflows/vitess_tester_vtgate.yml
index 9e11697f778..a7bae604da2 100644
--- a/.github/workflows/vitess_tester_vtgate.yml
+++ b/.github/workflows/vitess_tester_vtgate.yml
@@ -16,7 +16,7 @@ env:
jobs:
build:
name: Run endtoend tests on Vitess Tester (vtgate)
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -45,11 +45,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -71,13 +71,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -166,7 +166,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report*.xml"
show: "fail, skip"
diff --git a/.github/workflows/vtadmin_web_build.yml b/.github/workflows/vtadmin_web_build.yml
index ccc920312c5..096b70cd002 100644
--- a/.github/workflows/vtadmin_web_build.yml
+++ b/.github/workflows/vtadmin_web_build.yml
@@ -16,7 +16,7 @@ permissions: read-all
jobs:
build:
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
run: |
@@ -35,7 +35,7 @@ jobs:
echo Skip ${skip}
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
- - uses: actions/checkout@v4
+ - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/setup-node@v4
diff --git a/.github/workflows/vtadmin_web_lint.yml b/.github/workflows/vtadmin_web_lint.yml
index e40d1174953..5435b4b54fe 100644
--- a/.github/workflows/vtadmin_web_lint.yml
+++ b/.github/workflows/vtadmin_web_lint.yml
@@ -16,7 +16,7 @@ permissions: read-all
jobs:
lint:
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
run: |
@@ -35,7 +35,7 @@ jobs:
echo Skip ${skip}
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
- - uses: actions/checkout@v4
+ - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/setup-node@v4
diff --git a/.github/workflows/vtadmin_web_unit_tests.yml b/.github/workflows/vtadmin_web_unit_tests.yml
index df1de751466..b765a68fa76 100644
--- a/.github/workflows/vtadmin_web_unit_tests.yml
+++ b/.github/workflows/vtadmin_web_unit_tests.yml
@@ -16,7 +16,7 @@ permissions: read-all
jobs:
unit-tests:
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
run: |
@@ -35,7 +35,7 @@ jobs:
echo Skip ${skip}
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
- - uses: actions/checkout@v4
+ - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/setup-node@v4
diff --git a/.gitignore b/.gitignore
index 70ae13ad32d..e8c441d3bd7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -92,3 +92,4 @@ report
# mise files
.mise.toml
+/errors/
diff --git a/.golangci.yml b/.golangci.yml
index d20e7d1e9fd..e907f56743b 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -1,5 +1,5 @@
run:
- go: 1.20
+ go: 1.23
timeout: 10m
linters-settings:
@@ -11,7 +11,38 @@ linters-settings:
- pkg: "math/rand$"
desc: Please use math/rand/v2
errcheck:
- exclude: ./misc/errcheck_excludes.txt
+ exclude-functions:
+ - flag.Set
+ - (*flag.FlagSet).Parse
+ - (flag.Value).Set
+ - fmt.Fprint
+ - fmt.Fprintf
+ - io.WriteString(fmt.State)
+ - io.WriteString(net/http.ResponseWriter)
+ - (net.Listener).Close
+ - (net/http.ResponseWriter).Write
+ - (*os.File).Close
+ - os.Remove
+ - os.RemoveAll
+ - os.Rename
+ - (*github.com/spf13/cobra.Command).Help
+ - (*github.com/spf13/cobra.Command).MarkFlagRequired
+ - (*github.com/spf13/cobra.Command).MarkPersistentFlagRequired
+ - (*github.com/spf13/cobra.Command).MarkPersistentFlagFilename
+ - (*github.com/spf13/pflag.FlagSet).MarkDeprecated
+ - (*google.golang.org/grpc.ClientConn).Close
+ - (*google.golang.org/grpc.Server).Serve
+ - (*vitess.io/vitess/go/bytes2.Buffer).Write
+ - (*vitess.io/vitess/go/bytes2.Buffer).WriteByte
+ - (*vitess.io/vitess/go/bytes2.Buffer).WriteString
+ - (vitess.io/vitess/go/sqltypes.BinWriter).Write
+ - vitess.io/vitess/go/vt/orchestrator/external/golib/log.Errore
+ - vitess.io/vitess/go/vt/orchestrator/external/golib/log.Errorf
+ - vitess.io/vitess/go/vt/orchestrator/external/golib/log.Fatal
+ - vitess.io/vitess/go/vt/orchestrator/external/golib/log.Fatale
+ - vitess.io/vitess/go/vt/orchestrator/external/golib/log.Fatalf
+ - (*vitess.io/vitess/go/vt/vttest.LocalCluster).TearDown
+
goimports:
local-prefixes: vitess.io/vitess
govet:
diff --git a/MAINTAINERS.md b/MAINTAINERS.md
index d94ed7652ad..320ce87534b 100644
--- a/MAINTAINERS.md
+++ b/MAINTAINERS.md
@@ -24,7 +24,7 @@ The following is the full list, alphabetically ordered.
deepthi, mattlord, derekperkins
### Builds
-dkhenry, shlomi-noach, ajm188, vmg, GuptaManan100, frouioui
+shlomi-noach, ajm188, vmg, GuptaManan100, frouioui
### Resharding
rohit-nayak-ps, deepthi, mattlord
@@ -54,7 +54,7 @@ deepthi, ajm188, GuptaManan100, dbussink
harshit-gangal
### Kubernetes
-derekperkins, dkhenry, GuptaManan100, frouioui
+derekperkins, GuptaManan100, frouioui
### VTAdmin
ajm188, notfelineit
diff --git a/Makefile b/Makefile
index ab367408873..61b85e0287f 100644
--- a/Makefile
+++ b/Makefile
@@ -284,9 +284,9 @@ $(PROTO_GO_OUTS): minimaltools install_protoc-gen-go proto/*.proto
# Please read docker/README.md to understand the different available images.
# This rule builds the bootstrap images for all flavors.
-DOCKER_IMAGES_FOR_TEST = mysql57 mysql80 percona57 percona80
+DOCKER_IMAGES_FOR_TEST = mysql80 percona80
DOCKER_IMAGES = common $(DOCKER_IMAGES_FOR_TEST)
-BOOTSTRAP_VERSION=34
+BOOTSTRAP_VERSION=36
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
@@ -328,6 +328,7 @@ $(DOCKER_LITE_TARGETS): docker_lite_%:
${call build_docker_image,docker/lite/Dockerfile.$*,vitess/lite:$*}
docker_lite_push:
+ echo "pushing lite image: latest" && docker push vitess/lite:latest
for i in $(DOCKER_LITE_SUFFIX); do echo "pushing lite image: $$i"; docker push vitess/lite:$$i || exit 1; done
docker_lite_all: docker_lite $(DOCKER_LITE_TARGETS)
diff --git a/README.md b/README.md
index adc8cd93c19..b1247a29469 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@
[![Go Report Card](https://goreportcard.com/badge/vitess.io/vitess)](https://goreportcard.com/report/vitess.io/vitess)
[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fvitess.svg?type=shield&issueType=license)](https://app.fossa.com/projects/custom%2B162%2Fvitess?ref=badge_shield&issueType=license)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1724/badge)](https://bestpractices.coreinfrastructure.org/projects/1724)
+[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/vitessio/vitess/badge)](https://scorecard.dev/viewer/?uri=github.com/vitessio/vitess)
# Vitess
diff --git a/build.env b/build.env
index ba741be4211..ec41eb11d4b 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.22.5 || echo "Go version reported: `go version`. Version 1.22.5+ recommended. See https://vitess.io/contributing/build-from-source for install instructions."
+goversion_min 1.23.1 || echo "Go version reported: `go version`. Version 1.23.1+ recommended. See https://vitess.io/contributing/build-from-source for install instructions."
mkdir -p dist
mkdir -p bin
diff --git a/changelog/18.0/18.0.7/changelog.md b/changelog/18.0/18.0.7/changelog.md
new file mode 100644
index 00000000000..f9b6fd53bbc
--- /dev/null
+++ b/changelog/18.0/18.0.7/changelog.md
@@ -0,0 +1,45 @@
+# Changelog of Vitess v18.0.7
+
+### Bug fixes
+#### Query Serving
+ * [release-18.0] bugfix: don't treat join predicates as filter predicates (#16472) [#16473](https://github.com/vitessio/vitess/pull/16473)
+ * [release-18.0] Fix RegisterNotifier to use a copy of the tables to prevent data races (#14716) [#16490](https://github.com/vitessio/vitess/pull/16490)
+ * [release-18.0] fix: reference table join merge (#16488) [#16495](https://github.com/vitessio/vitess/pull/16495)
+ * [release-18.0] simplify merging logic (#16525) [#16531](https://github.com/vitessio/vitess/pull/16531)
+ * [release-18.0] Fix query plan cache misses metric (#16562) [#16626](https://github.com/vitessio/vitess/pull/16626)
+ * [release-18.0] JSON Encoding: Use Type_RAW for marshalling json (#16637) [#16680](https://github.com/vitessio/vitess/pull/16680)
+#### Throttler
+ * v18 backport: Throttler/vreplication: fix app name used by VPlayer (#16578) [#16581](https://github.com/vitessio/vitess/pull/16581)
+#### VReplication
+ * [release-18.0] VStream API: validate that last PK has fields defined (#16478) [#16485](https://github.com/vitessio/vitess/pull/16485)
+#### VTAdmin
+ * [release-18.0] VTAdmin: Upgrade websockets js package (#16504) [#16511](https://github.com/vitessio/vitess/pull/16511)
+#### VTGate
+ * [release-18.0] Fix `RemoveTablet` during `TabletExternallyReparented` causing connection issues (#16371) [#16566](https://github.com/vitessio/vitess/pull/16566)
+#### VTorc
+ * [release-18.0] FindErrantGTIDs: superset is not an errant GTID situation (#16725) [#16727](https://github.com/vitessio/vitess/pull/16727)
+### CI/Build
+#### General
+ * [release-18.0] Upgrade the Golang version to `go1.21.13` [#16545](https://github.com/vitessio/vitess/pull/16545)
+ * [release-18.0] Bump upgrade tests to `go1.22.7` [#16722](https://github.com/vitessio/vitess/pull/16722)
+#### VTAdmin
+ * [release-18.0] Update micromatch to 4.0.8 (#16660) [#16665](https://github.com/vitessio/vitess/pull/16665)
+### Enhancement
+#### Build/CI
+ * [release-18.0] Improve the queries upgrade/downgrade CI workflow by using same test code version as binary (#16494) [#16500](https://github.com/vitessio/vitess/pull/16500)
+#### Online DDL
+ * v18 backport: Online DDL: avoid SQL's `CONVERT(...)`, convert programmatically if needed [#16604](https://github.com/vitessio/vitess/pull/16604)
+ * [release-18.0] VReplication workflows: retry "wrong tablet type" errors (#16645) [#16651](https://github.com/vitessio/vitess/pull/16651)
+### Internal Cleanup
+#### Build/CI
+ * [release-18.0] Move from 4-cores larger runners to `ubuntu-latest` (#16714) [#16716](https://github.com/vitessio/vitess/pull/16716)
+### Regression
+#### Query Serving
+ * [release-18.0] bugfix: Allow cross-keyspace joins (#16520) [#16522](https://github.com/vitessio/vitess/pull/16522)
+### Release
+#### General
+ * [release-18.0] Bump to `v18.0.7-SNAPSHOT` after the `v18.0.6` release [#16454](https://github.com/vitessio/vitess/pull/16454)
+### Testing
+#### Query Serving
+ * [release-18.0] Replace ErrorContains checks with Error checks before running upgrade downgrade [#16701](https://github.com/vitessio/vitess/pull/16701)
+
diff --git a/changelog/18.0/18.0.7/release_notes.md b/changelog/18.0/18.0.7/release_notes.md
new file mode 100644
index 00000000000..2e48f54ee07
--- /dev/null
+++ b/changelog/18.0/18.0.7/release_notes.md
@@ -0,0 +1,7 @@
+# Release of Vitess v18.0.7
+The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/18.0/18.0.7/changelog.md).
+
+The release includes 21 merged Pull Requests.
+
+Thanks to all our contributors: @GuptaManan100, @app/vitess-bot, @frouioui, @shlomi-noach, @vitess-bot
+
diff --git a/changelog/18.0/README.md b/changelog/18.0/README.md
index b09ae51970a..98d6b52589b 100644
--- a/changelog/18.0/README.md
+++ b/changelog/18.0/README.md
@@ -1,4 +1,8 @@
## v18.0
+* **[18.0.7](18.0.7)**
+ * [Changelog](18.0.7/changelog.md)
+ * [Release Notes](18.0.7/release_notes.md)
+
* **[18.0.6](18.0.6)**
* [Changelog](18.0.6/changelog.md)
* [Release Notes](18.0.6/release_notes.md)
diff --git a/changelog/19.0/19.0.6/changelog.md b/changelog/19.0/19.0.6/changelog.md
new file mode 100644
index 00000000000..3a3506ac1ff
--- /dev/null
+++ b/changelog/19.0/19.0.6/changelog.md
@@ -0,0 +1,48 @@
+# Changelog of Vitess v19.0.6
+
+### Bug fixes
+#### Query Serving
+ * [release-19.0] bugfix: don't treat join predicates as filter predicates (#16472) [#16474](https://github.com/vitessio/vitess/pull/16474)
+ * [release-19.0] fix: reference table join merge (#16488) [#16496](https://github.com/vitessio/vitess/pull/16496)
+ * [release-19.0] simplify merging logic (#16525) [#16532](https://github.com/vitessio/vitess/pull/16532)
+ * [release-19.0] Fix: Offset planning in hash joins (#16540) [#16551](https://github.com/vitessio/vitess/pull/16551)
+ * [release-19.0] Fix query plan cache misses metric (#16562) [#16627](https://github.com/vitessio/vitess/pull/16627)
+ * [release-19.0] JSON Encoding: Use Type_RAW for marshalling json (#16637) [#16681](https://github.com/vitessio/vitess/pull/16681)
+#### Throttler
+ * v19 backport: Throttler/vreplication: fix app name used by VPlayer (#16578) [#16580](https://github.com/vitessio/vitess/pull/16580)
+#### VReplication
+ * [release-19.0] VStream API: validate that last PK has fields defined (#16478) [#16486](https://github.com/vitessio/vitess/pull/16486)
+#### VTAdmin
+ * [release-19.0] VTAdmin: Upgrade websockets js package (#16504) [#16512](https://github.com/vitessio/vitess/pull/16512)
+#### VTGate
+ * [release-19.0] Fix `RemoveTablet` during `TabletExternallyReparented` causing connection issues (#16371) [#16567](https://github.com/vitessio/vitess/pull/16567)
+#### VTorc
+ * [release-19.0] FindErrantGTIDs: superset is not an errant GTID situation (#16725) [#16728](https://github.com/vitessio/vitess/pull/16728)
+### CI/Build
+#### General
+ * [release-19.0] Upgrade the Golang version to `go1.22.6` [#16543](https://github.com/vitessio/vitess/pull/16543)
+#### VTAdmin
+ * [release-19.0] Update micromatch to 4.0.8 (#16660) [#16666](https://github.com/vitessio/vitess/pull/16666)
+### Enhancement
+#### Build/CI
+ * [release-19.0] Improve the queries upgrade/downgrade CI workflow by using same test code version as binary (#16494) [#16501](https://github.com/vitessio/vitess/pull/16501)
+#### Online DDL
+ * [release-19.0] VReplication workflows: retry "wrong tablet type" errors (#16645) [#16652](https://github.com/vitessio/vitess/pull/16652)
+### Internal Cleanup
+#### Build/CI
+ * [release-19.0] Move from 4-cores larger runners to `ubuntu-latest` (#16714) [#16717](https://github.com/vitessio/vitess/pull/16717)
+#### Docker
+ * [release-19.0] Remove mysql57/percona57 bootstrap images (#16620) [#16622](https://github.com/vitessio/vitess/pull/16622)
+### Performance
+#### Online DDL
+ * v19 backport: Online DDL: avoid SQL's `CONVERT(...)`, convert programmatically if needed [#16603](https://github.com/vitessio/vitess/pull/16603)
+### Regression
+#### Query Serving
+ * [release-19.0] bugfix: Allow cross-keyspace joins (#16520) [#16523](https://github.com/vitessio/vitess/pull/16523)
+### Release
+#### General
+ * [release-19.0] Bump to `v19.0.6-SNAPSHOT` after the `v19.0.5` release [#16456](https://github.com/vitessio/vitess/pull/16456)
+### Testing
+#### Query Serving
+ * [release-19.0] Replace ErrorContains checks with Error checks before running upgrade downgrade [#16700](https://github.com/vitessio/vitess/pull/16700)
+
diff --git a/changelog/19.0/19.0.6/release_notes.md b/changelog/19.0/19.0.6/release_notes.md
new file mode 100644
index 00000000000..422bb50d1eb
--- /dev/null
+++ b/changelog/19.0/19.0.6/release_notes.md
@@ -0,0 +1,7 @@
+# Release of Vitess v19.0.6
+The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/19.0/19.0.6/changelog.md).
+
+The release includes 21 merged Pull Requests.
+
+Thanks to all our contributors: @GuptaManan100, @app/vitess-bot, @shlomi-noach, @systay, @vitess-bot
+
diff --git a/changelog/19.0/README.md b/changelog/19.0/README.md
index ae90ef2df1b..cd43ee9bbd3 100644
--- a/changelog/19.0/README.md
+++ b/changelog/19.0/README.md
@@ -1,4 +1,8 @@
## v19.0
+* **[19.0.6](19.0.6)**
+ * [Changelog](19.0.6/changelog.md)
+ * [Release Notes](19.0.6/release_notes.md)
+
* **[19.0.5](19.0.5)**
* [Changelog](19.0.5/changelog.md)
* [Release Notes](19.0.5/release_notes.md)
diff --git a/changelog/20.0/20.0.2/changelog.md b/changelog/20.0/20.0.2/changelog.md
new file mode 100644
index 00000000000..8433070b6ed
--- /dev/null
+++ b/changelog/20.0/20.0.2/changelog.md
@@ -0,0 +1,52 @@
+# Changelog of Vitess v20.0.2
+
+### Bug fixes
+#### Query Serving
+ * [release-20.0] bugfix: don't treat join predicates as filter predicates (#16472) [#16475](https://github.com/vitessio/vitess/pull/16475)
+ * [release-20.0] fix: reference table join merge (#16488) [#16497](https://github.com/vitessio/vitess/pull/16497)
+ * [release-20.0] simplify merging logic (#16525) [#16533](https://github.com/vitessio/vitess/pull/16533)
+ * [release-20.0] Fix: Offset planning in hash joins (#16540) [#16552](https://github.com/vitessio/vitess/pull/16552)
+ * [release-20.0] Fix query plan cache misses metric (#16562) [#16628](https://github.com/vitessio/vitess/pull/16628)
+ * [release-20.0] Fix race conditions in the concatenate engine streaming (#16640) [#16648](https://github.com/vitessio/vitess/pull/16648)
+ * [release-20.0] JSON Encoding: Use Type_RAW for marshalling json (#16637) [#16682](https://github.com/vitessio/vitess/pull/16682)
+#### Throttler
+ * v20 backport: Throttler/vreplication: fix app name used by VPlayer (#16578) [#16579](https://github.com/vitessio/vitess/pull/16579)
+#### VReplication
+ * [release-20.0] VStream API: validate that last PK has fields defined (#16478) [#16487](https://github.com/vitessio/vitess/pull/16487)
+ * [release-20.0] VReplication: Properly ignore errors from trying to drop tables that don't exist (#16505) [#16561](https://github.com/vitessio/vitess/pull/16561)
+#### VTAdmin
+ * [release-20.0] VTAdmin: Upgrade websockets js package (#16504) [#16513](https://github.com/vitessio/vitess/pull/16513)
+#### VTGate
+ * [release-20.0] Fix `RemoveTablet` during `TabletExternallyReparented` causing connection issues (#16371) [#16568](https://github.com/vitessio/vitess/pull/16568)
+#### VTorc
+ * [release-20.0] FindErrantGTIDs: superset is not an errant GTID situation (#16725) [#16729](https://github.com/vitessio/vitess/pull/16729)
+### CI/Build
+#### Docker
+ * [release-20.0] Fix `docker_lite_push` make target (#16662) [#16668](https://github.com/vitessio/vitess/pull/16668)
+#### General
+ * [release-20.0] Upgrade the Golang version to `go1.22.6` [#16546](https://github.com/vitessio/vitess/pull/16546)
+ * [release-20.0] Upgrade the Golang version to `go1.22.7` [#16719](https://github.com/vitessio/vitess/pull/16719)
+#### VTAdmin
+ * [release-20.0] Update micromatch to 4.0.8 (#16660) [#16667](https://github.com/vitessio/vitess/pull/16667)
+### Enhancement
+#### Build/CI
+ * [release-20.0] Improve the queries upgrade/downgrade CI workflow by using same test code version as binary (#16494) [#16502](https://github.com/vitessio/vitess/pull/16502)
+#### Online DDL
+ * [release-20.0] VReplication workflows: retry "wrong tablet type" errors (#16645) [#16653](https://github.com/vitessio/vitess/pull/16653)
+### Internal Cleanup
+#### Build/CI
+ * [release-20.0] Move from 4-cores larger runners to `ubuntu-latest` (#16714) [#16718](https://github.com/vitessio/vitess/pull/16718)
+#### Docker
+ * [release-20.0] Remove mysql57/percona57 bootstrap images (#16620) [#16623](https://github.com/vitessio/vitess/pull/16623)
+### Performance
+#### Online DDL
+ * v20 backport: Online DDL: avoid SQL's `CONVERT(...)`, convert programmatically if needed [#16602](https://github.com/vitessio/vitess/pull/16602)
+### Regression
+#### Query Serving
+ * [release-20.0] bugfix: Allow cross-keyspace joins (#16520) [#16524](https://github.com/vitessio/vitess/pull/16524)
+### Testing
+#### Build/CI
+ * [release-20.0] Fix error contain checks in vtgate package (#16672) [#16677](https://github.com/vitessio/vitess/pull/16677)
+#### Query Serving
+ * [release-20.0] Replace ErrorContains checks with Error checks before running upgrade downgrade [#16699](https://github.com/vitessio/vitess/pull/16699)
+
diff --git a/changelog/20.0/20.0.2/release_notes.md b/changelog/20.0/20.0.2/release_notes.md
new file mode 100644
index 00000000000..de580ad9bb2
--- /dev/null
+++ b/changelog/20.0/20.0.2/release_notes.md
@@ -0,0 +1,7 @@
+# Release of Vitess v20.0.2
+The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/20.0/20.0.2/changelog.md).
+
+The release includes 25 merged Pull Requests.
+
+Thanks to all our contributors: @GuptaManan100, @app/vitess-bot, @shlomi-noach, @vitess-bot
+
diff --git a/changelog/20.0/README.md b/changelog/20.0/README.md
index fff48ac737f..f8e12c1d453 100644
--- a/changelog/20.0/README.md
+++ b/changelog/20.0/README.md
@@ -1,4 +1,8 @@
## v20.0
+* **[20.0.2](20.0.2)**
+ * [Changelog](20.0.2/changelog.md)
+ * [Release Notes](20.0.2/release_notes.md)
+
* **[20.0.1](20.0.1)**
* [Changelog](20.0.1/changelog.md)
* [Release Notes](20.0.1/release_notes.md)
diff --git a/changelog/21.0/21.0.0/summary.md b/changelog/21.0/21.0.0/summary.md
index a29e2d286ec..91adc6d642d 100644
--- a/changelog/21.0/21.0.0/summary.md
+++ b/changelog/21.0/21.0.0/summary.md
@@ -1,17 +1,23 @@
-
## Summary
### Table of Contents
- **[Major Changes](#major-changes)**
- - **[Deprecations and Deletions](#deprecations-and-deletions)**
- - [Deletion of deprecated metrics](#metric-deletion)
- - [VTTablet Flags](#vttablet-flags)
- - [Metrics](#deprecations-metrics)
- - **[Traffic Mirroring](#traffic-mirroring)**
- - **[New VTGate Shutdown Behavior](#new-vtgate-shutdown-behavior)**
- - **[Tablet Throttler: Multi-Metric support](#tablet-throttler)**
- - **[Allow Cross Cell Promotion in PRS](#allow-cross-cell)**
+ - **[Deprecations and Deletions](#deprecations-and-deletions)**
+ - [Deletion of deprecated metrics](#metric-deletion)
+ - [VTTablet Flags](#vttablet-flags)
+ - [Metrics](#deprecations-metrics)
+ - **[Traffic Mirroring](#traffic-mirroring)**
+ - **[New VTGate Shutdown Behavior](#new-vtgate-shutdown-behavior)**
+ - **[Tablet Throttler: Multi-Metric support](#tablet-throttler)**
+ - **[Allow Cross Cell Promotion in PRS](#allow-cross-cell)**
+ - **[Support for recursive CTEs](#recursive-cte)**
+ - **[VTGate Tablet Balancer](#tablet-balancer)**
+ - **[Query Timeout Override](#query-timeout)**
+ - **[New Backup Engine](#new-backup-engine)**
+ - **[Dynamic VReplication Configuration](#dynamic-vreplication-configuration)**
+ - **[Reference Table Materialization](#reference-table-materialization)**
+ - **[New VEXPLAIN Modes: TRACE and KEYS](#new-vexplain-modes)**
## Major Changes
@@ -21,7 +27,6 @@
The following metrics that were deprecated in the previous release, have now been deleted.
-
| Metric Name |
|:--------------------------------------------:|
| `analysis.change.write` |
@@ -39,8 +44,8 @@ The following metrics that were deprecated in the previous release, have now bee
#### VTTablet Flags
-- `queryserver-enable-settings-pool` flag, added in v15, has been on by default since v17.
-It is now deprecated and will be removed in a future release.
+- `queryserver-enable-settings-pool` flag, added in v15, has been on by default since v17.
+ It is now deprecated and will be removed in a future release.
#### Metrics
@@ -55,10 +60,10 @@ The following metrics are now deprecated, if provided please use their replaceme
| `vttablet` | `QueryCacheHits` | `QueryEnginePlanCacheHits` |
| `vttablet` | `QueryCacheMisses` | `QueryEnginePlanCacheMisses` |
-
### Traffic Mirroring
-Traffic mirroring is intended to help reduce some of the uncertainty inherent to `MoveTables SwitchTraffic`. When traffic mirroring is enabled, VTGate will mirror a percentage of traffic from one keyspace to another.
+Traffic mirroring is intended to help reduce some of the uncertainty inherent to `MoveTables SwitchTraffic`. When
+traffic mirroring is enabled, VTGate will mirror a percentage of traffic from one keyspace to another.
Mirror rules may be enabled through `vtctldclient` with `MoveTables MirrorTraffic`. For example:
@@ -70,9 +75,11 @@ Mirror rules can be inspected with `GetMirrorRules`.
### New VTGate Shutdown Behavior
-We added a new option to affect the VTGate shutdown process in v21 by using a connection drain timeout rather than the older activity drain timeout.
+We added a new option to affect the VTGate shutdown process in v21 by using a connection drain timeout rather than the
+older activity drain timeout.
The goal of this new behavior, connection draining option, is to disallow new connections when VTGate is shutting down,
-but continue allowing existing connections to finish their work until they manually disconnect or until the `--onterm_timeout` timeout is reached,
+but continue allowing existing connections to finish their work until they manually disconnect or until
+the `--onterm_timeout` timeout is reached,
without getting a `Server shutdown in progress` error.
This new behavior can be enabled by specifying the new `--mysql-server-drain-onterm` flag to VTGate.
@@ -81,11 +88,17 @@ See more information about this change by [reading its RFC](https://github.com/v
### Tablet Throttler: Multi-Metric support
-Up till `v20`, the tablet throttler would only monitor and use a single metric. That would be replication lag, by default, or could be the result of a custom query. `v21` introduces a major redesign where the throttler monitors and uses multiple metrics at the same time, including the above two.
+Up till `v20`, the tablet throttler would only monitor and use a single metric. That would be replication lag, by
+default, or could be the result of a custom query. `v21` introduces a major redesign where the throttler monitors and
+uses multiple metrics at the same time, including the above two.
-Backwards compatible with `v20`, the default behavior in `v21` is to monitor all metrics, but only use `lag` (if the cutsom query is undefined) or the `cutsom` metric (if the custom query is defined). A `v20` `PRIMARY` is compatible with a `v21` `REPLICA`, and a `v21` `PRIMARY` is compatible with a `v20` `REPLICA`.
+Backwards compatible with `v20`, the default behavior in `v21` is to monitor all metrics, but only use `lag` (if the
+cutsom query is undefined) or the `cutsom` metric (if the custom query is defined). A `v20` `PRIMARY` is compatible with
+a `v21` `REPLICA`, and a `v21` `PRIMARY` is compatible with a `v20` `REPLICA`.
-However, with `v21` it is possible to assign any combination of metrics (one or more) for a given app. The throttler would then accept or reject the app's requests based on the health of _all_ assigned metrics. `v21` comes with a preset list metrics, expected to be expanded:
+However, with `v21` it is possible to assign any combination of metrics (one or more) for a given app. The throttler
+would then accept or reject the app's requests based on the health of _all_ assigned metrics. `v21` comes with a preset
+list metrics, expected to be expanded:
- `lag`: replication lag based on heartbeat injection.
- `threads_running`: concurrent active threads on the MySQL server.
@@ -94,11 +107,93 @@ However, with `v21` it is possible to assign any combination of metrics (one or
Each metric has a factory threshold which can be overridden by the `UpdateThrottlerConfig` command.
-The throttler also supports the catch-all `"all"` app name, and it is thus possible to assign metrics to _all_ apps. Explicit app to metric assignments will override the catch-all configuration.
+The throttler also supports the catch-all `"all"` app name, and it is thus possible to assign metrics to _all_ apps.
+Explicit app to metric assignments will override the catch-all configuration.
-Metrics are assigned a default _scope_, which could be `self` (isolated to the tablet) or `shard` (max, aka _worst_ value among shard tablets). It is further possible to require a different scope for each metric.
+Metrics are assigned a default _scope_, which could be `self` (isolated to the tablet) or `shard` (max, aka _worst_
+value among shard tablets). It is further possible to require a different scope for each metric.
### Allow Cross Cell Promotion in PRS
-Up until now if the users wanted to promote a replica in a different cell than the current primary using `PlannedReparentShard`, they had to specify the new primary with the `--new-primary` flag.
-We have now added a new flag `--allow-cross-cell-promotion` that lets `PlannedReparentShard` choose a primary in a different cell even if no new primary is provided explicitly.
+Up until now if the users wanted to promote a replica in a different cell than the current primary
+using `PlannedReparentShard`, they had to specify the new primary with the `--new-primary` flag.
+
+We have now added a new flag `--allow-cross-cell-promotion` that lets `PlannedReparentShard` choose a primary in a
+different cell even if no new primary is provided explicitly.
+
+### Experimental support for recursive CTEs
+
+We have added experimental support for recursive CTEs in Vitess. We are marking it as experimental because it is not yet
+fully tested and may have some limitations. We are looking for feedback from the community to improve this feature.
+
+### VTGate Tablet Balancer
+
+When a VTGate routes a query and has multiple available tablets for a given shard / tablet type (e.g. REPLICA), the
+current default behavior routes the query with local cell affinity and round robin policy. The VTGate Tablet Balancer
+provides an alternate mechanism that routes queries to maintain an even distribution of query load to each tablet, while
+preferentially routing to tablets in the same cell as the VTGate.
+
+The tablet balancer is enabled by a new flag `--enable-balancer` and configured by `--balancer-vtgate-cells`
+and `--balancer-keyspaces`.
+
+See [RFC for details](https://github.com/vitessio/vitess/issues/12241).
+
+### Query Timeout Override
+
+VTGate sends an authoritative query timeout to VTTablet when the `QUERY_TIMEOUT_MS` comment directive,
+`query_timeout` session system variable, or `query-timeout` flag is set.
+The order of precedence is: `QUERY_TIMEOUT_MS` > `query_timeout` > `query-timeout`.
+VTTablet overrides its default query timeout with the value received from VTGate.
+All timeouts are specified in milliseconds.
+
+When a query is executed inside a transaction, this behavior does not apply; instead,
+the smaller of the transaction timeout or the query timeout from VTGate is used.
+
+A query can also be set to have no timeout by using the `QUERY_TIMEOUT_MS` comment directive with a value of `0`.
+
+Example usage:
+`select /*vt+ QUERY_TIMEOUT_MS=30 */ col from tbl`
+
+### New Backup Engine (EXPERIMENTAL)
+
+We are introducing a backup engine supporting logical backups starting on v21 to support use cases that require something else besides physical backups. This is experimental and is based on the
+[MySQL Shell](https://dev.mysql.com/doc/mysql-shell/8.0/en/).
+
+The new engine is enabled by using `--backup_engine_implementation=mysqlshell`. There are other options that are required, so [check the docs](https://vitess.io/docs/21.0/user-guides/operating-vitess/backup-and-restore/creating-a-backup/) on which options are required and how to use it.
+
+### Dynamic VReplication Configuration
+
+Currently many of the configuration options for VReplication Workflows are vttablet flags. This means that any change
+requires restarts of vttablets. We now allow these to be overridden while creating a workflow or dynamically once
+the workflow is in progress. See https://github.com/vitessio/vitess/pull/16583 for details.
+
+### Reference Table Materialization
+
+There is a new option in [`Materialize` workflows](https://vitess.io/docs/reference/vreplication/materialize/) to keep
+a synced copy of [reference or lookup tables](https://vitess.io/docs/reference/vreplication/reference_tables/)
+(countries, states, zip_codes, etc) from an unsharded keyspace, which holds the source of truth for the reference
+table, to all shards in a sharded keyspace.
+### New VEXPLAIN Modes: TRACE and KEYS
+
+#### VEXPLAIN TRACE
+
+The new TRACE mode for VEXPLAIN provides a detailed execution trace of queries, showing how they're processed through various operators and interactions with tablets. This mode is particularly useful for:
+
+- Identifying performance bottlenecks
+- Understanding query execution patterns
+- Optimizing complex queries
+- Debugging unexpected query behavior
+
+TRACE mode runs the query and logs all interactions, returning a JSON representation of the query execution plan with additional statistics like number of calls, average rows processed, and number of shards queried.
+
+#### VEXPLAIN KEYS
+
+The KEYS mode for VEXPLAIN offers a concise summary of query structure, highlighting columns used in joins, filters, and grouping operations. This information is crucial for:
+
+- Identifying potential sharding key candidates
+- Optimizing query performance
+- Analyzing query patterns to inform database design decisions
+
+KEYS mode analyzes the query structure without executing it, providing JSON output that includes grouping columns, join columns, filter columns (potential candidates for indexes, primary keys, or sharding keys), and the statement type.
+
+These new VEXPLAIN modes enhance Vitess's query analysis capabilities, allowing for more informed decisions about sharding strategies and query optimization.
diff --git a/config/init_db.sql b/config/init_db.sql
index 25ea2a42f3a..118d8d02687 100644
--- a/config/init_db.sql
+++ b/config/init_db.sql
@@ -29,6 +29,7 @@ DROP DATABASE IF EXISTS test;
CREATE USER 'vt_dba'@'localhost';
GRANT ALL ON *.* TO 'vt_dba'@'localhost';
GRANT GRANT OPTION ON *.* TO 'vt_dba'@'localhost';
+GRANT PROXY ON ''@'' TO 'vt_dba'@'localhost' WITH GRANT OPTION;
# User for app traffic, with global read-write access.
CREATE USER 'vt_app'@'localhost';
diff --git a/doc/design-docs/AtomicTransactionsWithDisruptions.md b/doc/design-docs/AtomicTransactionsWithDisruptions.md
new file mode 100644
index 00000000000..7b3e050ae0d
--- /dev/null
+++ b/doc/design-docs/AtomicTransactionsWithDisruptions.md
@@ -0,0 +1,61 @@
+# Handling disruptions in atomic transactions
+
+## Overview
+
+This document describes how to make atomic transactions resilient in the face of disruptions. The basic design and components involved in an atomic transaction are described in [here](./TwoPhaseCommitDesign.md) The document describes each of the disruptions that can happen in a running cluster and how atomic transactions are engineered to handle them without breaking their guarantee of being atomic.
+
+## `PlannedReparentShard` and `EmergencyReparentShard`
+
+For both Planned and Emergency reparents, we call `DemotePrimary` on the primary tablet. For Planned reparent, this call has to succeed, while on Emergency reparent, if the primary is unreachable then this call can fail, and we would still proceed further.
+
+As part of the `DemotePrimary` flow, when we transition the tablet to a non-serving state, we wait for all the transactions to have completed (in `TxEngine.shutdownLocked()` we have `te.txPool.WaitForEmpty()`). If the user has specified a shutdown grace-period, then after that much time elapses, we go ahead and forcefully kill all running queries. We then also rollback the prepared transactions. It is crucial that we rollback the prepared transactions only after all other writes have been killed, because when we rollback a prepared transaction, it lets go of the locks it was holding. If there were some other conflicting write in progress that hadn't been killed, then it could potentially go through and cause data corruption since we won't be able to prepare the transaction again. All the code to kill queries can be found in `stateManager.terminateAllQueries()`.
+
+The above outlined steps ensure that we either wait for all prepared transactions to conclude or we rollback them safely so that they can be prepared again on the new primary.
+
+On the new primary, when we call `PromoteReplica`, we redo all the prepared transactions before we allow any new writes to go through. This ensures that the new primary is in the same state as the old primary was before the reparent. The code for redoing the prepared transactions can be found in `TxEngine.RedoPreparedTransactions()`.
+
+If everything goes as described above, there is no reason for redoing of prepared transactions to fail. But in case, something unexpected happens and preparing transactions fails, we still allow the vttablet to accept new writes because we decided availability of the tablet is more important. We will however, build tooling and metrics for the users to be notified of these failures and let them handle this in the way they see fit.
+
+While Planned reparent is an operation where all the processes are running fine, Emergency reparent is called when something has gone wrong with the cluster. Because we call `DemotePrimary` in parallel with `StopReplicationAndBuildStatusMap`, we can run into a case wherein the primary tries to write something to the binlog after all the replicas have stopped replicating. If we were to run without semi-sync, then the primary could potentially commit a prepared transaction, and return a success to the vtgate trying to commit this transaction. The vtgate can then conclude that the transaction is safe to conclude and remove all the metadata information. However, on the new primary since the transaction commit didn't get replicated, it would re-prepare the transaction and would wait for a coordinator to either commit or rollback it, but that would never happen. Essentially we would have a transaction stuck in prepared state on a shard indefinitely. To avoid this situation, it is essential that we run with semi-sync, because this ensures that any write that is acknowledged as a success to the caller, would necessarily have to be replicated to at least one replica. This ensures that the transaction would also already be committed on the new primary.
+
+## MySQL Restarts
+
+When MySQL restarts, it loses all the ongoing transactions which includes all the prepared transactions. This is because the transaction logs are not persistent across restarts. This is a MySQL limitation and there is no way to get around this. However, at the Vitess level we must ensure that we can commit the prepared transactions even in case of MySQL restarts without any failures.
+
+Vttablet has the code to detect MySQL failures and call `stateManager.checkMySQL()` which transitions the tablet to a NotConnected state. This prevents any writes from going through until the vttablet has transitioned back to a serving state.
+
+However, we cannot rely on `checkMySQL` to ensure that no conflicting writes go through. This is because the time between MySQL restart and the vttablet transitioning to a NotConnected state can be large. During this time, the vttablet would still be accepting writes and some of them could potentially conflict with the prepared transactions.
+
+To handle this, we rely on the fact that when MySQL restarts, it starts with super-read-only turned on. This means that no writes can go through. It is VTOrc that registers this as an issue and fixes it by calling `UndoDemotePrimary`. As part of that call, before we set MySQL to read-write, we ensure that all the prepared transactions are redone in the read_only state. We use the dba pool (that has admin permissions) to prepare the transactions. This is safe because we know that no conflicting writes can go through until we set MySQL to read-write. The code to set MySQL to read-write after redoing prepared transactions can be found in `TabletManager.redoPreparedTransactionsAndSetReadWrite()`.
+
+Handling MySQL restarts is the only reason we needed to add the code to redo prepared transactions whenever MySQL transitions from super-read-only to read-write state. Even though, we only need to do this in `UndoDemotePrimary`, it not necessary that it is `UndoDemotePrimary` that sets MySQL to read-write. If the user notices that the tablet is in a read-only state before VTOrc has a chance to fix it, they can manually call `SetReadWrite` on the tablet.
+Therefore, the safest option was to always check if we need to redo the prepared transactions whenever MySQL transitions from super-read-only to read-write state.
+
+## Vttablet Restarts
+
+When Vttabet restarts, all the previous connections are dropped. It starts in a non-serving state, and then after reading the shard and tablet records from the topo, it transitions to a serving state.
+As part of this transition we need to ensure that we redo the prepared transactions before we start accepting any writes. This is done as part of the `TxEngine.transition` function when we transition to an `AcceptingReadWrite` state. We call the same code for redoing the prepared transactions that we called for MySQL restarts, PRS and ERS.
+
+## Online DDL
+
+During an Online DDL cutover, we need to ensure that all the prepared transactions on the online DDL table needs to be completed before we can proceed with the cutover.
+This is because the cutover involves a schema change and we cannot have any prepared transactions that are dependent on the old schema.
+
+As part of the cut-over process, Online DDL adds query rules to buffer new queries on the table.
+It then checks for any open prepared transaction on the table and waits for up to 100ms if found, then checks again.
+If it finds no prepared transaction of the table, it moves forward with the cut-over, otherwise it fails. The Online DDL mechanism will later retry the cut-over.
+
+In the Prepare code, we check the query rules before adding the transaction to the prepared list and re-check the rules before storing the transaction logs in the transaction redo table.
+Any transaction that went past the first check will fail the second check if the cutover proceeds.
+
+The check on both sides prevents either the cutover from proceeding or the transaction from being prepared.
+
+## MoveTables
+
+The only step of a `MoveTables` workflow that needs to synchronize with atomic transactions is `SwitchTraffic` for writes. As part of this step, we want to disallow writes to only the tables involved. We use `DeniedTables` in `ShardInfo` to accomplish this. After we update the topo server with the new `DeniedTables`, we make all the vttablets refresh their topo to ensure that they've registered the change.
+
+On vttablet, the `DeniedTables` are used to add query rules very similar to the ones in Online DDL. The only difference is that in Online DDL, we buffer the queries, but for `SwitchTraffic` we fail them altogether. Addition of these query rules, prevents any new atomic transactions from being prepared.
+
+Next, we try locking the tables to ensure no existing write is pending. This step blocks until all open prepared transactions have succeeded.
+
+After this step, `SwitchTraffic` can proceed without any issues, since we are guaranteed to reject any new atomic transactions until the `DeniedTables` has been reset, and having acquired the table lock, we know no write is currently in progress.
diff --git a/docker/bootstrap/CHANGELOG.md b/docker/bootstrap/CHANGELOG.md
index dd9d1c19f17..c9847c6b7eb 100644
--- a/docker/bootstrap/CHANGELOG.md
+++ b/docker/bootstrap/CHANGELOG.md
@@ -132,4 +132,13 @@ List of changes between bootstrap image versions.
## [34] - 2024-07-02
### Changes
-- Update build to golang 1.22.5
\ No newline at end of file
+- Update build to golang 1.22.5
+
+## [35] - 2024-08-14
+### Changes
+- Update build to golang 1.23.0
+- MySQL57 and Percona57 tags will be removed thereafter
+
+## [36] - 2024-09-05
+### Changes
+- Update build to golang 1.23.1
\ No newline at end of file
diff --git a/docker/bootstrap/Dockerfile.common b/docker/bootstrap/Dockerfile.common
index c48a485bec3..3685548b7a1 100644
--- a/docker/bootstrap/Dockerfile.common
+++ b/docker/bootstrap/Dockerfile.common
@@ -1,4 +1,4 @@
-FROM --platform=linux/amd64 golang:1.22.5-bullseye
+FROM --platform=linux/amd64 golang:1.23.1-bullseye
# Install Vitess build dependencies
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
diff --git a/docker/bootstrap/Dockerfile.mysql57 b/docker/bootstrap/Dockerfile.mysql57
deleted file mode 100644
index 983f3640472..00000000000
--- a/docker/bootstrap/Dockerfile.mysql57
+++ /dev/null
@@ -1,24 +0,0 @@
-ARG bootstrap_version
-ARG image="vitess/bootstrap:${bootstrap_version}-common"
-
-FROM --platform=linux/amd64 "${image}"
-
-USER root
-
-# Install MySQL 5.7
-RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg dirmngr ca-certificates && \
- for i in $(seq 1 10); do apt-key adv --no-tty --recv-keys --keyserver keyserver.ubuntu.com A8D3785C && break; done && \
- add-apt-repository 'deb http://repo.mysql.com/apt/debian/ buster mysql-5.7' && \
- for i in $(seq 1 10); do apt-key adv --no-tty --keyserver keyserver.ubuntu.com --recv-keys 9334A25F8507EFA5 && break; done && \
- echo 'deb http://repo.percona.com/apt buster main' > /etc/apt/sources.list.d/percona.list && \
- { \
- echo debconf debconf/frontend select Noninteractive; \
- echo percona-server-server-5.7 percona-server-server/root_password password 'unused'; \
- echo percona-server-server-5.7 percona-server-server/root_password_again password 'unused'; \
- } | debconf-set-selections && \
- percona-release enable-only tools \
- apt-get update -y && \
- DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server libmysqlclient-dev libdbd-mysql-perl rsync libev4 percona-xtrabackup-24 && \
- rm -rf /var/lib/apt/lists/*
-
-USER vitess
diff --git a/docker/bootstrap/Dockerfile.percona57 b/docker/bootstrap/Dockerfile.percona57
deleted file mode 100644
index e9cd5043d44..00000000000
--- a/docker/bootstrap/Dockerfile.percona57
+++ /dev/null
@@ -1,22 +0,0 @@
-ARG bootstrap_version
-ARG image="vitess/bootstrap:${bootstrap_version}-common"
-
-FROM --platform=linux/amd64 "${image}"
-
-USER root
-
-# Install Percona 5.7
-RUN for i in $(seq 1 10); do apt-key adv --no-tty --keyserver keyserver.ubuntu.com --recv-keys 9334A25F8507EFA5 && break; done && \
- add-apt-repository 'deb http://repo.percona.com/apt bullseye main' && \
- { \
- echo debconf debconf/frontend select Noninteractive; \
- echo percona-server-server-5.7 percona-server-server/root_password password 'unused'; \
- echo percona-server-server-5.7 percona-server-server/root_password_again password 'unused'; \
- } | debconf-set-selections && \
- percona-release enable-only tools \
- apt-get update && \
- apt-get install -y --no-install-recommends percona-server-server-5.7 && \
- apt-get install -y --no-install-recommends libperconaserverclient20-dev percona-xtrabackup-24 && \
- rm -rf /var/lib/apt/lists/*
-
-USER vitess
diff --git a/docker/bootstrap/README.md b/docker/bootstrap/README.md
index 717f4336442..b273305d6b9 100644
--- a/docker/bootstrap/README.md
+++ b/docker/bootstrap/README.md
@@ -6,9 +6,7 @@ after successfully running `bootstrap.sh` and `dev.env`.
The `vitess/bootstrap` image comes in different flavors:
* `vitess/bootstrap:common` - dependencies that are common to all flavors
-* `vitess/bootstrap:mysql57` - bootstrap image for MySQL 5.7
* `vitess/bootstrap:mysql80` - bootstrap image for MySQL 8.0
-* `vitess/bootstrap:percona57` - bootstrap image for Percona Server 5.7
* `vitess/bootstrap:percona80` - bootstrap image for Percona Server 8.0
**NOTE: Unlike the base image that builds Vitess itself, this bootstrap image
diff --git a/docker/lite/Dockerfile b/docker/lite/Dockerfile
index 7c0b22aed3c..9d2b90efda2 100644
--- a/docker/lite/Dockerfile
+++ b/docker/lite/Dockerfile
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM --platform=linux/amd64 golang:1.22.5-bullseye AS builder
+FROM --platform=linux/amd64 golang:1.23.1-bullseye AS builder
# Allows docker builds to set the BUILD_NUMBER
ARG BUILD_NUMBER
@@ -33,13 +33,18 @@ RUN make install PREFIX=/vt/install
# Start over and build the final image.
FROM --platform=linux/amd64 debian:bullseye-slim
+# Install locale required for mysqlsh
+RUN apt-get update && apt-get install -y locales \
+ && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
+ && locale-gen en_US.UTF-8
+
# Install dependencies
COPY docker/utils/install_dependencies.sh /vt/dist/install_dependencies.sh
RUN /vt/dist/install_dependencies.sh mysql80
# Set up Vitess user and directory tree.
RUN groupadd -r vitess && useradd -r -g vitess vitess
-RUN mkdir -p /vt/vtdataroot && chown -R vitess:vitess /vt
+RUN mkdir -p /vt/vtdataroot /home/vitess && chown -R vitess:vitess /vt /home/vitess
# Set up Vitess environment (just enough to run pre-built Go binaries)
ENV VTROOT /vt
diff --git a/docker/lite/Dockerfile.percona80 b/docker/lite/Dockerfile.percona80
index cded55438ec..c556c40673d 100644
--- a/docker/lite/Dockerfile.percona80
+++ b/docker/lite/Dockerfile.percona80
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM --platform=linux/amd64 golang:1.22.5-bullseye AS builder
+FROM --platform=linux/amd64 golang:1.23.1-bullseye AS builder
# Allows docker builds to set the BUILD_NUMBER
ARG BUILD_NUMBER
diff --git a/docker/utils/install_dependencies.sh b/docker/utils/install_dependencies.sh
index b686c2418bf..91e6e2b8c76 100755
--- a/docker/utils/install_dependencies.sh
+++ b/docker/utils/install_dependencies.sh
@@ -86,6 +86,7 @@ mysql57)
/tmp/mysql-client_${VERSION}-1debian10_amd64.deb
/tmp/mysql-community-server_${VERSION}-1debian10_amd64.deb
/tmp/mysql-server_${VERSION}-1debian10_amd64.deb
+ mysql-shell
percona-xtrabackup-24
)
;;
@@ -112,6 +113,7 @@ mysql80)
/tmp/mysql-community-server-core_${VERSION}-1debian11_amd64.deb
/tmp/mysql-community-server_${VERSION}-1debian11_amd64.deb
/tmp/mysql-server_${VERSION}-1debian11_amd64.deb
+ mysql-shell
percona-xtrabackup-80
)
;;
diff --git a/docker/vttestserver/Dockerfile.mysql80 b/docker/vttestserver/Dockerfile.mysql80
index 2e79d389c7d..69bc16bea3b 100644
--- a/docker/vttestserver/Dockerfile.mysql80
+++ b/docker/vttestserver/Dockerfile.mysql80
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM --platform=linux/amd64 golang:1.22.5-bullseye AS builder
+FROM --platform=linux/amd64 golang:1.23.1-bullseye AS builder
# Allows docker builds to set the BUILD_NUMBER
ARG BUILD_NUMBER
diff --git a/examples/common/scripts/vtadmin-up.sh b/examples/common/scripts/vtadmin-up.sh
index 356f6ac3880..499c6ea6204 100755
--- a/examples/common/scripts/vtadmin-up.sh
+++ b/examples/common/scripts/vtadmin-up.sh
@@ -43,7 +43,7 @@ vtadmin \
--alsologtostderr \
--rbac \
--rbac-config="${script_dir}/../vtadmin/rbac.yaml" \
- --cluster "id=${cluster_name},name=${cluster_name},discovery=staticfile,discovery-staticfile-path=${script_dir}/../vtadmin/discovery.json,tablet-fqdn-tmpl=http://{{ .Tablet.Hostname }}:15{{ .Tablet.Alias.Uid }}" \
+ --cluster "id=${cluster_name},name=${cluster_name},discovery=staticfile,discovery-staticfile-path=${script_dir}/../vtadmin/discovery.json,tablet-fqdn-tmpl=http://{{ .Tablet.Hostname }}:15{{ .Tablet.Alias.Uid }},schema-cache-default-expiration=1m" \
> "${log_dir}/vtadmin-api.out" 2>&1 &
vtadmin_api_pid=$!
diff --git a/examples/compose/README.md b/examples/compose/README.md
index 8d20f360620..91ec8708de5 100644
--- a/examples/compose/README.md
+++ b/examples/compose/README.md
@@ -67,7 +67,7 @@ vitess/examples/compose$ docker-compose up -d
### Check cluster status
Check the status of the cluster.
```
-vitess/examples/compose$ docker-compose ps
+vitess/examples/compose$ docker-compose ps -a
Name Command State Ports
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
compose_consul1_1 docker-entrypoint.sh agent ... Up 8300/tcp, 8301/tcp, 8301/udp, 8302/tcp, 8302/udp,
diff --git a/examples/compose/config/init_db.sql b/examples/compose/config/init_db.sql
index b567faf1722..8c0ba4ebdd9 100644
--- a/examples/compose/config/init_db.sql
+++ b/examples/compose/config/init_db.sql
@@ -39,6 +39,7 @@ CREATE TABLE IF NOT EXISTS _vt.shard_metadata (
CREATE USER 'vt_dba'@'localhost';
GRANT ALL ON *.* TO 'vt_dba'@'localhost';
GRANT GRANT OPTION ON *.* TO 'vt_dba'@'localhost';
+GRANT PROXY ON ''@'' TO 'vt_dba'@'localhost' WITH GRANT OPTION;
# User for app traffic, with global read-write access.
CREATE USER 'vt_app'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, FILE,
diff --git a/examples/compose/docker-compose.beginners.yml b/examples/compose/docker-compose.beginners.yml
index d647d9fdc4d..bb364846df1 100644
--- a/examples/compose/docker-compose.beginners.yml
+++ b/examples/compose/docker-compose.beginners.yml
@@ -73,10 +73,12 @@ services:
--grpc_port $GRPC_PORT
"]
depends_on:
- - consul1
- - consul2
- - consul3
- depends_on:
+ consul1:
+ condition: service_started
+ consul2:
+ condition: service_started
+ consul3:
+ condition: service_started
external_db_host:
condition: service_healthy
@@ -105,8 +107,8 @@ services:
- KEYSPACE
- DB
depends_on:
- - vtctld
- depends_on:
+ vtctld:
+ condition: service_started
vttablet101:
condition: service_healthy
diff --git a/examples/compose/vttablet-up.sh b/examples/compose/vttablet-up.sh
index 8d02a7a528e..9e16869b1af 100755
--- a/examples/compose/vttablet-up.sh
+++ b/examples/compose/vttablet-up.sh
@@ -158,5 +158,5 @@ exec $VTROOT/bin/vttablet \
--init_shard $shard \
--backup_storage_implementation file \
--file_backup_storage_root $VTDATAROOT/backups \
- --queryserver-config-schema-reload-time 60 \
+ --queryserver-config-schema-reload-time 60s \
$external_db_args
diff --git a/examples/local/vstream_client.go b/examples/local/vstream_client.go
index 98d2129f898..ab00f83871d 100644
--- a/examples/local/vstream_client.go
+++ b/examples/local/vstream_client.go
@@ -23,13 +23,13 @@ import (
"log"
"time"
- vtgatepb "vitess.io/vitess/go/vt/proto/vtgate"
-
- binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
- topodatapb "vitess.io/vitess/go/vt/proto/topodata"
_ "vitess.io/vitess/go/vt/vtctl/grpcvtctlclient"
_ "vitess.io/vitess/go/vt/vtgate/grpcvtgateconn"
"vitess.io/vitess/go/vt/vtgate/vtgateconn"
+
+ binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
+ topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+ vtgatepb "vitess.io/vitess/go/vt/proto/vtgate"
)
/*
@@ -73,15 +73,19 @@ func main() {
}
defer conn.Close()
flags := &vtgatepb.VStreamFlags{
- //MinimizeSkew: false,
- //HeartbeatInterval: 60, //seconds
+ // MinimizeSkew: false,
+ // HeartbeatInterval: 60, //seconds
+ // StopOnReshard: true,
+ // IncludeReshardJournalEvents: true,
}
reader, err := conn.VStream(ctx, topodatapb.TabletType_PRIMARY, vgtid, filter, flags)
+ if err != nil {
+ log.Fatal(err)
+ }
for {
e, err := reader.Recv()
switch err {
case nil:
- _ = e
fmt.Printf("%v\n", e)
case io.EOF:
fmt.Printf("stream ended\n")
diff --git a/examples/operator/101_initial_cluster.yaml b/examples/operator/101_initial_cluster.yaml
index de627c61c50..c26219254f1 100644
--- a/examples/operator/101_initial_cluster.yaml
+++ b/examples/operator/101_initial_cluster.yaml
@@ -176,6 +176,7 @@ stringData:
CREATE USER 'vt_dba'@'localhost';
GRANT ALL ON *.* TO 'vt_dba'@'localhost';
GRANT GRANT OPTION ON *.* TO 'vt_dba'@'localhost';
+ GRANT PROXY ON ''@'' TO 'vt_dba'@'localhost' WITH GRANT OPTION;
# User for app traffic, with global read-write access.
CREATE USER 'vt_app'@'localhost';
diff --git a/examples/operator/401_scheduled_backups.yaml b/examples/operator/401_scheduled_backups.yaml
index 5cb0f6c3ea1..0e74ada8478 100644
--- a/examples/operator/401_scheduled_backups.yaml
+++ b/examples/operator/401_scheduled_backups.yaml
@@ -42,7 +42,7 @@ spec:
jobTimeoutMinute: 5
strategies:
- name: BackupShard
- keyspace: "customer"
+ keyspace: "commerce"
shard: "-"
images:
vtctld: vitess/lite:latest
diff --git a/examples/operator/README.md b/examples/operator/README.md
index 9182b25340c..38d9fe4d6ed 100644
--- a/examples/operator/README.md
+++ b/examples/operator/README.md
@@ -1,8 +1,10 @@
# Instructions
-
+{{< info >}}
+For the best experience, please refer to the [Vitess Operator Compatibility Matrix](https://github.com/planetscale/vitess-operator#compatibility) to ensure compatibility between your version of Vitess and Kubernetes. You would then specify the appropriate Kubernetes version to Minikube using the `--kubernetes-version` flag.
+{{< /info >}}
```
# Start minikube
-minikube start --cpus=8 --memory=11000 --disk-size=50g --kubernetes-version=v1.25.8
+minikube start --cpus=8 --memory=11000 --disk-size=50g
# Install Operator
kubectl apply -f operator.yaml
diff --git a/examples/operator/operator.yaml b/examples/operator/operator.yaml
index 1ebf69da491..6795f37becd 100644
--- a/examples/operator/operator.yaml
+++ b/examples/operator/operator.yaml
@@ -1523,6 +1523,7 @@ spec:
enum:
- builtin
- xtrabackup
+ - mysqlshell
type: string
locations:
items:
diff --git a/go.mod b/go.mod
index 1e80e0b9f62..26daaa0f15c 100644
--- a/go.mod
+++ b/go.mod
@@ -1,20 +1,19 @@
module vitess.io/vitess
-go 1.22.5
+go 1.23.1
require (
cloud.google.com/go/storage v1.43.0
- github.com/AdaLogics/go-fuzz-headers v0.0.0-20240716105424-66b64c4bb379
+ github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6
github.com/Azure/azure-pipeline-go v0.2.3
github.com/Azure/azure-storage-blob-go v0.15.0
github.com/HdrHistogram/hdrhistogram-go v0.9.0 // indirect
github.com/aquarapid/vaultlib v0.5.1
github.com/armon/go-metrics v0.4.1 // indirect
- github.com/aws/aws-sdk-go v1.55.5
github.com/buger/jsonparser v1.1.1
github.com/cespare/xxhash/v2 v2.3.0
github.com/corpix/uarand v0.1.1 // indirect
- github.com/dave/jennifer v1.7.0
+ github.com/dave/jennifer v1.7.1
github.com/evanphx/json-patch v5.9.0+incompatible
github.com/fsnotify/fsnotify v1.7.0
github.com/go-sql-driver/mysql v1.7.1
@@ -28,11 +27,10 @@ require (
github.com/gorilla/mux v1.8.1
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
- github.com/hashicorp/consul/api v1.29.2
+ github.com/hashicorp/consul/api v1.29.4
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
github.com/hashicorp/serf v0.10.1 // indirect
github.com/icrowley/fake v0.0.0-20180203215853-4178557ae428
- github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/klauspost/compress v1.17.9
github.com/klauspost/pgzip v1.2.6
github.com/krishicks/yaml-patch v0.0.10
@@ -48,9 +46,9 @@ require (
github.com/pires/go-proxyproto v0.7.0
github.com/pkg/errors v0.9.1
github.com/planetscale/pargzip v0.0.0-20201116224723-90c7fc03ea8a
- github.com/planetscale/vtprotobuf v0.5.0
- github.com/prometheus/client_golang v1.19.1
- github.com/prometheus/common v0.55.0
+ github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10
+ github.com/prometheus/client_golang v1.20.3
+ github.com/prometheus/common v0.59.1
github.com/sjmudd/stopwatch v0.1.1
github.com/soheilhy/cmux v0.1.5
github.com/spf13/cobra v1.8.1
@@ -59,31 +57,31 @@ require (
github.com/stretchr/testify v1.9.0
github.com/tchap/go-patricia v2.3.0+incompatible
github.com/tidwall/gjson v1.17.3
- github.com/tinylib/msgp v1.2.0 // indirect
+ github.com/tinylib/msgp v1.2.1 // indirect
github.com/uber/jaeger-client-go v2.30.0+incompatible
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82
github.com/z-division/go-zookeeper v1.0.0
- go.etcd.io/etcd/api/v3 v3.5.15
- go.etcd.io/etcd/client/pkg/v3 v3.5.15
- go.etcd.io/etcd/client/v3 v3.5.15
+ go.etcd.io/etcd/api/v3 v3.5.16
+ go.etcd.io/etcd/client/pkg/v3 v3.5.16
+ go.etcd.io/etcd/client/v3 v3.5.16
go.uber.org/mock v0.2.0
- golang.org/x/crypto v0.25.0 // indirect
- golang.org/x/mod v0.19.0 // indirect
- golang.org/x/net v0.27.0
- golang.org/x/oauth2 v0.21.0
- golang.org/x/sys v0.22.0
- golang.org/x/term v0.22.0
- golang.org/x/text v0.16.0 // indirect
- golang.org/x/time v0.5.0
- golang.org/x/tools v0.23.0
- google.golang.org/api v0.189.0
- google.golang.org/genproto v0.0.0-20240730163845-b1a4ccb954bf // indirect
- google.golang.org/grpc v1.65.0
+ golang.org/x/crypto v0.27.0 // indirect
+ golang.org/x/mod v0.21.0 // indirect
+ golang.org/x/net v0.29.0
+ golang.org/x/oauth2 v0.23.0
+ golang.org/x/sys v0.25.0
+ golang.org/x/term v0.24.0
+ golang.org/x/text v0.18.0 // indirect
+ golang.org/x/time v0.6.0
+ golang.org/x/tools v0.25.0
+ google.golang.org/api v0.197.0
+ google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect
+ google.golang.org/grpc v1.66.2
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0
google.golang.org/grpc/examples v0.0.0-20210430044426-28078834f35b
google.golang.org/protobuf v1.34.2
- gopkg.in/DataDog/dd-trace-go.v1 v1.66.0
+ gopkg.in/DataDog/dd-trace-go.v1 v1.67.1
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect
gopkg.in/ldap.v2 v2.5.1
sigs.k8s.io/yaml v1.4.0
@@ -92,6 +90,11 @@ require (
require (
github.com/DataDog/datadog-go/v5 v5.5.0
github.com/Shopify/toxiproxy/v2 v2.9.0
+ github.com/aws/aws-sdk-go-v2 v1.30.4
+ github.com/aws/aws-sdk-go-v2/config v1.27.31
+ github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.15
+ github.com/aws/aws-sdk-go-v2/service/s3 v1.60.1
+ github.com/aws/smithy-go v1.20.4
github.com/bndr/gotabulate v1.1.2
github.com/gammazero/deque v0.2.1
github.com/google/safehtml v0.1.0
@@ -104,26 +107,40 @@ require (
github.com/spf13/jwalterweatherman v1.1.0
github.com/xlab/treeprint v1.2.0
go.uber.org/goleak v1.3.0
- golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
- golang.org/x/sync v0.7.0
+ golang.org/x/exp v0.0.0-20240909161429-701f63a606c0
+ golang.org/x/sync v0.8.0
gonum.org/v1/gonum v0.14.0
- modernc.org/sqlite v1.31.1
+ modernc.org/sqlite v1.33.1
)
require (
- cloud.google.com/go v0.115.0 // indirect
- cloud.google.com/go/auth v0.7.2 // indirect
- cloud.google.com/go/auth/oauth2adapt v0.2.3 // indirect
- cloud.google.com/go/compute/metadata v0.5.0 // indirect
- cloud.google.com/go/iam v1.1.12 // indirect
+ cloud.google.com/go v0.115.1 // indirect
+ cloud.google.com/go/auth v0.9.4 // indirect
+ cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect
+ cloud.google.com/go/compute/metadata v0.5.1 // indirect
+ cloud.google.com/go/iam v1.2.1 // indirect
github.com/DataDog/appsec-internal-go v1.7.0 // indirect
- github.com/DataDog/datadog-agent/pkg/obfuscate v0.55.2 // indirect
- github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.55.2 // indirect
- github.com/DataDog/go-libddwaf/v3 v3.3.0 // indirect
- github.com/DataDog/go-sqllexer v0.0.12 // indirect
+ github.com/DataDog/datadog-agent/pkg/obfuscate v0.57.0 // indirect
+ github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.57.0 // indirect
+ github.com/DataDog/go-libddwaf/v3 v3.4.0 // indirect
+ github.com/DataDog/go-sqllexer v0.0.14 // indirect
github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect
github.com/DataDog/sketches-go v1.4.6 // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
+ github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 // indirect
+ github.com/aws/aws-sdk-go-v2/credentials v1.17.30 // indirect
+ github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 // indirect
+ github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect
+ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect
+ github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/coreos/go-semver v0.3.1 // indirect
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
@@ -138,7 +155,7 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/google/s2a-go v0.1.8 // indirect
- github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
+ github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
github.com/googleapis/gax-go/v2 v2.13.0 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
@@ -159,7 +176,7 @@ require (
github.com/onsi/ginkgo v1.16.5 // indirect
github.com/onsi/gomega v1.23.0 // indirect
github.com/outcaste-io/ristretto v0.2.3 // indirect
- github.com/pelletier/go-toml/v2 v2.2.2 // indirect
+ github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
@@ -171,27 +188,27 @@ require (
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
- github.com/spf13/cast v1.6.0 // indirect
+ github.com/spf13/cast v1.7.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/tidwall/match v1.1.1 // indirect
github.com/tidwall/pretty v1.2.1 // indirect
go.opencensus.io v0.24.0 // indirect
- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 // indirect
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect
- go.opentelemetry.io/otel v1.28.0 // indirect
- go.opentelemetry.io/otel/metric v1.28.0 // indirect
- go.opentelemetry.io/otel/trace v1.28.0 // indirect
+ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0 // indirect
+ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 // indirect
+ go.opentelemetry.io/otel v1.30.0 // indirect
+ go.opentelemetry.io/otel/metric v1.30.0 // indirect
+ go.opentelemetry.io/otel/trace v1.30.0 // indirect
go.uber.org/atomic v1.11.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
- golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 // indirect
- google.golang.org/genproto/googleapis/api v0.0.0-20240730163845-b1a4ccb954bf // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf // indirect
+ golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
+ google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
- modernc.org/gc/v3 v3.0.0-20240722195230-4a140ff9c08e // indirect
- modernc.org/libc v1.55.7 // indirect
+ modernc.org/gc/v3 v3.0.0-20240801135723-a856999a2e4a // indirect
+ modernc.org/libc v1.60.1 // indirect
modernc.org/mathutil v1.6.0 // indirect
modernc.org/memory v1.8.0 // indirect
modernc.org/strutil v1.2.0 // indirect
diff --git a/go.sum b/go.sum
index 2be032bcc92..5258e8f05fa 100644
--- a/go.sum
+++ b/go.sum
@@ -1,21 +1,21 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.115.0 h1:CnFSK6Xo3lDYRoBKEcAtia6VSC837/ZkJuRduSFnr14=
-cloud.google.com/go v0.115.0/go.mod h1:8jIM5vVgoAEoiVxQ/O4BFTfHqulPZgs/ufEzMcFMdWU=
-cloud.google.com/go/auth v0.7.2 h1:uiha352VrCDMXg+yoBtaD0tUF4Kv9vrtrWPYXwutnDE=
-cloud.google.com/go/auth v0.7.2/go.mod h1:VEc4p5NNxycWQTMQEDQF0bd6aTMb6VgYDXEwiJJQAbs=
-cloud.google.com/go/auth/oauth2adapt v0.2.3 h1:MlxF+Pd3OmSudg/b1yZ5lJwoXCEaeedAguodky1PcKI=
-cloud.google.com/go/auth/oauth2adapt v0.2.3/go.mod h1:tMQXOfZzFuNuUxOypHlQEXgdfX5cuhwU+ffUuXRJE8I=
-cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY=
-cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY=
-cloud.google.com/go/iam v1.1.12 h1:JixGLimRrNGcxvJEQ8+clfLxPlbeZA6MuRJ+qJNQ5Xw=
-cloud.google.com/go/iam v1.1.12/go.mod h1:9LDX8J7dN5YRyzVHxwQzrQs9opFFqn0Mxs9nAeB+Hhg=
-cloud.google.com/go/longrunning v0.5.11 h1:Havn1kGjz3whCfoD8dxMLP73Ph5w+ODyZB9RUsDxtGk=
-cloud.google.com/go/longrunning v0.5.11/go.mod h1:rDn7//lmlfWV1Dx6IB4RatCPenTwwmqXuiP0/RgoEO4=
+cloud.google.com/go v0.115.1 h1:Jo0SM9cQnSkYfp44+v+NQXHpcHqlnRJk2qxh6yvxxxQ=
+cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc=
+cloud.google.com/go/auth v0.9.4 h1:DxF7imbEbiFu9+zdKC6cKBko1e8XeJnipNqIbWZ+kDI=
+cloud.google.com/go/auth v0.9.4/go.mod h1:SHia8n6//Ya940F1rLimhJCjjx7KE17t0ctFEci3HkA=
+cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy19DBn6B6bY=
+cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc=
+cloud.google.com/go/compute/metadata v0.5.1 h1:NM6oZeZNlYjiwYje+sYFjEpP0Q0zCan1bmQW/KmIrGs=
+cloud.google.com/go/compute/metadata v0.5.1/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k=
+cloud.google.com/go/iam v1.2.1 h1:QFct02HRb7H12J/3utj0qf5tobFh9V4vR6h9eX5EBRU=
+cloud.google.com/go/iam v1.2.1/go.mod h1:3VUIJDPpwT6p/amXRC5GY8fCCh70lxPygguVtI0Z4/g=
+cloud.google.com/go/longrunning v0.6.0 h1:mM1ZmaNsQsnb+5n1DNPeL0KwQd9jQRqSqSDEkBZr+aI=
+cloud.google.com/go/longrunning v0.6.0/go.mod h1:uHzSZqW89h7/pasCWNYdUpwGz3PcVWhrWupreVPYLts=
cloud.google.com/go/storage v1.43.0 h1:CcxnSohZwizt4LCzQHWvBf1/kvtHUn7gk9QERXPyXFs=
cloud.google.com/go/storage v1.43.0/go.mod h1:ajvxEa7WmZS1PxvKRq4bq0tFT3vMd502JwstCcYv0Q0=
-github.com/AdaLogics/go-fuzz-headers v0.0.0-20240716105424-66b64c4bb379 h1:shYAfOpsleWVaSwGxQjmi+BBIwzj5jxB1FTCpVqs0N8=
-github.com/AdaLogics/go-fuzz-headers v0.0.0-20240716105424-66b64c4bb379/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8=
+github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk=
+github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8=
github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U=
github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k=
github.com/Azure/azure-storage-blob-go v0.15.0 h1:rXtgp8tN1p29GvpGgfJetavIG0V7OgcSXPpwp3tx6qk=
@@ -34,17 +34,17 @@ github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBp
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/DataDog/appsec-internal-go v1.7.0 h1:iKRNLih83dJeVya3IoUfK+6HLD/hQsIbyBlfvLmAeb0=
github.com/DataDog/appsec-internal-go v1.7.0/go.mod h1:wW0cRfWBo4C044jHGwYiyh5moQV2x0AhnwqMuiX7O/g=
-github.com/DataDog/datadog-agent/pkg/obfuscate v0.55.2 h1:Uc0V20r3BdVdPZ0AjDd8IpRKG9+8GBHW68Sg94aqRlU=
-github.com/DataDog/datadog-agent/pkg/obfuscate v0.55.2/go.mod h1:/C99KWKukVnTtIiYCQ55izSNDQceREb8vSPa3zUn6jc=
-github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.55.2 h1:Q7aIwDE+aKXclYhHrKRQvEl5IdabmdaFw5+QBp5DlNA=
-github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.55.2/go.mod h1:3yFk56PJ57yS1GqI9HAsS4PSlAeGCC9RQA7jxKzYj6g=
+github.com/DataDog/datadog-agent/pkg/obfuscate v0.57.0 h1:5hk3X9Ymna7RqYzoR3K15AZNgASJ89LvJY48tpTsjj0=
+github.com/DataDog/datadog-agent/pkg/obfuscate v0.57.0/go.mod h1:Po5HwoDd4FmT/EqgrE9x7Zz4LjxtGBSIuNY1C1lppBQ=
+github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.57.0 h1:LplNAmMgZvGU7kKA0+4c1xWOjz828xweW5TCi8Mw9Q0=
+github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.57.0/go.mod h1:4Vo3SJ24uzfKHUHLoFa8t8o+LH+7TCQ7sPcZDtOpSP4=
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU=
github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw=
-github.com/DataDog/go-libddwaf/v3 v3.3.0 h1:jS72fuQpFgJZEdEJDmHJCPAgNTEMZoz1EUvimPUOiJ4=
-github.com/DataDog/go-libddwaf/v3 v3.3.0/go.mod h1:Bz/0JkpGf689mzbUjKJeheJINqsyyhM8p9PDuHdK2Ec=
-github.com/DataDog/go-sqllexer v0.0.12 h1:ncvAr5bbwtc7JMezzcU2379oKz1oHhRF1hkR6BSvhqM=
-github.com/DataDog/go-sqllexer v0.0.12/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc=
+github.com/DataDog/go-libddwaf/v3 v3.4.0 h1:NJ2W2vhYaOm1OWr1LJCbdgp7ezG/XLJcQKBmjFwhSuM=
+github.com/DataDog/go-libddwaf/v3 v3.4.0/go.mod h1:n98d9nZ1gzenRSk53wz8l6d34ikxS+hs62A31Fqmyi4=
+github.com/DataDog/go-sqllexer v0.0.14 h1:xUQh2tLr/95LGxDzLmttLgTo/1gzFeOyuwrQa/Iig4Q=
+github.com/DataDog/go-sqllexer v0.0.14/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc=
github.com/DataDog/go-tuf v1.1.0-0.5.2 h1:4CagiIekonLSfL8GMHRHcHudo1fQnxELS9g4tiAupQ4=
github.com/DataDog/go-tuf v1.1.0-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0=
github.com/DataDog/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4=
@@ -73,8 +73,44 @@ github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJ
github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
-github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU=
-github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
+github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8=
+github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0=
+github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 h1:70PVAiL15/aBMh5LThwgXdSQorVr91L127ttckI9QQU=
+github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4/go.mod h1:/MQxMqci8tlqDH+pjmoLu1i0tbWCUP1hhyMRuFxpQCw=
+github.com/aws/aws-sdk-go-v2/config v1.27.31 h1:kxBoRsjhT3pq0cKthgj6RU6bXTm/2SgdoUMyrVw0rAI=
+github.com/aws/aws-sdk-go-v2/config v1.27.31/go.mod h1:z04nZdSWFPaDwK3DdJOG2r+scLQzMYuJeW0CujEm9FM=
+github.com/aws/aws-sdk-go-v2/credentials v1.17.30 h1:aau/oYFtibVovr2rDt8FHlU17BTicFEMAi29V1U+L5Q=
+github.com/aws/aws-sdk-go-v2/credentials v1.17.30/go.mod h1:BPJ/yXV92ZVq6G8uYvbU0gSl8q94UB63nMT5ctNO38g=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI=
+github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.15 h1:ijB7hr56MngOiELJe0C5aQRaBQ11LveNgWFyG02AUto=
+github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.15/go.mod h1:0QEmQSSWMVfiAk93l1/ayR9DQ9+jwni7gHS2NARZXB0=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs=
+github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
+github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 h1:mimdLQkIX1zr8GIPY1ZtALdBQGxcASiBd2MOp8m/dMc=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16/go.mod h1:YHk6owoSwrIsok+cAH9PENCOGoH5PU2EllX4vLtSrsY=
+github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI=
+github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc=
+github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 h1:GckUnpm4EJOAio1c8o25a+b3lVfwVzC9gnSBqiiNmZM=
+github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18/go.mod h1:Br6+bxfG33Dk3ynmkhsW2Z/t9D4+lRqdLDNCKi85w0U=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c=
+github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 h1:jg16PhLPUiHIj8zYIW6bqzeQSuHVEiWnGA0Brz5Xv2I=
+github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16/go.mod h1:Uyk1zE1VVdsHSU7096h/rwnXDzOzYQVl+FNPhPw7ShY=
+github.com/aws/aws-sdk-go-v2/service/s3 v1.60.1 h1:mx2ucgtv+MWzJesJY9Ig/8AFHgoE5FwLXwUVgW/FGdI=
+github.com/aws/aws-sdk-go-v2/service/s3 v1.60.1/go.mod h1:BSPI0EfnYUuNHPS0uqIo5VrRwzie+Fp+YhQOUs16sKI=
+github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c=
+github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac=
+github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 h1:OMsEmCyz2i89XwRwPouAJvhj81wINh+4UK+k/0Yo/q8=
+github.com/aws/aws-sdk-go-v2/service/sts v1.30.5/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0=
+github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4=
+github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
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=
@@ -103,8 +139,8 @@ github.com/corpix/uarand v0.1.1/go.mod h1:SFKZvkcRoLqVRFZ4u25xPmp6m9ktANfbpXZ7SJ
github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4=
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
-github.com/dave/jennifer v1.7.0 h1:uRbSBH9UTS64yXbh4FrMHfgfY762RD+C7bUPKODpSJE=
-github.com/dave/jennifer v1.7.0/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc=
+github.com/dave/jennifer v1.7.1 h1:B4jJJDHelWcDhlRQxWeo0Npa/pYKBLrirAQoTN45txo=
+github.com/dave/jennifer v1.7.1/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
@@ -183,7 +219,6 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
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.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
@@ -197,7 +232,6 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
@@ -218,8 +252,8 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs=
-github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0=
+github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw=
+github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA=
github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s=
github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A=
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
@@ -231,8 +265,8 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDa
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
-github.com/hashicorp/consul/api v1.29.2 h1:aYyRn8EdE2mSfG14S1+L9Qkjtz8RzmaWh6AcNGRNwPw=
-github.com/hashicorp/consul/api v1.29.2/go.mod h1:0YObcaLNDSbtlgzIRtmRXI1ZkeuK0trCBxwZQ4MYnIk=
+github.com/hashicorp/consul/api v1.29.4 h1:P6slzxDLBOxUSj3fWo2o65VuKtbtOXFi7TSSgtXutuE=
+github.com/hashicorp/consul/api v1.29.4/go.mod h1:HUlfw+l2Zy68ceJavv2zAyArl2fqhGWnMycyt56sBgg=
github.com/hashicorp/consul/proto-public v0.6.2 h1:+DA/3g/IiKlJZb88NBn0ZgXrxJp2NlvCZdEyl+qxvL0=
github.com/hashicorp/consul/proto-public v0.6.2/go.mod h1:cXXbOg74KBNGajC+o8RlA502Esf0R9prcoJgiOX/2Tg=
github.com/hashicorp/consul/sdk v0.16.1 h1:V8TxTnImoPD5cj0U9Spl0TUxcytjcbbJeADFF07KdHg=
@@ -290,10 +324,6 @@ github.com/icrowley/fake v0.0.0-20180203215853-4178557ae428 h1:Mo9W14pwbO9VfRe+y
github.com/icrowley/fake v0.0.0-20180203215853-4178557ae428/go.mod h1:uhpZMVGznybq1itEKXj6RYw9I71qK4kH+OGMjRC4KEo=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
-github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
-github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
-github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
-github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
@@ -316,6 +346,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/krishicks/yaml-patch v0.0.10 h1:H4FcHpnNwVmw8u0MjPRjWyIXtco6zM2F78t+57oNM3E=
github.com/krishicks/yaml-patch v0.0.10/go.mod h1:Sm5TchwZS6sm7RJoyg87tzxm2ZcKzdRE4Q7TjNhPrME=
+github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
+github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
@@ -391,8 +423,8 @@ github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0Mw
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
-github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM=
-github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
+github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
+github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 h1:jYi87L8j62qkXzaYHAQAhEapgukhenIMZRBKTNRLHJ4=
github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM=
github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
@@ -406,8 +438,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/planetscale/pargzip v0.0.0-20201116224723-90c7fc03ea8a h1:y0OpQ4+5tKxeh9+H+2cVgASl9yMZYV9CILinKOiKafA=
github.com/planetscale/pargzip v0.0.0-20201116224723-90c7fc03ea8a/go.mod h1:GJFUzQuXIoB2Kjn1ZfDhJr/42D5nWOqRcIQVgCxTuIE=
-github.com/planetscale/vtprotobuf v0.5.0 h1:l8PXm6Colok5z6qQLNhAj2Jq5BfoMTIHxLER5a6nDqM=
-github.com/planetscale/vtprotobuf v0.5.0/go.mod h1:wm1N3qk9G/4+VM1WhpkLbvY/d8+0PbwYYpP5P5VhTks=
+github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo=
+github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -416,8 +448,8 @@ github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSg
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
-github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
-github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
+github.com/prometheus/client_golang v1.20.3 h1:oPksm4K8B+Vt35tUhw6GbSNSgVlVSBH0qELP/7u83l4=
+github.com/prometheus/client_golang v1.20.3/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -426,8 +458,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
-github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc=
-github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8=
+github.com/prometheus/common v0.59.1 h1:LXb1quJHWm1P6wq/U824uxYi4Sg0oGvNeUm1z5dJoX0=
+github.com/prometheus/common v0.59.1/go.mod h1:GpWM7dewqmVYcd7SmRaiWVe9SSqjf0UrwnYnpEZNuT0=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
@@ -471,8 +503,8 @@ github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0b
github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
-github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0=
-github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
+github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
+github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
@@ -496,7 +528,6 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
@@ -510,8 +541,8 @@ github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JT
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4=
github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
-github.com/tinylib/msgp v1.2.0 h1:0uKB/662twsVBpYUPbokj4sTSKhWFKB7LopO2kWK8lY=
-github.com/tinylib/msgp v1.2.0/go.mod h1:2vIGs3lcUo8izAATNobrCHevYZC/LMsJtw4JPiYPHro=
+github.com/tinylib/msgp v1.2.1 h1:6ypy2qcCznxpP4hpORzhtXyTqrBs7cfM9MCCWY8zsmU=
+github.com/tinylib/msgp v1.2.1/go.mod h1:2vIGs3lcUo8izAATNobrCHevYZC/LMsJtw4JPiYPHro=
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=
github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
@@ -526,26 +557,26 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/z-division/go-zookeeper v1.0.0 h1:ULsCj0nP6+U1liDFWe+2oEF6o4amixoDcDlwEUghVUY=
github.com/z-division/go-zookeeper v1.0.0/go.mod h1:6X4UioQXpvyezJJl4J9NHAJKsoffCwy5wCaaTktXjOA=
-go.etcd.io/etcd/api/v3 v3.5.15 h1:3KpLJir1ZEBrYuV2v+Twaa/e2MdDCEZ/70H+lzEiwsk=
-go.etcd.io/etcd/api/v3 v3.5.15/go.mod h1:N9EhGzXq58WuMllgH9ZvnEr7SI9pS0k0+DHZezGp7jM=
-go.etcd.io/etcd/client/pkg/v3 v3.5.15 h1:fo0HpWz/KlHGMCC+YejpiCmyWDEuIpnTDzpJLB5fWlA=
-go.etcd.io/etcd/client/pkg/v3 v3.5.15/go.mod h1:mXDI4NAOwEiszrHCb0aqfAYNCrZP4e9hRca3d1YK8EU=
-go.etcd.io/etcd/client/v3 v3.5.15 h1:23M0eY4Fd/inNv1ZfU3AxrbbOdW79r9V9Rl62Nm6ip4=
-go.etcd.io/etcd/client/v3 v3.5.15/go.mod h1:CLSJxrYjvLtHsrPKsy7LmZEE+DK2ktfd2bN4RhBMwlU=
+go.etcd.io/etcd/api/v3 v3.5.16 h1:WvmyJVbjWqK4R1E+B12RRHz3bRGy9XVfh++MgbN+6n0=
+go.etcd.io/etcd/api/v3 v3.5.16/go.mod h1:1P4SlIP/VwkDmGo3OlOD7faPeP8KDIFhqvciH5EfN28=
+go.etcd.io/etcd/client/pkg/v3 v3.5.16 h1:ZgY48uH6UvB+/7R9Yf4x574uCO3jIx0TRDyetSfId3Q=
+go.etcd.io/etcd/client/pkg/v3 v3.5.16/go.mod h1:V8acl8pcEK0Y2g19YlOV9m9ssUe6MgiDSobSoaBAM0E=
+go.etcd.io/etcd/client/v3 v3.5.16 h1:sSmVYOAHeC9doqi0gv7v86oY/BTld0SEFGaxsU9eRhE=
+go.etcd.io/etcd/client/v3 v3.5.16/go.mod h1:X+rExSGkyqxvu276cr2OwPLBaeqFu1cIl4vmRjAD/50=
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
-go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 h1:9G6E0TXzGFVfTnawRzrPl83iHOAV7L8NJiR8RSGYV1g=
-go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0/go.mod h1:azvtTADFQJA8mX80jIH/akaE7h+dbm/sVuaHqN13w74=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg=
-go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo=
-go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4=
-go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q=
-go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s=
-go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw=
-go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg=
-go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g=
-go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI=
+go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0 h1:hCq2hNMwsegUvPzI7sPOvtO9cqyy5GbWt/Ybp2xrx8Q=
+go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0/go.mod h1:LqaApwGx/oUmzsbqxkzuBvyoPpkxk3JQWnqfVrJ3wCA=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 h1:ZIg3ZT/aQ7AfKqdwp7ECpOK6vHqquXXuyTjIO8ZdmPs=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0/go.mod h1:DQAwmETtZV00skUwgD6+0U89g80NKsJE3DCKeLLPQMI=
+go.opentelemetry.io/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts=
+go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc=
+go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w=
+go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ=
+go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo=
+go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok=
+go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc=
+go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
@@ -569,11 +600,11 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30=
-golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
+golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
+golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
-golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
+golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
+golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
@@ -581,8 +612,8 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8=
-golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
+golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -605,12 +636,12 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8=
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys=
-golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE=
+golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
+golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs=
-golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
+golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
+golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -618,8 +649,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
-golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
+golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -657,19 +688,19 @@ golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=
-golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
+golang.org/x/sys v0.25.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.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk=
-golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
+golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
+golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
-golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
-golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
-golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
+golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
+golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
+golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
+golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
@@ -682,18 +713,18 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg=
-golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI=
+golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE=
+golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 h1:LLhsEBxRTBLuKlQxFBYUOU8xyFgXv6cOTp2HASDlsDk=
-golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
+golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY=
+golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
gonum.org/v1/gonum v0.14.0 h1:2NiG67LD1tEH0D7kM+ps2V+fXmsAnpUeec7n8tcr4S0=
gonum.org/v1/gonum v0.14.0/go.mod h1:AoWeoz0becf9QMWtE8iWXNXc27fK4fNeHNf/oMejGfU=
-google.golang.org/api v0.189.0 h1:equMo30LypAkdkLMBqfeIqtyAnlyig1JSZArl4XPwdI=
-google.golang.org/api v0.189.0/go.mod h1:FLWGJKb0hb+pU2j+rJqwbnsF+ym+fQs73rbJ+KAUgy8=
+google.golang.org/api v0.197.0 h1:x6CwqQLsFiA5JKAiGyGBjc2bNtHtLddhJCE2IKuhhcQ=
+google.golang.org/api v0.197.0/go.mod h1:AuOuo20GoQ331nq7DquGHlU6d+2wN2fZ8O0ta60nRNw=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
@@ -701,12 +732,12 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98
google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20240730163845-b1a4ccb954bf h1:OqdXDEakZCVtDiZTjcxfwbHPCT11ycCEsTKesBVKvyY=
-google.golang.org/genproto v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:mCr1K1c8kX+1iSBREvU3Juo11CB+QOEWxbRS01wWl5M=
-google.golang.org/genproto/googleapis/api v0.0.0-20240730163845-b1a4ccb954bf h1:GillM0Ef0pkZPIB+5iO6SDK+4T9pf6TpaYR6ICD5rVE=
-google.golang.org/genproto/googleapis/api v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:OFMYQFHJ4TM3JRlWDZhJbZfra2uqc3WLBZiaaqP4DtU=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf h1:liao9UHurZLtiEwBgT9LMOnKYsHze6eA6w1KQCMVN2Q=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY=
+google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 h1:BulPr26Jqjnd4eYDVe+YvyR7Yc2vJGkO5/0UxD0/jZU=
+google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:hL97c3SYopEHblzpxRL4lSs523++l8DYxGM1FQiYmb4=
+google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 h1:hjSy6tcFQZ171igDaN5QHOw2n6vx40juYbC/x67CEhc=
+google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
@@ -714,8 +745,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc=
-google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ=
+google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo=
+google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 h1:rNBFJjBCOgVr9pWD7rs/knKL4FRTKgpZmsRfV214zcA=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0/go.mod h1:Dk1tviKTvMCz5tvh7t+fh94dhmQVHuCt2OzJB3CTW9Y=
google.golang.org/grpc/examples v0.0.0-20210430044426-28078834f35b h1:D/GTYPo6I1oEo08Bfpuj3xl5XE+UGHj7//5fVyKxhsQ=
@@ -730,12 +761,10 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
-google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
-gopkg.in/DataDog/dd-trace-go.v1 v1.66.0 h1:025+lLubGtpiDWrRmSOxoFBPIiVRVYRcqP9oLabVOeg=
-gopkg.in/DataDog/dd-trace-go.v1 v1.66.0/go.mod h1:Av6AXGmQCQAbDnwNoPiuUz1k3GS8TwQjj+vEdwmEpmM=
+gopkg.in/DataDog/dd-trace-go.v1 v1.67.1 h1:frgcpZ18wmpj+/TwyDJM8057M65aOdgaxLiZ8pb1PFU=
+gopkg.in/DataDog/dd-trace-go.v1 v1.67.1/go.mod h1:6DdiJPKOeJfZyd/IUGCAd5elY8qPGkztK6wbYYsMjag=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d h1:TxyelI5cVkbREznMhfzycHdkp5cLA7DpE+GKjSslYhM=
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw=
@@ -764,22 +793,20 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ=
-honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
modernc.org/cc/v4 v4.21.4 h1:3Be/Rdo1fpr8GrQ7IVw9OHtplU4gWbb+wNgeoBMmGLQ=
modernc.org/cc/v4 v4.21.4/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ=
-modernc.org/ccgo/v4 v4.20.5 h1:s04akhT2dysD0DFOlv9fkQ6oUTLPYgMnnDk9oaqjszM=
-modernc.org/ccgo/v4 v4.20.5/go.mod h1:fYXClPUMWxWaz1Xj5sHbzW/ZENEFeuHLToqBxUk41nE=
+modernc.org/ccgo/v4 v4.21.0 h1:kKPI3dF7RIag8YcToh5ZwDcVMIv6VGa0ED5cvh0LMW4=
+modernc.org/ccgo/v4 v4.21.0/go.mod h1:h6kt6H/A2+ew/3MW/p6KEoQmrq/i3pr0J/SiwiaF/g0=
modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE=
modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ=
-modernc.org/gc/v2 v2.4.3 h1:Ik4ZcMbC7aY4ZDPUhzXVXi7GMub9QcXLTfXn3mWpNw8=
-modernc.org/gc/v2 v2.4.3/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU=
-modernc.org/gc/v3 v3.0.0-20240722195230-4a140ff9c08e h1:WPC4v0rNIFb2PY+nBBEEKyugPPRHPzUgyN3xZPpGK58=
-modernc.org/gc/v3 v3.0.0-20240722195230-4a140ff9c08e/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4=
-modernc.org/libc v1.55.7 h1:/5PMGAF3tyZhK72WpoqeLNtgUUpYMrnhT+Gm/5tVDgs=
-modernc.org/libc v1.55.7/go.mod h1:JXguUpMkbw1gknxspNE9XaG+kk9hDAAnBxpA6KGLiyA=
+modernc.org/gc/v2 v2.5.0 h1:bJ9ChznK1L1mUtAQtxi0wi5AtAs5jQuw4PrPHO5pb6M=
+modernc.org/gc/v2 v2.5.0/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU=
+modernc.org/gc/v3 v3.0.0-20240801135723-a856999a2e4a h1:CfbpOLEo2IwNzJdMvE8aiRbPMxoTpgAJeyePh0SmO8M=
+modernc.org/gc/v3 v3.0.0-20240801135723-a856999a2e4a/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4=
+modernc.org/libc v1.60.1 h1:at373l8IFRTkJIkAU85BIuUoBM4T1b51ds0E1ovPG2s=
+modernc.org/libc v1.60.1/go.mod h1:xJuobKuNxKH3RUatS7GjR+suWj+5c2K7bi4m/S5arOY=
modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4=
modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo=
modernc.org/memory v1.8.0 h1:IqGTL6eFMaDZZhEWwcREgeMXYwmW83LYW8cROZYkg+E=
@@ -788,8 +815,8 @@ modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc=
modernc.org/sortutil v1.2.0/go.mod h1:TKU2s7kJMf1AE84OoiGppNHJwvB753OYfNl2WRb++Ss=
-modernc.org/sqlite v1.31.1 h1:XVU0VyzxrYHlBhIs1DiEgSl0ZtdnPtbLVy8hSkzxGrs=
-modernc.org/sqlite v1.31.1/go.mod h1:UqoylwmTb9F+IqXERT8bW9zzOWN8qwAIcLdzeBZs4hA=
+modernc.org/sqlite v1.33.1 h1:trb6Z3YYoeM9eDL1O8do81kP+0ejv+YzgyFo+Gwy0nM=
+modernc.org/sqlite v1.33.1/go.mod h1:pXV2xHxhzXZsgT/RtTFAPY6JJDEvOTcTdwADQCCWD4k=
modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA=
modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0=
modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
diff --git a/go/cmd/vtctldclient/command/keyspaces.go b/go/cmd/vtctldclient/command/keyspaces.go
index 6330220d773..565e0c8aa82 100644
--- a/go/cmd/vtctldclient/command/keyspaces.go
+++ b/go/cmd/vtctldclient/command/keyspaces.go
@@ -182,7 +182,7 @@ func commandCreateKeyspace(cmd *cobra.Command, args []string) error {
return errors.New("--sidecar-db-name cannot be empty when creating a keyspace")
}
if len(createKeyspaceOptions.SidecarDBName) > mysql.MaxIdentifierLength {
- return sqlerror.NewSQLError(sqlerror.ERTooLongIdent, sqlerror.SSDataTooLong, "--sidecar-db-name identifier value of %q is too long (%d chars), max length for database identifiers is %d characters",
+ return sqlerror.NewSQLErrorf(sqlerror.ERTooLongIdent, sqlerror.SSDataTooLong, "--sidecar-db-name identifier value of %q is too long (%d chars), max length for database identifiers is %d characters",
createKeyspaceOptions.SidecarDBName, len(createKeyspaceOptions.SidecarDBName), mysql.MaxIdentifierLength)
}
diff --git a/go/cmd/vtctldclient/command/root_test.go b/go/cmd/vtctldclient/command/root_test.go
index 5efe844e1a1..86333ec0e69 100644
--- a/go/cmd/vtctldclient/command/root_test.go
+++ b/go/cmd/vtctldclient/command/root_test.go
@@ -20,7 +20,6 @@ import (
"context"
"fmt"
"os"
- "strings"
"testing"
"time"
@@ -110,9 +109,7 @@ func TestRootWithInternalVtctld(t *testing.T) {
err := command.Root.Execute()
if tc.expectErr != "" {
- if !strings.Contains(err.Error(), tc.expectErr) {
- t.Errorf(fmt.Sprintf("%s error = %v, expectErr = %v", tc.command, err, tc.expectErr))
- }
+ require.ErrorContains(t, err, tc.expectErr)
} else {
require.NoError(t, err, "unexpected error: %v", err)
}
diff --git a/go/cmd/vtctldclient/command/transactions.go b/go/cmd/vtctldclient/command/transactions.go
new file mode 100644
index 00000000000..c576acf2041
--- /dev/null
+++ b/go/cmd/vtctldclient/command/transactions.go
@@ -0,0 +1,132 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package command
+
+import (
+ "fmt"
+
+ "github.com/spf13/cobra"
+
+ "vitess.io/vitess/go/cmd/vtctldclient/cli"
+ vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
+)
+
+var (
+ DistributedTransaction = &cobra.Command{
+ Use: "DistributedTransaction [command] [command-flags]",
+ Short: "Perform commands on distributed transaction",
+ Args: cobra.ExactArgs(1),
+
+ DisableFlagsInUseLine: true,
+ }
+
+ unresolvedTransactionsOptions = struct {
+ Keyspace string
+ AbandonAge int64 // in seconds
+ }{}
+
+ // GetUnresolvedTransactions makes an GetUnresolvedTransactions gRPC call to a vtctld.
+ GetUnresolvedTransactions = &cobra.Command{
+ Use: "unresolved-list --keyspace --abandon-age ",
+ Short: "Retrieves unresolved transactions for the given keyspace.",
+ Aliases: []string{"List"},
+ Args: cobra.NoArgs,
+ RunE: commandGetUnresolvedTransactions,
+
+ DisableFlagsInUseLine: true,
+ }
+
+ concludeTransactionOptions = struct {
+ Dtid string
+ }{}
+
+ // ConcludeTransaction makes a ConcludeTransaction gRPC call to a vtctld.
+ ConcludeTransaction = &cobra.Command{
+ Use: "conclude --dtid ",
+ Short: "Concludes the unresolved transaction by rolling back the prepared transaction on each participating shard and removing the transaction metadata record.",
+ Aliases: []string{"Conclude"},
+ Args: cobra.NoArgs,
+ RunE: commandConcludeTransaction,
+
+ DisableFlagsInUseLine: true,
+ }
+)
+
+type ConcludeTransactionOutput struct {
+ Dtid string `json:"dtid"`
+ Message string `json:"message"`
+ Error string `json:"error,omitempty"`
+}
+
+const (
+ concludeSuccess = "Successfully concluded the distributed transaction"
+ concludeFailure = "Failed to conclude the distributed transaction"
+)
+
+func commandGetUnresolvedTransactions(cmd *cobra.Command, args []string) error {
+ cli.FinishedParsing(cmd)
+
+ resp, err := client.GetUnresolvedTransactions(commandCtx,
+ &vtctldatapb.GetUnresolvedTransactionsRequest{
+ Keyspace: unresolvedTransactionsOptions.Keyspace,
+ AbandonAge: unresolvedTransactionsOptions.AbandonAge,
+ })
+ if err != nil {
+ return err
+ }
+
+ data, err := cli.MarshalJSON(resp.Transactions)
+ if err != nil {
+ return err
+ }
+ fmt.Println(string(data))
+ return nil
+}
+
+func commandConcludeTransaction(cmd *cobra.Command, args []string) (err error) {
+ cli.FinishedParsing(cmd)
+
+ output := ConcludeTransactionOutput{
+ Dtid: concludeTransactionOptions.Dtid,
+ Message: concludeSuccess,
+ }
+
+ _, err = client.ConcludeTransaction(commandCtx,
+ &vtctldatapb.ConcludeTransactionRequest{
+ Dtid: concludeTransactionOptions.Dtid,
+ })
+ if err != nil {
+ output.Message = concludeFailure
+ output.Error = err.Error()
+ }
+
+ data, _ := cli.MarshalJSON(output)
+ fmt.Println(string(data))
+
+ return err
+}
+
+func init() {
+ GetUnresolvedTransactions.Flags().StringVarP(&unresolvedTransactionsOptions.Keyspace, "keyspace", "k", "", "unresolved transactions list for the given keyspace.")
+ GetUnresolvedTransactions.Flags().Int64VarP(&unresolvedTransactionsOptions.AbandonAge, "abandon-age", "a", 0, "unresolved transactions list which are older than the specified age(in seconds).")
+ DistributedTransaction.AddCommand(GetUnresolvedTransactions)
+
+ ConcludeTransaction.Flags().StringVarP(&concludeTransactionOptions.Dtid, "dtid", "d", "", "conclude transaction for the given distributed transaction ID.")
+ DistributedTransaction.AddCommand(ConcludeTransaction)
+
+ Root.AddCommand(DistributedTransaction)
+}
diff --git a/go/cmd/vtctldclient/command/vreplication/common/update.go b/go/cmd/vtctldclient/command/vreplication/common/update.go
index 7875c9412ac..896d417d8db 100644
--- a/go/cmd/vtctldclient/command/vreplication/common/update.go
+++ b/go/cmd/vtctldclient/command/vreplication/common/update.go
@@ -21,13 +21,12 @@ import (
"sort"
"strings"
- "vitess.io/vitess/go/vt/proto/vtrpc"
- "vitess.io/vitess/go/vt/vterrors"
-
"github.com/spf13/cobra"
"vitess.io/vitess/go/cmd/vtctldclient/cli"
"vitess.io/vitess/go/textutil"
+ "vitess.io/vitess/go/vt/proto/vtrpc"
+ "vitess.io/vitess/go/vt/vterrors"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
@@ -143,9 +142,8 @@ func commandUpdateState(cmd *cobra.Command, args []string) error {
TabletRequest: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: workflowUpdateOptions.Workflow,
Cells: textutil.SimulatedNullStringSlice,
- TabletTypes: []topodatapb.TabletType{topodatapb.TabletType(textutil.SimulatedNullInt)},
- OnDdl: binlogdatapb.OnDDLAction(textutil.SimulatedNullInt),
- State: state,
+ TabletTypes: textutil.SimulatedNullTabletTypeSlice,
+ State: &state,
},
}
diff --git a/go/cmd/vtctldclient/command/vreplication/common/utils.go b/go/cmd/vtctldclient/command/vreplication/common/utils.go
index da774647c38..e4fff6aa3b8 100644
--- a/go/cmd/vtctldclient/command/vreplication/common/utils.go
+++ b/go/cmd/vtctldclient/command/vreplication/common/utils.go
@@ -26,6 +26,7 @@ import (
"github.com/spf13/cobra"
"vitess.io/vitess/go/cmd/vtctldclient/cli"
+ "vitess.io/vitess/go/vt/key"
"vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/topo/topoproto"
"vitess.io/vitess/go/vt/vtctl/vtctldclient"
@@ -35,6 +36,7 @@ import (
tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
)
var (
@@ -66,6 +68,8 @@ var (
MySQLServerVersion string
TruncateUILen int
TruncateErrLen int
+ ReferenceTables []string
+ ConfigOverrides []string
}{}
)
@@ -146,6 +150,37 @@ func validateOnDDL(cmd *cobra.Command) error {
return nil
}
+// ParseConfigOverrides converts a slice of key=value strings into a map of config overrides. The slice is passed
+// as a flag to the command, and the key=value pairs are used to override the default vreplication config values.
+func ParseConfigOverrides(overrides []string) (map[string]string, error) {
+ configOverrides := make(map[string]string, len(overrides))
+ defaultConfig, err := vttablet.NewVReplicationConfig(nil)
+ if err != nil {
+ return nil, err
+ }
+ for _, kv := range overrides {
+ key, value, ok := strings.Cut(kv, "=")
+ if !ok {
+ return nil, fmt.Errorf("invalid config override format (var=value expected): %s", kv)
+ }
+ if _, ok := defaultConfig.Map()[key]; !ok {
+ return nil, fmt.Errorf("unknown vreplication config flag: %s", key)
+ }
+ configOverrides[key] = value
+ }
+ return configOverrides, nil
+}
+
+// ValidateShards checks if the provided shard names are valid key ranges.
+func ValidateShards(shards []string) error {
+ for _, shard := range shards {
+ if !key.IsValidKeyRange(shard) {
+ return fmt.Errorf("invalid shard: %q", shard)
+ }
+ }
+ return nil
+}
+
func ParseAndValidateCreateOptions(cmd *cobra.Command) error {
if err := validateOnDDL(cmd); err != nil {
return err
@@ -221,6 +256,7 @@ func AddCommonCreateFlags(cmd *cobra.Command) {
cmd.Flags().BoolVar(&CreateOptions.DeferSecondaryKeys, "defer-secondary-keys", false, "Defer secondary index creation for a table until after it has been copied.")
cmd.Flags().BoolVar(&CreateOptions.AutoStart, "auto-start", true, "Start the workflow after creating it.")
cmd.Flags().BoolVar(&CreateOptions.StopAfterCopy, "stop-after-copy", false, "Stop the workflow after it's finished copying the existing rows and before it starts replicating changes.")
+ cmd.Flags().StringSliceVar(&CreateOptions.ConfigOverrides, "config-overrides", []string{}, "Specify one or more VReplication config flags to override as a comma-separated list of key=value pairs.")
}
var MirrorTrafficOptions = struct {
@@ -239,6 +275,7 @@ var SwitchTrafficOptions = struct {
Direction workflow.TrafficSwitchDirection
InitializeTargetSequences bool
Shards []string
+ Force bool
}{}
func AddCommonSwitchTrafficFlags(cmd *cobra.Command, initializeTargetSequences bool) {
@@ -248,6 +285,7 @@ func AddCommonSwitchTrafficFlags(cmd *cobra.Command, initializeTargetSequences b
cmd.Flags().DurationVar(&SwitchTrafficOptions.MaxReplicationLagAllowed, "max-replication-lag-allowed", MaxReplicationLagDefault, "Allow traffic to be switched only if VReplication lag is below this.")
cmd.Flags().BoolVar(&SwitchTrafficOptions.EnableReverseReplication, "enable-reverse-replication", true, "Setup replication going back to the original source keyspace to support rolling back the traffic cutover.")
cmd.Flags().BoolVar(&SwitchTrafficOptions.DryRun, "dry-run", false, "Print the actions that would be taken and report any known errors that would have occurred.")
+ cmd.Flags().BoolVar(&SwitchTrafficOptions.Force, "force", false, "Force the traffic switch even if some potentially non-critical actions cannot be performed; for example the tablet refresh fails on some tablets in the keyspace. WARNING: this should be used with extreme caution and only in emergency situations!")
if initializeTargetSequences {
cmd.Flags().BoolVar(&SwitchTrafficOptions.InitializeTargetSequences, "initialize-target-sequences", false, "When moving tables from an unsharded keyspace to a sharded keyspace, initialize any sequences that are being used on the target when switching writes.")
}
diff --git a/go/cmd/vtctldclient/command/vreplication/materialize/create.go b/go/cmd/vtctldclient/command/vreplication/materialize/create.go
index 3eccd20df2a..65ab29b40b0 100644
--- a/go/cmd/vtctldclient/command/vreplication/materialize/create.go
+++ b/go/cmd/vtctldclient/command/vreplication/materialize/create.go
@@ -91,6 +91,14 @@ func commandCreate(cmd *cobra.Command, args []string) error {
tsp := common.GetTabletSelectionPreference(cmd)
cli.FinishedParsing(cmd)
+ configOverrides, err := common.ParseConfigOverrides(common.CreateOptions.ConfigOverrides)
+ if err != nil {
+ return err
+ }
+ workflowOptions := &vtctldatapb.WorkflowOptions{
+ Config: configOverrides,
+ }
+
ms := &vtctldatapb.MaterializeSettings{
Workflow: common.BaseOptions.Workflow,
MaterializationIntent: vtctldatapb.MaterializationIntent_CUSTOM,
@@ -101,6 +109,8 @@ func commandCreate(cmd *cobra.Command, args []string) error {
Cell: strings.Join(common.CreateOptions.Cells, ","),
TabletTypes: topoproto.MakeStringTypeCSV(common.CreateOptions.TabletTypes),
TabletSelectionPreference: tsp,
+ ReferenceTables: common.CreateOptions.ReferenceTables,
+ WorkflowOptions: workflowOptions,
}
createOptions.TableSettings.parser, err = sqlparser.New(sqlparser.Options{
diff --git a/go/cmd/vtctldclient/command/vreplication/materialize/materialize.go b/go/cmd/vtctldclient/command/vreplication/materialize/materialize.go
index 5845504af3f..cb595e6b7f7 100644
--- a/go/cmd/vtctldclient/command/vreplication/materialize/materialize.go
+++ b/go/cmd/vtctldclient/command/vreplication/materialize/materialize.go
@@ -47,11 +47,11 @@ func registerCommands(root *cobra.Command) {
create.Flags().StringVar(&createOptions.SourceKeyspace, "source-keyspace", "", "Keyspace where the tables queried in the 'source_expression' values within table-settings live.")
create.MarkFlagRequired("source-keyspace")
create.Flags().Var(&createOptions.TableSettings, "table-settings", "A JSON array defining what tables to materialize using what select statements. See the --help output for more details.")
- create.MarkFlagRequired("table-settings")
create.Flags().BoolVar(&common.CreateOptions.StopAfterCopy, "stop-after-copy", false, "Stop the workflow after it's finished copying the existing rows and before it starts replicating changes.")
create.Flags().StringVar(&common.CreateOptions.MySQLServerVersion, "mysql_server_version", fmt.Sprintf("%s-Vitess", config.DefaultMySQLVersion), "Configure the MySQL version to use for example for the parser.")
create.Flags().IntVar(&common.CreateOptions.TruncateUILen, "sql-max-length-ui", 512, "truncate queries in debug UIs to the given length (default 512)")
create.Flags().IntVar(&common.CreateOptions.TruncateErrLen, "sql-max-length-errors", 0, "truncate queries in error logs to the given length (default unlimited)")
+ create.Flags().StringSliceVarP(&common.CreateOptions.ReferenceTables, "reference-tables", "r", nil, "Used to specify the reference tables to materialize on every target shard.")
base.AddCommand(create)
// Generic workflow commands.
diff --git a/go/cmd/vtctldclient/command/vreplication/movetables/create.go b/go/cmd/vtctldclient/command/vreplication/movetables/create.go
index e7d5dbdfd82..817571902c5 100644
--- a/go/cmd/vtctldclient/command/vreplication/movetables/create.go
+++ b/go/cmd/vtctldclient/command/vreplication/movetables/create.go
@@ -101,6 +101,12 @@ func commandCreate(cmd *cobra.Command, args []string) error {
tsp := common.GetTabletSelectionPreference(cmd)
cli.FinishedParsing(cmd)
+ configOverrides, err := common.ParseConfigOverrides(common.CreateOptions.ConfigOverrides)
+ if err != nil {
+ return err
+ }
+ createOptions.WorkflowOptions.Config = configOverrides
+
req := &vtctldatapb.MoveTablesCreateRequest{
Workflow: common.BaseOptions.Workflow,
TargetKeyspace: common.BaseOptions.TargetKeyspace,
diff --git a/go/cmd/vtctldclient/command/vreplication/reshard/create.go b/go/cmd/vtctldclient/command/vreplication/reshard/create.go
index 05700dbb9fe..cf9bb0345b3 100644
--- a/go/cmd/vtctldclient/command/vreplication/reshard/create.go
+++ b/go/cmd/vtctldclient/command/vreplication/reshard/create.go
@@ -59,6 +59,14 @@ func commandReshardCreate(cmd *cobra.Command, args []string) error {
tsp := common.GetTabletSelectionPreference(cmd)
cli.FinishedParsing(cmd)
+ configOverrides, err := common.ParseConfigOverrides(common.CreateOptions.ConfigOverrides)
+ if err != nil {
+ return err
+ }
+ workflowOptions := &vtctldatapb.WorkflowOptions{
+ Config: configOverrides,
+ }
+
req := &vtctldatapb.ReshardCreateRequest{
Workflow: common.BaseOptions.Workflow,
Keyspace: common.BaseOptions.TargetKeyspace,
@@ -72,6 +80,7 @@ func commandReshardCreate(cmd *cobra.Command, args []string) error {
SourceShards: reshardCreateOptions.sourceShards,
TargetShards: reshardCreateOptions.targetShards,
SkipSchemaCopy: reshardCreateOptions.skipSchemaCopy,
+ WorkflowOptions: workflowOptions,
}
resp, err := common.GetClient().ReshardCreate(common.GetCommandCtx(), req)
if err != nil {
diff --git a/go/cmd/vtctldclient/command/vreplication/vdiff/vdiff.go b/go/cmd/vtctldclient/command/vreplication/vdiff/vdiff.go
index 9355049e39b..1a0443a45c2 100644
--- a/go/cmd/vtctldclient/command/vreplication/vdiff/vdiff.go
+++ b/go/cmd/vtctldclient/command/vreplication/vdiff/vdiff.go
@@ -69,6 +69,8 @@ var (
WaitUpdateInterval time.Duration
AutoRetry bool
MaxDiffDuration time.Duration
+ RowDiffColumnTruncateAt int64
+ AutoStart bool
}{}
deleteOptions = struct {
@@ -76,7 +78,8 @@ var (
}{}
resumeOptions = struct {
- UUID uuid.UUID
+ UUID uuid.UUID
+ TargetShards []string
}{}
showOptions = struct {
@@ -85,7 +88,8 @@ var (
}{}
stopOptions = struct {
- UUID uuid.UUID
+ UUID uuid.UUID
+ TargetShards []string
}{}
parseAndValidateCreate = func(cmd *cobra.Command, args []string) error {
@@ -142,7 +146,7 @@ var (
Use: "create",
Short: "Create and run a VDiff to compare the tables involved in a VReplication workflow between the source and target.",
Example: `vtctldclient --server localhost:15999 vdiff --workflow commerce2customer --target-keyspace customer create
-vtctldclient --server localhost:15999 vdiff --workflow commerce2customer --target-keyspace customer create b3f59678-5241-11ee-be56-0242ac120002`,
+vtctldclient --server :15999 vdiff --workflow c2c --target-keyspace customer create b3f59678-5241-11ee-be56-0242ac120002 --source-cells zone1 --tablet-types "rdonly,replica" --target-cells zone1 --update-table-stats --max-report-sample-rows 1000 --wait --wait-update-interval 5s --max-diff-duration 1h --row-diff-column-truncate-at 0`,
SilenceUsage: true,
DisableFlagsInUseLine: true,
Aliases: []string{"Create"},
@@ -190,7 +194,8 @@ vtctldclient --server localhost:15999 vdiff --workflow commerce2customer --targe
return fmt.Errorf("invalid UUID provided: %v", err)
}
resumeOptions.UUID = uuid
- return nil
+
+ return common.ValidateShards(resumeOptions.TargetShards)
},
RunE: commandResume,
}
@@ -199,8 +204,8 @@ vtctldclient --server localhost:15999 vdiff --workflow commerce2customer --targe
show = &cobra.Command{
Use: "show",
Short: "Show the status of a VDiff.",
- Example: `vtctldclient --server localhost:15999 vdiff --workflow commerce2customer --target-keyspace customer show last
-vtctldclient --server localhost:15999 vdiff --workflow commerce2customer --target-keyspace customer show a037a9e2-5628-11ee-8c99-0242ac120002
+ Example: `vtctldclient --server localhost:15999 vdiff --workflow commerce2customer --target-keyspace customer show last --verbose --format json
+vtctldclient --server :15999 vdiff --workflow commerce2customer --target-keyspace customer show a037a9e2-5628-11ee-8c99-0242ac120002
vtctldclient --server localhost:15999 vdiff --workflow commerce2customer --target-keyspace customer show all`,
DisableFlagsInUseLine: true,
Aliases: []string{"Show"},
@@ -235,7 +240,8 @@ vtctldclient --server localhost:15999 vdiff --workflow commerce2customer --targe
return fmt.Errorf("invalid UUID provided: %v", err)
}
stopOptions.UUID = uuid
- return nil
+
+ return common.ValidateShards(stopOptions.TargetShards)
},
RunE: commandStop,
}
@@ -294,6 +300,8 @@ func commandCreate(cmd *cobra.Command, args []string) error {
AutoRetry: createOptions.AutoRetry,
MaxReportSampleRows: createOptions.MaxReportSampleRows,
MaxDiffDuration: protoutil.DurationToProto(createOptions.MaxDiffDuration),
+ RowDiffColumnTruncateAt: createOptions.RowDiffColumnTruncateAt,
+ AutoStart: &createOptions.AutoStart,
})
if err != nil {
@@ -377,6 +385,7 @@ func commandResume(cmd *cobra.Command, args []string) error {
Workflow: common.BaseOptions.Workflow,
TargetKeyspace: common.BaseOptions.TargetKeyspace,
Uuid: resumeOptions.UUID.String(),
+ TargetShards: resumeOptions.TargetShards,
})
if err != nil {
@@ -696,6 +705,9 @@ func buildSingleSummary(keyspace, workflow, uuid string, resp *vtctldatapb.VDiff
// Table summary information that must be accounted for across all shards.
{
table := row.AsString("table_name", "")
+ if table == "" { // This occurs when the table diff has not started on 1 or more shards
+ continue
+ }
// Create the global VDiff table summary object if it doesn't exist.
if _, ok := tableSummaryMap[table]; !ok {
tableSummaryMap[table] = tableSummary{
@@ -856,6 +868,7 @@ func commandStop(cmd *cobra.Command, args []string) error {
Workflow: common.BaseOptions.Workflow,
TargetKeyspace: common.BaseOptions.TargetKeyspace,
Uuid: stopOptions.UUID.String(),
+ TargetShards: stopOptions.TargetShards,
})
if err != nil {
@@ -885,17 +898,21 @@ func registerCommands(root *cobra.Command) {
create.Flags().BoolVar(&createOptions.Wait, "wait", false, "When creating or resuming a vdiff, wait for it to finish before exiting.")
create.Flags().DurationVar(&createOptions.WaitUpdateInterval, "wait-update-interval", time.Duration(1*time.Minute), "When waiting on a vdiff to finish, check and display the current status this often.")
create.Flags().BoolVar(&createOptions.AutoRetry, "auto-retry", true, "Should this vdiff automatically retry and continue in case of recoverable errors.")
- create.Flags().BoolVar(&createOptions.UpdateTableStats, "update-table-stats", false, "Update the table statistics, using ANALYZE TABLE, on each table involved in the VDiff during initialization. This will ensure that progress estimates are as accurate as possible -- but it does involve locks and can potentially impact query processing on the target keyspace.")
+ create.Flags().BoolVar(&createOptions.UpdateTableStats, "update-table-stats", false, "Update the table statistics, using ANALYZE TABLE, on each table involved in the vdiff during initialization. This will ensure that progress estimates are as accurate as possible -- but it does involve locks and can potentially impact query processing on the target keyspace.")
create.Flags().DurationVar(&createOptions.MaxDiffDuration, "max-diff-duration", 0, "How long should an individual table diff run before being stopped and restarted in order to lessen the impact on tablets due to holding open database snapshots for long periods of time (0 is the default and means no time limit).")
+ create.Flags().Int64Var(&createOptions.RowDiffColumnTruncateAt, "row-diff-column-truncate-at", 128, "When showing row differences, truncate the non Primary Key column values to this length. A value less than 1 means do not truncate.")
+ create.Flags().BoolVar(&createOptions.AutoStart, "auto-start", true, "Start the vdiff upon creation. When false, the vdiff will be created but will not run until resumed.")
base.AddCommand(create)
base.AddCommand(delete)
+ resume.Flags().StringSliceVar(&resumeOptions.TargetShards, "target-shards", nil, "The target shards to resume the vdiff on; default is all shards.")
base.AddCommand(resume)
show.Flags().BoolVar(&showOptions.Verbose, "verbose", false, "Show verbose output in summaries")
base.AddCommand(show)
+ stop.Flags().StringSliceVar(&stopOptions.TargetShards, "target-shards", nil, "The target shards to stop the vdiff on; default is all shards.")
base.AddCommand(stop)
}
diff --git a/go/cmd/vtctldclient/command/vreplication/workflow/state.go b/go/cmd/vtctldclient/command/vreplication/workflow/state.go
index 89e75312ab2..c10e50f403c 100644
--- a/go/cmd/vtctldclient/command/vreplication/workflow/state.go
+++ b/go/cmd/vtctldclient/command/vreplication/workflow/state.go
@@ -29,7 +29,6 @@ import (
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
- topodatapb "vitess.io/vitess/go/vt/proto/topodata"
vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
)
@@ -79,9 +78,8 @@ func commandUpdateState(cmd *cobra.Command, args []string) error {
TabletRequest: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: baseOptions.Workflow,
Cells: textutil.SimulatedNullStringSlice,
- TabletTypes: []topodatapb.TabletType{topodatapb.TabletType(textutil.SimulatedNullInt)},
- OnDdl: binlogdatapb.OnDDLAction(textutil.SimulatedNullInt),
- State: state,
+ TabletTypes: textutil.SimulatedNullTabletTypeSlice,
+ State: &state,
},
}
diff --git a/go/cmd/vtctldclient/command/vreplication/workflow/update.go b/go/cmd/vtctldclient/command/vreplication/workflow/update.go
index 3d06ad3e64e..256cede5ab9 100644
--- a/go/cmd/vtctldclient/command/vreplication/workflow/update.go
+++ b/go/cmd/vtctldclient/command/vreplication/workflow/update.go
@@ -25,6 +25,7 @@ import (
"vitess.io/vitess/go/cmd/vtctldclient/cli"
"vitess.io/vitess/go/cmd/vtctldclient/command/vreplication/common"
+ "vitess.io/vitess/go/ptr"
"vitess.io/vitess/go/textutil"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
@@ -39,6 +40,7 @@ var (
TabletTypes []topodatapb.TabletType
TabletTypesInPreferenceOrder bool
OnDDL string
+ ConfigOverrides []string
}{}
// update makes a WorkflowUpdate gRPC call to a vtctld.
@@ -65,14 +67,17 @@ var (
}
changes = true
} else {
- updateOptions.TabletTypes = []topodatapb.TabletType{topodatapb.TabletType(textutil.SimulatedNullInt)}
+ updateOptions.TabletTypes = textutil.SimulatedNullTabletTypeSlice
}
if cmd.Flags().Lookup("on-ddl").Changed { // Validate the provided value
changes = true
if _, ok := binlogdatapb.OnDDLAction_value[strings.ToUpper(updateOptions.OnDDL)]; !ok {
return fmt.Errorf("invalid on-ddl value: %s", updateOptions.OnDDL)
}
- } // Simulated NULL will need to be handled in command
+ }
+ if len(updateOptions.ConfigOverrides) > 0 {
+ changes = true
+ }
if !changes {
return fmt.Errorf("no configuration options specified to update")
}
@@ -85,15 +90,6 @@ var (
func commandUpdate(cmd *cobra.Command, args []string) error {
cli.FinishedParsing(cmd)
- // We've already validated any provided value, if one WAS provided.
- // Now we need to do the mapping from the string representation to
- // the enum value.
- onddl := int32(textutil.SimulatedNullInt) // Simulated NULL when no value provided
- if val, ok := binlogdatapb.OnDDLAction_value[strings.ToUpper(updateOptions.OnDDL)]; ok {
- onddl = val
- }
-
- // Simulated NULL when no value is provided.
tsp := tabletmanagerdatapb.TabletSelectionPreference_UNKNOWN
if cmd.Flags().Lookup("tablet-types-in-order").Changed {
if updateOptions.TabletTypesInPreferenceOrder {
@@ -103,18 +99,29 @@ func commandUpdate(cmd *cobra.Command, args []string) error {
}
}
+ configOverrides, err := common.ParseConfigOverrides(updateOptions.ConfigOverrides)
+ if err != nil {
+ return err
+ }
+
req := &vtctldatapb.WorkflowUpdateRequest{
Keyspace: baseOptions.Keyspace,
TabletRequest: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: baseOptions.Workflow,
Cells: updateOptions.Cells,
TabletTypes: updateOptions.TabletTypes,
- TabletSelectionPreference: tsp,
- OnDdl: binlogdatapb.OnDDLAction(onddl),
- State: binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt), // We don't allow changing this in the client command
+ TabletSelectionPreference: &tsp,
+ ConfigOverrides: configOverrides,
},
}
+ // We've already validated any provided value, if one WAS provided.
+ // Now we need to do the mapping from the string representation to
+ // the enum value.
+ if val, ok := binlogdatapb.OnDDLAction_value[strings.ToUpper(updateOptions.OnDDL)]; ok {
+ req.TabletRequest.OnDdl = ptr.Of(binlogdatapb.OnDDLAction(val))
+ }
+
resp, err := common.GetClient().WorkflowUpdate(common.GetCommandCtx(), req)
if err != nil {
return err
diff --git a/go/cmd/vtctldclient/command/vreplication/workflow/workflow.go b/go/cmd/vtctldclient/command/vreplication/workflow/workflow.go
index a4fbb37d4bd..2961b8010be 100644
--- a/go/cmd/vtctldclient/command/vreplication/workflow/workflow.go
+++ b/go/cmd/vtctldclient/command/vreplication/workflow/workflow.go
@@ -88,6 +88,8 @@ func registerCommands(root *cobra.Command) {
update.Flags().VarP((*topoproto.TabletTypeListFlag)(&updateOptions.TabletTypes), "tablet-types", "t", "New source tablet types to replicate from (e.g. PRIMARY,REPLICA,RDONLY).")
update.Flags().BoolVar(&updateOptions.TabletTypesInPreferenceOrder, "tablet-types-in-order", true, "When performing source tablet selection, look for candidates in the type order as they are listed in the tablet-types flag.")
update.Flags().StringVar(&updateOptions.OnDDL, "on-ddl", "", "New instruction on what to do when DDL is encountered in the VReplication stream. Possible values are IGNORE, STOP, EXEC, and EXEC_IGNORE.")
+ update.Flags().StringSliceVar(&updateOptions.ConfigOverrides, "config-overrides", nil, "Specify one or more VReplication config flags to override as a comma-separated list of key=value pairs.")
+
common.AddShardSubsetFlag(update, &baseOptions.Shards)
base.AddCommand(update)
}
diff --git a/go/flags/endtoend/flags_test.go b/go/flags/endtoend/flags_test.go
index cfc237dae5c..c1e244f5f70 100644
--- a/go/flags/endtoend/flags_test.go
+++ b/go/flags/endtoend/flags_test.go
@@ -22,13 +22,12 @@ package flags
import (
"bytes"
+ _ "embed"
"os"
"os/exec"
"testing"
"text/template"
- _ "embed"
-
"github.com/stretchr/testify/require"
"vitess.io/vitess/go/test/utils"
diff --git a/go/flags/endtoend/vtbackup.txt b/go/flags/endtoend/vtbackup.txt
index fc00df479f5..fba7c794fc0 100644
--- a/go/flags/endtoend/vtbackup.txt
+++ b/go/flags/endtoend/vtbackup.txt
@@ -175,6 +175,12 @@ Flags:
--mycnf_slow_log_path string mysql slow query log path
--mycnf_socket_file string mysql socket file
--mycnf_tmp_dir string mysql tmp directory
+ --mysql-shell-backup-location string location where the backup will be stored
+ --mysql-shell-dump-flags string flags to pass to mysql shell dump utility. This should be a JSON string and will be saved in the MANIFEST (default "{\"threads\": 4}")
+ --mysql-shell-flags string execution flags to pass to mysqlsh binary to be used during dump/load (default "--defaults-file=/dev/null --js -h localhost")
+ --mysql-shell-load-flags string flags to pass to mysql shell load utility. This should be a JSON string (default "{\"threads\": 4, \"loadUsers\": true, \"updateGtidSet\": \"replace\", \"skipBinlog\": true, \"progressFile\": \"\"}")
+ --mysql-shell-should-drain decide if we should drain while taking a backup or continue to serving traffic
+ --mysql-shell-speedup-restore speed up restore by disabling redo logging and double write buffer during the restore process
--mysql-shutdown-timeout duration how long to wait for mysqld shutdown (default 5m0s)
--mysql_port int mysql port (default 3306)
--mysql_server_version string MySQL server version to advertise. (default "8.0.30-Vitess")
diff --git a/go/flags/endtoend/vtcombo.txt b/go/flags/endtoend/vtcombo.txt
index 381f7ca48cc..5e82ad5b28e 100644
--- a/go/flags/endtoend/vtcombo.txt
+++ b/go/flags/endtoend/vtcombo.txt
@@ -226,6 +226,12 @@ Flags:
--mysql-server-drain-onterm If set, the server waits for --onterm_timeout for already connected clients to complete their in flight work
--mysql-server-keepalive-period duration TCP period between keep-alives
--mysql-server-pool-conn-read-buffers If set, the server will pool incoming connection read buffers
+ --mysql-shell-backup-location string location where the backup will be stored
+ --mysql-shell-dump-flags string flags to pass to mysql shell dump utility. This should be a JSON string and will be saved in the MANIFEST (default "{\"threads\": 4}")
+ --mysql-shell-flags string execution flags to pass to mysqlsh binary to be used during dump/load (default "--defaults-file=/dev/null --js -h localhost")
+ --mysql-shell-load-flags string flags to pass to mysql shell load utility. This should be a JSON string (default "{\"threads\": 4, \"loadUsers\": true, \"updateGtidSet\": \"replace\", \"skipBinlog\": true, \"progressFile\": \"\"}")
+ --mysql-shell-should-drain decide if we should drain while taking a backup or continue to serving traffic
+ --mysql-shell-speedup-restore speed up restore by disabling redo logging and double write buffer during the restore process
--mysql-shutdown-timeout duration timeout to use when MySQL is being shut down. (default 5m0s)
--mysql_allow_clear_text_without_tls If set, the server will allow the use of a clear text password over non-SSL connections.
--mysql_auth_server_impl string Which auth server implementation to use. Options: none, ldap, clientcert, static, vault. (default "static")
@@ -302,8 +308,8 @@ Flags:
--queryserver-enable-views Enable views support in vttablet.
--queryserver_enable_online_ddl Enable online DDL. (default true)
--redact-debug-ui-queries redact full queries and bind variables from debug UI
- --relay_log_max_items int Maximum number of rows for VReplication target buffering. (default 5000)
- --relay_log_max_size int Maximum buffer size (in bytes) for VReplication target buffering. If single rows are larger than this, a single row is buffered at a time. (default 250000)
+ --relay_log_max_items int Maximum number of rows for vreplication target buffering. (default 5000)
+ --relay_log_max_size int Maximum buffer size (in bytes) for vreplication target buffering. If single rows are larger than this, a single row is buffered at a time. (default 250000)
--remote_operation_timeout duration time to wait for a remote operation (default 15s)
--replication_connect_retry duration how long to wait in between replica reconnect attempts. Only precise to the second. (default 10s)
--restore-to-pos string (init incremental restore parameter) if set, run a point in time recovery that ends with the given position. This will attempt to use one full backup followed by zero or more incremental backups
diff --git a/go/flags/endtoend/vtctldclient.txt b/go/flags/endtoend/vtctldclient.txt
index 01db05f602d..df32f456602 100644
--- a/go/flags/endtoend/vtctldclient.txt
+++ b/go/flags/endtoend/vtctldclient.txt
@@ -28,6 +28,7 @@ Available Commands:
DeleteShards Deletes the specified shards from the topology.
DeleteSrvVSchema Deletes the SrvVSchema object in the given cell.
DeleteTablets Deletes tablet(s) from the topology.
+ DistributedTransaction Perform commands on distributed transaction
EmergencyReparentShard Reparents the shard to the new primary. Assumes the old primary is dead and not responding.
ExecuteFetchAsApp Executes the given query as the App user on the remote tablet.
ExecuteFetchAsDBA Executes the given query as the DBA user on the remote tablet.
diff --git a/go/flags/endtoend/vtgate.txt b/go/flags/endtoend/vtgate.txt
index 6d68e09d09b..37bfadd4938 100644
--- a/go/flags/endtoend/vtgate.txt
+++ b/go/flags/endtoend/vtgate.txt
@@ -28,6 +28,8 @@ Flags:
--allow-kill-statement Allows the execution of kill statement
--allowed_tablet_types strings Specifies the tablet types this vtgate is allowed to route queries to. Should be provided as a comma-separated set of tablet types.
--alsologtostderr log to standard error as well as files
+ --balancer-keyspaces strings When in balanced mode, a comma-separated list of keyspaces for which to use the balancer (optional)
+ --balancer-vtgate-cells strings When in balanced mode, a comma-separated list of cells that contain vtgates (required)
--bind-address string Bind address for the server. If empty, the server will listen on all available unicast and anycast IP addresses of the local system.
--buffer_drain_concurrency int Maximum number of requests retried simultaneously. More concurrency will increase the load on the PRIMARY vttablet when draining the buffer. (default 1)
--buffer_keyspace_shards string If not empty, limit buffering to these entries (comma separated). Entry format: keyspace or keyspace/shard. Requires --enable_buffer=true.
@@ -53,6 +55,7 @@ Flags:
--discovery_high_replication_lag_minimum_serving duration Threshold above which replication lag is considered too high when applying the min_number_serving_vttablets flag. (default 2h0m0s)
--discovery_low_replication_lag duration Threshold below which replication lag is considered low enough to be healthy. (default 30s)
--emit_stats If set, emit stats to push-based monitoring and stats backends
+ --enable-balancer Enable the tablet balancer to evenly spread query load for a given tablet type
--enable-partial-keyspace-migration (Experimental) Follow shard routing rules: enable only while migrating a keyspace shard by shard. See documentation on Partial MoveTables for more. (default false)
--enable-views Enable views support in vtgate.
--enable_buffer Enable buffering (stalling) of primary traffic during failovers.
diff --git a/go/flags/endtoend/vttablet.txt b/go/flags/endtoend/vttablet.txt
index d3df3c3009f..5ff9a4b25aa 100644
--- a/go/flags/endtoend/vttablet.txt
+++ b/go/flags/endtoend/vttablet.txt
@@ -243,6 +243,12 @@ Flags:
--mycnf_slow_log_path string mysql slow query log path
--mycnf_socket_file string mysql socket file
--mycnf_tmp_dir string mysql tmp directory
+ --mysql-shell-backup-location string location where the backup will be stored
+ --mysql-shell-dump-flags string flags to pass to mysql shell dump utility. This should be a JSON string and will be saved in the MANIFEST (default "{\"threads\": 4}")
+ --mysql-shell-flags string execution flags to pass to mysqlsh binary to be used during dump/load (default "--defaults-file=/dev/null --js -h localhost")
+ --mysql-shell-load-flags string flags to pass to mysql shell load utility. This should be a JSON string (default "{\"threads\": 4, \"loadUsers\": true, \"updateGtidSet\": \"replace\", \"skipBinlog\": true, \"progressFile\": \"\"}")
+ --mysql-shell-should-drain decide if we should drain while taking a backup or continue to serving traffic
+ --mysql-shell-speedup-restore speed up restore by disabling redo logging and double write buffer during the restore process
--mysql-shutdown-timeout duration timeout to use when MySQL is being shut down. (default 5m0s)
--mysql_server_version string MySQL server version to advertise. (default "8.0.30-Vitess")
--mysqlctl_mycnf_template string template file to use for generating the my.cnf file during server init
@@ -292,8 +298,8 @@ Flags:
--queryserver-enable-views Enable views support in vttablet.
--queryserver_enable_online_ddl Enable online DDL. (default true)
--redact-debug-ui-queries redact full queries and bind variables from debug UI
- --relay_log_max_items int Maximum number of rows for VReplication target buffering. (default 5000)
- --relay_log_max_size int Maximum buffer size (in bytes) for VReplication target buffering. If single rows are larger than this, a single row is buffered at a time. (default 250000)
+ --relay_log_max_items int Maximum number of rows for vreplication target buffering. (default 5000)
+ --relay_log_max_size int Maximum buffer size (in bytes) for vreplication target buffering. If single rows are larger than this, a single row is buffered at a time. (default 250000)
--remote_operation_timeout duration time to wait for a remote operation (default 15s)
--replication_connect_retry duration how long to wait in between replica reconnect attempts. Only precise to the second. (default 10s)
--restore-to-pos string (init incremental restore parameter) if set, run a point in time recovery that ends with the given position. This will attempt to use one full backup followed by zero or more incremental backups
diff --git a/go/flags/endtoend/vttestserver.txt b/go/flags/endtoend/vttestserver.txt
index 95c69714e59..0aa69dfb204 100644
--- a/go/flags/endtoend/vttestserver.txt
+++ b/go/flags/endtoend/vttestserver.txt
@@ -87,6 +87,12 @@ Flags:
--max-stack-size int configure the maximum stack size in bytes (default 67108864)
--max_table_shard_size int The maximum number of initial rows in a table shard. Ignored if--initialize_with_random_data is false. The actual number is chosen randomly (default 10000)
--min_table_shard_size int The minimum number of initial rows in a table shard. Ignored if--initialize_with_random_data is false. The actual number is chosen randomly. (default 1000)
+ --mysql-shell-backup-location string location where the backup will be stored
+ --mysql-shell-dump-flags string flags to pass to mysql shell dump utility. This should be a JSON string and will be saved in the MANIFEST (default "{\"threads\": 4}")
+ --mysql-shell-flags string execution flags to pass to mysqlsh binary to be used during dump/load (default "--defaults-file=/dev/null --js -h localhost")
+ --mysql-shell-load-flags string flags to pass to mysql shell load utility. This should be a JSON string (default "{\"threads\": 4, \"loadUsers\": true, \"updateGtidSet\": \"replace\", \"skipBinlog\": true, \"progressFile\": \"\"}")
+ --mysql-shell-should-drain decide if we should drain while taking a backup or continue to serving traffic
+ --mysql-shell-speedup-restore speed up restore by disabling redo logging and double write buffer during the restore process
--mysql_bind_host string which host to bind vtgate mysql listener to (default "localhost")
--mysql_only If this flag is set only mysql is initialized. The rest of the vitess components are not started. Also, the output specifies the mysql unix socket instead of the vtgate port.
--mysql_server_version string MySQL server version to advertise. (default "8.0.30-Vitess")
diff --git a/go/mysql/auth_server.go b/go/mysql/auth_server.go
index f4bda2655a5..59a5634bbc0 100644
--- a/go/mysql/auth_server.go
+++ b/go/mysql/auth_server.go
@@ -428,7 +428,7 @@ func (n *mysqlNativePasswordAuthMethod) AllowClearTextWithoutTLS() bool {
func (n *mysqlNativePasswordAuthMethod) HandleAuthPluginData(conn *Conn, user string, serverAuthPluginData []byte, clientAuthPluginData []byte, remoteAddr net.Addr) (Getter, error) {
if serverAuthPluginData[len(serverAuthPluginData)-1] != 0x00 {
- return nil, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return nil, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
salt := serverAuthPluginData[:len(serverAuthPluginData)-1]
@@ -520,7 +520,7 @@ func (n *mysqlCachingSha2AuthMethod) AllowClearTextWithoutTLS() bool {
func (n *mysqlCachingSha2AuthMethod) HandleAuthPluginData(c *Conn, user string, serverAuthPluginData []byte, clientAuthPluginData []byte, remoteAddr net.Addr) (Getter, error) {
if serverAuthPluginData[len(serverAuthPluginData)-1] != 0x00 {
- return nil, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return nil, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
salt := serverAuthPluginData[:len(serverAuthPluginData)-1]
@@ -532,7 +532,7 @@ func (n *mysqlCachingSha2AuthMethod) HandleAuthPluginData(c *Conn, user string,
switch cacheState {
case AuthRejected:
- return nil, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return nil, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
case AuthAccepted:
// We need to write a more data packet to indicate the
// handshake completed properly. This will be followed
@@ -547,7 +547,7 @@ func (n *mysqlCachingSha2AuthMethod) HandleAuthPluginData(c *Conn, user string,
return result, nil
case AuthNeedMoreData:
if !c.TLSEnabled() && !c.IsUnixSocket() {
- return nil, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return nil, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
data, pos := c.startEphemeralPacketWithHeader(2)
@@ -563,7 +563,7 @@ func (n *mysqlCachingSha2AuthMethod) HandleAuthPluginData(c *Conn, user string,
return n.storage.UserEntryWithPassword(c, user, password, remoteAddr)
default:
// Somehow someone returned an unknown state, let's error with access denied.
- return nil, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return nil, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
}
@@ -601,7 +601,7 @@ func newSalt() ([]byte, error) {
}
// Salt must be a legal UTF8 string.
- for i := 0; i < len(salt); i++ {
+ for i := range len(salt) {
salt[i] &= 0x7f
if salt[i] == '\x00' || salt[i] == '$' {
salt[i]++
diff --git a/go/mysql/auth_server_static.go b/go/mysql/auth_server_static.go
index 6e3a9693c69..d9e6decf5e5 100644
--- a/go/mysql/auth_server_static.go
+++ b/go/mysql/auth_server_static.go
@@ -162,7 +162,7 @@ func (a *AuthServerStatic) UserEntryWithPassword(conn *Conn, user string, passwo
a.mu.Unlock()
if !ok {
- return &StaticUserData{}, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return &StaticUserData{}, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
for _, entry := range entries {
@@ -171,7 +171,7 @@ func (a *AuthServerStatic) UserEntryWithPassword(conn *Conn, user string, passwo
return &StaticUserData{entry.UserData, entry.Groups}, nil
}
}
- return &StaticUserData{}, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return &StaticUserData{}, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
// UserEntryWithHash implements password lookup based on a
@@ -182,14 +182,14 @@ func (a *AuthServerStatic) UserEntryWithHash(conn *Conn, salt []byte, user strin
a.mu.Unlock()
if !ok {
- return &StaticUserData{}, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return &StaticUserData{}, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
for _, entry := range entries {
if entry.MysqlNativePassword != "" {
hash, err := DecodeMysqlNativePasswordHex(entry.MysqlNativePassword)
if err != nil {
- return &StaticUserData{entry.UserData, entry.Groups}, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return &StaticUserData{entry.UserData, entry.Groups}, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
isPass := VerifyHashedMysqlNativePassword(authResponse, salt, hash)
@@ -204,7 +204,7 @@ func (a *AuthServerStatic) UserEntryWithHash(conn *Conn, salt []byte, user strin
}
}
}
- return &StaticUserData{}, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return &StaticUserData{}, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
// UserEntryWithCacheHash implements password lookup based on a
@@ -215,7 +215,7 @@ func (a *AuthServerStatic) UserEntryWithCacheHash(conn *Conn, salt []byte, user
a.mu.Unlock()
if !ok {
- return &StaticUserData{}, AuthRejected, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return &StaticUserData{}, AuthRejected, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
for _, entry := range entries {
@@ -226,7 +226,7 @@ func (a *AuthServerStatic) UserEntryWithCacheHash(conn *Conn, salt []byte, user
return &StaticUserData{entry.UserData, entry.Groups}, AuthAccepted, nil
}
}
- return &StaticUserData{}, AuthRejected, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return &StaticUserData{}, AuthRejected, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
// AuthMethods returns the AuthMethod instances this auth server can handle.
diff --git a/go/mysql/binlog/binlog_json.go b/go/mysql/binlog/binlog_json.go
index 2a0aba3163a..03bf604fb2d 100644
--- a/go/mysql/binlog/binlog_json.go
+++ b/go/mysql/binlog/binlog_json.go
@@ -224,7 +224,7 @@ var binaryIntSizes = map[jsonDataType]int{
func binparserInt(typ jsonDataType, data []byte, pos int) (*json.Value, error) {
var val uint64
size := binaryIntSizes[typ]
- for i := 0; i < size; i++ {
+ for i := range size {
val = val + uint64(data[pos+i])<<(8*i)
}
var s string
@@ -344,7 +344,7 @@ func binparserArray(typ jsonDataType, data []byte, pos int) (node *json.Value, e
large := typ == jsonLargeArray
elementCount, pos = readInt(data, pos, large)
_, pos = readInt(data, pos, large)
- for i := 0; i < elementCount; i++ {
+ for range elementCount {
elem, pos, err = binparserElement(data, pos, large)
if err != nil {
return nil, err
@@ -366,7 +366,7 @@ func binparserObject(typ jsonDataType, data []byte, pos int) (node *json.Value,
_, pos = readInt(data, pos, large)
keys := make([]string, elementCount) // stores all the keys in this object
- for i := 0; i < elementCount; i++ {
+ for i := range elementCount {
var keyOffset int
var keyLength int
keyOffset, pos = readInt(data, pos, large)
@@ -384,7 +384,7 @@ func binparserObject(typ jsonDataType, data []byte, pos int) (node *json.Value,
var elem *json.Value
// get the value for each key
- for i := 0; i < elementCount; i++ {
+ for i := range elementCount {
elem, pos, err = binparserElement(data, pos, large)
if err != nil {
return nil, err
diff --git a/go/mysql/binlog/rbr.go b/go/mysql/binlog/rbr.go
index 23faf188ae9..8b95b0daee9 100644
--- a/go/mysql/binlog/rbr.go
+++ b/go/mysql/binlog/rbr.go
@@ -542,7 +542,7 @@ func CellValue(data []byte, pos int, typ byte, metadata uint16, field *querypb.F
}
// now the full digits, 32 bits each, 9 digits
- for i := 0; i < intg0; i++ {
+ for range intg0 {
val = binary.BigEndian.Uint32(d[pos : pos+4])
fmt.Fprintf(txt, "%09d", val)
pos += 4
@@ -564,7 +564,7 @@ func CellValue(data []byte, pos int, typ byte, metadata uint16, field *querypb.F
txt.WriteByte('.')
// now the full fractional digits
- for i := 0; i < frac0; i++ {
+ for range frac0 {
val = binary.BigEndian.Uint32(d[pos : pos+4])
fmt.Fprintf(txt, "%09d", val)
pos += 4
@@ -718,7 +718,7 @@ func CellValue(data []byte, pos int, typ byte, metadata uint16, field *querypb.F
// numbers.
l := int(metadata & 0xff)
var val uint64
- for i := 0; i < l; i++ {
+ for i := range l {
val += uint64(data[pos+i]) << (uint(i) * 8)
}
return sqltypes.MakeTrusted(querypb.Type_UINT64,
diff --git a/go/mysql/binlog_event.go b/go/mysql/binlog_event.go
index 5e5ce01eac3..5d472230d0e 100644
--- a/go/mysql/binlog_event.go
+++ b/go/mysql/binlog_event.go
@@ -91,6 +91,8 @@ type BinlogEvent interface {
// Timestamp returns the timestamp from the event header.
Timestamp() uint32
+ // ServerID returns the server ID from the event header.
+ ServerID() uint32
// Format returns a BinlogFormat struct based on the event data.
// This is only valid if IsFormatDescription() returns true.
@@ -328,7 +330,7 @@ func (b *Bitmap) Set(index int, value bool) {
// hence the non-efficient logic.
func (b *Bitmap) BitCount() int {
sum := 0
- for i := 0; i < b.count; i++ {
+ for i := range b.count {
if b.Bit(i) {
sum++
}
diff --git a/go/mysql/binlog_event_filepos.go b/go/mysql/binlog_event_filepos.go
index 8a2976da80d..c71c8346964 100644
--- a/go/mysql/binlog_event_filepos.go
+++ b/go/mysql/binlog_event_filepos.go
@@ -211,6 +211,10 @@ func (ev filePosFakeEvent) Timestamp() uint32 {
return ev.timestamp
}
+func (ev filePosFakeEvent) ServerID() uint32 {
+ return 1
+}
+
func (ev filePosFakeEvent) Format() (BinlogFormat, error) {
return BinlogFormat{}, nil
}
diff --git a/go/mysql/binlog_event_make_test.go b/go/mysql/binlog_event_make_test.go
index 32401bfa401..84535213cd9 100644
--- a/go/mysql/binlog_event_make_test.go
+++ b/go/mysql/binlog_event_make_test.go
@@ -254,7 +254,7 @@ func TestLargeTableMapEvent(t *testing.T) {
types := make([]byte, 0, colLen)
metadata := make([]uint16, 0, colLen)
- for i := 0; i < colLen; i++ {
+ for range colLen {
types = append(types, binlog.TypeLongLong)
metadata = append(metadata, 0)
}
@@ -374,6 +374,7 @@ func TestRowsEvent(t *testing.T) {
require.True(t, reflect.DeepEqual(gotRows, rows), "NewRowsEvent().Rows() got Rows:\n%v\nexpected:\n%v", gotRows, rows)
assert.NotZero(t, event.Timestamp())
+ assert.NotZero(t, event.ServerID())
}
func TestHeartbeatEvent(t *testing.T) {
@@ -384,6 +385,7 @@ func TestHeartbeatEvent(t *testing.T) {
require.NotNil(t, event)
assert.True(t, event.IsHeartbeat())
assert.Zero(t, event.Timestamp())
+ assert.NotZero(t, event.ServerID())
}
func TestRotateRotateEvent(t *testing.T) {
@@ -429,7 +431,7 @@ func TestLargeRowsEvent(t *testing.T) {
types := make([]byte, 0, colLen)
metadata := make([]uint16, 0, colLen)
- for i := 0; i < colLen; i++ {
+ for range colLen {
types = append(types, binlog.TypeLong)
metadata = append(metadata, 0)
}
@@ -446,7 +448,7 @@ func TestLargeRowsEvent(t *testing.T) {
identify := make([]byte, 0, colLen*4)
data := make([]byte, 0, colLen*4)
- for i := 0; i < colLen; i++ {
+ for range colLen {
identify = append(identify, 0x10, 0x20, 0x30, 0x40)
data = append(data, 0x10, 0x20, 0x30, 0x40)
}
@@ -467,7 +469,7 @@ func TestLargeRowsEvent(t *testing.T) {
}
// All rows are included, none are NULL.
- for i := 0; i < colLen; i++ {
+ for i := range colLen {
rows.IdentifyColumns.Set(i, true)
rows.DataColumns.Set(i, true)
}
@@ -476,7 +478,7 @@ func TestLargeRowsEvent(t *testing.T) {
// 1076895760 is 0x40302010.
identifies, _ := rows.StringIdentifiesForTests(tm, 0)
expected := make([]string, 0, colLen)
- for i := 0; i < colLen; i++ {
+ for range colLen {
expected = append(expected, "1076895760")
}
if !reflect.DeepEqual(identifies, expected) {
diff --git a/go/mysql/client.go b/go/mysql/client.go
index 16740bf38db..2a72806a6be 100644
--- a/go/mysql/client.go
+++ b/go/mysql/client.go
@@ -95,11 +95,11 @@ func Connect(ctx context.Context, params *ConnParams) (*Conn, error) {
// should return a 2003.
if netProto == "tcp" {
status <- connectResult{
- err: sqlerror.NewSQLError(sqlerror.CRConnHostError, sqlerror.SSUnknownSQLState, "net.Dial(%v) failed: %v", addr, err),
+ err: sqlerror.NewSQLErrorf(sqlerror.CRConnHostError, sqlerror.SSUnknownSQLState, "net.Dial(%v) failed: %v", addr, err),
}
} else {
status <- connectResult{
- err: sqlerror.NewSQLError(sqlerror.CRConnectionError, sqlerror.SSUnknownSQLState, "net.Dial(%v) to local server failed: %v", addr, err),
+ err: sqlerror.NewSQLErrorf(sqlerror.CRConnectionError, sqlerror.SSUnknownSQLState, "net.Dial(%v) to local server failed: %v", addr, err),
}
}
return
@@ -179,11 +179,11 @@ func (c *Conn) Ping() error {
data[pos] = ComPing
if err := c.writeEphemeralPacket(); err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerGone, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerGone, sqlerror.SSUnknownSQLState, "%v", err)
}
data, err := c.readEphemeralPacket()
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
defer c.recycleReadPacket()
switch data[0] {
@@ -208,7 +208,7 @@ func (c *Conn) clientHandshake(params *ConnParams) error {
// Wait for the server initial handshake packet, and parse it.
data, err := c.readPacket()
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerLost, "", "initial packet read failed: %v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerLost, "", "initial packet read failed: %v", err)
}
capabilities, salt, err := c.parseInitialHandshakePacket(data)
if err != nil {
@@ -219,7 +219,7 @@ func (c *Conn) clientHandshake(params *ConnParams) error {
// Sanity check.
if capabilities&CapabilityClientProtocol41 == 0 {
- return sqlerror.NewSQLError(sqlerror.CRVersionError, sqlerror.SSUnknownSQLState, "cannot connect to servers earlier than 4.1")
+ return sqlerror.NewSQLErrorf(sqlerror.CRVersionError, sqlerror.SSUnknownSQLState, "cannot connect to servers earlier than 4.1")
}
// Remember a subset of the capabilities, so we can use them
@@ -234,7 +234,7 @@ func (c *Conn) clientHandshake(params *ConnParams) error {
// If client asked for SSL, but server doesn't support it,
// stop right here.
if params.SslRequired() && capabilities&CapabilityClientSSL == 0 {
- return sqlerror.NewSQLError(sqlerror.CRSSLConnectionError, sqlerror.SSUnknownSQLState, "server doesn't support SSL but client asked for it")
+ return sqlerror.NewSQLErrorf(sqlerror.CRSSLConnectionError, sqlerror.SSUnknownSQLState, "server doesn't support SSL but client asked for it")
}
// The ServerName to verify depends on what the hostname is.
@@ -255,13 +255,13 @@ func (c *Conn) clientHandshake(params *ConnParams) error {
tlsVersion, err := vttls.TLSVersionToNumber(params.TLSMinVersion)
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRSSLConnectionError, sqlerror.SSUnknownSQLState, "error parsing minimal TLS version: %v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRSSLConnectionError, sqlerror.SSUnknownSQLState, "error parsing minimal TLS version: %v", err)
}
// Build the TLS config.
clientConfig, err := vttls.ClientConfig(params.EffectiveSslMode(), params.SslCert, params.SslKey, params.SslCa, params.SslCrl, serverName, tlsVersion)
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRSSLConnectionError, sqlerror.SSUnknownSQLState, "error loading client cert and ca: %v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRSSLConnectionError, sqlerror.SSUnknownSQLState, "error loading client cert and ca: %v", err)
}
// Send the SSLRequest packet.
@@ -292,7 +292,7 @@ func (c *Conn) clientHandshake(params *ConnParams) error {
} else if params.Flags&CapabilityClientSessionTrack == CapabilityClientSessionTrack {
// If client asked for ClientSessionTrack, but server doesn't support it,
// stop right here.
- return sqlerror.NewSQLError(sqlerror.CRSSLConnectionError, sqlerror.SSUnknownSQLState, "server doesn't support ClientSessionTrack but client asked for it")
+ return sqlerror.NewSQLErrorf(sqlerror.CRSSLConnectionError, sqlerror.SSUnknownSQLState, "server doesn't support ClientSessionTrack but client asked for it")
}
// Build and send our handshake response 41.
@@ -317,7 +317,7 @@ func (c *Conn) clientHandshake(params *ConnParams) error {
// Wait for response, should be OK.
response, err := c.readPacket()
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
switch response[0] {
case OKPacket:
@@ -327,7 +327,7 @@ func (c *Conn) clientHandshake(params *ConnParams) error {
return ParseErrorPacket(response)
default:
// FIXME(alainjobart) handle extra auth cases and so on.
- return sqlerror.NewSQLError(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "initial server response is asking for more information, not implemented yet: %v", response)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "initial server response is asking for more information, not implemented yet: %v", response)
}
}
@@ -342,7 +342,7 @@ func (c *Conn) parseInitialHandshakePacket(data []byte) (uint32, []byte, error)
// Protocol version.
pver, pos, ok := readByte(data, pos)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRVersionError, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no protocol version")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRVersionError, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no protocol version")
}
// Server is allowed to immediately send ERR packet
@@ -351,41 +351,41 @@ func (c *Conn) parseInitialHandshakePacket(data []byte) (uint32, []byte, error)
// Normally there would be a 1-byte sql_state_marker field and a 5-byte
// sql_state field here, but docs say these will not be present in this case.
errorMsg, _, _ := readEOFString(data, pos)
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "immediate error from server errorCode=%v errorMsg=%v", errorCode, errorMsg)
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "immediate error from server errorCode=%v errorMsg=%v", errorCode, errorMsg)
}
if pver != protocolVersion {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRVersionError, sqlerror.SSUnknownSQLState, "bad protocol version: %v", pver)
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRVersionError, sqlerror.SSUnknownSQLState, "bad protocol version: %v", pver)
}
// Read the server version.
c.ServerVersion, pos, ok = readNullString(data, pos)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no server version")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no server version")
}
// Read the connection id.
c.ConnectionID, pos, ok = readUint32(data, pos)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no connection id")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no connection id")
}
// Read the first part of the auth-plugin-data
authPluginData, pos, ok := readBytes(data, pos, 8)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no auth-plugin-data-part-1")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no auth-plugin-data-part-1")
}
// One byte filler, 0. We don't really care about the value.
_, pos, ok = readByte(data, pos)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no filler")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no filler")
}
// Lower 2 bytes of the capability flags.
capLower, pos, ok := readUint16(data, pos)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no capability flags (lower 2 bytes)")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no capability flags (lower 2 bytes)")
}
var capabilities = uint32(capLower)
@@ -397,20 +397,20 @@ func (c *Conn) parseInitialHandshakePacket(data []byte) (uint32, []byte, error)
// Character set.
characterSet, pos, ok := readByte(data, pos)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no character set")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no character set")
}
c.CharacterSet = collations.ID(characterSet)
// Status flags. Ignored.
_, pos, ok = readUint16(data, pos)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no status flags")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no status flags")
}
// Upper 2 bytes of the capability flags.
capUpper, pos, ok := readUint16(data, pos)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no capability flags (upper 2 bytes)")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no capability flags (upper 2 bytes)")
}
capabilities += uint32(capUpper) << 16
@@ -420,13 +420,13 @@ func (c *Conn) parseInitialHandshakePacket(data []byte) (uint32, []byte, error)
if capabilities&CapabilityClientPluginAuth != 0 {
authPluginDataLength, pos, ok = readByte(data, pos)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no length of auth-plugin-data")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no length of auth-plugin-data")
}
} else {
// One byte filler, 0. We don't really care about the value.
_, pos, ok = readByte(data, pos)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no length of auth-plugin-data filler")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no length of auth-plugin-data filler")
}
}
@@ -443,12 +443,12 @@ func (c *Conn) parseInitialHandshakePacket(data []byte) (uint32, []byte, error)
var authPluginDataPart2 []byte
authPluginDataPart2, pos, ok = readBytes(data, pos, l)
if !ok {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no auth-plugin-data-part-2")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: packet has no auth-plugin-data-part-2")
}
// The last byte has to be 0, and is not part of the data.
if authPluginDataPart2[l-1] != 0 {
- return 0, nil, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: auth-plugin-data-part-2 is not 0 terminated")
+ return 0, nil, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "parseInitialHandshakePacket: auth-plugin-data-part-2 is not 0 terminated")
}
authPluginData = append(authPluginData, authPluginDataPart2[0:l-1]...)
}
@@ -505,7 +505,7 @@ func (c *Conn) writeSSLRequest(capabilities uint32, characterSet uint8, params *
// And send it as is.
if err := c.writeEphemeralPacket(); err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "cannot send SSLRequest: %v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "cannot send SSLRequest: %v", err)
}
return nil
}
@@ -602,11 +602,11 @@ func (c *Conn) writeHandshakeResponse41(capabilities uint32, scrambledPassword [
// Sanity-check the length.
if pos != len(data) {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "writeHandshakeResponse41: only packed %v bytes, out of %v allocated", pos, len(data))
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "writeHandshakeResponse41: only packed %v bytes, out of %v allocated", pos, len(data))
}
if err := c.writeEphemeralPacket(); err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "cannot send HandshakeResponse41: %v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "cannot send HandshakeResponse41: %v", err)
}
return nil
}
@@ -616,7 +616,7 @@ func (c *Conn) writeHandshakeResponse41(capabilities uint32, scrambledPassword [
func (c *Conn) handleAuthResponse(params *ConnParams) error {
response, err := c.readPacket()
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
switch response[0] {
@@ -636,7 +636,7 @@ func (c *Conn) handleAuthResponse(params *ConnParams) error {
case ErrPacket:
return ParseErrorPacket(response)
default:
- return sqlerror.NewSQLError(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "initial server response cannot be parsed: %v", response)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "initial server response cannot be parsed: %v", response)
}
return nil
@@ -648,7 +648,7 @@ func (c *Conn) handleAuthSwitchPacket(params *ConnParams, response []byte) error
var salt []byte
c.authPluginName, salt, err = parseAuthSwitchRequest(response)
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "cannot parse auth switch request: %v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "cannot parse auth switch request: %v", err)
}
if salt != nil {
c.salt = salt
@@ -669,7 +669,7 @@ func (c *Conn) handleAuthSwitchPacket(params *ConnParams, response []byte) error
return err
}
default:
- return sqlerror.NewSQLError(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "server asked for unsupported auth method: %v", c.authPluginName)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "server asked for unsupported auth method: %v", c.authPluginName)
}
// The response could be an OKPacket, AuthMoreDataPacket or ErrPacket
@@ -711,7 +711,7 @@ func (c *Conn) handleAuthMoreDataPacket(data byte, params *ConnParams) error {
// Next packet should either be an OKPacket or ErrPacket
return c.handleAuthResponse(params)
default:
- return sqlerror.NewSQLError(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "cannot parse AuthMoreDataPacket: %v", data)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerHandshakeErr, sqlerror.SSUnknownSQLState, "cannot parse AuthMoreDataPacket: %v", data)
}
}
@@ -741,7 +741,7 @@ func (c *Conn) requestPublicKey() (rsaKey *rsa.PublicKey, err error) {
response, err := c.readPacket()
if err != nil {
- return nil, sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return nil, sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
// Server should respond with a AuthMoreDataPacket containing the public key
diff --git a/go/mysql/collations/charset/helpers.go b/go/mysql/collations/charset/helpers.go
index b66a6c77b87..62216394263 100644
--- a/go/mysql/collations/charset/helpers.go
+++ b/go/mysql/collations/charset/helpers.go
@@ -22,7 +22,7 @@ func Slice(charset Charset, input []byte, from, to int) []byte {
}
iter := input
start := 0
- for i := 0; i < to; i++ {
+ for i := range to {
r, size := charset.DecodeRune(iter)
if r == RuneError && size < 2 {
break
diff --git a/go/mysql/collations/charset/simplifiedchinese/gb18030.go b/go/mysql/collations/charset/simplifiedchinese/gb18030.go
index 0e09dc8e3ab..8d6a98ba046 100644
--- a/go/mysql/collations/charset/simplifiedchinese/gb18030.go
+++ b/go/mysql/collations/charset/simplifiedchinese/gb18030.go
@@ -150,7 +150,7 @@ func (Charset_gb18030) DecodeRune(src []byte) (rune, int) {
return utf8.RuneError, 1
}
c2 := src[2]
- if c2 < 0x81 || 0xff <= c2 {
+ if c2 < 0x81 {
return utf8.RuneError, 1
}
c3 := src[3]
diff --git a/go/mysql/collations/colldata/8bit.go b/go/mysql/collations/colldata/8bit.go
index 67ae8541d56..c88e1ec3a2d 100644
--- a/go/mysql/collations/colldata/8bit.go
+++ b/go/mysql/collations/colldata/8bit.go
@@ -158,7 +158,7 @@ func (c *Collation_8bit_simple_ci) Collate(left, right []byte, rightIsPrefix boo
sortOrder := c.sort
cmpLen := min(len(left), len(right))
- for i := 0; i < cmpLen; i++ {
+ for i := range cmpLen {
sortL, sortR := sortOrder[left[i]], sortOrder[right[i]]
if sortL != sortR {
return int(sortL) - int(sortR)
@@ -174,7 +174,7 @@ func (c *Collation_8bit_simple_ci) TinyWeightString(src []byte) uint32 {
var w32 [4]byte
sortOrder := c.sort
sortLen := min(4, len(src))
- for i := 0; i < sortLen; i++ {
+ for i := range sortLen {
w32[i] = sortOrder[src[i]]
}
return binary.BigEndian.Uint32(w32[:4])
diff --git a/go/mysql/collations/colldata/cached_size.go b/go/mysql/collations/colldata/cached_size.go
index 36167c69d6d..b348baaaed8 100644
--- a/go/mysql/collations/colldata/cached_size.go
+++ b/go/mysql/collations/colldata/cached_size.go
@@ -19,10 +19,6 @@ package colldata
import hack "vitess.io/vitess/go/hack"
-type cachedObject interface {
- CachedSize(alloc bool) int64
-}
-
func (cached *eightbitWildcard) CachedSize(alloc bool) int64 {
if cached == nil {
return int64(0)
@@ -63,10 +59,6 @@ func (cached *unicodeWildcard) CachedSize(alloc bool) int64 {
if alloc {
size += int64(48)
}
- // field charset vitess.io/vitess/go/mysql/collations/charset/types.Charset
- if cc, ok := cached.charset.(cachedObject); ok {
- size += cc.CachedSize(true)
- }
// field pattern []rune
{
size += hack.RuntimeAllocSize(int64(cap(cached.pattern)) * int64(4))
diff --git a/go/mysql/collations/colldata/uca_contraction_test.go b/go/mysql/collations/colldata/uca_contraction_test.go
index a3511a07df6..3503b6e6ad8 100644
--- a/go/mysql/collations/colldata/uca_contraction_test.go
+++ b/go/mysql/collations/colldata/uca_contraction_test.go
@@ -129,7 +129,7 @@ func benchmarkFind(b *testing.B, input []byte, contract uca.Contractor) {
b.ReportAllocs()
b.ResetTimer()
- for n := 0; n < b.N; n++ {
+ for range b.N {
in := input
for len(in) > 0 {
cp, width := utf8.DecodeRune(in)
@@ -144,7 +144,7 @@ func benchmarkFindJA(b *testing.B, input []byte, contract uca.Contractor) {
b.ReportAllocs()
b.ResetTimer()
- for n := 0; n < b.N; n++ {
+ for range b.N {
prev := rune(0)
in := input
for len(in) > 0 {
@@ -166,7 +166,7 @@ func newStrgen() *strgen {
}
func (s *strgen) withASCII() *strgen {
- for r := rune(0); r < utf8.RuneSelf; r++ {
+ for r := range rune(utf8.RuneSelf) {
s.repertoire[r] = struct{}{}
}
return s
diff --git a/go/mysql/collations/colldata/uca_test.go b/go/mysql/collations/colldata/uca_test.go
index 5eb51fed67e..4be261edf9c 100644
--- a/go/mysql/collations/colldata/uca_test.go
+++ b/go/mysql/collations/colldata/uca_test.go
@@ -180,7 +180,7 @@ func TestIsPrefix(t *testing.T) {
coll := testcollation(t, collName)
input := []rune(strings.ToUpper(ExampleStringLong))
- for size := 0; size < len(input); size++ {
+ for size := range len(input) {
left := ExampleStringLong
right := string(input[:size])
@@ -777,7 +777,7 @@ func BenchmarkAllUCAWeightStrings(b *testing.B) {
b.ResetTimer()
- for i := 0; i < b.N; i++ {
+ for range b.N {
_ = collation.WeightString(buf, input, 0)
}
})
@@ -1058,7 +1058,7 @@ func BenchmarkUCA900Collation(b *testing.B) {
str2 := []byte(strings.ToUpper(content))
for _, collation := range Collations {
b.Run(fmt.Sprintf("%s/%d/%s", teststr.Name, length, collation.Name()), func(b *testing.B) {
- for i := 0; i < b.N; i++ {
+ for range b.N {
_ = collation.Collate(str1, str2, false)
}
})
diff --git a/go/mysql/collations/internal/uca/iter_fast_900.go b/go/mysql/collations/internal/uca/iter_fast_900.go
index cbe32cfdb70..42e32042133 100644
--- a/go/mysql/collations/internal/uca/iter_fast_900.go
+++ b/go/mysql/collations/internal/uca/iter_fast_900.go
@@ -301,7 +301,7 @@ func (it *FastIterator900) NextWeightBlock64(dstbytes []byte) int {
// Slow path: just loop up to 8 times to fill the buffer and bail
// early if we exhaust the iterator.
- for i := 0; i < 8; i++ {
+ for i := range 8 {
w, ok := it.Next()
if !ok {
return i * 2
diff --git a/go/mysql/collations/internal/uca/layout.go b/go/mysql/collations/internal/uca/layout.go
index 35a2749eb21..e13fcb282b3 100644
--- a/go/mysql/collations/internal/uca/layout.go
+++ b/go/mysql/collations/internal/uca/layout.go
@@ -71,7 +71,7 @@ func equalWeights900(table Weights, levels int, A, B rune) bool {
cA := int((*pageA)[offsetA])
cB := int((*pageB)[offsetB])
- for l := 0; l < levels; l++ {
+ for l := range levels {
wA, wB := l*256, l*256
wA1, wB1 := wA+(cA*256*3), wB+(cB*256*3)
@@ -118,7 +118,7 @@ func (Layout_uca900) DebugWeights(table Weights, codepoint rune) (result []uint1
}
ceCount := int((*page)[offset])
- for ce := 0; ce < ceCount; ce++ {
+ for ce := range ceCount {
result = append(result,
(*page)[256+(ce*3+0)*256+offset],
(*page)[256+(ce*3+1)*256+offset],
@@ -264,8 +264,8 @@ func (Layout_uca_legacy) allocPage(original *[]uint16, patches []Patch) []uint16
}
newPage := make([]uint16, minLenForPage)
- for i := 0; i < CodepointsPerPage; i++ {
- for j := 0; j < originalStride; j++ {
+ for i := range CodepointsPerPage {
+ for range originalStride {
newPage[1+i*newStride] = (*original)[1+i*originalStride]
}
}
diff --git a/go/mysql/collations/tools/makecolldata/codegen/tablegen.go b/go/mysql/collations/tools/makecolldata/codegen/tablegen.go
index e1549c23bff..479e876f1f3 100644
--- a/go/mysql/collations/tools/makecolldata/codegen/tablegen.go
+++ b/go/mysql/collations/tools/makecolldata/codegen/tablegen.go
@@ -151,7 +151,7 @@ func (p *page) weights900Fast(level int) (w []uint32) {
if p.entryCount == 0 {
return nil
}
- for i := 0; i < 128; i++ {
+ for i := range 128 {
entry := &p.entries[i]
if len(entry.weights) > 3 {
panic("trying to dump fast weights for codepoint with >3 weights")
@@ -165,7 +165,7 @@ func (p *page) weights900Fast(level int) (w []uint32) {
}
w = append(w, weight)
}
- for i := 0; i < 128; i++ {
+ for range 128 {
w = append(w, 0x0)
}
return
@@ -179,7 +179,7 @@ func (p *page) weights900() (w []uint16) {
for _, entry := range p.entries {
w = append(w, uint16(len(entry.weights)/3))
}
- for level := 0; level < maxCollations; level++ {
+ for level := range maxCollations {
for _, entry := range p.entries {
var weight uint16
if level < len(entry.weights) {
diff --git a/go/mysql/collations/vindex/unicode/norm/composition.go b/go/mysql/collations/vindex/unicode/norm/composition.go
index 0e1bcb94128..db97e1a8453 100644
--- a/go/mysql/collations/vindex/unicode/norm/composition.go
+++ b/go/mysql/collations/vindex/unicode/norm/composition.go
@@ -136,7 +136,7 @@ func (rb *reorderBuffer) doFlush() bool {
// appendFlush appends the normalized segment to rb.out.
func appendFlush(rb *reorderBuffer) bool {
- for i := 0; i < rb.nrune; i++ {
+ for i := range rb.nrune {
start := rb.rune[i].pos
end := start + rb.rune[i].size
rb.out = append(rb.out, rb.byte[start:end]...)
diff --git a/go/mysql/conn.go b/go/mysql/conn.go
index d61549c92ef..d4f870e660f 100644
--- a/go/mysql/conn.go
+++ b/go/mysql/conn.go
@@ -585,7 +585,7 @@ func (c *Conn) readPacket() ([]byte, error) {
func (c *Conn) ReadPacket() ([]byte, error) {
result, err := c.readPacket()
if err != nil {
- return nil, sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return nil, sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
return result, err
}
@@ -1249,7 +1249,7 @@ func (c *Conn) handleComPrepare(handler Handler, data []byte) (kontinue bool) {
}
bindVars := make(map[string]*querypb.BindVariable, paramsCount)
- for i := uint16(0); i < paramsCount; i++ {
+ for i := range uint16(paramsCount) {
parameterID := fmt.Sprintf("v%d", i+1)
bindVars[parameterID] = &querypb.BindVariable{}
}
@@ -1593,7 +1593,7 @@ func ParseErrorPacket(data []byte) error {
// Error code is 2 bytes.
code, pos, ok := readUint16(data, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRUnknownError, sqlerror.SSUnknownSQLState, "invalid error packet code: %v", data)
+ return sqlerror.NewSQLErrorf(sqlerror.CRUnknownError, sqlerror.SSUnknownSQLState, "invalid error packet code: %v", data)
}
// '#' marker of the SQL state is 1 byte. Ignored.
@@ -1602,13 +1602,13 @@ func ParseErrorPacket(data []byte) error {
// SQL state is 5 bytes
sqlState, pos, ok := readBytes(data, pos, 5)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRUnknownError, sqlerror.SSUnknownSQLState, "invalid error packet sqlState: %v", data)
+ return sqlerror.NewSQLErrorf(sqlerror.CRUnknownError, sqlerror.SSUnknownSQLState, "invalid error packet sqlState: %v", data)
}
// Human readable error message is the rest.
msg := string(data[pos:])
- return sqlerror.NewSQLError(sqlerror.ErrorCode(code), string(sqlState), "%v", msg)
+ return sqlerror.NewSQLErrorf(sqlerror.ErrorCode(code), string(sqlState), "%v", msg)
}
// GetTLSClientCerts gets TLS certificates.
@@ -1624,12 +1624,18 @@ func (c *Conn) TLSEnabled() bool {
return c.Capabilities&CapabilityClientSSL > 0
}
-// IsUnixSocket returns true if this connection is over a Unix socket.
+// IsUnixSocket returns true if the server connection is over a Unix socket.
func (c *Conn) IsUnixSocket() bool {
_, ok := c.listener.listener.(*net.UnixListener)
return ok
}
+// IsClientUnixSocket returns true if the client connection is over a Unix socket with the server.
+func (c *Conn) IsClientUnixSocket() bool {
+ _, ok := c.conn.(*net.UnixConn)
+ return ok
+}
+
// GetRawConn returns the raw net.Conn for nefarious purposes.
func (c *Conn) GetRawConn() net.Conn {
return c.conn
diff --git a/go/mysql/conn_test.go b/go/mysql/conn_test.go
index 64b97052ead..088e487e961 100644
--- a/go/mysql/conn_test.go
+++ b/go/mysql/conn_test.go
@@ -22,6 +22,7 @@ import (
crypto_rand "crypto/rand"
"encoding/binary"
"encoding/hex"
+ "errors"
"fmt"
"math/rand/v2"
"net"
@@ -743,7 +744,7 @@ func TestEOFOrLengthEncodedIntFuzz(t *testing.T) {
cConn.Close()
}()
- for i := 0; i < 100; i++ {
+ for range 100 {
bytes := make([]byte, rand.IntN(16)+1)
_, err := crypto_rand.Read(bytes)
require.NoError(t, err, "error doing rand.Read")
@@ -937,7 +938,7 @@ func TestConnectionErrorWhileWritingComQuery(t *testing.T) {
// this handler will return an error on the first run, and fail the test if it's run more times
errorString := make([]byte, 17000)
- handler := &testRun{t: t, err: fmt.Errorf(string(errorString))}
+ handler := &testRun{t: t, err: errors.New(string(errorString))}
res := sConn.handleNextCommand(handler)
require.False(t, res, "we should beak the connection in case of error writing error packet")
}
@@ -1000,7 +1001,7 @@ func TestPrepareAndExecute(t *testing.T) {
// and check that the handler received the correct input
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
- for i := 0; i < 100; i++ {
+ for i := range 100 {
startGoRoutine(ctx, t, fmt.Sprintf("%d:%s", i, randSeq(i)))
}
diff --git a/go/mysql/datetime/helpers.go b/go/mysql/datetime/helpers.go
index 68466e320e2..fc25a6cba48 100644
--- a/go/mysql/datetime/helpers.go
+++ b/go/mysql/datetime/helpers.go
@@ -76,7 +76,7 @@ func appendInt(b []byte, x int, width int) []byte {
// match reports whether s1 and s2 match ignoring case.
// It is assumed s1 and s2 are the same length.
func match(s1, s2 string) bool {
- for i := 0; i < len(s1); i++ {
+ for i := range len(s1) {
c1 := s1[i]
c2 := s2[i]
if c1 != c2 {
@@ -153,7 +153,7 @@ func isDigit[bytes []byte | string](s bytes, i int) bool {
func isNumber[bytes []byte | string](s bytes) (int, bool) {
var dot bool
pos := -1
- for i := 0; i < len(s); i++ {
+ for i := range len(s) {
if !isDigit(s, i) {
if dot {
return i, true
@@ -189,7 +189,7 @@ func getnum(s string, fixed bool) (int, string, bool) {
func getnuml(s string, l int) (int, string, bool) {
var res int
- for i := 0; i < l; i++ {
+ for i := range l {
if !isDigit(s, i) {
return 0, s, false
}
@@ -273,7 +273,7 @@ func parseNanoseconds[bytes []byte | string](value bytes, nbytes int) (ns int, l
// We need nanoseconds, which means scaling by the number
// of missing digits in the format, maximum length 10.
scaleDigits := 10 - nbytes
- for i := 0; i < scaleDigits; i++ {
+ for range scaleDigits {
ns *= 10
}
diff --git a/go/mysql/decimal/mysql_test.go b/go/mysql/decimal/mysql_test.go
index d1b0c52169b..602e4b41eef 100644
--- a/go/mysql/decimal/mysql_test.go
+++ b/go/mysql/decimal/mysql_test.go
@@ -234,10 +234,10 @@ func TestLargeDecimals(t *testing.T) {
}
func TestVeryLargeDecimals(t *testing.T) {
- for i := 0; i <= 65; i++ {
+ for i := range 66 {
integral := bytes.Repeat([]byte{'9'}, i)
integral = append(integral, '.')
- for j := 0; j <= 65; j++ {
+ for j := range 66 {
decimal := append(integral, bytes.Repeat([]byte{'9'}, j)...)
_, err := NewFromMySQL(decimal)
if err != nil {
@@ -308,7 +308,7 @@ var decimals = []string{
func BenchmarkDecimalParsing(b *testing.B) {
b.Run("Naive", func(b *testing.B) {
b.ReportAllocs()
- for n := 0; n < b.N; n++ {
+ for range b.N {
for _, dec := range decimals {
_, _ = NewFromString(dec)
}
@@ -322,7 +322,7 @@ func BenchmarkDecimalParsing(b *testing.B) {
b.Run("MySQL", func(b *testing.B) {
b.ReportAllocs()
- for n := 0; n < b.N; n++ {
+ for range b.N {
for _, dec := range decimalBytes {
_, _ = NewFromMySQL(dec)
}
@@ -365,7 +365,7 @@ func TestRoundtripStress(t *testing.T) {
count = 100
}
- for n := 0; n < count; n++ {
+ for range count {
fb := strconv.AppendFloat(nil, rand.NormFloat64(), 'f', -1, 64)
d, err := NewFromMySQL(fb)
if err != nil {
@@ -381,13 +381,13 @@ func TestRoundtripStress(t *testing.T) {
func BenchmarkFormatting(b *testing.B) {
const Count = 10000
var parsed = make([]Decimal, 0, Count)
- for i := 0; i < Count; i++ {
+ for range Count {
parsed = append(parsed, NewFromFloat(rand.NormFloat64()))
}
b.Run("StringFixed(8)", func(b *testing.B) {
b.ReportAllocs()
- for n := 0; n < b.N; n++ {
+ for range b.N {
for _, dec := range parsed {
_ = dec.StringFixed(8)
}
@@ -396,7 +396,7 @@ func BenchmarkFormatting(b *testing.B) {
b.Run("formatwithPrecision(8)", func(b *testing.B) {
b.ReportAllocs()
- for n := 0; n < b.N; n++ {
+ for range b.N {
for _, dec := range parsed {
_ = dec.formatFast(8, true, false)
}
@@ -405,7 +405,7 @@ func BenchmarkFormatting(b *testing.B) {
b.Run("formatFast", func(b *testing.B) {
b.ReportAllocs()
- for n := 0; n < b.N; n++ {
+ for range b.N {
for _, dec := range parsed {
_ = dec.formatFast(0, false, false)
}
@@ -414,7 +414,7 @@ func BenchmarkFormatting(b *testing.B) {
b.Run("formatSlow", func(b *testing.B) {
b.ReportAllocs()
- for n := 0; n < b.N; n++ {
+ for range b.N {
for _, dec := range parsed {
_ = dec.formatSlow(false)
}
diff --git a/go/mysql/endtoend/client_test.go b/go/mysql/endtoend/client_test.go
index ce01c57369d..7799a322429 100644
--- a/go/mysql/endtoend/client_test.go
+++ b/go/mysql/endtoend/client_test.go
@@ -204,7 +204,7 @@ func doTestMultiResult(t *testing.T, disableClientDeprecateEOF bool) {
require.NoError(t, err)
assert.Zero(t, result.RowsAffected, "create table RowsAffected ")
- for i := 0; i < 255; i++ {
+ for i := range 255 {
result, err := conn.ExecuteFetch(fmt.Sprintf("insert into a(id, name) values(%v, 'nice name %v')", 1000+i, i), 1000, true)
require.NoError(t, err)
assert.EqualValues(t, 1, result.RowsAffected, "insert into returned RowsAffected")
diff --git a/go/mysql/endtoend/query_benchmark_test.go b/go/mysql/endtoend/query_benchmark_test.go
index 7552e470b53..9bfd866a551 100644
--- a/go/mysql/endtoend/query_benchmark_test.go
+++ b/go/mysql/endtoend/query_benchmark_test.go
@@ -95,7 +95,7 @@ func benchmarkInserts(b *testing.B, params *mysql.ConnParams) {
b.ResetTimer()
// Do the insert.
- for i := 0; i < b.N; i++ {
+ for i := range b.N {
_, err := conn.ExecuteFetch(fmt.Sprintf("insert into a(id, name) values(%v, 'nice name %v')", i, i), 0, false)
if err != nil {
b.Fatalf("ExecuteFetch(%v) failed: %v", i, err)
@@ -106,7 +106,7 @@ func benchmarkInserts(b *testing.B, params *mysql.ConnParams) {
func benchmarkParallelReads(b *testing.B, params *mysql.ConnParams, parallelCount int) {
ctx := context.Background()
wg := sync.WaitGroup{}
- for i := 0; i < parallelCount; i++ {
+ for i := range parallelCount {
wg.Add(1)
go func(i int) {
defer wg.Done()
@@ -116,7 +116,7 @@ func benchmarkParallelReads(b *testing.B, params *mysql.ConnParams, parallelCoun
b.Error(err)
}
- for j := 0; j < b.N; j++ {
+ for j := range b.N {
if _, err := conn.ExecuteFetch("select * from a", 20000, true); err != nil {
b.Errorf("ExecuteFetch(%v, %v) failed: %v", i, j, err)
}
@@ -144,7 +144,7 @@ func BenchmarkSetVarsWithQueryHints(b *testing.B) {
for _, sleepDuration := range []time.Duration{0, 1 * time.Millisecond} {
b.Run(fmt.Sprintf("Sleep %d ms", sleepDuration/time.Millisecond), func(b *testing.B) {
- for i := 0; i < b.N; i++ {
+ for i := range b.N {
_, err := conn.ExecuteFetch(fmt.Sprintf("insert /*+ SET_VAR(sql_mode = ' ') SET_VAR(sql_safe_updates = 0) */ into t(id) values (%d)", i), 1, false)
if err != nil {
b.Fatal(err)
@@ -194,7 +194,7 @@ func BenchmarkSetVarsMultipleSets(b *testing.B) {
for _, sleepDuration := range []time.Duration{0, 1 * time.Millisecond} {
b.Run(fmt.Sprintf("Sleep %d ms", sleepDuration/time.Millisecond), func(b *testing.B) {
- for i := 0; i < b.N; i++ {
+ for i := range b.N {
setFunc()
_, err = conn.ExecuteFetch(fmt.Sprintf("insert into t(id) values (%d)", i), 1, false)
@@ -242,7 +242,7 @@ func BenchmarkSetVarsMultipleSetsInSameStmt(b *testing.B) {
for _, sleepDuration := range []time.Duration{0, 1 * time.Millisecond} {
b.Run(fmt.Sprintf("Sleep %d ms", sleepDuration/time.Millisecond), func(b *testing.B) {
- for i := 0; i < b.N; i++ {
+ for i := range b.N {
_, _, err := conn.ExecuteFetchMulti(fmt.Sprintf("set sql_mode = '', sql_safe_updates = 0 ; insert into t(id) values (%d)", i), 1, false)
if err != nil {
b.Fatal(err)
@@ -304,7 +304,7 @@ func BenchmarkSetVarsSingleSet(b *testing.B) {
for _, sleepDuration := range []time.Duration{0, 1 * time.Millisecond} {
b.Run(fmt.Sprintf("Sleep %d ms", sleepDuration/time.Millisecond), func(b *testing.B) {
- for i := 0; i < b.N; i++ {
+ for i := range b.N {
_, err = conn.ExecuteFetch(fmt.Sprintf("insert into t(id) values (%d)", i), 1, false)
if err != nil {
b.Fatal(err)
diff --git a/go/mysql/endtoend/query_test.go b/go/mysql/endtoend/query_test.go
index 3436d045071..5d7511b4834 100644
--- a/go/mysql/endtoend/query_test.go
+++ b/go/mysql/endtoend/query_test.go
@@ -121,7 +121,7 @@ func TestQueries(t *testing.T) {
}
// Insert a few rows.
- for i := 0; i < 100; i++ {
+ for i := range 100 {
result, err := conn.ExecuteFetch(fmt.Sprintf("insert into a(id, name) values(%v, 'nice name %v')", 1000+i, i), 1000, true)
require.NoError(t, err, "ExecuteFetch(%v) failed: %v", i, err)
assert.Equal(t, uint64(1), result.RowsAffected, "insert into returned RowsAffected %v, was expecting 1", result.RowsAffected)
@@ -156,7 +156,7 @@ func TestLargeQueries(t *testing.T) {
return string(b)
}
- for i := 0; i < 2; i++ {
+ for i := range 2 {
for j := -2; j < 2; j++ {
expectedString := randString((i+1)*mysql.MaxPacketSize + j)
diff --git a/go/mysql/fakesqldb/server.go b/go/mysql/fakesqldb/server.go
index 33512f23514..cd1080c862c 100644
--- a/go/mysql/fakesqldb/server.go
+++ b/go/mysql/fakesqldb/server.go
@@ -432,7 +432,7 @@ func (db *DB) HandleQuery(c *mysql.Conn, query string, callback func(*sqltypes.R
userCallback(query)
}
if pat.err != "" {
- return fmt.Errorf(pat.err)
+ return errors.New(pat.err)
}
return callback(pat.result)
}
@@ -592,6 +592,13 @@ func (db *DB) AddQueryPattern(queryPattern string, expectedResult *sqltypes.Resu
db.patternData[queryPattern] = exprResult{queryPattern: queryPattern, expr: expr, result: &result}
}
+// RemoveQueryPattern removes a query pattern that was previously added.
+func (db *DB) RemoveQueryPattern(queryPattern string) {
+ db.mu.Lock()
+ defer db.mu.Unlock()
+ delete(db.patternData, queryPattern)
+}
+
// RejectQueryPattern allows a query pattern to be rejected with an error
func (db *DB) RejectQueryPattern(queryPattern, error string) {
expr := regexp.MustCompile("(?is)^" + queryPattern + "$")
@@ -853,7 +860,7 @@ func (db *DB) GetQueryPatternResult(key string) (func(string), ExpectedResult, b
userCallback, ok := db.queryPatternUserCallback[pat.expr]
if ok {
if pat.err != "" {
- return userCallback, ExpectedResult{pat.result, nil}, true, fmt.Errorf(pat.err)
+ return userCallback, ExpectedResult{pat.result, nil}, true, errors.New(pat.err)
}
return userCallback, ExpectedResult{pat.result, nil}, true, nil
}
diff --git a/go/mysql/fastparse/atof.go b/go/mysql/fastparse/atof.go
index 4193031c987..695d9e32edb 100644
--- a/go/mysql/fastparse/atof.go
+++ b/go/mysql/fastparse/atof.go
@@ -64,7 +64,7 @@ func commonPrefixLenIgnoreCase(s, prefix string) int {
if n > len(s) {
n = len(s)
}
- for i := 0; i < n; i++ {
+ for i := range n {
c := s[i]
if 'A' <= c && c <= 'Z' {
c += 'a' - 'A'
diff --git a/go/mysql/flavor_filepos.go b/go/mysql/flavor_filepos.go
index 565aa2a807d..01d748c66f3 100644
--- a/go/mysql/flavor_filepos.go
+++ b/go/mysql/flavor_filepos.go
@@ -148,7 +148,7 @@ func (flv *filePosFlavor) readBinlogEvent(c *Conn) (BinlogEvent, error) {
}
switch result[0] {
case EOFPacket:
- return nil, sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", io.EOF)
+ return nil, sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", io.EOF)
case ErrPacket:
return nil, ParseErrorPacket(result)
}
diff --git a/go/mysql/flavor_mariadb.go b/go/mysql/flavor_mariadb.go
index 301ec2b0596..bafb24a0c77 100644
--- a/go/mysql/flavor_mariadb.go
+++ b/go/mysql/flavor_mariadb.go
@@ -351,7 +351,7 @@ func (mariadbFlavor) readBinlogEvent(c *Conn) (BinlogEvent, error) {
}
switch result[0] {
case EOFPacket:
- return nil, sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", io.EOF)
+ return nil, sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", io.EOF)
case ErrPacket:
return nil, ParseErrorPacket(result)
}
diff --git a/go/mysql/flavor_mysql.go b/go/mysql/flavor_mysql.go
index 5de3dc4ed46..5d92694e9f2 100644
--- a/go/mysql/flavor_mysql.go
+++ b/go/mysql/flavor_mysql.go
@@ -386,7 +386,7 @@ func (mysqlFlavor) readBinlogEvent(c *Conn) (BinlogEvent, error) {
}
switch result[0] {
case EOFPacket:
- return nil, sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", io.EOF)
+ return nil, sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", io.EOF)
case ErrPacket:
return nil, ParseErrorPacket(result)
}
diff --git a/go/mysql/icuregex/compiler.go b/go/mysql/icuregex/compiler.go
index 6aa92e268bb..83962ef73b2 100644
--- a/go/mysql/icuregex/compiler.go
+++ b/go/mysql/icuregex/compiler.go
@@ -240,7 +240,7 @@ func (c *compiler) nextChar(ch *reChar) {
//
ch.char = 0
c.nextCharLL() // Consume the initial 0.
- for index := 0; index < 3; index++ {
+ for index := range 3 {
ch2 := c.peekCharLL()
if ch2 < chDigit0 || ch2 > chDigit7 {
if index == 0 {
@@ -1740,7 +1740,7 @@ func (c *compiler) stripNOPs() {
// Make a first pass over the code, computing the amount that things
// will be offset at each location in the original code.
var loc, d int
- for loc = 0; loc < end; loc++ {
+ for loc = range end {
deltas = append(deltas, d)
op := c.out.compiledPat[loc]
if op.typ() == urxNop {
@@ -1753,7 +1753,7 @@ func (c *compiler) stripNOPs() {
// are being moved. The array of offsets from the first step is used
// to compute the new operand values.
var src, dst int
- for src = 0; src < end; src++ {
+ for src = range end {
op := c.out.compiledPat[src]
opType := op.typ()
diff --git a/go/mysql/icuregex/icu_test.go b/go/mysql/icuregex/icu_test.go
index 9e9be505df7..4336608f0d8 100644
--- a/go/mysql/icuregex/icu_test.go
+++ b/go/mysql/icuregex/icu_test.go
@@ -267,7 +267,7 @@ func (tp *TestPattern) Test(t testing.TB) bool {
findCount = 1
}
- for i := 0; i < findCount; i++ {
+ for range findCount {
isMatch, err = func() (bool, error) {
defer func() {
if r := recover(); r != nil {
@@ -299,7 +299,7 @@ func (tp *TestPattern) Test(t testing.TB) bool {
return true
}
- for i := 0; i < matcher.GroupCount(); i++ {
+ for i := range matcher.GroupCount() {
expectedStart := -1
expectedEnd := -1
diff --git a/go/mysql/icuregex/internal/ubidi/ubidi.go b/go/mysql/icuregex/internal/ubidi/ubidi.go
index 79482dfbc8d..1aaa8a0a791 100644
--- a/go/mysql/icuregex/internal/ubidi/ubidi.go
+++ b/go/mysql/icuregex/internal/ubidi/ubidi.go
@@ -297,7 +297,7 @@ func AddPropertyStarts(sa propertySet) {
mrs := mirrors()
/* add the code points from the bidi mirroring table */
length := idxs[ixMirrorLength]
- for i := int32(0); i < length; i++ {
+ for i := range int32(length) {
c := mirrorCodePoint(rune(mrs[i]))
sa.AddRuneRange(c, c+1)
}
diff --git a/go/mysql/icuregex/internal/uchar/uchar.go b/go/mysql/icuregex/internal/uchar/uchar.go
index e93b51d9bb4..1fbc874665b 100644
--- a/go/mysql/icuregex/internal/uchar/uchar.go
+++ b/go/mysql/icuregex/internal/uchar/uchar.go
@@ -203,7 +203,7 @@ func parseInt(str string) (string, uint8) {
start := 0
end := 0
whitespace:
- for i := 0; i < len(str); i++ {
+ for i := range len(str) {
switch str[i] {
case ' ', '\f', '\n', '\r', '\t', '\v':
start++
@@ -214,7 +214,7 @@ whitespace:
}
str = str[start:]
- for i := 0; i < len(str); i++ {
+ for i := range len(str) {
if str[i] < '0' || str[i] > '9' {
end = i
break
diff --git a/go/mysql/icuregex/internal/unames/loader.go b/go/mysql/icuregex/internal/unames/loader.go
index 296670b1c66..60969f6350b 100644
--- a/go/mysql/icuregex/internal/unames/loader.go
+++ b/go/mysql/icuregex/internal/unames/loader.go
@@ -69,7 +69,7 @@ func loadCharNames() {
algCount := b.Uint32()
charNames.algNames = make([]algorithmicRange, 0, algCount)
- for i := uint32(0); i < algCount; i++ {
+ for range uint32(algCount) {
ar := algorithmicRange{
start: b.Uint32(),
end: b.Uint32(),
diff --git a/go/mysql/icuregex/internal/unames/unames.go b/go/mysql/icuregex/internal/unames/unames.go
index 66e8ba15615..bdd30495458 100644
--- a/go/mysql/icuregex/internal/unames/unames.go
+++ b/go/mysql/icuregex/internal/unames/unames.go
@@ -130,7 +130,7 @@ func (ar *algorithmicRange) findAlgName(otherName string) rune {
}
t := otherName
- for i = 0; i < len(factors); i++ {
+ for i = range len(factors) {
s = elements[i]
for s[0] != 0 && len(t) > 0 {
@@ -153,7 +153,7 @@ func (ar *algorithmicRange) findAlgName(otherName string) rune {
func (ar *algorithmicRange) writeFactorSuffix0(factors []uint16, s []uint8, buf *strings.Builder, elements, elementBases *[8][]byte) {
/* write each element */
- for i := 0; i < len(factors); i++ {
+ for i := range len(factors) {
(*elements)[i] = s
(*elementBases)[i] = s
diff --git a/go/mysql/icuregex/internal/uprops/properties.go b/go/mysql/icuregex/internal/uprops/properties.go
index 954fc920f6c..9e9bfb2761d 100644
--- a/go/mysql/icuregex/internal/uprops/properties.go
+++ b/go/mysql/icuregex/internal/uprops/properties.go
@@ -114,7 +114,7 @@ func getInclusionsForBinaryProperty(prop Property) (*uset.UnicodeSet, error) {
numRanges := incl.RangeCount()
startHasProperty := rune(-1)
- for i := 0; i < numRanges; i++ {
+ for i := range numRanges {
rangeEnd := incl.RangeEnd(i)
for c := incl.RangeStart(i); c <= rangeEnd; c++ {
if HasBinaryProperty(c, prop) {
@@ -152,7 +152,7 @@ func getInclusionsForIntProperty(prop Property) (*uset.UnicodeSet, error) {
numRanges := incl.RangeCount()
prevValue := int32(0)
- for i := 0; i < numRanges; i++ {
+ for i := range numRanges {
rangeEnd := incl.RangeEnd(i)
for c := incl.RangeStart(i); c <= rangeEnd; c++ {
value := getIntPropertyValue(c, prop)
diff --git a/go/mysql/icuregex/internal/uset/close.go b/go/mysql/icuregex/internal/uset/close.go
index bd3f9f0f7e3..56438804bf3 100644
--- a/go/mysql/icuregex/internal/uset/close.go
+++ b/go/mysql/icuregex/internal/uset/close.go
@@ -82,7 +82,7 @@ func (u *UnicodeSet) CloseOver(attribute USet) {
foldSet := u.Clone()
n := u.RangeCount()
- for i := 0; i < n; i++ {
+ for i := range n {
start := u.RangeStart(i)
end := u.RangeEnd(i)
diff --git a/go/mysql/icuregex/internal/uset/pattern.go b/go/mysql/icuregex/internal/uset/pattern.go
index 20b44da9c6d..af836941647 100644
--- a/go/mysql/icuregex/internal/uset/pattern.go
+++ b/go/mysql/icuregex/internal/uset/pattern.go
@@ -69,7 +69,7 @@ func (u *UnicodeSet) ToPattern(w *strings.Builder, escapeUnprintable bool) {
}
} else {
// Default; emit the ranges as pairs
- for i := 0; i < count; i++ {
+ for i := range count {
start := u.RangeStart(i)
end := u.RangeEnd(i)
u.appendToPattern(w, start, escapeUnprintable)
diff --git a/go/mysql/icuregex/internal/uset/unicode_set.go b/go/mysql/icuregex/internal/uset/unicode_set.go
index d85bab47532..27cfb92d916 100644
--- a/go/mysql/icuregex/internal/uset/unicode_set.go
+++ b/go/mysql/icuregex/internal/uset/unicode_set.go
@@ -471,7 +471,7 @@ func (u *UnicodeSet) Clear() {
func (u *UnicodeSet) Len() (n int) {
count := u.RangeCount()
- for i := 0; i < count; i++ {
+ for i := range count {
n += int(u.RangeEnd(i)) - int(u.RangeStart(i)) + 1
}
return
@@ -616,7 +616,7 @@ func (u *UnicodeSet) ApplyFilter(inclusions *UnicodeSet, filter Filter) {
startHasProperty := rune(-1)
limitRange := inclusions.RangeCount()
- for j := 0; j < limitRange; j++ {
+ for j := range limitRange {
// get current range
start := inclusions.RangeStart(j)
end := inclusions.RangeEnd(j)
diff --git a/go/mysql/icuregex/matcher.go b/go/mysql/icuregex/matcher.go
index 1b5495f495f..aa0a78385e4 100644
--- a/go/mysql/icuregex/matcher.go
+++ b/go/mysql/icuregex/matcher.go
@@ -128,7 +128,7 @@ func (m *Matcher) MatchAt(startIdx int, toEnd bool) error {
fp := m.resetStack()
*fp.inputIdx() = startIdx
*fp.patIdx() = 0
- for i := 0; i < len(m.data); i++ {
+ for i := range len(m.data) {
m.data[i] = 0
}
diff --git a/go/mysql/json/marshal.go b/go/mysql/json/marshal.go
index d1a0072ccbb..97d14a336c8 100644
--- a/go/mysql/json/marshal.go
+++ b/go/mysql/json/marshal.go
@@ -175,6 +175,6 @@ func MarshalSQLValue(buf []byte) (*sqltypes.Value, error) {
return nil, err
}
- newVal := sqltypes.MakeTrusted(querypb.Type_JSON, jsonVal.MarshalSQLTo(nil))
+ newVal := sqltypes.MakeTrusted(querypb.Type_RAW, jsonVal.MarshalSQLTo(nil))
return &newVal, nil
}
diff --git a/go/mysql/json/parser.go b/go/mysql/json/parser.go
index b7a87c25756..02225c7db24 100644
--- a/go/mysql/json/parser.go
+++ b/go/mysql/json/parser.go
@@ -328,7 +328,7 @@ func hasSpecialChars(s string) bool {
if strings.IndexByte(s, '"') >= 0 || strings.IndexByte(s, '\\') >= 0 {
return true
}
- for i := 0; i < len(s); i++ {
+ for i := range len(s) {
if s[i] < 0x20 {
return true
}
@@ -420,7 +420,7 @@ func unescapeStringBestEffort(s string) string {
// parseRawKey is similar to parseRawString, but is optimized
// for small-sized keys without escape sequences.
func parseRawKey(s string) (string, string, bool, error) {
- for i := 0; i < len(s); i++ {
+ for i := range len(s) {
if s[i] == '"' {
// Fast path.
return s[:i], s[i+1:], false, nil
diff --git a/go/mysql/mysql_fuzzer.go b/go/mysql/mysql_fuzzer.go
index 7370ad8a479..3ec302151f2 100644
--- a/go/mysql/mysql_fuzzer.go
+++ b/go/mysql/mysql_fuzzer.go
@@ -310,7 +310,7 @@ func FuzzTLSServer(data []byte) int {
totalQueries := 20
var queries [][]byte
c := gofuzzheaders.NewConsumer(data)
- for i := 0; i < totalQueries; i++ {
+ for i := range totalQueries {
query, err := c.GetBytes()
if err != nil {
return -1
@@ -377,7 +377,7 @@ func FuzzTLSServer(data []byte) int {
return -1
}
- for i := 0; i < len(queries); i++ {
+ for i := range len(queries) {
conn.writeFuzzedPacket(queries[i])
}
return 1
diff --git a/go/mysql/query.go b/go/mysql/query.go
index 10f36a09b1d..46060a39c94 100644
--- a/go/mysql/query.go
+++ b/go/mysql/query.go
@@ -99,36 +99,36 @@ func (c *Conn) writeComSetOption(operation uint16) error {
func (c *Conn) readColumnDefinition(field *querypb.Field, index int) error {
colDef, err := c.readEphemeralPacket()
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
defer c.recycleReadPacket()
// Catalog is ignored, always set to "def"
pos, ok := skipLenEncString(colDef, 0)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v catalog failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v catalog failed", index)
}
// schema, table, orgTable, name and OrgName are strings.
field.Database, pos, ok = readLenEncString(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v schema failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v schema failed", index)
}
field.Table, pos, ok = readLenEncString(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v table failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v table failed", index)
}
field.OrgTable, pos, ok = readLenEncString(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v org_table failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v org_table failed", index)
}
field.Name, pos, ok = readLenEncString(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v name failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v name failed", index)
}
field.OrgName, pos, ok = readLenEncString(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v org_name failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v org_name failed", index)
}
// Skip length of fixed-length fields.
@@ -137,37 +137,37 @@ func (c *Conn) readColumnDefinition(field *querypb.Field, index int) error {
// characterSet is a uint16.
characterSet, pos, ok := readUint16(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v characterSet failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v characterSet failed", index)
}
field.Charset = uint32(characterSet)
// columnLength is a uint32.
field.ColumnLength, pos, ok = readUint32(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v columnLength failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v columnLength failed", index)
}
// type is one byte.
t, pos, ok := readByte(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v type failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v type failed", index)
}
// flags is 2 bytes.
flags, pos, ok := readUint16(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v flags failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v flags failed", index)
}
// Convert MySQL type to Vitess type.
field.Type, err = sqltypes.MySQLToType(t, int64(flags))
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "MySQLToType(%v,%v) failed for column %v: %v", t, flags, index, err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "MySQLToType(%v,%v) failed for column %v: %v", t, flags, index, err)
}
// Decimals is a byte.
decimals, _, ok := readByte(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v decimals failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v decimals failed", index)
}
field.Decimals = uint32(decimals)
@@ -197,7 +197,7 @@ func (c *Conn) readColumnDefinition(field *querypb.Field, index int) error {
func (c *Conn) readColumnDefinitionType(field *querypb.Field, index int) error {
colDef, err := c.readEphemeralPacket()
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
defer c.recycleReadPacket()
@@ -205,27 +205,27 @@ func (c *Conn) readColumnDefinitionType(field *querypb.Field, index int) error {
// strings, all skipped.
pos, ok := skipLenEncString(colDef, 0)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v catalog failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v catalog failed", index)
}
pos, ok = skipLenEncString(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v schema failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v schema failed", index)
}
pos, ok = skipLenEncString(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v table failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v table failed", index)
}
pos, ok = skipLenEncString(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v org_table failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v org_table failed", index)
}
pos, ok = skipLenEncString(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v name failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v name failed", index)
}
pos, ok = skipLenEncString(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v org_name failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "skipping col %v org_name failed", index)
}
// Skip length of fixed-length fields.
@@ -234,31 +234,31 @@ func (c *Conn) readColumnDefinitionType(field *querypb.Field, index int) error {
// characterSet is a uint16.
_, pos, ok = readUint16(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v characterSet failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v characterSet failed", index)
}
// columnLength is a uint32.
_, pos, ok = readUint32(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v columnLength failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v columnLength failed", index)
}
// type is one byte
t, pos, ok := readByte(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v type failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v type failed", index)
}
// flags is 2 bytes
flags, _, ok := readUint16(colDef, pos)
if !ok {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v flags failed", index)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "extracting col %v flags failed", index)
}
// Convert MySQL type to Vitess type.
field.Type, err = sqltypes.MySQLToType(t, int64(flags))
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "MySQLToType(%v,%v) failed for column %v: %v", t, flags, index, err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "MySQLToType(%v,%v) failed for column %v: %v", t, flags, index, err)
}
// skip decimals
@@ -274,7 +274,7 @@ func (c *Conn) parseRow(data []byte, fields []*querypb.Field, reader func([]byte
result = make([]sqltypes.Value, 0, colNumber)
}
pos := 0
- for i := 0; i < colNumber; i++ {
+ for i := range colNumber {
if data[pos] == NullValue {
result = append(result, sqltypes.Value{})
pos++
@@ -417,7 +417,7 @@ func (c *Conn) ReadQueryResult(maxrows int, wantfields bool) (*sqltypes.Result,
// Read column headers. One packet per column.
// Build the fields.
- for i := 0; i < colNumber; i++ {
+ for i := range colNumber {
result.Fields[i] = &fields[i]
if wantfields {
@@ -435,7 +435,7 @@ func (c *Conn) ReadQueryResult(maxrows int, wantfields bool) (*sqltypes.Result,
// EOF is only present here if it's not deprecated.
data, err := c.readEphemeralPacket()
if err != nil {
- return nil, false, 0, sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return nil, false, 0, sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
if c.isEOFPacket(data) {
@@ -457,7 +457,7 @@ func (c *Conn) ReadQueryResult(maxrows int, wantfields bool) (*sqltypes.Result,
for {
data, err := c.readEphemeralPacket()
if err != nil {
- return nil, false, 0, sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return nil, false, 0, sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
if c.isEOFPacket(data) {
@@ -527,7 +527,7 @@ func (c *Conn) drainResults() error {
for {
data, err := c.readEphemeralPacket()
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
if c.isEOFPacket(data) {
c.recycleReadPacket()
@@ -543,7 +543,7 @@ func (c *Conn) drainResults() error {
func (c *Conn) readComQueryResponse(packetOk *PacketOK) (int, error) {
data, err := c.readEphemeralPacket()
if err != nil {
- return 0, sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return 0, sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
defer c.recycleReadPacket()
if len(data) == 0 {
@@ -627,7 +627,7 @@ func (c *Conn) parseComStmtExecute(prepareData map[uint32]*PrepareData, data []b
newParamsBoundFlag, pos, ok := readByte(payload, pos)
if ok && newParamsBoundFlag == 0x01 {
var mysqlType, flags byte
- for i := uint16(0); i < prepare.ParamsCount; i++ {
+ for i := range uint16(prepare.ParamsCount) {
mysqlType, pos, ok = readByte(payload, pos)
if !ok {
return stmtID, 0, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "reading parameter type failed")
@@ -641,14 +641,14 @@ func (c *Conn) parseComStmtExecute(prepareData map[uint32]*PrepareData, data []b
// convert MySQL type to internal type.
valType, err := sqltypes.MySQLToType(mysqlType, int64(flags))
if err != nil {
- return stmtID, 0, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "MySQLToType(%v,%v) failed: %v", mysqlType, flags, err)
+ return stmtID, 0, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "MySQLToType(%v,%v) failed: %v", mysqlType, flags, err)
}
prepare.ParamsType[i] = int32(valType)
}
}
- for i := 0; i < len(prepare.ParamsType); i++ {
+ for i := range len(prepare.ParamsType) {
var val sqltypes.Value
parameterID := fmt.Sprintf("v%d", i+1)
if v, ok := prepare.BindVars[parameterID]; ok {
@@ -663,7 +663,7 @@ func (c *Conn) parseComStmtExecute(prepareData map[uint32]*PrepareData, data []b
val, pos, ok = c.parseStmtArgs(payload, querypb.Type(prepare.ParamsType[i]), pos)
}
if !ok {
- return stmtID, 0, sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "decoding parameter value failed: %v", prepare.ParamsType[i])
+ return stmtID, 0, sqlerror.NewSQLErrorf(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "decoding parameter value failed: %v", prepare.ParamsType[i])
}
prepare.BindVars[parameterID] = sqltypes.ValueBindVariable(val)
@@ -696,7 +696,7 @@ func (c *Conn) parseStmtArgs(data []byte, typ querypb.Type, pos int) (sqltypes.V
return sqltypes.NewInt64(int64(int32(val))), pos, ok
case sqltypes.Float32:
val, pos, ok := readUint32(data, pos)
- return sqltypes.NewFloat64(float64(math.Float32frombits(uint32(val)))), pos, ok
+ return sqltypes.NewFloat64(float64(math.Float32frombits(val))), pos, ok
case sqltypes.Uint64:
val, pos, ok := readUint64(data, pos)
return sqltypes.NewUint64(val), pos, ok
@@ -1114,7 +1114,7 @@ func (c *Conn) writePrepare(fld []*querypb.Field, prepare *PrepareData) error {
}
if paramsCount > 0 {
- for i := uint16(0); i < paramsCount; i++ {
+ for range uint16(paramsCount) {
if err := c.writeColumnDefinition(&querypb.Field{
Name: "?",
Type: sqltypes.VarBinary,
@@ -1174,7 +1174,7 @@ func (c *Conn) writeBinaryRow(fields []*querypb.Field, row []sqltypes.Value) err
pos = writeByte(data, pos, 0x00)
- for i := 0; i < nullBitMapLen; i++ {
+ for range nullBitMapLen {
pos = writeByte(data, pos, 0x00)
}
@@ -1268,7 +1268,7 @@ func val2MySQL(v sqltypes.Value) ([]byte, error) {
return []byte{}, err
}
out = make([]byte, 8)
- writeUint64(out, pos, uint64(val))
+ writeUint64(out, pos, val)
case sqltypes.Int64:
val, err := strconv.ParseInt(v.ToString(), 10, 64)
if err != nil {
@@ -1315,7 +1315,7 @@ func val2MySQL(v sqltypes.Value) ([]byte, error) {
}
val := make([]byte, 6)
count := copy(val, v.Raw()[20:])
- for i := 0; i < (6 - count); i++ {
+ for i := range 6 - count {
val[count+i] = 0x30
}
microSecond, err := strconv.ParseUint(string(val), 10, 32)
@@ -1437,14 +1437,14 @@ func val2MySQL(v sqltypes.Value) ([]byte, error) {
if err != nil {
return []byte{}, err
}
- pos = writeUint32(out, pos, uint32(days))
+ pos = writeUint32(out, pos, days)
pos = writeByte(out, pos, byte(hours))
pos = writeByte(out, pos, byte(minutes))
pos = writeByte(out, pos, byte(seconds))
val := make([]byte, 6)
count := copy(val, microSecond)
- for i := 0; i < (6 - count); i++ {
+ for i := range 6 - count {
val[count+i] = 0x30
}
microSeconds, err := strconv.ParseUint(string(val), 10, 32)
@@ -1493,7 +1493,7 @@ func val2MySQL(v sqltypes.Value) ([]byte, error) {
if err != nil {
return []byte{}, err
}
- pos = writeUint32(out, pos, uint32(days))
+ pos = writeUint32(out, pos, days)
pos = writeByte(out, pos, byte(hours))
pos = writeByte(out, pos, byte(minutes))
writeByte(out, pos, byte(seconds))
diff --git a/go/mysql/replication.go b/go/mysql/replication.go
index 08baaa169c8..84c65842c7e 100644
--- a/go/mysql/replication.go
+++ b/go/mysql/replication.go
@@ -48,7 +48,7 @@ func (c *Conn) WriteComBinlogDump(serverID uint32, binlogFilename string, binlog
pos = writeUint32(data, pos, serverID)
_ = writeEOFString(data, pos, binlogFilename)
if err := c.writeEphemeralPacket(); err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerGone, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerGone, sqlerror.SSUnknownSQLState, "%v", err)
}
return nil
}
@@ -86,16 +86,16 @@ func (c *Conn) WriteComBinlogDumpGTID(serverID uint32, binlogFilename string, bi
4 + // data-size
len(gtidSet) // data
data, pos := c.startEphemeralPacketWithHeader(length)
- pos = writeByte(data, pos, ComBinlogDumpGTID) //nolint
- pos = writeUint16(data, pos, flags) //nolint
- pos = writeUint32(data, pos, serverID) //nolint
- pos = writeUint32(data, pos, uint32(len(binlogFilename))) //nolint
- pos = writeEOFString(data, pos, binlogFilename) //nolint
- pos = writeUint64(data, pos, binlogPos) //nolint
- pos = writeUint32(data, pos, uint32(len(gtidSet))) //nolint
- pos += copy(data[pos:], gtidSet) //nolint
+ pos = writeByte(data, pos, ComBinlogDumpGTID) // nolint
+ pos = writeUint16(data, pos, flags) // nolint
+ pos = writeUint32(data, pos, serverID) // nolint
+ pos = writeUint32(data, pos, uint32(len(binlogFilename))) // nolint
+ pos = writeEOFString(data, pos, binlogFilename) // nolint
+ pos = writeUint64(data, pos, binlogPos) // nolint
+ pos = writeUint32(data, pos, uint32(len(gtidSet))) // nolint
+ pos += copy(data[pos:], gtidSet) // nolint
if err := c.writeEphemeralPacket(); err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerGone, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerGone, sqlerror.SSUnknownSQLState, "%v", err)
}
return nil
}
@@ -113,7 +113,7 @@ func (c *Conn) SendSemiSyncAck(binlogFilename string, binlogPos uint64) error {
pos = writeUint64(data, pos, binlogPos)
_ = writeEOFString(data, pos, binlogFilename)
if err := c.writeEphemeralPacket(); err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerGone, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerGone, sqlerror.SSUnknownSQLState, "%v", err)
}
return nil
@@ -135,7 +135,7 @@ func (c *Conn) WriteBinlogEvent(ev BinlogEvent, semiSyncEnabled bool) error {
}
_ = writeEOFString(data, pos, string(ev.Bytes()))
if err := c.writeEphemeralPacket(); err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerGone, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerGone, sqlerror.SSUnknownSQLState, "%v", err)
}
return nil
}
diff --git a/go/mysql/replication/mysql56_gtid.go b/go/mysql/replication/mysql56_gtid.go
index dd23fb2092b..dd55caf1949 100644
--- a/go/mysql/replication/mysql56_gtid.go
+++ b/go/mysql/replication/mysql56_gtid.go
@@ -153,11 +153,11 @@ func DecodePositionMySQL56(s string) (rp Position, gtidSet Mysql56GTIDSet, err e
return rp, nil, err
}
if !rp.MatchesFlavor(Mysql56FlavorID) {
- return rp, nil, vterrors.Wrapf(ErrExpectMysql56Flavor, s)
+ return rp, nil, vterrors.Wrap(ErrExpectMysql56Flavor, s)
}
gtidSet, ok = rp.GTIDSet.(Mysql56GTIDSet)
if !ok {
- return rp, nil, vterrors.Wrapf(ErrExpectMysql56Flavor, s)
+ return rp, nil, vterrors.Wrap(ErrExpectMysql56Flavor, s)
}
return rp, gtidSet, nil
}
diff --git a/go/mysql/replication/mysql56_gtid_set.go b/go/mysql/replication/mysql56_gtid_set.go
index 1d46176b19a..348af5b5274 100644
--- a/go/mysql/replication/mysql56_gtid_set.go
+++ b/go/mysql/replication/mysql56_gtid_set.go
@@ -619,7 +619,7 @@ func NewMysql56GTIDSetFromSIDBlock(data []byte) (Mysql56GTIDSet, error) {
if err := binary.Read(buf, binary.LittleEndian, &nSIDs); err != nil {
return nil, vterrors.Wrapf(err, "cannot read nSIDs")
}
- for i := uint64(0); i < nSIDs; i++ {
+ for i := range uint64(nSIDs) {
var sid SID
if c, err := buf.Read(sid[:]); err != nil || c != 16 {
return nil, vterrors.Errorf(vtrpc.Code_INTERNAL, "cannot read SID %v: %v %v", i, err, c)
diff --git a/go/mysql/replication/replication_status.go b/go/mysql/replication/replication_status.go
index 9b7d674f2a9..751eccb6633 100644
--- a/go/mysql/replication/replication_status.go
+++ b/go/mysql/replication/replication_status.go
@@ -201,6 +201,14 @@ func (s *ReplicationStatus) FindErrantGTIDs(otherReplicaStatuses []*ReplicationS
otherSets = append(otherSets, otherSet)
}
+ if len(otherSets) == 1 {
+ // If there is only one replica to compare against, and one is a subset of the other, then we consider them not to be errant.
+ // It simply means that one replica might be behind on replication.
+ if relayLogSet.Contains(otherSets[0]) || otherSets[0].Contains(relayLogSet) {
+ return nil, nil
+ }
+ }
+
// Copy set for final diffSet so we don't mutate receiver.
diffSet := make(Mysql56GTIDSet, len(relayLogSet))
for sid, intervals := range relayLogSet {
diff --git a/go/mysql/replication/replication_status_test.go b/go/mysql/replication/replication_status_test.go
index 25ff48dcd9c..659da9f9273 100644
--- a/go/mysql/replication/replication_status_test.go
+++ b/go/mysql/replication/replication_status_test.go
@@ -105,6 +105,16 @@ func TestFindErrantGTIDs(t *testing.T) {
otherRepStatuses: []*ReplicationStatus{{SourceUUID: sid1, RelayLogPosition: Position{GTIDSet: set1}}},
// servers with the same GTID sets should not be diagnosed with errant GTIDs
want: nil,
+ }, {
+ mainRepStatus: &ReplicationStatus{SourceUUID: sourceSID, RelayLogPosition: Position{GTIDSet: set2}},
+ otherRepStatuses: []*ReplicationStatus{{SourceUUID: sid1, RelayLogPosition: Position{GTIDSet: set3}}},
+ // set2 is a strict subset of set3
+ want: nil,
+ }, {
+ mainRepStatus: &ReplicationStatus{SourceUUID: sourceSID, RelayLogPosition: Position{GTIDSet: set3}},
+ otherRepStatuses: []*ReplicationStatus{{SourceUUID: sid1, RelayLogPosition: Position{GTIDSet: set2}}},
+ // set3 is a strict superset of set2
+ want: nil,
}}
for _, testcase := range testcases {
diff --git a/go/mysql/sqlerror/constants.go b/go/mysql/sqlerror/constants.go
index 15c590b92a8..a61239ce17b 100644
--- a/go/mysql/sqlerror/constants.go
+++ b/go/mysql/sqlerror/constants.go
@@ -255,27 +255,32 @@ const (
ERJSONValueTooBig = ErrorCode(3150)
ERJSONDocumentTooDeep = ErrorCode(3157)
- ERLockNowait = ErrorCode(3572)
- ERRegexpStringNotTerminated = ErrorCode(3684)
- ERRegexpBufferOverflow = ErrorCode(3684)
- ERRegexpIllegalArgument = ErrorCode(3685)
- ERRegexpIndexOutOfBounds = ErrorCode(3686)
- ERRegexpInternal = ErrorCode(3687)
- ERRegexpRuleSyntax = ErrorCode(3688)
- ERRegexpBadEscapeSequence = ErrorCode(3689)
- ERRegexpUnimplemented = ErrorCode(3690)
- ERRegexpMismatchParen = ErrorCode(3691)
- ERRegexpBadInterval = ErrorCode(3692)
- ERRRegexpMaxLtMin = ErrorCode(3693)
- ERRegexpInvalidBackRef = ErrorCode(3694)
- ERRegexpLookBehindLimit = ErrorCode(3695)
- ERRegexpMissingCloseBracket = ErrorCode(3696)
- ERRegexpInvalidRange = ErrorCode(3697)
- ERRegexpStackOverflow = ErrorCode(3698)
- ERRegexpTimeOut = ErrorCode(3699)
- ERRegexpPatternTooBig = ErrorCode(3700)
- ERRegexpInvalidCaptureGroup = ErrorCode(3887)
- ERRegexpInvalidFlag = ErrorCode(3900)
+ ERLockNowait = ErrorCode(3572)
+ ERCTERecursiveRequiresUnion = ErrorCode(3573)
+ ERCTERecursiveForbidsAggregation = ErrorCode(3575)
+ ERCTERecursiveForbiddenJoinOrder = ErrorCode(3576)
+ ERCTERecursiveRequiresSingleReference = ErrorCode(3577)
+ ERCTEMaxRecursionDepth = ErrorCode(3636)
+ ERRegexpStringNotTerminated = ErrorCode(3684)
+ ERRegexpBufferOverflow = ErrorCode(3684)
+ ERRegexpIllegalArgument = ErrorCode(3685)
+ ERRegexpIndexOutOfBounds = ErrorCode(3686)
+ ERRegexpInternal = ErrorCode(3687)
+ ERRegexpRuleSyntax = ErrorCode(3688)
+ ERRegexpBadEscapeSequence = ErrorCode(3689)
+ ERRegexpUnimplemented = ErrorCode(3690)
+ ERRegexpMismatchParen = ErrorCode(3691)
+ ERRegexpBadInterval = ErrorCode(3692)
+ ERRRegexpMaxLtMin = ErrorCode(3693)
+ ERRegexpInvalidBackRef = ErrorCode(3694)
+ ERRegexpLookBehindLimit = ErrorCode(3695)
+ ERRegexpMissingCloseBracket = ErrorCode(3696)
+ ERRegexpInvalidRange = ErrorCode(3697)
+ ERRegexpStackOverflow = ErrorCode(3698)
+ ERRegexpTimeOut = ErrorCode(3699)
+ ERRegexpPatternTooBig = ErrorCode(3700)
+ ERRegexpInvalidCaptureGroup = ErrorCode(3887)
+ ERRegexpInvalidFlag = ErrorCode(3900)
ERCharacterSetMismatch = ErrorCode(3995)
diff --git a/go/mysql/sqlerror/sql_error.go b/go/mysql/sqlerror/sql_error.go
index eaa49c2c537..f2a5fb46388 100644
--- a/go/mysql/sqlerror/sql_error.go
+++ b/go/mysql/sqlerror/sql_error.go
@@ -38,14 +38,18 @@ type SQLError struct {
// NewSQLError creates a new SQLError.
// If sqlState is left empty, it will default to "HY000" (general error).
// TODO: Should be aligned with vterrors, stack traces and wrapping
-func NewSQLError(number ErrorCode, sqlState string, format string, args ...any) *SQLError {
+func NewSQLErrorf(number ErrorCode, sqlState string, format string, args ...any) *SQLError {
+ return NewSQLError(number, sqlState, fmt.Sprintf(format, args...))
+}
+
+func NewSQLError(number ErrorCode, sqlState string, msg string) *SQLError {
if sqlState == "" {
sqlState = SSUnknownSQLState
}
return &SQLError{
Num: number,
State: sqlState,
- Message: fmt.Sprintf(format, args...),
+ Message: msg,
}
}
@@ -172,80 +176,85 @@ type mysqlCode struct {
}
var stateToMysqlCode = map[vterrors.State]mysqlCode{
- vterrors.Undefined: {num: ERUnknownError, state: SSUnknownSQLState},
- vterrors.AccessDeniedError: {num: ERAccessDeniedError, state: SSAccessDeniedError},
- vterrors.BadDb: {num: ERBadDb, state: SSClientError},
- vterrors.BadFieldError: {num: ERBadFieldError, state: SSBadFieldError},
- vterrors.BadTableError: {num: ERBadTable, state: SSUnknownTable},
- vterrors.CantUseOptionHere: {num: ERCantUseOptionHere, state: SSClientError},
- vterrors.DataOutOfRange: {num: ERDataOutOfRange, state: SSDataOutOfRange},
- vterrors.DbCreateExists: {num: ERDbCreateExists, state: SSUnknownSQLState},
- vterrors.DbDropExists: {num: ERDbDropExists, state: SSUnknownSQLState},
- vterrors.DupFieldName: {num: ERDupFieldName, state: SSDupFieldName},
- vterrors.EmptyQuery: {num: EREmptyQuery, state: SSClientError},
- vterrors.IncorrectGlobalLocalVar: {num: ERIncorrectGlobalLocalVar, state: SSUnknownSQLState},
- vterrors.InnodbReadOnly: {num: ERInnodbReadOnly, state: SSUnknownSQLState},
- vterrors.LockOrActiveTransaction: {num: ERLockOrActiveTransaction, state: SSUnknownSQLState},
- vterrors.NoDB: {num: ERNoDb, state: SSNoDB},
- vterrors.NoSuchTable: {num: ERNoSuchTable, state: SSUnknownTable},
- vterrors.NotSupportedYet: {num: ERNotSupportedYet, state: SSClientError},
- vterrors.ForbidSchemaChange: {num: ERForbidSchemaChange, state: SSUnknownSQLState},
- vterrors.MixOfGroupFuncAndFields: {num: ERMixOfGroupFuncAndFields, state: SSClientError},
- vterrors.NetPacketTooLarge: {num: ERNetPacketTooLarge, state: SSNetError},
- vterrors.NonUniqError: {num: ERNonUniq, state: SSConstraintViolation},
- vterrors.NonUniqTable: {num: ERNonUniqTable, state: SSClientError},
- vterrors.NonUpdateableTable: {num: ERNonUpdateableTable, state: SSUnknownSQLState},
- vterrors.QueryInterrupted: {num: ERQueryInterrupted, state: SSQueryInterrupted},
- vterrors.SPDoesNotExist: {num: ERSPDoesNotExist, state: SSClientError},
- vterrors.SyntaxError: {num: ERSyntaxError, state: SSClientError},
- vterrors.UnsupportedPS: {num: ERUnsupportedPS, state: SSUnknownSQLState},
- vterrors.UnknownSystemVariable: {num: ERUnknownSystemVariable, state: SSUnknownSQLState},
- vterrors.UnknownTable: {num: ERUnknownTable, state: SSUnknownTable},
- vterrors.WrongGroupField: {num: ERWrongGroupField, state: SSClientError},
- vterrors.WrongNumberOfColumnsInSelect: {num: ERWrongNumberOfColumnsInSelect, state: SSWrongNumberOfColumns},
- vterrors.WrongTypeForVar: {num: ERWrongTypeForVar, state: SSClientError},
- vterrors.WrongValueForVar: {num: ERWrongValueForVar, state: SSClientError},
- vterrors.WrongValue: {num: ERWrongValue, state: SSUnknownSQLState},
- vterrors.WrongFieldWithGroup: {num: ERWrongFieldWithGroup, state: SSClientError},
- vterrors.ServerNotAvailable: {num: ERServerIsntAvailable, state: SSNetError},
- vterrors.CantDoThisInTransaction: {num: ERCantDoThisDuringAnTransaction, state: SSCantDoThisDuringAnTransaction},
- vterrors.RequiresPrimaryKey: {num: ERRequiresPrimaryKey, state: SSClientError},
- vterrors.RowIsReferenced2: {num: ERRowIsReferenced2, state: SSConstraintViolation},
- vterrors.NoReferencedRow2: {num: ErNoReferencedRow2, state: SSConstraintViolation},
- vterrors.NoSuchSession: {num: ERUnknownComError, state: SSNetError},
- vterrors.OperandColumns: {num: EROperandColumns, state: SSWrongNumberOfColumns},
- vterrors.WrongValueCountOnRow: {num: ERWrongValueCountOnRow, state: SSWrongValueCountOnRow},
- vterrors.WrongArguments: {num: ERWrongArguments, state: SSUnknownSQLState},
- vterrors.ViewWrongList: {num: ERViewWrongList, state: SSUnknownSQLState},
- vterrors.UnknownStmtHandler: {num: ERUnknownStmtHandler, state: SSUnknownSQLState},
- vterrors.KeyDoesNotExist: {num: ERKeyDoesNotExist, state: SSClientError},
- vterrors.UnknownTimeZone: {num: ERUnknownTimeZone, state: SSUnknownSQLState},
- vterrors.RegexpStringNotTerminated: {num: ERRegexpStringNotTerminated, state: SSUnknownSQLState},
- vterrors.RegexpBufferOverflow: {num: ERRegexpBufferOverflow, state: SSUnknownSQLState},
- vterrors.RegexpIllegalArgument: {num: ERRegexpIllegalArgument, state: SSUnknownSQLState},
- vterrors.RegexpIndexOutOfBounds: {num: ERRegexpIndexOutOfBounds, state: SSUnknownSQLState},
- vterrors.RegexpInternal: {num: ERRegexpInternal, state: SSUnknownSQLState},
- vterrors.RegexpRuleSyntax: {num: ERRegexpRuleSyntax, state: SSUnknownSQLState},
- vterrors.RegexpBadEscapeSequence: {num: ERRegexpBadEscapeSequence, state: SSUnknownSQLState},
- vterrors.RegexpUnimplemented: {num: ERRegexpUnimplemented, state: SSUnknownSQLState},
- vterrors.RegexpMismatchParen: {num: ERRegexpMismatchParen, state: SSUnknownSQLState},
- vterrors.RegexpBadInterval: {num: ERRegexpBadInterval, state: SSUnknownSQLState},
- vterrors.RegexpMaxLtMin: {num: ERRRegexpMaxLtMin, state: SSUnknownSQLState},
- vterrors.RegexpInvalidBackRef: {num: ERRegexpInvalidBackRef, state: SSUnknownSQLState},
- vterrors.RegexpLookBehindLimit: {num: ERRegexpLookBehindLimit, state: SSUnknownSQLState},
- vterrors.RegexpMissingCloseBracket: {num: ERRegexpMissingCloseBracket, state: SSUnknownSQLState},
- vterrors.RegexpInvalidRange: {num: ERRegexpInvalidRange, state: SSUnknownSQLState},
- vterrors.RegexpStackOverflow: {num: ERRegexpStackOverflow, state: SSUnknownSQLState},
- vterrors.RegexpTimeOut: {num: ERRegexpTimeOut, state: SSUnknownSQLState},
- vterrors.RegexpPatternTooBig: {num: ERRegexpPatternTooBig, state: SSUnknownSQLState},
- vterrors.RegexpInvalidFlag: {num: ERRegexpInvalidFlag, state: SSUnknownSQLState},
- vterrors.RegexpInvalidCaptureGroup: {num: ERRegexpInvalidCaptureGroup, state: SSUnknownSQLState},
- vterrors.CharacterSetMismatch: {num: ERCharacterSetMismatch, state: SSUnknownSQLState},
- vterrors.WrongParametersToNativeFct: {num: ERWrongParametersToNativeFct, state: SSUnknownSQLState},
- vterrors.KillDeniedError: {num: ERKillDenied, state: SSUnknownSQLState},
- vterrors.BadNullError: {num: ERBadNullError, state: SSConstraintViolation},
- vterrors.InvalidGroupFuncUse: {num: ERInvalidGroupFuncUse, state: SSUnknownSQLState},
- vterrors.VectorConversion: {num: ERVectorConversion, state: SSUnknownSQLState},
+ vterrors.Undefined: {num: ERUnknownError, state: SSUnknownSQLState},
+ vterrors.AccessDeniedError: {num: ERAccessDeniedError, state: SSAccessDeniedError},
+ vterrors.BadDb: {num: ERBadDb, state: SSClientError},
+ vterrors.BadFieldError: {num: ERBadFieldError, state: SSBadFieldError},
+ vterrors.BadTableError: {num: ERBadTable, state: SSUnknownTable},
+ vterrors.CantUseOptionHere: {num: ERCantUseOptionHere, state: SSClientError},
+ vterrors.DataOutOfRange: {num: ERDataOutOfRange, state: SSDataOutOfRange},
+ vterrors.DbCreateExists: {num: ERDbCreateExists, state: SSUnknownSQLState},
+ vterrors.DbDropExists: {num: ERDbDropExists, state: SSUnknownSQLState},
+ vterrors.DupFieldName: {num: ERDupFieldName, state: SSDupFieldName},
+ vterrors.EmptyQuery: {num: EREmptyQuery, state: SSClientError},
+ vterrors.IncorrectGlobalLocalVar: {num: ERIncorrectGlobalLocalVar, state: SSUnknownSQLState},
+ vterrors.InnodbReadOnly: {num: ERInnodbReadOnly, state: SSUnknownSQLState},
+ vterrors.LockOrActiveTransaction: {num: ERLockOrActiveTransaction, state: SSUnknownSQLState},
+ vterrors.NoDB: {num: ERNoDb, state: SSNoDB},
+ vterrors.NoSuchTable: {num: ERNoSuchTable, state: SSUnknownTable},
+ vterrors.NotSupportedYet: {num: ERNotSupportedYet, state: SSClientError},
+ vterrors.ForbidSchemaChange: {num: ERForbidSchemaChange, state: SSUnknownSQLState},
+ vterrors.MixOfGroupFuncAndFields: {num: ERMixOfGroupFuncAndFields, state: SSClientError},
+ vterrors.NetPacketTooLarge: {num: ERNetPacketTooLarge, state: SSNetError},
+ vterrors.NonUniqError: {num: ERNonUniq, state: SSConstraintViolation},
+ vterrors.NonUniqTable: {num: ERNonUniqTable, state: SSClientError},
+ vterrors.NonUpdateableTable: {num: ERNonUpdateableTable, state: SSUnknownSQLState},
+ vterrors.QueryInterrupted: {num: ERQueryInterrupted, state: SSQueryInterrupted},
+ vterrors.SPDoesNotExist: {num: ERSPDoesNotExist, state: SSClientError},
+ vterrors.SyntaxError: {num: ERSyntaxError, state: SSClientError},
+ vterrors.UnsupportedPS: {num: ERUnsupportedPS, state: SSUnknownSQLState},
+ vterrors.UnknownSystemVariable: {num: ERUnknownSystemVariable, state: SSUnknownSQLState},
+ vterrors.UnknownTable: {num: ERUnknownTable, state: SSUnknownTable},
+ vterrors.WrongGroupField: {num: ERWrongGroupField, state: SSClientError},
+ vterrors.WrongNumberOfColumnsInSelect: {num: ERWrongNumberOfColumnsInSelect, state: SSWrongNumberOfColumns},
+ vterrors.WrongTypeForVar: {num: ERWrongTypeForVar, state: SSClientError},
+ vterrors.WrongValueForVar: {num: ERWrongValueForVar, state: SSClientError},
+ vterrors.WrongValue: {num: ERWrongValue, state: SSUnknownSQLState},
+ vterrors.WrongFieldWithGroup: {num: ERWrongFieldWithGroup, state: SSClientError},
+ vterrors.ServerNotAvailable: {num: ERServerIsntAvailable, state: SSNetError},
+ vterrors.CantDoThisInTransaction: {num: ERCantDoThisDuringAnTransaction, state: SSCantDoThisDuringAnTransaction},
+ vterrors.RequiresPrimaryKey: {num: ERRequiresPrimaryKey, state: SSClientError},
+ vterrors.RowIsReferenced2: {num: ERRowIsReferenced2, state: SSConstraintViolation},
+ vterrors.NoReferencedRow2: {num: ErNoReferencedRow2, state: SSConstraintViolation},
+ vterrors.NoSuchSession: {num: ERUnknownComError, state: SSNetError},
+ vterrors.OperandColumns: {num: EROperandColumns, state: SSWrongNumberOfColumns},
+ vterrors.WrongValueCountOnRow: {num: ERWrongValueCountOnRow, state: SSWrongValueCountOnRow},
+ vterrors.WrongArguments: {num: ERWrongArguments, state: SSUnknownSQLState},
+ vterrors.ViewWrongList: {num: ERViewWrongList, state: SSUnknownSQLState},
+ vterrors.UnknownStmtHandler: {num: ERUnknownStmtHandler, state: SSUnknownSQLState},
+ vterrors.KeyDoesNotExist: {num: ERKeyDoesNotExist, state: SSClientError},
+ vterrors.UnknownTimeZone: {num: ERUnknownTimeZone, state: SSUnknownSQLState},
+ vterrors.RegexpStringNotTerminated: {num: ERRegexpStringNotTerminated, state: SSUnknownSQLState},
+ vterrors.RegexpBufferOverflow: {num: ERRegexpBufferOverflow, state: SSUnknownSQLState},
+ vterrors.RegexpIllegalArgument: {num: ERRegexpIllegalArgument, state: SSUnknownSQLState},
+ vterrors.RegexpIndexOutOfBounds: {num: ERRegexpIndexOutOfBounds, state: SSUnknownSQLState},
+ vterrors.RegexpInternal: {num: ERRegexpInternal, state: SSUnknownSQLState},
+ vterrors.RegexpRuleSyntax: {num: ERRegexpRuleSyntax, state: SSUnknownSQLState},
+ vterrors.RegexpBadEscapeSequence: {num: ERRegexpBadEscapeSequence, state: SSUnknownSQLState},
+ vterrors.RegexpUnimplemented: {num: ERRegexpUnimplemented, state: SSUnknownSQLState},
+ vterrors.RegexpMismatchParen: {num: ERRegexpMismatchParen, state: SSUnknownSQLState},
+ vterrors.RegexpBadInterval: {num: ERRegexpBadInterval, state: SSUnknownSQLState},
+ vterrors.RegexpMaxLtMin: {num: ERRRegexpMaxLtMin, state: SSUnknownSQLState},
+ vterrors.RegexpInvalidBackRef: {num: ERRegexpInvalidBackRef, state: SSUnknownSQLState},
+ vterrors.RegexpLookBehindLimit: {num: ERRegexpLookBehindLimit, state: SSUnknownSQLState},
+ vterrors.RegexpMissingCloseBracket: {num: ERRegexpMissingCloseBracket, state: SSUnknownSQLState},
+ vterrors.RegexpInvalidRange: {num: ERRegexpInvalidRange, state: SSUnknownSQLState},
+ vterrors.RegexpStackOverflow: {num: ERRegexpStackOverflow, state: SSUnknownSQLState},
+ vterrors.RegexpTimeOut: {num: ERRegexpTimeOut, state: SSUnknownSQLState},
+ vterrors.RegexpPatternTooBig: {num: ERRegexpPatternTooBig, state: SSUnknownSQLState},
+ vterrors.RegexpInvalidFlag: {num: ERRegexpInvalidFlag, state: SSUnknownSQLState},
+ vterrors.RegexpInvalidCaptureGroup: {num: ERRegexpInvalidCaptureGroup, state: SSUnknownSQLState},
+ vterrors.CharacterSetMismatch: {num: ERCharacterSetMismatch, state: SSUnknownSQLState},
+ vterrors.WrongParametersToNativeFct: {num: ERWrongParametersToNativeFct, state: SSUnknownSQLState},
+ vterrors.KillDeniedError: {num: ERKillDenied, state: SSUnknownSQLState},
+ vterrors.BadNullError: {num: ERBadNullError, state: SSConstraintViolation},
+ vterrors.InvalidGroupFuncUse: {num: ERInvalidGroupFuncUse, state: SSUnknownSQLState},
+ vterrors.VectorConversion: {num: ERVectorConversion, state: SSUnknownSQLState},
+ vterrors.CTERecursiveRequiresSingleReference: {num: ERCTERecursiveRequiresSingleReference, state: SSUnknownSQLState},
+ vterrors.CTERecursiveRequiresUnion: {num: ERCTERecursiveRequiresUnion, state: SSUnknownSQLState},
+ vterrors.CTERecursiveForbidsAggregation: {num: ERCTERecursiveForbidsAggregation, state: SSUnknownSQLState},
+ vterrors.CTERecursiveForbiddenJoinOrder: {num: ERCTERecursiveForbiddenJoinOrder, state: SSUnknownSQLState},
+ vterrors.CTEMaxRecursionDepth: {num: ERCTEMaxRecursionDepth, state: SSUnknownSQLState},
}
func getStateToMySQLState(state vterrors.State) mysqlCode {
@@ -285,7 +294,7 @@ func convertToMysqlError(err error) error {
if !ok {
return err
}
- return NewSQLError(mysqlCode.num, mysqlCode.state, err.Error())
+ return NewSQLError(mysqlCode.num, mysqlCode.state, err.Error()) //nolint:govet
}
var isGRPCOverflowRE = regexp.MustCompile(`.*?grpc: (received|trying to send) message larger than max \(\d+ vs. \d+\)`)
diff --git a/go/mysql/streaming_query.go b/go/mysql/streaming_query.go
index 3d0d9ef49e8..95b4e293601 100644
--- a/go/mysql/streaming_query.go
+++ b/go/mysql/streaming_query.go
@@ -78,7 +78,7 @@ func (c *Conn) ExecuteStreamFetch(query string) (err error) {
// EOF is only present here if it's not deprecated.
data, err := c.readEphemeralPacket()
if err != nil {
- return sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
+ return sqlerror.NewSQLErrorf(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "%v", err)
}
defer c.recycleReadPacket()
if c.isEOFPacket(data) {
@@ -88,7 +88,7 @@ func (c *Conn) ExecuteStreamFetch(query string) (err error) {
} else if isErrorPacket(data) {
return ParseErrorPacket(data)
} else {
- return sqlerror.NewSQLError(sqlerror.CRCommandsOutOfSync, sqlerror.SSUnknownSQLState, "unexpected packet after fields: %v", data)
+ return sqlerror.NewSQLErrorf(sqlerror.CRCommandsOutOfSync, sqlerror.SSUnknownSQLState, "unexpected packet after fields: %v", data)
}
}
diff --git a/go/mysql/vault/auth_server_vault.go b/go/mysql/vault/auth_server_vault.go
index d2bc2548817..1f86d84ac40 100644
--- a/go/mysql/vault/auth_server_vault.go
+++ b/go/mysql/vault/auth_server_vault.go
@@ -159,14 +159,14 @@ func (a *AuthServerVault) UserEntryWithHash(conn *mysql.Conn, salt []byte, user
a.mu.Unlock()
if !ok {
- return &mysql.StaticUserData{}, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return &mysql.StaticUserData{}, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
for _, entry := range userEntries {
if entry.MysqlNativePassword != "" {
hash, err := mysql.DecodeMysqlNativePasswordHex(entry.MysqlNativePassword)
if err != nil {
- return &mysql.StaticUserData{Username: entry.UserData, Groups: entry.Groups}, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return &mysql.StaticUserData{Username: entry.UserData, Groups: entry.Groups}, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
isPass := mysql.VerifyHashedMysqlNativePassword(authResponse, salt, hash)
if mysql.MatchSourceHost(remoteAddr, entry.SourceHost) && isPass {
@@ -180,7 +180,7 @@ func (a *AuthServerVault) UserEntryWithHash(conn *mysql.Conn, salt []byte, user
}
}
}
- return &mysql.StaticUserData{}, sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
+ return &mysql.StaticUserData{}, sqlerror.NewSQLErrorf(sqlerror.ERAccessDeniedError, sqlerror.SSAccessDeniedError, "Access denied for user '%v'", user)
}
func (a *AuthServerVault) setTTLTicker(ttl time.Duration) {
diff --git a/go/sqltypes/cached_size.go b/go/sqltypes/cached_size.go
index 2a488f8450e..632c8249455 100644
--- a/go/sqltypes/cached_size.go
+++ b/go/sqltypes/cached_size.go
@@ -34,17 +34,9 @@ func (cached *Result) CachedSize(alloc bool) int64 {
size += elem.CachedSize(true)
}
}
- // field Rows [][]vitess.io/vitess/go/sqltypes.Value
+ // field Rows []vitess.io/vitess/go/sqltypes.Row
{
size += hack.RuntimeAllocSize(int64(cap(cached.Rows)) * int64(24))
- for _, elem := range cached.Rows {
- {
- size += hack.RuntimeAllocSize(int64(cap(elem)) * int64(32))
- for _, elem := range elem {
- size += elem.CachedSize(false)
- }
- }
- }
}
// field SessionStateChanges string
size += hack.RuntimeAllocSize(int64(len(cached.SessionStateChanges)))
diff --git a/go/test/endtoend/backup/pitr_mysqlshell/backup_pitr_mysqlshell_test.go b/go/test/endtoend/backup/pitr_mysqlshell/backup_pitr_mysqlshell_test.go
new file mode 100644
index 00000000000..fe6fa0b7dcd
--- /dev/null
+++ b/go/test/endtoend/backup/pitr_mysqlshell/backup_pitr_mysqlshell_test.go
@@ -0,0 +1,61 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package mysqlctld
+
+import (
+ "testing"
+
+ backup "vitess.io/vitess/go/test/endtoend/backup/vtctlbackup"
+)
+
+// TestIncrementalBackupAndRestoreToPos
+func TestIncrementalBackupAndRestoreToPos(t *testing.T) {
+ tcase := &backup.PITRTestCase{
+ Name: "MySQLShell",
+ SetupType: backup.MySQLShell,
+ ComprssDetails: &backup.CompressionDetails{
+ CompressorEngineName: "pgzip",
+ },
+ }
+ backup.ExecTestIncrementalBackupAndRestoreToPos(t, tcase)
+}
+
+// TestIncrementalBackupAndRestoreToTimestamp - tests incremental backups and restores.
+// The general outline of the test:
+// - Generate some schema with data
+// - Take a full backup
+// - Proceed to take a series of inremental backups. In between, inject data (insert rows), and keep record
+// of which data (number of rows) is present in each backup, and at which timestamp.
+// - Expect backups success/failure per scenario
+// - Next up, we start testing restores. Randomly pick recorded timestamps and restore to those points in time.
+// - In each restore, excpect to find the data (number of rows) recorded for said timestamp
+// - Some restores should fail because the timestamp exceeds the last binlog
+// - Do so for all recorded tiemstamps.
+// - Then, a 2nd round where some backups are purged -- this tests to see that we're still able to find a restore path
+// (of course we only delete backups that still leave us with valid restore paths).
+//
+// All of the above is done for BuiltinBackup, XtraBackup, Mysqlctld (which is technically builtin)
+func TestIncrementalBackupAndRestoreToTimestamp(t *testing.T) {
+ tcase := &backup.PITRTestCase{
+ Name: "MySQLShell",
+ SetupType: backup.MySQLShell,
+ ComprssDetails: &backup.CompressionDetails{
+ CompressorEngineName: "pgzip",
+ },
+ }
+ backup.ExecTestIncrementalBackupAndRestoreToTimestamp(t, tcase)
+}
diff --git a/go/test/endtoend/backup/vtctlbackup/backup_utils.go b/go/test/endtoend/backup/vtctlbackup/backup_utils.go
index 3a0150cc87c..647eda078d1 100644
--- a/go/test/endtoend/backup/vtctlbackup/backup_utils.go
+++ b/go/test/endtoend/backup/vtctlbackup/backup_utils.go
@@ -54,19 +54,20 @@ const (
XtraBackup = iota
BuiltinBackup
Mysqlctld
+ MySQLShell
timeout = time.Duration(60 * time.Second)
topoConsistencyTimeout = 20 * time.Second
)
var (
- primary *cluster.Vttablet
- replica1 *cluster.Vttablet
- replica2 *cluster.Vttablet
- replica3 *cluster.Vttablet
- localCluster *cluster.LocalProcessCluster
- newInitDBFile string
- useXtrabackup bool
- cell = cluster.DefaultCell
+ primary *cluster.Vttablet
+ replica1 *cluster.Vttablet
+ replica2 *cluster.Vttablet
+ replica3 *cluster.Vttablet
+ localCluster *cluster.LocalProcessCluster
+ newInitDBFile string
+ currentSetupType int
+ cell = cluster.DefaultCell
hostname = "localhost"
keyspaceName = "ks"
@@ -103,6 +104,7 @@ type CompressionDetails struct {
// LaunchCluster : starts the cluster as per given params.
func LaunchCluster(setupType int, streamMode string, stripes int, cDetails *CompressionDetails) (int, error) {
+ currentSetupType = setupType
localCluster = cluster.NewCluster(cell, hostname)
// Start topo server
@@ -144,10 +146,9 @@ func LaunchCluster(setupType int, streamMode string, stripes int, cDetails *Comp
extraArgs := []string{"--db-credentials-file", dbCredentialFile}
commonTabletArg = append(commonTabletArg, "--db-credentials-file", dbCredentialFile)
- // Update arguments for xtrabackup
- if setupType == XtraBackup {
- useXtrabackup = true
-
+ // Update arguments for different backup engines
+ switch setupType {
+ case XtraBackup:
xtrabackupArgs := []string{
"--backup_engine_implementation", "xtrabackup",
fmt.Sprintf("--xtrabackup_stream_mode=%s", streamMode),
@@ -162,6 +163,18 @@ func LaunchCluster(setupType int, streamMode string, stripes int, cDetails *Comp
}
commonTabletArg = append(commonTabletArg, xtrabackupArgs...)
+ case MySQLShell:
+ mysqlShellBackupLocation := path.Join(localCluster.CurrentVTDATAROOT, "backups-mysqlshell")
+ err = os.MkdirAll(mysqlShellBackupLocation, 0o777)
+ if err != nil {
+ return 0, err
+ }
+
+ mysqlShellArgs := []string{
+ "--backup_engine_implementation", "mysqlshell",
+ "--mysql-shell-backup-location", mysqlShellBackupLocation,
+ }
+ commonTabletArg = append(commonTabletArg, mysqlShellArgs...)
}
commonTabletArg = append(commonTabletArg, getCompressorArgs(cDetails)...)
@@ -178,9 +191,19 @@ func LaunchCluster(setupType int, streamMode string, stripes int, cDetails *Comp
tablet := localCluster.NewVttabletInstance(tabletType, 0, cell)
tablet.VttabletProcess = localCluster.VtprocessInstanceFromVttablet(tablet, shard.Name, keyspaceName)
tablet.VttabletProcess.DbPassword = dbPassword
- tablet.VttabletProcess.ExtraArgs = commonTabletArg
tablet.VttabletProcess.SupportsBackup = true
+ // since we spin different mysqld processes, we need to pass exactly the socket of the this particular
+ // one when running mysql shell dump/loads
+ if setupType == MySQLShell {
+ commonTabletArg = append(commonTabletArg,
+ "--mysql-shell-flags", fmt.Sprintf("--js -u vt_dba -p%s -S %s", dbPassword,
+ path.Join(os.Getenv("VTDATAROOT"), fmt.Sprintf("/vt_%010d", tablet.TabletUID), "mysql.sock"),
+ ),
+ )
+ }
+ tablet.VttabletProcess.ExtraArgs = commonTabletArg
+
if setupType == Mysqlctld {
mysqlctldProcess, err := cluster.MysqlCtldProcessInstance(tablet.TabletUID, tablet.MySQLPort, localCluster.TmpDirectory)
if err != nil {
@@ -1033,12 +1056,8 @@ func verifySemiSyncStatus(t *testing.T, vttablet *cluster.Vttablet, expectedStat
func terminateBackup(t *testing.T, alias string) {
stopBackupMsg := "Completed backing up"
- if useXtrabackup {
+ if currentSetupType == XtraBackup {
stopBackupMsg = "Starting backup with"
- useXtrabackup = false
- defer func() {
- useXtrabackup = true
- }()
}
args := append([]string{"--server", localCluster.VtctldClientProcess.Server, "--alsologtostderr"}, "Backup", alias)
@@ -1067,12 +1086,8 @@ func terminateBackup(t *testing.T, alias string) {
func terminateRestore(t *testing.T) {
stopRestoreMsg := "Copying file 10"
- if useXtrabackup {
+ if currentSetupType == XtraBackup {
stopRestoreMsg = "Restore: Preparing"
- useXtrabackup = false
- defer func() {
- useXtrabackup = true
- }()
}
args := append([]string{"--server", localCluster.VtctldClientProcess.Server, "--alsologtostderr"}, "RestoreFromBackup", primary.Alias)
@@ -1133,6 +1148,17 @@ func GetReplicaGtidPurged(t *testing.T, replicaIndex int) string {
return row.AsString("gtid_purged", "")
}
+func ReconnectReplicaToPrimary(t *testing.T, replicaIndex int) {
+ query := fmt.Sprintf("CHANGE REPLICATION SOURCE TO SOURCE_HOST='localhost', SOURCE_PORT=%d, SOURCE_USER='vt_repl', SOURCE_AUTO_POSITION = 1", primary.MySQLPort)
+ replica := getReplica(t, replicaIndex)
+ _, err := replica.VttabletProcess.QueryTablet("stop replica", keyspaceName, true)
+ require.NoError(t, err)
+ _, err = replica.VttabletProcess.QueryTablet(query, keyspaceName, true)
+ require.NoError(t, err)
+ _, err = replica.VttabletProcess.QueryTablet("start replica", keyspaceName, true)
+ require.NoError(t, err)
+}
+
func InsertRowOnPrimary(t *testing.T, hint string) {
if hint == "" {
hint = textutil.RandomHash()[:12]
@@ -1345,9 +1371,9 @@ func TestReplicaRestoreToTimestamp(t *testing.T, restoreToTimestamp time.Time, e
}
func verifyTabletBackupStats(t *testing.T, vars map[string]any) {
- // Currently only the builtin backup engine instruments bytes-processed
- // counts.
- if !useXtrabackup {
+ switch currentSetupType {
+ // Currently only the builtin backup engine instruments bytes-processed counts.
+ case BuiltinBackup:
require.Contains(t, vars, "BackupBytes")
bb := vars["BackupBytes"].(map[string]any)
require.Contains(t, bb, "BackupEngine.Builtin.Compressor:Write")
@@ -1361,8 +1387,10 @@ func verifyTabletBackupStats(t *testing.T, vars map[string]any) {
require.Contains(t, vars, "BackupCount")
bc := vars["BackupCount"].(map[string]any)
require.Contains(t, bc, "-.-.Backup")
- // Currently only the builtin backup engine implements operation counts.
- if !useXtrabackup {
+
+ switch currentSetupType {
+ // Currently only the builtin backup engine instruments bytes-processed counts.
+ case BuiltinBackup:
require.Contains(t, bc, "BackupEngine.Builtin.Compressor:Close")
require.Contains(t, bc, "BackupEngine.Builtin.Destination:Close")
require.Contains(t, bc, "BackupEngine.Builtin.Destination:Open")
@@ -1373,8 +1401,10 @@ func verifyTabletBackupStats(t *testing.T, vars map[string]any) {
require.Contains(t, vars, "BackupDurationNanoseconds")
bd := vars["BackupDurationNanoseconds"]
require.Contains(t, bd, "-.-.Backup")
+
+ switch currentSetupType {
// Currently only the builtin backup engine emits timings.
- if !useXtrabackup {
+ case BuiltinBackup:
require.Contains(t, bd, "BackupEngine.Builtin.Compressor:Close")
require.Contains(t, bd, "BackupEngine.Builtin.Compressor:Write")
require.Contains(t, bd, "BackupEngine.Builtin.Destination:Close")
@@ -1384,6 +1414,7 @@ func verifyTabletBackupStats(t *testing.T, vars map[string]any) {
require.Contains(t, bd, "BackupEngine.Builtin.Source:Open")
require.Contains(t, bd, "BackupEngine.Builtin.Source:Read")
}
+
if backupstorage.BackupStorageImplementation == "file" {
require.Contains(t, bd, "BackupStorage.File.File:Write")
}
@@ -1408,7 +1439,8 @@ func verifyTabletRestoreStats(t *testing.T, vars map[string]any) {
verifyRestorePositionAndTimeStats(t, vars)
- if !useXtrabackup {
+ switch currentSetupType {
+ case BuiltinBackup:
require.Contains(t, vars, "RestoreBytes")
bb := vars["RestoreBytes"].(map[string]any)
require.Contains(t, bb, "BackupEngine.Builtin.Decompressor:Read")
@@ -1420,8 +1452,10 @@ func verifyTabletRestoreStats(t *testing.T, vars map[string]any) {
require.Contains(t, vars, "RestoreCount")
bc := vars["RestoreCount"].(map[string]any)
require.Contains(t, bc, "-.-.Restore")
+
+ switch currentSetupType {
// Currently only the builtin backup engine emits operation counts.
- if !useXtrabackup {
+ case BuiltinBackup:
require.Contains(t, bc, "BackupEngine.Builtin.Decompressor:Close")
require.Contains(t, bc, "BackupEngine.Builtin.Destination:Close")
require.Contains(t, bc, "BackupEngine.Builtin.Destination:Open")
@@ -1432,8 +1466,10 @@ func verifyTabletRestoreStats(t *testing.T, vars map[string]any) {
require.Contains(t, vars, "RestoreDurationNanoseconds")
bd := vars["RestoreDurationNanoseconds"]
require.Contains(t, bd, "-.-.Restore")
+
+ switch currentSetupType {
// Currently only the builtin backup engine emits timings.
- if !useXtrabackup {
+ case BuiltinBackup:
require.Contains(t, bd, "BackupEngine.Builtin.Decompressor:Close")
require.Contains(t, bd, "BackupEngine.Builtin.Decompressor:Read")
require.Contains(t, bd, "BackupEngine.Builtin.Destination:Close")
@@ -1443,5 +1479,6 @@ func verifyTabletRestoreStats(t *testing.T, vars map[string]any) {
require.Contains(t, bd, "BackupEngine.Builtin.Source:Open")
require.Contains(t, bd, "BackupEngine.Builtin.Source:Read")
}
+
require.Contains(t, bd, "BackupStorage.File.File:Read")
}
diff --git a/go/test/endtoend/backup/vtctlbackup/pitr_test_framework.go b/go/test/endtoend/backup/vtctlbackup/pitr_test_framework.go
index 7f611d81ad6..4c84c3e63bc 100644
--- a/go/test/endtoend/backup/vtctlbackup/pitr_test_framework.go
+++ b/go/test/endtoend/backup/vtctlbackup/pitr_test_framework.go
@@ -68,21 +68,24 @@ type testedBackupTimestampInfo struct {
postTimestamp time.Time
}
-func waitForReplica(t *testing.T, replicaIndex int) {
+// waitForReplica waits for the replica to have same row set as on primary.
+func waitForReplica(t *testing.T, replicaIndex int) int {
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
+ ticker := time.NewTicker(1 * time.Second)
+ defer ticker.Stop()
pMsgs := ReadRowsFromPrimary(t)
for {
rMsgs := ReadRowsFromReplica(t, replicaIndex)
if len(pMsgs) == len(rMsgs) {
// success
- return
+ return len(pMsgs)
}
select {
case <-ctx.Done():
assert.FailNow(t, "timeout waiting for replica to catch up")
- return
- case <-time.After(time.Second):
+ return 0
+ case <-ticker.C:
//
}
}
@@ -289,6 +292,12 @@ func ExecTestIncrementalBackupAndRestoreToPos(t *testing.T, tcase *PITRTestCase)
if sampleTestedBackupPos == "" {
sampleTestedBackupPos = pos
}
+ t.Run("post-pitr, wait for replica to catch up", func(t *testing.T) {
+ // Replica is DRAINED and does not have replication configuration.
+ // We now connect the replica to the primary and validate it's able to catch up.
+ ReconnectReplicaToPrimary(t, 0)
+ waitForReplica(t, 0)
+ })
})
}
}
@@ -539,6 +548,12 @@ func ExecTestIncrementalBackupAndRestoreToTimestamp(t *testing.T, tcase *PITRTes
if sampleTestedBackupIndex < 0 {
sampleTestedBackupIndex = backupIndex
}
+ t.Run("post-pitr, wait for replica to catch up", func(t *testing.T) {
+ // Replica is DRAINED and does not have replication configuration.
+ // We now connect the replica to the primary and validate it's able to catch up.
+ ReconnectReplicaToPrimary(t, 0)
+ waitForReplica(t, 0)
+ })
} else {
numFailedRestores++
}
diff --git a/go/test/endtoend/cluster/move_tables.go b/go/test/endtoend/cluster/move_tables.go
new file mode 100644
index 00000000000..6886a9dbb49
--- /dev/null
+++ b/go/test/endtoend/cluster/move_tables.go
@@ -0,0 +1,101 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package cluster
+
+import (
+ "fmt"
+ "strings"
+ "testing"
+ "time"
+)
+
+// MoveTablesWorkflow is used to store the information needed to run
+// MoveTables commands.
+type MoveTablesWorkflow struct {
+ t *testing.T
+ clusterInstance *LocalProcessCluster
+ workflowName string
+ targetKs string
+ srcKs string
+ tables string
+ tabletTypes []string
+}
+
+// NewMoveTables creates a new MoveTablesWorkflow.
+func NewMoveTables(t *testing.T, clusterInstance *LocalProcessCluster, workflowName, targetKs, srcKs, tables string, tabletTypes []string) *MoveTablesWorkflow {
+ return &MoveTablesWorkflow{
+ t: t,
+ clusterInstance: clusterInstance,
+ workflowName: workflowName,
+ tables: tables,
+ targetKs: targetKs,
+ srcKs: srcKs,
+ tabletTypes: tabletTypes,
+ }
+}
+
+func (mtw *MoveTablesWorkflow) Create() (string, error) {
+ args := []string{"Create", "--source-keyspace=" + mtw.srcKs}
+ if mtw.tables != "" {
+ args = append(args, "--tables="+mtw.tables)
+ } else {
+ args = append(args, "--all-tables")
+ }
+ if len(mtw.tabletTypes) != 0 {
+ args = append(args, "--tablet-types")
+ args = append(args, strings.Join(mtw.tabletTypes, ","))
+ }
+ return mtw.exec(args...)
+}
+
+func (mtw *MoveTablesWorkflow) exec(args ...string) (string, error) {
+ args2 := []string{"MoveTables", "--workflow=" + mtw.workflowName, "--target-keyspace=" + mtw.targetKs}
+ args2 = append(args2, args...)
+ return mtw.clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput(args2...)
+}
+
+func (mtw *MoveTablesWorkflow) SwitchReadsAndWrites() (string, error) {
+ return mtw.exec("SwitchTraffic")
+}
+
+func (mtw *MoveTablesWorkflow) ReverseReadsAndWrites() (string, error) {
+ return mtw.exec("ReverseTraffic")
+}
+
+func (mtw *MoveTablesWorkflow) Cancel() (string, error) {
+ return mtw.exec("Cancel")
+}
+
+func (mtw *MoveTablesWorkflow) Complete() (string, error) {
+ return mtw.exec("Complete")
+}
+
+func (mtw *MoveTablesWorkflow) Show() (string, error) {
+ return mtw.exec("Show")
+}
+
+func (mtw *MoveTablesWorkflow) WaitForVreplCatchup(timeToWait time.Duration) {
+ for _, ks := range mtw.clusterInstance.Keyspaces {
+ if ks.Name != mtw.targetKs {
+ continue
+ }
+ for _, shard := range ks.Shards {
+ vttablet := shard.PrimaryTablet().VttabletProcess
+ vttablet.WaitForVReplicationToCatchup(mtw.t, mtw.workflowName, fmt.Sprintf("vt_%s", vttablet.Keyspace), "", timeToWait)
+ }
+ }
+}
diff --git a/go/test/endtoend/cluster/vttablet_process.go b/go/test/endtoend/cluster/vttablet_process.go
index d4f0e3f1963..6c7a85ec533 100644
--- a/go/test/endtoend/cluster/vttablet_process.go
+++ b/go/test/endtoend/cluster/vttablet_process.go
@@ -611,6 +611,7 @@ func (vttablet *VttabletProcess) getDBSystemValues(placeholder string, value str
// WaitForVReplicationToCatchup waits for "workflow" to finish copying
func (vttablet *VttabletProcess) WaitForVReplicationToCatchup(t testing.TB, workflow, database string, sidecarDBName string, duration time.Duration) {
+ t.Helper()
if sidecarDBName == "" {
sidecarDBName = sidecar.DefaultName
}
@@ -636,7 +637,7 @@ func (vttablet *VttabletProcess) WaitForVReplicationToCatchup(t testing.TB, work
for ind, query := range queries {
waitDuration := 500 * time.Millisecond
for duration > 0 {
- log.Infof("Executing query %s on %s", query, vttablet.Name)
+ log.Infof("Executing query %s on %s", query, vttablet.TabletPath)
lastChecked = time.Now()
qr, err := executeQuery(conn, query)
if err != nil {
diff --git a/go/test/endtoend/onlineddl/exec_util.go b/go/test/endtoend/onlineddl/exec_util.go
index 95ab25ece5c..d86f39eb834 100644
--- a/go/test/endtoend/onlineddl/exec_util.go
+++ b/go/test/endtoend/onlineddl/exec_util.go
@@ -46,6 +46,10 @@ func CreateTempScript(t *testing.T, content string) (fileName string) {
func MysqlClientExecFile(t *testing.T, mysqlParams *mysql.ConnParams, testDataPath, testName string, fileName string) (output string) {
t.Helper()
+ errorFile, err := os.CreateTemp("", "onlineddl-test-")
+ require.NoError(t, err)
+ defer os.Remove(errorFile.Name())
+
bashPath, err := exec.LookPath("bash")
require.NoError(t, err)
mysqlPath, err := exec.LookPath("mysql")
@@ -55,13 +59,15 @@ func MysqlClientExecFile(t *testing.T, mysqlParams *mysql.ConnParams, testDataPa
if !filepath.IsAbs(fileName) {
filePath, _ = filepath.Abs(path.Join(testDataPath, testName, fileName))
}
- bashCommand := fmt.Sprintf(`%s -u%s --socket=%s --database=%s -s -s < %s 2> /tmp/error.log`, mysqlPath, mysqlParams.Uname, mysqlParams.UnixSocket, mysqlParams.DbName, filePath)
+ bashCommand := fmt.Sprintf(`%s -u%s --socket=%s --database=%s -s -s < %s 2> %s`, mysqlPath, mysqlParams.Uname, mysqlParams.UnixSocket, mysqlParams.DbName, filePath, errorFile.Name())
cmd, err := exec.Command(
bashPath,
"-c",
bashCommand,
).Output()
- require.NoError(t, err)
+ errorContent, readerr := os.ReadFile(errorFile.Name())
+ require.NoError(t, readerr)
+ require.NoError(t, err, "error details: %s", errorContent)
return string(cmd)
}
diff --git a/go/test/endtoend/onlineddl/flow/onlineddl_flow_test.go b/go/test/endtoend/onlineddl/flow/onlineddl_flow_test.go
index 58e985296b5..c442c042f8a 100644
--- a/go/test/endtoend/onlineddl/flow/onlineddl_flow_test.go
+++ b/go/test/endtoend/onlineddl/flow/onlineddl_flow_test.go
@@ -63,7 +63,7 @@ import (
"vitess.io/vitess/go/test/endtoend/throttler"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/schema"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
throttlebase "vitess.io/vitess/go/vt/vttablet/tabletserver/throttle/base"
"vitess.io/vitess/go/vt/vttablet/tabletserver/throttle/throttlerapp"
)
@@ -200,7 +200,7 @@ func TestMain(m *testing.M) {
}
-func TestSchemaChange(t *testing.T) {
+func TestOnlineDDLFlow(t *testing.T) {
defer cluster.PanicHandler(t)
ctx := context.Background()
diff --git a/go/test/endtoend/onlineddl/revert/onlineddl_revert_test.go b/go/test/endtoend/onlineddl/revert/onlineddl_revert_test.go
index 3a963c85ce2..af88806fb26 100644
--- a/go/test/endtoend/onlineddl/revert/onlineddl_revert_test.go
+++ b/go/test/endtoend/onlineddl/revert/onlineddl_revert_test.go
@@ -203,7 +203,7 @@ func TestMain(m *testing.M) {
}
-func TestSchemaChange(t *testing.T) {
+func TestRevertSchemaChanges(t *testing.T) {
defer cluster.PanicHandler(t)
shards = clusterInstance.Keyspaces[0].Shards
require.Equal(t, 1, len(shards))
diff --git a/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go b/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go
index a034aa6d65a..b7e18e9af7c 100644
--- a/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go
+++ b/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go
@@ -304,7 +304,7 @@ func TestMain(m *testing.M) {
}
-func TestSchemaChange(t *testing.T) {
+func TestSchedulerSchemaChanges(t *testing.T) {
throttler.EnableLagThrottlerAndWaitForStatus(t, clusterInstance)
@@ -455,6 +455,19 @@ func testScheduler(t *testing.T) {
})
}
+ var originalLockWaitTimeout int64
+ t.Run("set low lock_wait_timeout", func(t *testing.T) {
+ rs, err := primaryTablet.VttabletProcess.QueryTablet("select @@lock_wait_timeout as lock_wait_timeout", keyspaceName, false)
+ require.NoError(t, err)
+ row := rs.Named().Row()
+ require.NotNil(t, row)
+ originalLockWaitTimeout = row.AsInt64("lock_wait_timeout", 0)
+ require.NotZero(t, originalLockWaitTimeout)
+
+ _, err = primaryTablet.VttabletProcess.QueryTablet("set global lock_wait_timeout=1", keyspaceName, false)
+ require.NoError(t, err)
+ })
+
// CREATE
t.Run("CREATE TABLEs t1, t2", func(t *testing.T) {
{ // The table does not exist
@@ -578,6 +591,16 @@ func testScheduler(t *testing.T) {
assert.NotEmpty(t, rs.Rows)
})
+ t.Run("low @@lock_wait_timeout", func(t *testing.T) {
+ defer primaryTablet.VttabletProcess.QueryTablet(fmt.Sprintf("set global lock_wait_timeout=%d", originalLockWaitTimeout), keyspaceName, false)
+
+ t1uuid = testOnlineDDLStatement(t, createParams(trivialAlterT1Statement, ddlStrategy, "vtgate", "", "", false)) // wait
+ t.Run("trivial t1 migration", func(t *testing.T) {
+ onlineddl.CheckMigrationStatus(t, &vtParams, shards, t1uuid, schema.OnlineDDLStatusComplete)
+ checkTable(t, t1Name, true)
+ })
+ })
+
forceCutoverCapable, err := capableOf(capabilities.PerformanceSchemaDataLocksTableCapability) // 8.0
require.NoError(t, err)
if forceCutoverCapable {
@@ -1297,6 +1320,7 @@ func testScheduler(t *testing.T) {
for _, row := range rs.Named().Rows {
message := row["message"].ToString()
require.Contains(t, message, "errno 1146")
+ require.False(t, row["message_timestamp"].IsNull())
}
})
@@ -1440,6 +1464,7 @@ func testScheduler(t *testing.T) {
for _, row := range rs.Named().Rows {
message := row["message"].ToString()
require.Contains(t, message, vuuids[2]) // Indicating this migration failed due to vuuids[2] failure
+ require.False(t, row["message_timestamp"].IsNull())
}
}
})
diff --git a/go/test/endtoend/onlineddl/vrepl/onlineddl_vrepl_test.go b/go/test/endtoend/onlineddl/vrepl/onlineddl_vrepl_test.go
index 70efe4ec8a4..f7bab109c05 100644
--- a/go/test/endtoend/onlineddl/vrepl/onlineddl_vrepl_test.go
+++ b/go/test/endtoend/onlineddl/vrepl/onlineddl_vrepl_test.go
@@ -220,7 +220,7 @@ func TestMain(m *testing.M) {
}
-func TestSchemaChange(t *testing.T) {
+func TestVreplSchemaChanges(t *testing.T) {
defer cluster.PanicHandler(t)
shards = clusterInstance.Keyspaces[0].Shards
diff --git a/go/test/endtoend/onlineddl/vrepl_stress/onlineddl_vrepl_mini_stress_test.go b/go/test/endtoend/onlineddl/vrepl_stress/onlineddl_vrepl_mini_stress_test.go
index 93d66ad7ccb..e0dd9701cf8 100644
--- a/go/test/endtoend/onlineddl/vrepl_stress/onlineddl_vrepl_mini_stress_test.go
+++ b/go/test/endtoend/onlineddl/vrepl_stress/onlineddl_vrepl_mini_stress_test.go
@@ -38,7 +38,7 @@ import (
"vitess.io/vitess/go/test/endtoend/throttler"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/schema"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
)
type WriteMetrics struct {
@@ -229,7 +229,7 @@ func TestMain(m *testing.M) {
}
-func TestSchemaChange(t *testing.T) {
+func TestVreplMiniStressSchemaChanges(t *testing.T) {
defer cluster.PanicHandler(t)
ctx := context.Background()
diff --git a/go/test/endtoend/onlineddl/vrepl_stress_suite/onlineddl_vrepl_stress_suite_test.go b/go/test/endtoend/onlineddl/vrepl_stress_suite/onlineddl_vrepl_stress_suite_test.go
index 2492d30788d..440b921f9ba 100644
--- a/go/test/endtoend/onlineddl/vrepl_stress_suite/onlineddl_vrepl_stress_suite_test.go
+++ b/go/test/endtoend/onlineddl/vrepl_stress_suite/onlineddl_vrepl_stress_suite_test.go
@@ -51,7 +51,7 @@ import (
"vitess.io/vitess/go/timer"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/schema"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
)
type testcase struct {
@@ -481,7 +481,7 @@ func TestMain(m *testing.M) {
}
-func TestSchemaChange(t *testing.T) {
+func TestVreplStressSchemaChanges(t *testing.T) {
defer cluster.PanicHandler(t)
shards = clusterInstance.Keyspaces[0].Shards
diff --git a/go/test/endtoend/onlineddl/vrepl_suite/onlineddl_vrepl_suite_test.go b/go/test/endtoend/onlineddl/vrepl_suite/onlineddl_vrepl_suite_test.go
index c82b7f13a0d..972421c96da 100644
--- a/go/test/endtoend/onlineddl/vrepl_suite/onlineddl_vrepl_suite_test.go
+++ b/go/test/endtoend/onlineddl/vrepl_suite/onlineddl_vrepl_suite_test.go
@@ -132,7 +132,7 @@ func TestMain(m *testing.M) {
}
-func TestSchemaChange(t *testing.T) {
+func TestVreplSuiteSchemaChanges(t *testing.T) {
defer cluster.PanicHandler(t)
shards := clusterInstance.Keyspaces[0].Shards
diff --git a/vitess-mixin/e2e/cypress/fixtures/.keep b/go/test/endtoend/onlineddl/vrepl_suite/testdata/alter-charset-non-utf8-80-vcopier/allow_schemadiff_normalization
similarity index 100%
rename from vitess-mixin/e2e/cypress/fixtures/.keep
rename to go/test/endtoend/onlineddl/vrepl_suite/testdata/alter-charset-non-utf8-80-vcopier/allow_schemadiff_normalization
diff --git a/go/test/endtoend/onlineddl/vrepl_suite/testdata/alter-charset-non-utf8-80-vcopier/alter b/go/test/endtoend/onlineddl/vrepl_suite/testdata/alter-charset-non-utf8-80-vcopier/alter
new file mode 100644
index 00000000000..b5ec82b1a8b
--- /dev/null
+++ b/go/test/endtoend/onlineddl/vrepl_suite/testdata/alter-charset-non-utf8-80-vcopier/alter
@@ -0,0 +1 @@
+MODIFY `t1` varchar(128) CHARACTER SET utf8mb4 NOT NULL, MODIFY `t2` varchar(128) CHARACTER SET latin2 NOT NULL, MODIFY `tutf8` varchar(128) CHARACTER SET latin1 NOT NULL
diff --git a/go/test/endtoend/onlineddl/vrepl_suite/testdata/alter-charset-non-utf8-80-vcopier/create.sql b/go/test/endtoend/onlineddl/vrepl_suite/testdata/alter-charset-non-utf8-80-vcopier/create.sql
new file mode 100644
index 00000000000..79e8fda23ee
--- /dev/null
+++ b/go/test/endtoend/onlineddl/vrepl_suite/testdata/alter-charset-non-utf8-80-vcopier/create.sql
@@ -0,0 +1,19 @@
+drop table if exists onlineddl_test;
+create table onlineddl_test (
+ id int auto_increment,
+ t1 varchar(128) charset latin1 collate latin1_swedish_ci,
+ t2 varchar(128) charset latin1 collate latin1_swedish_ci,
+ tutf8 varchar(128) charset utf8,
+ tutf8mb4 varchar(128) charset utf8mb4,
+ tlatin1 varchar(128) charset latin1 collate latin1_swedish_ci,
+ primary key(id)
+) auto_increment=1;
+
+insert into onlineddl_test values (null, md5(rand()), md5(rand()), md5(rand()), md5(rand()), md5(rand()));
+insert into onlineddl_test values (null, 'átesting', 'átesting', 'átesting', 'átesting', 'átesting');
+insert into onlineddl_test values (null, 'testátest', 'testátest', 'testátest', '🍻😀', 'átesting');
+insert into onlineddl_test values (null, 'átesting-binlog', 'átesting-binlog', 'átesting-binlog', 'átesting-binlog', 'átesting-binlog');
+insert into onlineddl_test values (null, 'testátest-binlog', 'testátest-binlog', 'testátest-binlog', '🍻😀', 'átesting-binlog');
+insert into onlineddl_test values (null, 'átesting-bnull', 'átesting-bnull', 'átesting-bnull', null, null);
+
+drop event if exists onlineddl_test;
diff --git a/go/test/endtoend/onlineddl/vrepl_suite/testdata/alter-charset-non-utf8-80-vcopier/ignore_versions b/go/test/endtoend/onlineddl/vrepl_suite/testdata/alter-charset-non-utf8-80-vcopier/ignore_versions
new file mode 100644
index 00000000000..0790a1e68fd
--- /dev/null
+++ b/go/test/endtoend/onlineddl/vrepl_suite/testdata/alter-charset-non-utf8-80-vcopier/ignore_versions
@@ -0,0 +1 @@
+(5.5|5.6|5.7)
diff --git a/go/test/endtoend/onlineddl/vrepl_suite/testdata/non-utf8-charset-pk/allow_schemadiff_normalization b/go/test/endtoend/onlineddl/vrepl_suite/testdata/non-utf8-charset-pk/allow_schemadiff_normalization
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/go/test/endtoend/onlineddl/vrepl_suite/testdata/non-utf8-charset-pk/create.sql b/go/test/endtoend/onlineddl/vrepl_suite/testdata/non-utf8-charset-pk/create.sql
new file mode 100644
index 00000000000..c0313e62c8d
--- /dev/null
+++ b/go/test/endtoend/onlineddl/vrepl_suite/testdata/non-utf8-charset-pk/create.sql
@@ -0,0 +1,30 @@
+drop table if exists onlineddl_test;
+create table onlineddl_test (
+ id varchar(128) charset latin1 collate latin1_swedish_ci,
+ t1 varchar(128) charset latin1 collate latin1_swedish_ci,
+ t2 varchar(128) charset latin1 collate latin1_swedish_ci,
+ tutf8 varchar(128) charset utf8,
+ tutf8mb4 varchar(128) charset utf8mb4,
+ tlatin1 varchar(128) charset latin1 collate latin1_swedish_ci,
+ primary key(id)
+) auto_increment=1;
+
+insert into onlineddl_test values (concat('átesting-', md5(rand())), md5(rand()), md5(rand()), md5(rand()), md5(rand()), md5(rand()));
+insert into onlineddl_test values (concat('átesting-', md5(rand())), 'átesting', 'átesting', 'átesting', 'átesting', 'átesting');
+insert into onlineddl_test values (concat('átesting-', md5(rand())), 'testátest', 'testátest', 'testátest', '🍻😀', 'átesting');
+
+drop event if exists onlineddl_test;
+delimiter ;;
+create event onlineddl_test
+ on schedule every 1 second
+ starts current_timestamp
+ ends current_timestamp + interval 60 second
+ on completion not preserve
+ enable
+ do
+begin
+ insert into onlineddl_test values (concat('átesting-', md5(rand())), md5(rand()), md5(rand()), md5(rand()), md5(rand()), md5(rand()));
+ insert into onlineddl_test values (concat('átesting-', md5(rand())), 'átesting-binlog', 'átesting-binlog', 'átesting-binlog', 'átesting-binlog', 'átesting-binlog');
+ insert into onlineddl_test values (concat('átesting-', md5(rand())), 'testátest-binlog', 'testátest-binlog', 'testátest-binlog', '🍻😀', 'átesting-binlog');
+ insert into onlineddl_test values (concat('átesting-', md5(rand())), 'átesting-bnull', 'átesting-bnull', 'átesting-bnull', null, null);
+end ;;
diff --git a/go/test/endtoend/onlineddl/vrepl_suite/testdata/non-utf8-charset-pk/ignore_versions b/go/test/endtoend/onlineddl/vrepl_suite/testdata/non-utf8-charset-pk/ignore_versions
new file mode 100644
index 00000000000..0790a1e68fd
--- /dev/null
+++ b/go/test/endtoend/onlineddl/vrepl_suite/testdata/non-utf8-charset-pk/ignore_versions
@@ -0,0 +1 @@
+(5.5|5.6|5.7)
diff --git a/go/test/endtoend/onlineddl/vrepl_suite/testdata/swap-uk-uk/alter b/go/test/endtoend/onlineddl/vrepl_suite/testdata/swap-uk-uk/alter
index 6286a960e61..7e914680519 100644
--- a/go/test/endtoend/onlineddl/vrepl_suite/testdata/swap-uk-uk/alter
+++ b/go/test/endtoend/onlineddl/vrepl_suite/testdata/swap-uk-uk/alter
@@ -1 +1 @@
-drop key id_uidx, drop key its_uidx, add unique key its2_uidx(i, ts), add unique key id2_uidx(id)
+drop key id_uidx, drop key its_uidx, add unique key id2_uidx(id), add unique key its2_uidx(i, ts)
diff --git a/go/test/endtoend/onlineddl/vtgate_util.go b/go/test/endtoend/onlineddl/vtgate_util.go
index 6c26320b472..639b3ce8eb4 100644
--- a/go/test/endtoend/onlineddl/vtgate_util.go
+++ b/go/test/endtoend/onlineddl/vtgate_util.go
@@ -257,7 +257,8 @@ func CheckForceMigrationCutOver(t *testing.T, vtParams *mysql.ConnParams, shards
// CheckMigrationStatus verifies that the migration indicated by given UUID has the given expected status
func CheckMigrationStatus(t *testing.T, vtParams *mysql.ConnParams, shards []cluster.Shard, uuid string, expectStatuses ...schema.OnlineDDLStatus) bool {
- query, err := sqlparser.ParseAndBind("show vitess_migrations like %a",
+ ksName := shards[0].PrimaryTablet().VttabletProcess.Keyspace
+ query, err := sqlparser.ParseAndBind(fmt.Sprintf("show vitess_migrations from %s like %%a", ksName),
sqltypes.StringBindVariable(uuid),
)
require.NoError(t, err)
diff --git a/go/test/endtoend/schemadiff/vrepl/schemadiff_vrepl_suite_test.go b/go/test/endtoend/schemadiff/vrepl/schemadiff_vrepl_suite_test.go
index 496956f2838..b4ecb367e8b 100644
--- a/go/test/endtoend/schemadiff/vrepl/schemadiff_vrepl_suite_test.go
+++ b/go/test/endtoend/schemadiff/vrepl/schemadiff_vrepl_suite_test.go
@@ -131,7 +131,7 @@ func TestMain(m *testing.M) {
}
-func TestSchemaChange(t *testing.T) {
+func TestSchemadiffSchemaChanges(t *testing.T) {
defer cluster.PanicHandler(t)
shards := clusterInstance.Keyspaces[0].Shards
diff --git a/go/test/endtoend/tabletmanager/commands_test.go b/go/test/endtoend/tabletmanager/commands_test.go
index e89a471b1e4..d5d946a164c 100644
--- a/go/test/endtoend/tabletmanager/commands_test.go
+++ b/go/test/endtoend/tabletmanager/commands_test.go
@@ -75,6 +75,24 @@ func TestTabletCommands(t *testing.T) {
require.Nil(t, err)
assertExecuteMultiFetch(t, result)
})
+
+ t.Run("GetUnresolvedTransactions", func(t *testing.T) {
+ _, err := clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput("DistributedTransaction", "unresolved-list",
+ "--keyspace", keyspaceName)
+ require.NoError(t, err)
+ })
+ t.Run("GetUnresolvedTransactions with age threshold", func(t *testing.T) {
+ _, err := clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput("DistributedTransaction", "unresolved-list",
+ "--keyspace", keyspaceName,
+ "--abandon-age", "32")
+ require.NoError(t, err)
+ })
+ t.Run("ConcludeTransaction", func(t *testing.T) {
+ output, err := clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput("DistributedTransaction", "conclude", "--dtid", "ks:0:1234")
+ assert.NoError(t, err)
+ assert.Contains(t, output, "Successfully concluded the distributed transaction")
+ })
+
// check Ping / RefreshState / RefreshStateByShard
err = clusterInstance.VtctldClientProcess.ExecuteCommand("PingTablet", primaryTablet.Alias)
require.Nil(t, err, "error should be Nil")
diff --git a/go/test/endtoend/tabletmanager/main_test.go b/go/test/endtoend/tabletmanager/main_test.go
index 52feaec0e17..3c2eb68df5e 100644
--- a/go/test/endtoend/tabletmanager/main_test.go
+++ b/go/test/endtoend/tabletmanager/main_test.go
@@ -105,6 +105,8 @@ func TestMain(m *testing.M) {
"--heartbeat_enable",
"--health_check_interval", tabletHealthcheckRefreshInterval.String(),
"--unhealthy_threshold", tabletUnhealthyThreshold.String(),
+ "--twopc_enable",
+ "--twopc_abandon_age", "200",
}
// Start keyspace
diff --git a/go/test/endtoend/transaction/twopc/fuzzer/fuzzer_test.go b/go/test/endtoend/transaction/twopc/fuzz/fuzzer_test.go
similarity index 60%
rename from go/test/endtoend/transaction/twopc/fuzzer/fuzzer_test.go
rename to go/test/endtoend/transaction/twopc/fuzz/fuzzer_test.go
index ff440164042..5bbb484ec1e 100644
--- a/go/test/endtoend/transaction/twopc/fuzzer/fuzzer_test.go
+++ b/go/test/endtoend/transaction/twopc/fuzz/fuzzer_test.go
@@ -14,20 +14,32 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package fuzzer
+package fuzz
import (
"context"
"fmt"
+ "os"
+ "path"
+ "strconv"
+ "strings"
"sync"
"sync/atomic"
+ "syscall"
"testing"
"time"
+ "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/exp/rand"
"vitess.io/vitess/go/mysql"
+ "vitess.io/vitess/go/syscallutil"
+ "vitess.io/vitess/go/test/endtoend/cluster"
+ twopcutil "vitess.io/vitess/go/test/endtoend/transaction/twopc/utils"
+ "vitess.io/vitess/go/vt/log"
+ topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+ "vitess.io/vitess/go/vt/schema"
)
var (
@@ -67,10 +79,12 @@ var (
// Moreover, the threadIDs of rows for a given update set in the 3 shards should be the same to ensure that conflicting transactions got committed in the same exact order.
func TestTwoPCFuzzTest(t *testing.T) {
testcases := []struct {
- name string
- threads int
- updateSets int
- timeForTesting time.Duration
+ name string
+ threads int
+ updateSets int
+ timeForTesting time.Duration
+ clusterDisruptions []func(t *testing.T)
+ disruptionProbability []int
}{
{
name: "Single Thread - Single Set",
@@ -90,15 +104,24 @@ func TestTwoPCFuzzTest(t *testing.T) {
updateSets: 15,
timeForTesting: 5 * time.Second,
},
+ {
+ name: "Multiple Threads - Multiple Set - PRS, ERS, and MySQL & Vttablet restart, OnlineDDL, MoveTables disruptions",
+ threads: 4,
+ updateSets: 4,
+ timeForTesting: 5 * time.Second,
+ clusterDisruptions: []func(t *testing.T){prs, ers, mysqlRestarts, vttabletRestarts, onlineDDLFuzzer, moveTablesFuzzer},
+ disruptionProbability: []int{5, 5, 5, 5, 5, 5},
+ },
}
for _, tt := range testcases {
t.Run(tt.name, func(t *testing.T) {
conn, closer := start(t)
defer closer()
- fz := newFuzzer(tt.threads, tt.updateSets)
+ fz := newFuzzer(t, tt.threads, tt.updateSets, tt.clusterDisruptions, tt.disruptionProbability)
fz.initialize(t, conn)
+ conn.Close()
// Start the fuzzer.
fz.start(t)
@@ -108,8 +131,12 @@ func TestTwoPCFuzzTest(t *testing.T) {
// Signal the fuzzer to stop.
fz.stop()
+ // Wait for all transactions to be resolved.
+ twopcutil.WaitForResults(t, &vtParams, fmt.Sprintf(`show unresolved transactions for %v`, keyspaceName), "[]", 30*time.Second)
// Verify that all the transactions run were actually atomic and no data issues have occurred.
fz.verifyTransactionsWereAtomic(t)
+
+ log.Errorf("Verification complete. All good!")
})
}
}
@@ -168,6 +195,7 @@ func getThreadIDsForUpdateSetFromFuzzInsert(t *testing.T, conn *mysql.Conn, upda
type fuzzer struct {
threads int
updateSets int
+ t *testing.T
// shouldStop is an internal state variable, that tells the fuzzer
// whether it should stop or not.
@@ -176,14 +204,21 @@ type fuzzer struct {
wg sync.WaitGroup
// updateRowVals are the rows that we use to ensure 1 update on each shard with the same increment.
updateRowsVals [][]int
+ // clusterDisruptions are the cluster level disruptions that can happen in a running cluster.
+ clusterDisruptions []func(t *testing.T)
+ // disruptionProbability is the chance for the disruption to happen. We check this every 100 milliseconds.
+ disruptionProbability []int
}
// newFuzzer creates a new fuzzer struct.
-func newFuzzer(threads int, updateSets int) *fuzzer {
+func newFuzzer(t *testing.T, threads int, updateSets int, clusterDisruptions []func(t *testing.T), disruptionProbability []int) *fuzzer {
fz := &fuzzer{
- threads: threads,
- updateSets: updateSets,
- wg: sync.WaitGroup{},
+ t: t,
+ threads: threads,
+ updateSets: updateSets,
+ wg: sync.WaitGroup{},
+ clusterDisruptions: clusterDisruptions,
+ disruptionProbability: disruptionProbability,
}
// Initially the fuzzer thread is stopped.
fz.shouldStop.Store(true)
@@ -202,12 +237,16 @@ func (fz *fuzzer) stop() {
func (fz *fuzzer) start(t *testing.T) {
// We mark the fuzzer thread to be running now.
fz.shouldStop.Store(false)
- fz.wg.Add(fz.threads)
+ // fz.threads is the count of fuzzer threads, and one disruption thread.
+ fz.wg.Add(fz.threads + 1)
for i := 0; i < fz.threads; i++ {
go func() {
fz.runFuzzerThread(t, i)
}()
}
+ go func() {
+ fz.runClusterDisruptionThread(t)
+ }()
}
// runFuzzerThread is used to run a thread of the fuzzer.
@@ -308,3 +347,165 @@ func (fz *fuzzer) generateInsertQueries(updateSet int, threadId int) []string {
})
return queries
}
+
+// runClusterDisruptionThread runs the cluster level disruptions in a separate thread.
+func (fz *fuzzer) runClusterDisruptionThread(t *testing.T) {
+ // Whenever we finish running this thread, we should mark the thread has stopped.
+ defer func() {
+ fz.wg.Done()
+ }()
+
+ for {
+ // If disruption thread is marked to be stopped, then we should exit this go routine.
+ if fz.shouldStop.Load() == true {
+ return
+ }
+ // Run a potential disruption
+ fz.runClusterDisruption(t)
+ time.Sleep(100 * time.Millisecond)
+ }
+
+}
+
+// runClusterDisruption tries to run a single cluster disruption.
+func (fz *fuzzer) runClusterDisruption(t *testing.T) {
+ for idx, prob := range fz.disruptionProbability {
+ if rand.Intn(100) < prob {
+ fz.clusterDisruptions[idx](fz.t)
+ return
+ }
+ }
+}
+
+/*
+Cluster Level Disruptions for the fuzzer
+*/
+
+func prs(t *testing.T) {
+ shards := clusterInstance.Keyspaces[0].Shards
+ shard := shards[rand.Intn(len(shards))]
+ vttablets := shard.Vttablets
+ newPrimary := vttablets[rand.Intn(len(vttablets))]
+ log.Errorf("Running PRS for - %v/%v with new primary - %v", keyspaceName, shard.Name, newPrimary.Alias)
+ err := clusterInstance.VtctldClientProcess.PlannedReparentShard(keyspaceName, shard.Name, newPrimary.Alias)
+ if err != nil {
+ log.Errorf("error running PRS - %v", err)
+ }
+}
+
+func ers(t *testing.T) {
+ shards := clusterInstance.Keyspaces[0].Shards
+ shard := shards[rand.Intn(len(shards))]
+ vttablets := shard.Vttablets
+ newPrimary := vttablets[rand.Intn(len(vttablets))]
+ log.Errorf("Running ERS for - %v/%v with new primary - %v", keyspaceName, shard.Name, newPrimary.Alias)
+ _, err := clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput("EmergencyReparentShard", fmt.Sprintf("%s/%s", keyspaceName, shard.Name), "--new-primary", newPrimary.Alias)
+ if err != nil {
+ log.Errorf("error running ERS - %v", err)
+ }
+}
+
+func vttabletRestarts(t *testing.T) {
+ shards := clusterInstance.Keyspaces[0].Shards
+ shard := shards[rand.Intn(len(shards))]
+ vttablets := shard.Vttablets
+ tablet := vttablets[rand.Intn(len(vttablets))]
+ log.Errorf("Restarting vttablet for - %v/%v - %v", keyspaceName, shard.Name, tablet.Alias)
+ err := tablet.VttabletProcess.TearDown()
+ if err != nil {
+ log.Errorf("error stopping vttablet - %v", err)
+ return
+ }
+ tablet.VttabletProcess.ServingStatus = "SERVING"
+ for {
+ err = tablet.VttabletProcess.Setup()
+ if err == nil {
+ return
+ }
+ // Sometimes vttablets fail to connect to the topo server due to a minor blip there.
+ // We don't want to fail the test, so we retry setting up the vttablet.
+ log.Errorf("error restarting vttablet - %v", err)
+ time.Sleep(1 * time.Second)
+ }
+}
+
+var (
+ count = 0
+
+ orderedDDLFuzzer = []string{
+ "alter table twopc_fuzzer_insert add column extra_col1 varchar(20)",
+ "alter table twopc_fuzzer_insert add column extra_col2 varchar(20)",
+ "alter table twopc_fuzzer_insert drop column extra_col1",
+ "alter table twopc_fuzzer_insert drop column extra_col2",
+ }
+)
+
+// onlineDDLFuzzer runs an online DDL statement while ignoring any errors for the fuzzer.
+func onlineDDLFuzzer(t *testing.T) {
+ output, err := clusterInstance.VtctldClientProcess.ApplySchemaWithOutput(keyspaceName, orderedDDLFuzzer[count%len(orderedDDLFuzzer)], cluster.ApplySchemaParams{
+ DDLStrategy: "vitess --force-cut-over-after=1ms",
+ })
+ count++
+ if err != nil {
+ return
+ }
+ fmt.Println("Running online DDL with uuid: ", output)
+ twopcutil.WaitForMigrationStatus(t, &vtParams, keyspaceName, clusterInstance.Keyspaces[0].Shards,
+ strings.TrimSpace(output), 2*time.Minute, schema.OnlineDDLStatusComplete, schema.OnlineDDLStatusFailed)
+}
+
+var moveTablesCount int
+
+// moveTablesFuzzer runs a MoveTables workflow.
+func moveTablesFuzzer(t *testing.T) {
+ workflow := "TestTwoPCFuzzTest"
+ srcKeyspace := keyspaceName
+ targetKeyspace := unshardedKeyspaceName
+ if moveTablesCount%2 == 1 {
+ srcKeyspace = unshardedKeyspaceName
+ targetKeyspace = keyspaceName
+ // We apply the vschema again because previous move tables would have removed the entry for `twopc_fuzzer_update`.
+ err := clusterInstance.VtctldClientProcess.ApplyVSchema(keyspaceName, VSchema)
+ require.NoError(t, err)
+ }
+ log.Errorf("MoveTables from - %v to %v", srcKeyspace, targetKeyspace)
+ mtw := cluster.NewMoveTables(t, clusterInstance, workflow, targetKeyspace, srcKeyspace, "twopc_fuzzer_update", []string{topodatapb.TabletType_REPLICA.String()})
+ // Initiate MoveTables for twopc_fuzzer_update.
+ output, err := mtw.Create()
+ if err != nil {
+ log.Errorf("error creating MoveTables - %v, output - %v", err, output)
+ return
+ }
+ moveTablesCount++
+ // Wait for vreplication to catchup. Should be very fast since we don't have a lot of rows.
+ mtw.WaitForVreplCatchup(1 * time.Minute)
+ // SwitchTraffic
+ output, err = mtw.SwitchReadsAndWrites()
+ assert.NoError(t, err, output)
+ output, err = mtw.Complete()
+ assert.NoError(t, err, output)
+}
+
+func mysqlRestarts(t *testing.T) {
+ shards := clusterInstance.Keyspaces[0].Shards
+ shard := shards[rand.Intn(len(shards))]
+ vttablets := shard.Vttablets
+ tablet := vttablets[rand.Intn(len(vttablets))]
+ log.Errorf("Restarting MySQL for - %v/%v tablet - %v", keyspaceName, shard.Name, tablet.Alias)
+ pidFile := path.Join(os.Getenv("VTDATAROOT"), fmt.Sprintf("/vt_%010d/mysql.pid", tablet.TabletUID))
+ pidBytes, err := os.ReadFile(pidFile)
+ if err != nil {
+ // We can't read the file which means the PID file does not exist
+ // The server must have stopped
+ return
+ }
+ pid, err := strconv.Atoi(strings.TrimSpace(string(pidBytes)))
+ if err != nil {
+ log.Errorf("Error in conversion to integer: %v", err)
+ return
+ }
+ err = syscallutil.Kill(pid, syscall.SIGKILL)
+ if err != nil {
+ log.Errorf("Error in killing process: %v", err)
+ }
+}
diff --git a/go/test/endtoend/transaction/twopc/fuzzer/main_test.go b/go/test/endtoend/transaction/twopc/fuzz/main_test.go
similarity index 72%
rename from go/test/endtoend/transaction/twopc/fuzzer/main_test.go
rename to go/test/endtoend/transaction/twopc/fuzz/main_test.go
index e0affde186a..86e524e648f 100644
--- a/go/test/endtoend/transaction/twopc/fuzzer/main_test.go
+++ b/go/test/endtoend/transaction/twopc/fuzz/main_test.go
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package fuzzer
+package fuzz
import (
"context"
@@ -32,13 +32,13 @@ import (
)
var (
- clusterInstance *cluster.LocalProcessCluster
- vtParams mysql.ConnParams
- vtgateGrpcAddress string
- keyspaceName = "ks"
- cell = "zone1"
- hostname = "localhost"
- sidecarDBName = "vt_ks"
+ clusterInstance *cluster.LocalProcessCluster
+ vtParams mysql.ConnParams
+ vtgateGrpcAddress string
+ keyspaceName = "ks"
+ unshardedKeyspaceName = "uks"
+ cell = "zone1"
+ hostname = "localhost"
//go:embed schema.sql
SchemaSQL string
@@ -71,16 +71,28 @@ func TestMain(m *testing.M) {
clusterInstance.VtTabletExtraArgs = append(clusterInstance.VtTabletExtraArgs,
"--twopc_enable",
"--twopc_abandon_age", "1",
+ "--migration_check_interval", "2s",
)
// Start keyspace
keyspace := &cluster.Keyspace{
- Name: keyspaceName,
- SchemaSQL: SchemaSQL,
- VSchema: VSchema,
- SidecarDBName: sidecarDBName,
+ Name: keyspaceName,
+ SchemaSQL: SchemaSQL,
+ VSchema: VSchema,
+ DurabilityPolicy: "semi_sync",
}
- if err := clusterInstance.StartKeyspace(*keyspace, []string{"-40", "40-80", "80-"}, 0, false); err != nil {
+ if err := clusterInstance.StartKeyspace(*keyspace, []string{"-40", "40-80", "80-"}, 2, false); err != nil {
+ return 1
+ }
+
+ // Start an unsharded keyspace
+ unshardedKeyspace := &cluster.Keyspace{
+ Name: unshardedKeyspaceName,
+ SchemaSQL: "",
+ VSchema: "{}",
+ DurabilityPolicy: "semi_sync",
+ }
+ if err := clusterInstance.StartUnshardedKeyspace(*unshardedKeyspace, 2, false); err != nil {
return 1
}
@@ -88,7 +100,7 @@ func TestMain(m *testing.M) {
if err := clusterInstance.StartVtgate(); err != nil {
return 1
}
- vtParams = clusterInstance.GetVTParams(keyspaceName)
+ vtParams = clusterInstance.GetVTParams("")
vtgateGrpcAddress = fmt.Sprintf("%s:%d", clusterInstance.Hostname, clusterInstance.VtgateGrpcPort)
return m.Run()
@@ -113,4 +125,5 @@ func cleanup(t *testing.T) {
utils.ClearOutTable(t, vtParams, "twopc_fuzzer_insert")
utils.ClearOutTable(t, vtParams, "twopc_fuzzer_update")
+ utils.ClearOutTable(t, vtParams, "twopc_t1")
}
diff --git a/go/test/endtoend/transaction/twopc/fuzzer/schema.sql b/go/test/endtoend/transaction/twopc/fuzz/schema.sql
similarity index 75%
rename from go/test/endtoend/transaction/twopc/fuzzer/schema.sql
rename to go/test/endtoend/transaction/twopc/fuzz/schema.sql
index 290da808991..5173166bfd4 100644
--- a/go/test/endtoend/transaction/twopc/fuzzer/schema.sql
+++ b/go/test/endtoend/transaction/twopc/fuzz/schema.sql
@@ -12,3 +12,9 @@ create table twopc_fuzzer_insert (
key(col),
primary key (id, col)
) Engine=InnoDB;
+
+create table twopc_t1 (
+ id bigint,
+ col bigint,
+ primary key (id)
+) Engine=InnoDB;
diff --git a/go/test/endtoend/transaction/twopc/fuzzer/vschema.json b/go/test/endtoend/transaction/twopc/fuzz/vschema.json
similarity index 74%
rename from go/test/endtoend/transaction/twopc/fuzzer/vschema.json
rename to go/test/endtoend/transaction/twopc/fuzz/vschema.json
index e3854f8f101..415b5958f54 100644
--- a/go/test/endtoend/transaction/twopc/fuzzer/vschema.json
+++ b/go/test/endtoend/transaction/twopc/fuzz/vschema.json
@@ -21,6 +21,14 @@
"name": "reverse_bits"
}
]
+ },
+ "twopc_t1": {
+ "column_vindexes": [
+ {
+ "column": "id",
+ "name": "reverse_bits"
+ }
+ ]
}
}
}
\ No newline at end of file
diff --git a/go/test/endtoend/transaction/twopc/main_test.go b/go/test/endtoend/transaction/twopc/main_test.go
index 4c5e2715563..9a46562d1c7 100644
--- a/go/test/endtoend/transaction/twopc/main_test.go
+++ b/go/test/endtoend/transaction/twopc/main_test.go
@@ -111,6 +111,7 @@ func start(t *testing.T) (*mysql.Conn, func()) {
ctx := context.Background()
conn, err := mysql.Connect(ctx, &vtParams)
require.NoError(t, err)
+ cleanup(t)
return conn, func() {
conn.Close()
diff --git a/go/test/endtoend/transaction/twopc/schema.sql b/go/test/endtoend/transaction/twopc/schema.sql
index de9e3ef0656..7c289a03c2a 100644
--- a/go/test/endtoend/transaction/twopc/schema.sql
+++ b/go/test/endtoend/transaction/twopc/schema.sql
@@ -1,18 +1,21 @@
-create table twopc_user (
- id bigint,
+create table twopc_user
+(
+ id bigint,
name varchar(64),
primary key (id)
) Engine=InnoDB;
-create table twopc_music (
- id varchar(64),
+create table twopc_music
+(
+ id varchar(64),
user_id bigint,
- title varchar(64),
+ title varchar(64),
primary key (id)
) Engine=InnoDB;
-create table twopc_t1 (
- id bigint,
+create table twopc_t1
+(
+ id bigint,
col bigint,
- primary key (id, col)
+ primary key (id)
) Engine=InnoDB;
\ No newline at end of file
diff --git a/go/test/endtoend/transaction/twopc/stress/main_test.go b/go/test/endtoend/transaction/twopc/stress/main_test.go
new file mode 100644
index 00000000000..05525171d2d
--- /dev/null
+++ b/go/test/endtoend/transaction/twopc/stress/main_test.go
@@ -0,0 +1,129 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package stress
+
+import (
+ "context"
+ _ "embed"
+ "flag"
+ "fmt"
+ "os"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/mysql"
+ "vitess.io/vitess/go/test/endtoend/cluster"
+ "vitess.io/vitess/go/test/endtoend/transaction/twopc/utils"
+)
+
+var (
+ clusterInstance *cluster.LocalProcessCluster
+ vtParams mysql.ConnParams
+ vtgateGrpcAddress string
+ keyspaceName = "ks"
+ unshardedKeyspaceName = "uks"
+ cell = "zone1"
+ hostname = "localhost"
+
+ //go:embed schema.sql
+ SchemaSQL string
+
+ //go:embed vschema.json
+ VSchema string
+)
+
+func TestMain(m *testing.M) {
+ defer cluster.PanicHandler(nil)
+ flag.Parse()
+
+ exitcode := func() int {
+ clusterInstance = cluster.NewCluster(cell, hostname)
+ defer clusterInstance.Teardown()
+
+ // Start topo server
+ if err := clusterInstance.StartTopo(); err != nil {
+ return 1
+ }
+
+ // Reserve vtGate port in order to pass it to vtTablet
+ clusterInstance.VtgateGrpcPort = clusterInstance.GetAndReservePort()
+
+ // Set extra args for twopc
+ clusterInstance.VtGateExtraArgs = append(clusterInstance.VtGateExtraArgs,
+ "--transaction_mode", "TWOPC",
+ "--grpc_use_effective_callerid",
+ )
+ clusterInstance.VtTabletExtraArgs = append(clusterInstance.VtTabletExtraArgs,
+ "--twopc_enable",
+ "--twopc_abandon_age", "1",
+ "--migration_check_interval", "2s",
+ )
+
+ // Start keyspace
+ keyspace := &cluster.Keyspace{
+ Name: keyspaceName,
+ SchemaSQL: SchemaSQL,
+ VSchema: VSchema,
+ DurabilityPolicy: "semi_sync",
+ }
+ if err := clusterInstance.StartKeyspace(*keyspace, []string{"-40", "40-80", "80-"}, 2, false); err != nil {
+ return 1
+ }
+
+ // Start an unsharded keyspace
+ unshardedKeyspace := &cluster.Keyspace{
+ Name: unshardedKeyspaceName,
+ SchemaSQL: "",
+ VSchema: "{}",
+ DurabilityPolicy: "semi_sync",
+ }
+ if err := clusterInstance.StartUnshardedKeyspace(*unshardedKeyspace, 2, false); err != nil {
+ return 1
+ }
+
+ // Start Vtgate
+ if err := clusterInstance.StartVtgate(); err != nil {
+ return 1
+ }
+ vtParams = clusterInstance.GetVTParams("")
+ vtgateGrpcAddress = fmt.Sprintf("%s:%d", clusterInstance.Hostname, clusterInstance.VtgateGrpcPort)
+
+ return m.Run()
+ }()
+ os.Exit(exitcode)
+}
+
+func start(t *testing.T) (*mysql.Conn, func()) {
+ ctx := context.Background()
+ conn, err := mysql.Connect(ctx, &vtParams)
+ require.NoError(t, err)
+ cleanup(t)
+
+ return conn, func() {
+ conn.Close()
+ cleanup(t)
+ }
+}
+
+func cleanup(t *testing.T) {
+ cluster.PanicHandler(t)
+
+ utils.ClearOutTable(t, vtParams, "twopc_fuzzer_insert")
+ utils.ClearOutTable(t, vtParams, "twopc_fuzzer_update")
+ utils.ClearOutTable(t, vtParams, "twopc_t1")
+}
diff --git a/go/test/endtoend/transaction/twopc/stress/schema.sql b/go/test/endtoend/transaction/twopc/stress/schema.sql
new file mode 100644
index 00000000000..5173166bfd4
--- /dev/null
+++ b/go/test/endtoend/transaction/twopc/stress/schema.sql
@@ -0,0 +1,20 @@
+create table twopc_fuzzer_update (
+ id bigint,
+ col bigint,
+ primary key (id)
+) Engine=InnoDB;
+
+create table twopc_fuzzer_insert (
+ id bigint,
+ updateSet bigint,
+ threadId bigint,
+ col bigint auto_increment,
+ key(col),
+ primary key (id, col)
+) Engine=InnoDB;
+
+create table twopc_t1 (
+ id bigint,
+ col bigint,
+ primary key (id)
+) Engine=InnoDB;
diff --git a/go/test/endtoend/transaction/twopc/stress/stress_test.go b/go/test/endtoend/transaction/twopc/stress/stress_test.go
new file mode 100644
index 00000000000..819e7ea48d3
--- /dev/null
+++ b/go/test/endtoend/transaction/twopc/stress/stress_test.go
@@ -0,0 +1,309 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package stress
+
+import (
+ "context"
+ "fmt"
+ "os"
+ "path"
+ "strconv"
+ "strings"
+ "sync"
+ "syscall"
+ "testing"
+ "time"
+
+ "github.com/stretchr/testify/require"
+ "golang.org/x/exp/rand"
+
+ "vitess.io/vitess/go/mysql"
+ "vitess.io/vitess/go/syscallutil"
+ "vitess.io/vitess/go/test/endtoend/cluster"
+ "vitess.io/vitess/go/test/endtoend/onlineddl"
+ twopcutil "vitess.io/vitess/go/test/endtoend/transaction/twopc/utils"
+ "vitess.io/vitess/go/test/endtoend/utils"
+ "vitess.io/vitess/go/vt/log"
+ topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+ "vitess.io/vitess/go/vt/schema"
+)
+
+// TestDisruptions tests that atomic transactions persevere through various disruptions.
+func TestDisruptions(t *testing.T) {
+ testcases := []struct {
+ disruptionName string
+ commitDelayTime string
+ disruption func(t *testing.T) error
+ resetFunc func(t *testing.T)
+ }{
+ {
+ disruptionName: "No Disruption",
+ commitDelayTime: "1",
+ disruption: func(t *testing.T) error {
+ return nil
+ },
+ },
+ {
+ disruptionName: "PlannedReparentShard",
+ commitDelayTime: "5",
+ disruption: prsShard3,
+ },
+ {
+ disruptionName: "MySQL Restart",
+ commitDelayTime: "5",
+ disruption: mysqlRestartShard3,
+ },
+ {
+ disruptionName: "Vttablet Restart",
+ commitDelayTime: "5",
+ disruption: vttabletRestartShard3,
+ },
+ {
+ disruptionName: "OnlineDDL",
+ commitDelayTime: "20",
+ disruption: onlineDDL,
+ },
+ {
+ disruptionName: "MoveTables - Complete",
+ commitDelayTime: "10",
+ disruption: moveTablesComplete,
+ resetFunc: moveTablesReset,
+ },
+ {
+ disruptionName: "MoveTables - Cancel",
+ commitDelayTime: "10",
+ disruption: moveTablesCancel,
+ },
+ {
+ disruptionName: "EmergencyReparentShard",
+ commitDelayTime: "5",
+ disruption: ersShard3,
+ },
+ }
+ for _, tt := range testcases {
+ t.Run(fmt.Sprintf("%s-%ss delay", tt.disruptionName, tt.commitDelayTime), func(t *testing.T) {
+ // Reparent all the shards to first tablet being the primary.
+ reparentToFirstTablet(t)
+ // cleanup all the old data.
+ conn, closer := start(t)
+ defer closer()
+ // Start an atomic transaction.
+ utils.Exec(t, conn, "begin")
+ // Insert rows such that they go to all the three shards. Given that we have sharded the table `twopc_t1` on reverse_bits
+ // it is very easy to figure out what value will end up in which shard.
+ idVals := []int{4, 6, 9}
+ for _, val := range idVals {
+ utils.Exec(t, conn, fmt.Sprintf("insert into twopc_t1(id, col) values(%d, 4)", val))
+ }
+ // We want to delay the commit on one of the shards to simulate slow commits on a shard.
+ twopcutil.WriteTestCommunicationFile(t, twopcutil.DebugDelayCommitShard, "80-")
+ defer twopcutil.DeleteFile(twopcutil.DebugDelayCommitShard)
+ twopcutil.WriteTestCommunicationFile(t, twopcutil.DebugDelayCommitTime, tt.commitDelayTime)
+ defer twopcutil.DeleteFile(twopcutil.DebugDelayCommitTime)
+ // We will execute a commit in a go routine, because we know it will take some time to complete.
+ // While the commit is ongoing, we would like to run the disruption.
+ var wg sync.WaitGroup
+ wg.Add(1)
+ go func() {
+ defer wg.Done()
+ _, err := utils.ExecAllowError(t, conn, "commit")
+ if err != nil {
+ log.Errorf("Error in commit - %v", err)
+ }
+ }()
+ // Allow enough time for the commit to have started.
+ time.Sleep(1 * time.Second)
+ writeCtx, writeCancel := context.WithCancel(context.Background())
+ var writerWg sync.WaitGroup
+ // Run multiple threads to try to write to the database on the same values of id to ensure that we don't
+ // allow any writes while the transaction is prepared and not committed.
+ for i := 0; i < 10; i++ {
+ writerWg.Add(1)
+ go func() {
+ defer writerWg.Done()
+ threadToWrite(t, writeCtx, idVals[i%3])
+ }()
+ }
+ // Run the disruption.
+ err := tt.disruption(t)
+ require.NoError(t, err)
+ // Wait for the commit to have returned. We don't actually check for an error in the commit because the user might receive an error.
+ // But since we are waiting in CommitPrepared, the decision to commit the transaction should have already been taken.
+ wg.Wait()
+ // Check the data in the table.
+ twopcutil.WaitForResults(t, &vtParams, "select id, col from twopc_t1 where col = 4 order by id", `[[INT64(4) INT64(4)] [INT64(6) INT64(4)] [INT64(9) INT64(4)]]`, 30*time.Second)
+ writeCancel()
+ writerWg.Wait()
+
+ if tt.resetFunc != nil {
+ tt.resetFunc(t)
+ }
+ })
+ }
+}
+
+// threadToWrite is a helper function to write to the database in a loop.
+func threadToWrite(t *testing.T, ctx context.Context, id int) {
+ for {
+ select {
+ case <-ctx.Done():
+ return
+ default:
+ }
+ conn, err := mysql.Connect(ctx, &vtParams)
+ if err != nil {
+ continue
+ }
+ _, _ = utils.ExecAllowError(t, conn, fmt.Sprintf("insert into twopc_t1(id, col) values(%d, %d)", id, rand.Intn(10000)))
+ conn.Close()
+ }
+}
+
+// reparentToFirstTablet reparents all the shards to first tablet being the primary.
+func reparentToFirstTablet(t *testing.T) {
+ ks := clusterInstance.Keyspaces[0]
+ for _, shard := range ks.Shards {
+ primary := shard.Vttablets[0]
+ err := clusterInstance.VtctldClientProcess.PlannedReparentShard(keyspaceName, shard.Name, primary.Alias)
+ require.NoError(t, err)
+ }
+}
+
+/*
+Cluster Level Disruptions for the fuzzer
+*/
+
+// prsShard3 runs a PRS in shard 3 of the keyspace. It promotes the second tablet to be the new primary.
+func prsShard3(t *testing.T) error {
+ shard := clusterInstance.Keyspaces[0].Shards[2]
+ newPrimary := shard.Vttablets[1]
+ return clusterInstance.VtctldClientProcess.PlannedReparentShard(keyspaceName, shard.Name, newPrimary.Alias)
+}
+
+// ersShard3 runs a ERS in shard 3 of the keyspace. It promotes the second tablet to be the new primary.
+func ersShard3(t *testing.T) error {
+ shard := clusterInstance.Keyspaces[0].Shards[2]
+ newPrimary := shard.Vttablets[1]
+ _, err := clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput("EmergencyReparentShard", fmt.Sprintf("%s/%s", keyspaceName, shard.Name), "--new-primary", newPrimary.Alias)
+ return err
+}
+
+// vttabletRestartShard3 restarts the first vttablet of the third shard.
+func vttabletRestartShard3(t *testing.T) error {
+ shard := clusterInstance.Keyspaces[0].Shards[2]
+ tablet := shard.Vttablets[0]
+ return tablet.RestartOnlyTablet()
+}
+
+// mysqlRestartShard3 restarts MySQL on the first tablet of the third shard.
+func mysqlRestartShard3(t *testing.T) error {
+ shard := clusterInstance.Keyspaces[0].Shards[2]
+ vttablets := shard.Vttablets
+ tablet := vttablets[0]
+ log.Errorf("Restarting MySQL for - %v/%v tablet - %v", keyspaceName, shard.Name, tablet.Alias)
+ pidFile := path.Join(os.Getenv("VTDATAROOT"), fmt.Sprintf("/vt_%010d/mysql.pid", tablet.TabletUID))
+ pidBytes, err := os.ReadFile(pidFile)
+ if err != nil {
+ // We can't read the file which means the PID file does not exist
+ // The server must have stopped
+ return err
+ }
+ pid, err := strconv.Atoi(strings.TrimSpace(string(pidBytes)))
+ if err != nil {
+ return err
+ }
+ return syscallutil.Kill(pid, syscall.SIGKILL)
+}
+
+// moveTablesCancel runs a move tables command that we cancel in the end.
+func moveTablesCancel(t *testing.T) error {
+ workflow := "TestDisruptions"
+ mtw := cluster.NewMoveTables(t, clusterInstance, workflow, unshardedKeyspaceName, keyspaceName, "twopc_t1", []string{topodatapb.TabletType_REPLICA.String()})
+ // Initiate MoveTables for twopc_t1.
+ output, err := mtw.Create()
+ require.NoError(t, err, output)
+ // Wait for vreplication to catchup. Should be very fast since we don't have a lot of rows.
+ mtw.WaitForVreplCatchup(10 * time.Second)
+ // SwitchTraffic
+ output, err = mtw.SwitchReadsAndWrites()
+ require.NoError(t, err, output)
+ output, err = mtw.ReverseReadsAndWrites()
+ require.NoError(t, err, output)
+ output, err = mtw.Cancel()
+ require.NoError(t, err, output)
+ return nil
+}
+
+// moveTablesComplete runs a move tables command that we complete in the end.
+func moveTablesComplete(t *testing.T) error {
+ workflow := "TestDisruptions"
+ mtw := cluster.NewMoveTables(t, clusterInstance, workflow, unshardedKeyspaceName, keyspaceName, "twopc_t1", []string{topodatapb.TabletType_REPLICA.String()})
+ // Initiate MoveTables for twopc_t1.
+ output, err := mtw.Create()
+ require.NoError(t, err, output)
+ // Wait for vreplication to catchup. Should be very fast since we don't have a lot of rows.
+ mtw.WaitForVreplCatchup(10 * time.Second)
+ // SwitchTraffic
+ output, err = mtw.SwitchReadsAndWrites()
+ require.NoError(t, err, output)
+ output, err = mtw.Complete()
+ require.NoError(t, err, output)
+ return nil
+}
+
+// moveTablesReset moves the table back from the unsharded keyspace to sharded
+func moveTablesReset(t *testing.T) {
+ // We apply the vschema again because previous move tables would have removed the entry for `twopc_t1`.
+ err := clusterInstance.VtctldClientProcess.ApplyVSchema(keyspaceName, VSchema)
+ require.NoError(t, err)
+ workflow := "TestDisruptions"
+ mtw := cluster.NewMoveTables(t, clusterInstance, workflow, keyspaceName, unshardedKeyspaceName, "twopc_t1", []string{topodatapb.TabletType_REPLICA.String()})
+ // Initiate MoveTables for twopc_t1.
+ output, err := mtw.Create()
+ require.NoError(t, err, output)
+ // Wait for vreplication to catchup. Should be very fast since we don't have a lot of rows.
+ mtw.WaitForVreplCatchup(10 * time.Second)
+ // SwitchTraffic
+ output, err = mtw.SwitchReadsAndWrites()
+ require.NoError(t, err, output)
+ output, err = mtw.Complete()
+ require.NoError(t, err, output)
+}
+
+var orderedDDL = []string{
+ "alter table twopc_t1 add column extra_col1 varchar(20)",
+ "alter table twopc_t1 add column extra_col2 varchar(20)",
+ "alter table twopc_t1 add column extra_col3 varchar(20)",
+ "alter table twopc_t1 add column extra_col4 varchar(20)",
+}
+
+var count = 0
+
+// onlineDDL runs a DDL statement.
+func onlineDDL(t *testing.T) error {
+ output, err := clusterInstance.VtctldClientProcess.ApplySchemaWithOutput(keyspaceName, orderedDDL[count%len(orderedDDL)], cluster.ApplySchemaParams{
+ DDLStrategy: "vitess --force-cut-over-after=1ms",
+ })
+ require.NoError(t, err)
+ count++
+ fmt.Println("uuid: ", output)
+ status := twopcutil.WaitForMigrationStatus(t, &vtParams, keyspaceName, clusterInstance.Keyspaces[0].Shards,
+ strings.TrimSpace(output), 2*time.Minute, schema.OnlineDDLStatusComplete, schema.OnlineDDLStatusFailed)
+ onlineddl.CheckMigrationStatus(t, &vtParams, clusterInstance.Keyspaces[0].Shards, strings.TrimSpace(output), status)
+ require.Equal(t, schema.OnlineDDLStatusComplete, status)
+ return nil
+}
diff --git a/go/test/endtoend/transaction/twopc/stress/vschema.json b/go/test/endtoend/transaction/twopc/stress/vschema.json
new file mode 100644
index 00000000000..415b5958f54
--- /dev/null
+++ b/go/test/endtoend/transaction/twopc/stress/vschema.json
@@ -0,0 +1,34 @@
+{
+ "sharded":true,
+ "vindexes": {
+ "reverse_bits": {
+ "type": "reverse_bits"
+ }
+ },
+ "tables": {
+ "twopc_fuzzer_update": {
+ "column_vindexes": [
+ {
+ "column": "id",
+ "name": "reverse_bits"
+ }
+ ]
+ },
+ "twopc_fuzzer_insert": {
+ "column_vindexes": [
+ {
+ "column": "id",
+ "name": "reverse_bits"
+ }
+ ]
+ },
+ "twopc_t1": {
+ "column_vindexes": [
+ {
+ "column": "id",
+ "name": "reverse_bits"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/go/test/endtoend/transaction/twopc/twopc_test.go b/go/test/endtoend/transaction/twopc/twopc_test.go
index 53c1780f373..cdb6b61f91a 100644
--- a/go/test/endtoend/transaction/twopc/twopc_test.go
+++ b/go/test/endtoend/transaction/twopc/twopc_test.go
@@ -20,8 +20,6 @@ import (
"context"
_ "embed"
"fmt"
- "os"
- "path"
"reflect"
"sort"
"strings"
@@ -35,19 +33,14 @@ import (
"vitess.io/vitess/go/mysql"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/test/endtoend/cluster"
+ twopcutil "vitess.io/vitess/go/test/endtoend/transaction/twopc/utils"
"vitess.io/vitess/go/test/endtoend/utils"
"vitess.io/vitess/go/vt/callerid"
- "vitess.io/vitess/go/vt/log"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
querypb "vitess.io/vitess/go/vt/proto/query"
"vitess.io/vitess/go/vt/vtgate/vtgateconn"
)
-const (
- DebugDelayCommitShard = "VT_DELAY_COMMIT_SHARD"
- DebugDelayCommitTime = "VT_DELAY_COMMIT_TIME"
-)
-
// TestDTCommit tests distributed transaction commit for insert, update and delete operations
// It verifies the binlog events for the same with transaction state changes and redo statements.
func TestDTCommit(t *testing.T) {
@@ -964,31 +957,28 @@ func testWarningAndTransactionStatus(t *testing.T, conn *vtgateconn.VTGateSessio
}
}
-// TestDisruptions tests that atomic transactions persevere through various disruptions.
-func TestDisruptions(t *testing.T) {
+// TestReadingUnresolvedTransactions tests the reading of unresolved transactions
+func TestReadingUnresolvedTransactions(t *testing.T) {
testcases := []struct {
- disruptionName string
- commitDelayTime string
- disruption func() error
+ name string
+ queries []string
}{
{
- disruptionName: "No Disruption",
- commitDelayTime: "1",
- disruption: func() error {
- return nil
+ name: "show transaction status for explicit keyspace",
+ queries: []string{
+ fmt.Sprintf("show unresolved transactions for %v", keyspaceName),
},
},
{
- disruptionName: "PlannedReparentShard",
- commitDelayTime: "5",
- disruption: prsShard3,
+ name: "show transaction status with use command",
+ queries: []string{
+ fmt.Sprintf("use %v", keyspaceName),
+ "show unresolved transactions",
+ },
},
}
- for _, tt := range testcases {
- t.Run(fmt.Sprintf("%s-%ss timeout", tt.disruptionName, tt.commitDelayTime), func(t *testing.T) {
- // Reparent all the shards to first tablet being the primary.
- reparentToFistTablet(t)
- // cleanup all the old data.
+ for _, testcase := range testcases {
+ t.Run(testcase.name, func(t *testing.T) {
conn, closer := start(t)
defer closer()
// Start an atomic transaction.
@@ -999,85 +989,65 @@ func TestDisruptions(t *testing.T) {
utils.Exec(t, conn, "insert into twopc_t1(id, col) values(6, 4)")
utils.Exec(t, conn, "insert into twopc_t1(id, col) values(9, 4)")
// We want to delay the commit on one of the shards to simulate slow commits on a shard.
- writeTestCommunicationFile(t, DebugDelayCommitShard, "80-")
- defer deleteFile(DebugDelayCommitShard)
- writeTestCommunicationFile(t, DebugDelayCommitTime, tt.commitDelayTime)
- defer deleteFile(DebugDelayCommitTime)
+ twopcutil.WriteTestCommunicationFile(t, twopcutil.DebugDelayCommitShard, "80-")
+ defer twopcutil.DeleteFile(twopcutil.DebugDelayCommitShard)
+ twopcutil.WriteTestCommunicationFile(t, twopcutil.DebugDelayCommitTime, "5")
+ defer twopcutil.DeleteFile(twopcutil.DebugDelayCommitTime)
// We will execute a commit in a go routine, because we know it will take some time to complete.
- // While the commit is ongoing, we would like to run the disruption.
+ // While the commit is ongoing, we would like to check that we see the unresolved transaction.
var wg sync.WaitGroup
wg.Add(1)
go func() {
defer wg.Done()
_, err := utils.ExecAllowError(t, conn, "commit")
if err != nil {
- log.Errorf("Error in commit - %v", err)
+ fmt.Println("Error in commit: ", err.Error())
}
}()
// Allow enough time for the commit to have started.
time.Sleep(1 * time.Second)
- // Run the disruption.
- err := tt.disruption()
+ var lastRes *sqltypes.Result
+ newConn, err := mysql.Connect(context.Background(), &vtParams)
require.NoError(t, err)
- // Wait for the commit to have returned. We don't actually check for an error in the commit because the user might receive an error.
- // But since we are waiting in CommitPrepared, the decision to commit the transaction should have already been taken.
+ defer newConn.Close()
+ for _, query := range testcase.queries {
+ lastRes = utils.Exec(t, newConn, query)
+ }
+ require.NotNil(t, lastRes)
+ require.Len(t, lastRes.Rows, 1)
+ // This verifies that we already decided to commit the transaction, but it is still unresolved.
+ assert.Contains(t, fmt.Sprintf("%v", lastRes.Rows), `VARCHAR("COMMIT")`)
+ // Wait for the commit to have returned.
wg.Wait()
- // Check the data in the table.
- waitForResults(t, "select id, col from twopc_t1 where col = 4 order by id", `[[INT64(4) INT64(4)] [INT64(6) INT64(4)] [INT64(9) INT64(4)]]`, 10*time.Second)
})
}
}
-// reparentToFistTablet reparents all the shards to first tablet being the primary.
-func reparentToFistTablet(t *testing.T) {
- ks := clusterInstance.Keyspaces[0]
- for _, shard := range ks.Shards {
- primary := shard.Vttablets[0]
- err := clusterInstance.VtctldClientProcess.PlannedReparentShard(keyspaceName, shard.Name, primary.Alias)
- require.NoError(t, err)
- }
-}
-
-// writeTestCommunicationFile writes the content to the file with the given name.
-// We use these files to coordinate with the vttablets running in the debug mode.
-func writeTestCommunicationFile(t *testing.T, fileName string, content string) {
- err := os.WriteFile(path.Join(os.Getenv("VTDATAROOT"), fileName), []byte(content), 0644)
- require.NoError(t, err)
-}
-
-// deleteFile deletes the file specified.
-func deleteFile(fileName string) {
- _ = os.Remove(path.Join(os.Getenv("VTDATAROOT"), fileName))
-}
-
-// waitForResults waits for the results of the query to be as expected.
-func waitForResults(t *testing.T, query string, resultExpected string, waitTime time.Duration) {
- timeout := time.After(waitTime)
- for {
- select {
- case <-timeout:
- t.Fatalf("didn't reach expected results for %s", query)
- default:
- ctx := context.Background()
- conn, err := mysql.Connect(ctx, &vtParams)
- require.NoError(t, err)
- res := utils.Exec(t, conn, query)
- conn.Close()
- if fmt.Sprintf("%v", res.Rows) == resultExpected {
- return
- }
- time.Sleep(100 * time.Millisecond)
- }
- }
-}
+// TestSemiSyncRequiredWithTwoPC tests that semi-sync is required when using two-phase commit.
+func TestSemiSyncRequiredWithTwoPC(t *testing.T) {
+ // cleanup all the old data.
+ conn, closer := start(t)
+ defer closer()
-/*
-Cluster Level Disruptions for the fuzzer
-*/
+ out, err := clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput("SetKeyspaceDurabilityPolicy", keyspaceName, "--durability-policy=none")
+ require.NoError(t, err, out)
+ defer clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput("SetKeyspaceDurabilityPolicy", keyspaceName, "--durability-policy=semi_sync")
-// prsShard3 runs a PRS in shard 3 of the keyspace. It promotes the second tablet to be the new primary.
-func prsShard3() error {
+ // After changing the durability policy for the given keyspace to none, we run PRS.
shard := clusterInstance.Keyspaces[0].Shards[2]
newPrimary := shard.Vttablets[1]
- return clusterInstance.VtctldClientProcess.PlannedReparentShard(keyspaceName, shard.Name, newPrimary.Alias)
+ _, err = clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput(
+ "PlannedReparentShard",
+ fmt.Sprintf("%s/%s", keyspaceName, shard.Name),
+ "--new-primary", newPrimary.Alias)
+ require.NoError(t, err)
+
+ // A new distributed transaction should fail.
+ utils.Exec(t, conn, "begin")
+ utils.Exec(t, conn, "insert into twopc_t1(id, col) values(4, 4)")
+ utils.Exec(t, conn, "insert into twopc_t1(id, col) values(6, 4)")
+ utils.Exec(t, conn, "insert into twopc_t1(id, col) values(9, 4)")
+ _, err = utils.ExecAllowError(t, conn, "commit")
+ require.Error(t, err)
+ require.ErrorContains(t, err, "two-pc is enabled, but semi-sync is not")
}
diff --git a/go/test/endtoend/transaction/twopc/utils/utils.go b/go/test/endtoend/transaction/twopc/utils/utils.go
index 7311375ee55..ecc91245a67 100644
--- a/go/test/endtoend/transaction/twopc/utils/utils.go
+++ b/go/test/endtoend/transaction/twopc/utils/utils.go
@@ -19,26 +19,50 @@ package utils
import (
"context"
"fmt"
+ "os"
+ "path"
"testing"
+ "time"
"github.com/stretchr/testify/require"
"vitess.io/vitess/go/mysql"
+ "vitess.io/vitess/go/sqltypes"
+ "vitess.io/vitess/go/test/endtoend/cluster"
+ "vitess.io/vitess/go/test/endtoend/utils"
"vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/schema"
+)
+
+const (
+ DebugDelayCommitShard = "VT_DELAY_COMMIT_SHARD"
+ DebugDelayCommitTime = "VT_DELAY_COMMIT_TIME"
)
// ClearOutTable deletes everything from a table. Sometimes the table might have more rows than allowed in a single delete query,
// so we have to do the deletions iteratively.
func ClearOutTable(t *testing.T, vtParams mysql.ConnParams, tableName string) {
- ctx := context.Background()
+ ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
+ defer cancel()
for {
+ select {
+ case <-ctx.Done():
+ t.Fatalf("Timeout out waiting for table to be cleared - %v", tableName)
+ return
+ default:
+ }
conn, err := mysql.Connect(ctx, &vtParams)
- require.NoError(t, err)
+ if err != nil {
+ log.Errorf("Error in connection - %v\n", err)
+ time.Sleep(100 * time.Millisecond)
+ continue
+ }
res, err := conn.ExecuteFetch(fmt.Sprintf("SELECT count(*) FROM %v", tableName), 1, false)
if err != nil {
- log.Errorf("Error in selecting - %v", err)
+ log.Errorf("Error in selecting - %v\n", err)
conn.Close()
+ time.Sleep(100 * time.Millisecond)
continue
}
require.Len(t, res.Rows, 1)
@@ -50,10 +74,99 @@ func ClearOutTable(t *testing.T, vtParams mysql.ConnParams, tableName string) {
return
}
_, err = conn.ExecuteFetch(fmt.Sprintf("DELETE FROM %v LIMIT 10000", tableName), 10000, false)
+ conn.Close()
if err != nil {
- log.Errorf("Error in cleanup deletion - %v", err)
- conn.Close()
+ log.Errorf("Error in cleanup deletion - %v\n", err)
+ time.Sleep(100 * time.Millisecond)
continue
}
}
}
+
+// WriteTestCommunicationFile writes the content to the file with the given name.
+// We use these files to coordinate with the vttablets running in the debug mode.
+func WriteTestCommunicationFile(t *testing.T, fileName string, content string) {
+ err := os.WriteFile(path.Join(os.Getenv("VTDATAROOT"), fileName), []byte(content), 0644)
+ require.NoError(t, err)
+}
+
+// DeleteFile deletes the file specified.
+func DeleteFile(fileName string) {
+ _ = os.Remove(path.Join(os.Getenv("VTDATAROOT"), fileName))
+}
+
+// WaitForResults waits for the results of the query to be as expected.
+func WaitForResults(t *testing.T, vtParams *mysql.ConnParams, query string, resultExpected string, waitTime time.Duration) {
+ timeout := time.After(waitTime)
+ var prevRes []sqltypes.Row
+ for {
+ select {
+ case <-timeout:
+ t.Fatalf("didn't reach expected results for %s. Last results - %v", query, prevRes)
+ default:
+ ctx := context.Background()
+ conn, err := mysql.Connect(ctx, vtParams)
+ if err == nil {
+ res, _ := utils.ExecAllowError(t, conn, query)
+ conn.Close()
+ if res != nil {
+ prevRes = res.Rows
+ if fmt.Sprintf("%v", res.Rows) == resultExpected {
+ return
+ }
+ }
+ }
+ time.Sleep(100 * time.Millisecond)
+ }
+ }
+}
+
+func WaitForMigrationStatus(t *testing.T, vtParams *mysql.ConnParams, ks string, shards []cluster.Shard, uuid string, timeout time.Duration, expectStatuses ...schema.OnlineDDLStatus) schema.OnlineDDLStatus {
+ shardNames := map[string]bool{}
+ for _, shard := range shards {
+ shardNames[shard.Name] = true
+ }
+ query := fmt.Sprintf("show vitess_migrations from %s like '%s'", ks, uuid)
+
+ statusesMap := map[string]bool{}
+ for _, status := range expectStatuses {
+ statusesMap[string(status)] = true
+ }
+ ctx, cancel := context.WithTimeout(context.Background(), timeout)
+ defer cancel()
+ ticker := time.NewTicker(time.Second)
+ defer ticker.Stop()
+
+ lastKnownStatus := ""
+ for {
+ select {
+ case <-ctx.Done():
+ return schema.OnlineDDLStatus(lastKnownStatus)
+ case <-ticker.C:
+ }
+ countMatchedShards := 0
+ conn, err := mysql.Connect(ctx, vtParams)
+ if err != nil {
+ continue
+ }
+ r, err := utils.ExecAllowError(t, conn, query)
+ conn.Close()
+ if err != nil {
+ continue
+ }
+ for _, row := range r.Named().Rows {
+ shardName := row["shard"].ToString()
+ if !shardNames[shardName] {
+ // irrelevant shard
+ continue
+ }
+ lastKnownStatus = row["migration_status"].ToString()
+ if row["migration_uuid"].ToString() == uuid && statusesMap[lastKnownStatus] {
+ countMatchedShards++
+ }
+ }
+ if countMatchedShards == len(shards) {
+ return schema.OnlineDDLStatus(lastKnownStatus)
+ }
+ }
+}
diff --git a/go/test/endtoend/transaction/tx_test.go b/go/test/endtoend/transaction/tx_test.go
index 40621a1d84b..475b17cfa2c 100644
--- a/go/test/endtoend/transaction/tx_test.go
+++ b/go/test/endtoend/transaction/tx_test.go
@@ -69,9 +69,10 @@ func TestMain(m *testing.M) {
// Start keyspace
keyspace := &cluster.Keyspace{
- Name: keyspaceName,
- SchemaSQL: SchemaSQL,
- VSchema: VSchema,
+ Name: keyspaceName,
+ SchemaSQL: SchemaSQL,
+ VSchema: VSchema,
+ DurabilityPolicy: "semi_sync",
}
if err := clusterInstance.StartKeyspace(*keyspace, []string{"-80", "80-"}, 1, false); err != nil {
return 1, err
diff --git a/go/test/endtoend/utils/cmp.go b/go/test/endtoend/utils/cmp.go
index 32c90a27a5b..3b47e1f68dc 100644
--- a/go/test/endtoend/utils/cmp.go
+++ b/go/test/endtoend/utils/cmp.go
@@ -138,7 +138,7 @@ func (mcmp *MySQLCompare) AssertContainsError(query, expected string) {
mcmp.t.Helper()
_, err := mcmp.ExecAllowAndCompareError(query, CompareOptions{})
require.Error(mcmp.t, err)
- assert.Contains(mcmp.t, err.Error(), expected, "actual error: %s", err.Error())
+ assert.ErrorContains(mcmp.t, err, expected, "actual error: %s", err.Error())
}
// AssertMatchesNoOrder executes the given query against both Vitess and MySQL.
diff --git a/go/test/endtoend/utils/utils.go b/go/test/endtoend/utils/utils.go
index 345f1e787b4..35404981164 100644
--- a/go/test/endtoend/utils/utils.go
+++ b/go/test/endtoend/utils/utils.go
@@ -114,7 +114,7 @@ func AssertContainsError(t *testing.T, conn *mysql.Conn, query, expected string)
t.Helper()
_, err := ExecAllowError(t, conn, query)
require.Error(t, err)
- assert.Contains(t, err.Error(), expected, "actual error: %s", err.Error())
+ assert.ErrorContains(t, err, expected, "actual error: %s", err.Error())
}
// AssertMatchesNoOrder executes the given query and makes sure it matches the given `expected` string.
diff --git a/go/test/endtoend/vreplication/cluster_test.go b/go/test/endtoend/vreplication/cluster_test.go
index 218fc2b768a..13268fc749c 100644
--- a/go/test/endtoend/vreplication/cluster_test.go
+++ b/go/test/endtoend/vreplication/cluster_test.go
@@ -37,7 +37,7 @@ import (
"vitess.io/vitess/go/vt/mysqlctl"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vtgate/planbuilder/plancontext"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
@@ -87,6 +87,9 @@ type ClusterConfig struct {
vtorcPort int
vreplicationCompressGTID bool
+ // Set overrideHeartbeatOptions to true to override the default heartbeat options:
+ // which are set to only on demand (5s) and 250ms interval.
+ overrideHeartbeatOptions bool
}
// enableGTIDCompression enables GTID compression for the cluster and returns a function
@@ -471,9 +474,8 @@ func (vc *VitessCluster) AddKeyspace(t *testing.T, cells []*Cell, ksName string,
SidecarDBName: sidecarDBName,
}
- if err := vc.VtctldClient.CreateKeyspace(keyspace.Name, keyspace.SidecarDBName); err != nil {
- t.Fatalf(err.Error())
- }
+ err := vc.VtctldClient.CreateKeyspace(keyspace.Name, keyspace.SidecarDBName)
+ require.NoError(t, err)
log.Infof("Applying throttler config for keyspace %s", keyspace.Name)
req := &vtctldatapb.UpdateThrottlerConfigRequest{Enable: true, Threshold: throttlerConfig.Threshold, CustomQuery: throttlerConfig.Query}
@@ -497,15 +499,13 @@ func (vc *VitessCluster) AddKeyspace(t *testing.T, cells []*Cell, ksName string,
require.NoError(t, vc.AddShards(t, cells, keyspace, shards, numReplicas, numRdonly, tabletIDBase, opts))
if schema != "" {
- if err := vc.VtctlClient.ApplySchema(ksName, schema); err != nil {
- t.Fatalf(err.Error())
- }
+ err := vc.VtctlClient.ApplySchema(ksName, schema)
+ require.NoError(t, err)
}
keyspace.Schema = schema
if vschema != "" {
- if err := vc.VtctlClient.ApplyVSchema(ksName, vschema); err != nil {
- t.Fatalf(err.Error())
- }
+ err := vc.VtctlClient.ApplyVSchema(ksName, vschema)
+ require.NoError(t, err)
}
keyspace.VSchema = vschema
@@ -517,11 +517,15 @@ func (vc *VitessCluster) AddKeyspace(t *testing.T, cells []*Cell, ksName string,
// AddTablet creates new tablet with specified attributes
func (vc *VitessCluster) AddTablet(t testing.TB, cell *Cell, keyspace *Keyspace, shard *Shard, tabletType string, tabletID int) (*Tablet, *exec.Cmd, error) {
tablet := &Tablet{}
-
- options := []string{
+ var options []string
+ defaultHeartbeatOptions := []string{
"--heartbeat_on_demand_duration", "5s",
"--heartbeat_interval", "250ms",
}
+ if !mainClusterConfig.overrideHeartbeatOptions {
+ options = append(options, defaultHeartbeatOptions...)
+ }
+
options = append(options, extraVTTabletArgs...)
if mainClusterConfig.vreplicationCompressGTID {
@@ -681,9 +685,8 @@ func (vc *VitessCluster) AddShards(t *testing.T, cells []*Cell, keyspace *Keyspa
}
for ind, tablet := range tablets {
log.Infof("Running Setup() for vttablet %s", tablets[ind].Name)
- if err := tablet.Vttablet.Setup(); err != nil {
- t.Fatalf(err.Error())
- }
+ err := tablet.Vttablet.Setup()
+ require.NoError(t, err)
// Set time_zone to UTC for all tablets. Without this it fails locally on some MacOS setups.
query := "SET GLOBAL time_zone = '+00:00';"
qr, err := tablet.Vttablet.QueryTablet(query, tablet.Vttablet.Keyspace, false)
@@ -781,9 +784,8 @@ func (vc *VitessCluster) StartVtgate(t testing.TB, cell *Cell, cellsToWatch stri
extraVTGateArgs,
vc.ClusterConfig.vtgatePlannerVersion)
require.NotNil(t, vtgate)
- if err := vtgate.Setup(); err != nil {
- t.Fatalf(err.Error())
- }
+ err := vtgate.Setup()
+ require.NoError(t, err)
cell.Vtgates = append(cell.Vtgates, vtgate)
}
diff --git a/go/test/endtoend/vreplication/fk_test.go b/go/test/endtoend/vreplication/fk_test.go
index 72cd278002f..34881cbcd1a 100644
--- a/go/test/endtoend/vreplication/fk_test.go
+++ b/go/test/endtoend/vreplication/fk_test.go
@@ -29,7 +29,7 @@ import (
"vitess.io/vitess/go/mysql"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/vt/log"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
)
diff --git a/go/test/endtoend/vreplication/helper_test.go b/go/test/endtoend/vreplication/helper_test.go
index b45c09837c9..44c35d0acea 100644
--- a/go/test/endtoend/vreplication/helper_test.go
+++ b/go/test/endtoend/vreplication/helper_test.go
@@ -35,6 +35,8 @@ import (
"testing"
"time"
+ "golang.org/x/exp/maps"
+
"github.com/buger/jsonparser"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
@@ -1022,3 +1024,47 @@ func confirmKeyspacesRoutedTo(t *testing.T, keyspace string, routedKeyspace, tab
require.Equalf(t, routedKeyspace, plan.Keyspace.Name, "for database %s, keyspace %v, tabletType %s", database, keyspace, tt)
}
}
+
+// getVReplicationConfig returns the vreplication config for one random workflow for a given tablet. Currently, this is
+// used when there is only one workflow, so we are using this simple method to get the config.
+func getVReplicationConfig(t *testing.T, tab *cluster.VttabletProcess) map[string]string {
+ configJson, err := getDebugVar(t, tab.Port, []string{"VReplicationConfig"})
+ require.NoError(t, err)
+
+ var config map[string]string
+ err = json2.Unmarshal([]byte(configJson), &config)
+ require.NoError(t, err)
+ require.Equal(t, 1, len(config))
+
+ configJson = config[maps.Keys(config)[0]]
+ config = nil
+ err = json2.Unmarshal([]byte(configJson), &config)
+ require.NoError(t, err)
+
+ return config
+}
+
+// mapToCSV converts a golang map to a CSV string for use in defining the config overrides in vrep CLI commands.
+func mapToCSV(m map[string]string) string {
+ csv := ""
+ if len(m) == 0 {
+ return csv
+ }
+ for k, v := range m {
+ csv += fmt.Sprintf("%s=%s,", k, v)
+ }
+ if len(csv) == 0 {
+ return csv
+ }
+ return csv[:len(csv)-1]
+}
+
+// validateOverrides validates that the given vttablets have the expected config overrides.
+func validateOverrides(t *testing.T, tabs map[string]*cluster.VttabletProcess, want map[string]string) {
+ for _, tab := range tabs {
+ config := getVReplicationConfig(t, tab)
+ for k, v := range want {
+ require.EqualValues(t, v, config[k])
+ }
+ }
+}
diff --git a/go/test/endtoend/vreplication/materialize_test.go b/go/test/endtoend/vreplication/materialize_test.go
index 3f2e3451a64..c62099a5894 100644
--- a/go/test/endtoend/vreplication/materialize_test.go
+++ b/go/test/endtoend/vreplication/materialize_test.go
@@ -17,6 +17,7 @@ limitations under the License.
package vreplication
import (
+ "strings"
"testing"
"github.com/stretchr/testify/require"
@@ -235,3 +236,101 @@ func TestMaterializeVtctldClient(t *testing.T) {
testShardedMaterialize(t, true)
})
}
+
+const (
+ refSchema = `
+ create table ref1 (
+ id bigint not null,
+ val varbinary(10) not null,
+ primary key (id)
+ ) engine=InnoDB default charset=utf8mb4 collate=utf8mb4_unicode_ci;
+ create table ref2 (
+ id bigint not null,
+ id2 bigint not null,
+ primary key (id)
+ ) engine=InnoDB default charset=utf8mb4 collate=utf8mb4_unicode_ci;
+`
+ refSourceVSchema = `
+{
+ "tables": {
+ "ref1": {
+ "type": "reference"
+ },
+ "ref2": {
+ "type": "reference"
+ }
+ }
+}
+`
+ refTargetVSchema = `
+{
+ "tables": {
+ "ref1": {
+ "type": "reference",
+ "source": "ks1.ref1"
+ },
+ "ref2": {
+ "type": "reference",
+ "source": "ks1.ref2"
+ }
+ }
+}
+`
+ initRef1DataQuery = `insert into ks1.ref1(id, val) values (1, 'abc'), (2, 'def'), (3, 'ghi')`
+ initRef2DataQuery = `insert into ks1.ref2(id, id2) values (1, 1), (2, 2), (3, 3)`
+)
+
+// TestReferenceTableMaterialize tests materializing reference tables.
+func TestReferenceTableMaterialize(t *testing.T) {
+ vc = NewVitessCluster(t, nil)
+ require.NotNil(t, vc)
+ shards := []string{"-80", "80-"}
+ defer vc.TearDown()
+ defaultCell := vc.Cells[vc.CellNames[0]]
+ _, err := vc.AddKeyspace(t, []*Cell{defaultCell}, "ks1", "0", refSourceVSchema, refSchema, 0, 0, 100, nil)
+ require.NoError(t, err)
+ _, err = vc.AddKeyspace(t, []*Cell{defaultCell}, "ks2", strings.Join(shards, ","), refTargetVSchema, "", 0, 0, 200, nil)
+ require.NoError(t, err)
+ vtgateConn := getConnection(t, vc.ClusterConfig.hostname, vc.ClusterConfig.vtgateMySQLPort)
+ defer vtgateConn.Close()
+ verifyClusterHealth(t, vc)
+ _, err = vtgateConn.ExecuteFetch(initRef1DataQuery, 0, false)
+ require.NoError(t, err)
+ _, err = vtgateConn.ExecuteFetch(initRef2DataQuery, 0, false)
+ require.NoError(t, err)
+
+ err = vc.VtctldClient.ExecuteCommand("Materialize", "--target-keyspace", "ks2", "--workflow", "wf1", "create",
+ "--source-keyspace", "ks1", "--reference-tables", "ref1,ref2")
+ require.NoError(t, err, "Materialize")
+ for _, shard := range shards {
+ tab := vc.getPrimaryTablet(t, "ks2", shard)
+ catchup(t, tab, "wf1", "Materialize")
+ }
+
+ for _, shard := range shards {
+ waitForRowCount(t, vtgateConn, "ks2:"+shard, "ref1", 3)
+ waitForQueryResult(t, vtgateConn, "ks2:"+shard, "select id, val from ref1",
+ `[[INT64(1) VARBINARY("abc")] [INT64(2) VARBINARY("def")] [INT64(3) VARBINARY("ghi")]]`)
+ waitForRowCount(t, vtgateConn, "ks2:"+shard, "ref2", 3)
+ waitForQueryResult(t, vtgateConn, "ks2:"+shard, "select id, id2 from ref2",
+ `[[INT64(1) INT64(1)] [INT64(2) INT64(2)] [INT64(3) INT64(3)]]`)
+ }
+ vdiff(t, "ks2", "wf1", defaultCellName, false, true, nil)
+
+ queries := []string{
+ "update ks1.ref1 set val='xyz'",
+ "update ks1.ref2 set id2=3 where id=2",
+ "delete from ks1.ref1 where id=1",
+ "delete from ks1.ref2 where id=1",
+ "insert into ks1.ref1(id, val) values (4, 'jkl'), (5, 'mno')",
+ "insert into ks1.ref2(id, id2) values (4, 4), (5, 5)",
+ }
+ for _, query := range queries {
+ execVtgateQuery(t, vtgateConn, "ks1", query)
+ }
+ for _, shard := range shards {
+ waitForRowCount(t, vtgateConn, "ks2:"+shard, "ref1", 4)
+ waitForRowCount(t, vtgateConn, "ks2:"+shard, "ref2", 4)
+ }
+ vdiff(t, "ks2", "wf1", defaultCellName, false, true, nil)
+}
diff --git a/go/test/endtoend/vreplication/migrate_test.go b/go/test/endtoend/vreplication/migrate_test.go
index 57ec8238d2b..c6518f0fdec 100644
--- a/go/test/endtoend/vreplication/migrate_test.go
+++ b/go/test/endtoend/vreplication/migrate_test.go
@@ -18,10 +18,13 @@ package vreplication
import (
"fmt"
+ "strings"
"testing"
"github.com/tidwall/gjson"
+ "vitess.io/vitess/go/test/endtoend/cluster"
+
"github.com/stretchr/testify/require"
"vitess.io/vitess/go/mysql"
@@ -165,11 +168,18 @@ func TestVtctlMigrate(t *testing.T) {
// However now we need to create an external Vitess cluster. For this we need a different VTDATAROOT and
// hence the VTDATAROOT env variable gets overwritten.
// Each time we need to create vt processes in the "other" cluster we need to set the appropriate VTDATAROOT
-func TestVtctldMigrate(t *testing.T) {
+func TestVtctldMigrateUnsharded(t *testing.T) {
vc = NewVitessCluster(t, nil)
+ oldDefaultReplicas := defaultReplicas
+ oldDefaultRdonly := defaultRdonly
defaultReplicas = 0
defaultRdonly = 0
+ defer func() {
+ defaultReplicas = oldDefaultReplicas
+ defaultRdonly = oldDefaultRdonly
+ }()
+
defer vc.TearDown()
defaultCell := vc.Cells[vc.CellNames[0]]
@@ -299,3 +309,80 @@ func TestVtctldMigrate(t *testing.T) {
require.Errorf(t, err, "there is no vitess cluster named ext1")
})
}
+
+// TestVtctldMigrate adds a test for a sharded cluster to validate a fix for a bug where the target keyspace name
+// doesn't match that of the source cluster. The test migrates from a cluster with keyspace customer to an "external"
+// cluster with keyspace rating.
+func TestVtctldMigrateSharded(t *testing.T) {
+ oldDefaultReplicas := defaultReplicas
+ oldDefaultRdonly := defaultRdonly
+ defaultReplicas = 1
+ defaultRdonly = 1
+ defer func() {
+ defaultReplicas = oldDefaultReplicas
+ defaultRdonly = oldDefaultRdonly
+ }()
+
+ setSidecarDBName("_vt")
+ currentWorkflowType = binlogdatapb.VReplicationWorkflowType_MoveTables
+ vc = setupCluster(t)
+ vtgateConn := getConnection(t, vc.ClusterConfig.hostname, vc.ClusterConfig.vtgateMySQLPort)
+ defer vtgateConn.Close()
+ defer vc.TearDown()
+ setupCustomerKeyspace(t)
+ createMoveTablesWorkflow(t, "customer,Lead,datze,customer2")
+ tstWorkflowSwitchReadsAndWrites(t)
+ tstWorkflowComplete(t)
+
+ var err error
+ // create external cluster
+ extCell := "extcell1"
+ extCells := []string{extCell}
+ extVc := NewVitessCluster(t, &clusterOptions{
+ cells: extCells,
+ clusterConfig: externalClusterConfig,
+ })
+ defer extVc.TearDown()
+
+ setupExtKeyspace(t, extVc, "rating", extCell)
+ err = cluster.WaitForHealthyShard(extVc.VtctldClient, "rating", "-80")
+ require.NoError(t, err)
+ err = cluster.WaitForHealthyShard(extVc.VtctldClient, "rating", "80-")
+ require.NoError(t, err)
+ verifyClusterHealth(t, extVc)
+ extVtgateConn := getConnection(t, extVc.ClusterConfig.hostname, extVc.ClusterConfig.vtgateMySQLPort)
+ defer extVtgateConn.Close()
+
+ currentWorkflowType = binlogdatapb.VReplicationWorkflowType_Migrate
+ var output string
+ if output, err = extVc.VtctldClient.ExecuteCommandWithOutput("Mount", "register", "--name=external", "--topo-type=etcd2",
+ fmt.Sprintf("--topo-server=localhost:%d", vc.ClusterConfig.topoPort), "--topo-root=/vitess/global"); err != nil {
+ require.FailNow(t, "Mount command failed with %+v : %s\n", err, output)
+ }
+ ksWorkflow := "rating.e1"
+ if output, err = extVc.VtctldClient.ExecuteCommandWithOutput("Migrate",
+ "--target-keyspace", "rating", "--workflow", "e1",
+ "create", "--source-keyspace", "customer", "--mount-name", "external", "--all-tables", "--cells=zone1",
+ "--tablet-types=primary,replica"); err != nil {
+ require.FailNow(t, "Migrate command failed with %+v : %s\n", err, output)
+ }
+ waitForWorkflowState(t, extVc, ksWorkflow, binlogdatapb.VReplicationWorkflowState_Running.String())
+ // this is because currently doVtctldclientVDiff is using the global vc :-( and we want to run a diff on the extVc cluster
+ vc = extVc
+ doVtctldclientVDiff(t, "rating", "e1", "zone1", nil)
+}
+
+func setupExtKeyspace(t *testing.T, vc *VitessCluster, ksName, cellName string) {
+ numReplicas := 1
+ shards := []string{"-80", "80-"}
+ if _, err := vc.AddKeyspace(t, []*Cell{vc.Cells[cellName]}, ksName, strings.Join(shards, ","),
+ customerVSchema, customerSchema, numReplicas, 0, 1200, nil); err != nil {
+ t.Fatal(err)
+ }
+ vtgate := vc.Cells[cellName].Vtgates[0]
+ for _, shard := range shards {
+ err := cluster.WaitForHealthyShard(vc.VtctldClient, ksName, shard)
+ require.NoError(t, err)
+ require.NoError(t, vtgate.WaitForStatusOfTabletInShard(fmt.Sprintf("%s.%s.replica", ksName, shard), numReplicas, waitTimeout))
+ }
+}
diff --git a/go/test/endtoend/vreplication/testdata/config/init_testserver_db.sql b/go/test/endtoend/vreplication/testdata/config/init_testserver_db.sql
index fc78f6b414a..71bfba11ed8 100644
--- a/go/test/endtoend/vreplication/testdata/config/init_testserver_db.sql
+++ b/go/test/endtoend/vreplication/testdata/config/init_testserver_db.sql
@@ -38,6 +38,7 @@ DROP DATABASE IF EXISTS test;
CREATE USER 'vt_dba'@'localhost';
GRANT ALL ON *.* TO 'vt_dba'@'localhost';
GRANT GRANT OPTION ON *.* TO 'vt_dba'@'localhost';
+GRANT PROXY ON ''@'' TO 'vt_dba'@'localhost' WITH GRANT OPTION;
# User for app traffic, with global read-write access.
CREATE USER 'vt_app'@'localhost';
diff --git a/go/test/endtoend/vreplication/vdiff2_test.go b/go/test/endtoend/vreplication/vdiff2_test.go
index f4128b5c036..aaf4cae5375 100644
--- a/go/test/endtoend/vreplication/vdiff2_test.go
+++ b/go/test/endtoend/vreplication/vdiff2_test.go
@@ -32,10 +32,11 @@ import (
"google.golang.org/protobuf/encoding/protojson"
"google.golang.org/protobuf/proto"
+ "vitess.io/vitess/go/ptr"
"vitess.io/vitess/go/test/endtoend/cluster"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/sqlparser"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
@@ -321,8 +322,8 @@ func testWorkflow(t *testing.T, vc *VitessCluster, tc *testCase, tks *Keyspace,
testCLIErrors(t, ksWorkflow, allCellNames)
}
if tc.testCLIFlagHandling {
+ // This creates and then deletes the vdiff so we don't increment the count.
testCLIFlagHandling(t, tc.targetKs, tc.workflow, cells[0])
- tc.vdiffCount++ // We did either vtctlclient OR vtctldclient vdiff create
}
checkVDiffCountStat(t, statsTablet, tc.vdiffCount)
@@ -378,6 +379,7 @@ func testCLIFlagHandling(t *testing.T, targetKs, workflowName string, cell *Cell
UpdateTableStats: true,
TimeoutSeconds: 60,
MaxDiffSeconds: 333,
+ AutoStart: ptr.Of(false),
},
PickerOptions: &tabletmanagerdatapb.VDiffPickerOptions{
SourceCell: "zone1,zone2,zone3,zonefoosource",
@@ -385,8 +387,9 @@ func testCLIFlagHandling(t *testing.T, targetKs, workflowName string, cell *Cell
TabletTypes: "replica,primary,rdonly",
},
ReportOptions: &tabletmanagerdatapb.VDiffReportOptions{
- MaxSampleRows: 888,
- OnlyPks: true,
+ MaxSampleRows: 888,
+ OnlyPks: true,
+ RowDiffColumnTruncateAt: 444,
},
}
@@ -404,6 +407,8 @@ func testCLIFlagHandling(t *testing.T, targetKs, workflowName string, cell *Cell
fmt.Sprintf("--update-table-stats=%t", expectedOptions.CoreOptions.UpdateTableStats),
fmt.Sprintf("--auto-retry=%t", expectedOptions.CoreOptions.AutoRetry),
fmt.Sprintf("--only-pks=%t", expectedOptions.ReportOptions.OnlyPks),
+ fmt.Sprintf("--row-diff-column-truncate-at=%d", expectedOptions.ReportOptions.RowDiffColumnTruncateAt),
+ fmt.Sprintf("--auto-start=%t", *expectedOptions.CoreOptions.AutoStart),
"--tablet-types-in-preference-order=false", // So tablet_types should not start with "in_order:", which is the default
"--format=json") // So we can easily grab the UUID
require.NoError(t, err, "vdiff command failed: %s", res)
@@ -428,6 +433,11 @@ func testCLIFlagHandling(t *testing.T, targetKs, workflowName string, cell *Cell
err = protojson.Unmarshal(bytes, storedOptions)
require.NoError(t, err, "failed to unmarshal result %s to a %T: %v", string(bytes), storedOptions, err)
require.True(t, proto.Equal(expectedOptions, storedOptions), "stored options %v != expected options %v", storedOptions, expectedOptions)
+
+ // Delete this vdiff as we used --auto-start=false and thus it never starts and
+ // does not provide the normally expected show --verbose --format=json output.
+ _, output := performVDiff2Action(t, false, fmt.Sprintf("%s.%s", targetKs, workflowName), "", "delete", vduuid.String(), false)
+ require.Equal(t, "completed", gjson.Get(output, "Status").String())
})
}
diff --git a/go/test/endtoend/vreplication/vreplication_test.go b/go/test/endtoend/vreplication/vreplication_test.go
index c3f3e4e6557..519bf8d0ce5 100644
--- a/go/test/endtoend/vreplication/vreplication_test.go
+++ b/go/test/endtoend/vreplication/vreplication_test.go
@@ -20,6 +20,7 @@ import (
"context"
"fmt"
"io"
+ "maps"
"net/http"
"runtime"
"strconv"
@@ -58,7 +59,7 @@ var (
targetKsOpts = make(map[string]string)
httpClient = throttlebase.SetupHTTPClient(time.Second)
sourceThrottlerAppName = throttlerapp.VStreamerName
- targetThrottlerAppName = throttlerapp.VReplicationName
+ targetThrottlerAppName = throttlerapp.VPlayerName
)
const (
@@ -797,6 +798,11 @@ func shardCustomer(t *testing.T, testReverse bool, cells []*Cell, sourceCellOrAl
commit, _ = vc.startQuery(t, openTxQuery)
}
switchWritesDryRun(t, workflowType, ksWorkflow, dryRunResultsSwitchWritesCustomerShard)
+ shardNames := make([]string, 0, len(vc.Cells[defaultCell.Name].Keyspaces[sourceKs].Shards))
+ for shardName := range maps.Keys(vc.Cells[defaultCell.Name].Keyspaces[sourceKs].Shards) {
+ shardNames = append(shardNames, shardName)
+ }
+ testSwitchTrafficPermissionChecks(t, workflowType, sourceKs, shardNames, targetKs, workflow)
switchWrites(t, workflowType, ksWorkflow, false)
checkThatVDiffFails(t, targetKs, workflow)
@@ -1228,18 +1234,7 @@ func materializeProduct(t *testing.T, useVtctldClient bool) {
for _, tab := range customerTablets {
waitForRowCountInTablet(t, tab, keyspace, workflow, 5)
// Confirm that we updated the stats on the target tablets as expected.
- jsVal, err := getDebugVar(t, tab.Port, []string{"VReplicationThrottledCounts"})
- require.NoError(t, err)
- require.NotEqual(t, "{}", jsVal)
- // The JSON value looks like this: {"cproduct.4.tablet.vstreamer": 2}
- vstreamerThrottledCount := gjson.Get(jsVal, fmt.Sprintf(`%s\.*\.tablet\.vstreamer`, workflow)).Int()
- require.Greater(t, vstreamerThrottledCount, int64(0))
- // We only need to do this stat check once.
- val, err := getDebugVar(t, tab.Port, []string{"VReplicationThrottledCountTotal"})
- require.NoError(t, err)
- throttledCount, err := strconv.ParseInt(val, 10, 64)
- require.NoError(t, err)
- require.GreaterOrEqual(t, throttledCount, vstreamerThrottledCount)
+ confirmVReplicationThrottling(t, tab, sourceKs, workflow, sourceThrottlerAppName)
}
})
t.Run("unthrottle-app-product", func(t *testing.T) {
@@ -1274,12 +1269,7 @@ func materializeProduct(t *testing.T, useVtctldClient bool) {
for _, tab := range customerTablets {
waitForRowCountInTablet(t, tab, keyspace, workflow, 8)
// Confirm that we updated the stats on the target tablets as expected.
- jsVal, err := getDebugVar(t, tab.Port, []string{"VReplicationThrottledCounts"})
- require.NoError(t, err)
- require.NotEqual(t, "{}", jsVal)
- // The JSON value now looks like this: {"cproduct.4.tablet.vstreamer": 2, "cproduct.4.tablet.vplayer": 4}
- vplayerThrottledCount := gjson.Get(jsVal, fmt.Sprintf(`%s\.*\.tablet\.vplayer`, workflow)).Int()
- require.Greater(t, vplayerThrottledCount, int64(0))
+ confirmVReplicationThrottling(t, tab, sourceKs, workflow, targetThrottlerAppName)
}
})
t.Run("unthrottle-app-customer", func(t *testing.T) {
@@ -1605,6 +1595,60 @@ func switchWritesDryRun(t *testing.T, workflowType, ksWorkflow string, dryRunRes
validateDryRunResults(t, output, dryRunResults)
}
+// testSwitchTrafficPermissionsChecks confirms that for the SwitchTraffic command, the
+// necessary permissions are checked properly on the source keyspace's primary tablets.
+// This ensures that we can create and manage the reverse vreplication workflow.
+func testSwitchTrafficPermissionChecks(t *testing.T, workflowType, sourceKeyspace string, sourceShards []string, targetKeyspace, workflow string) {
+ applyPrivileges := func(query string) {
+ for _, shard := range sourceShards {
+ primary := vc.getPrimaryTablet(t, sourceKeyspace, shard)
+ _, err := primary.QueryTablet(query, primary.Keyspace, false)
+ require.NoError(t, err)
+ }
+ }
+ runDryRunCmd := func(expectErr bool) {
+ _, err := vc.VtctldClient.ExecuteCommandWithOutput(workflowType, "--workflow", workflow, "--target-keyspace", targetKeyspace,
+ "SwitchTraffic", "--tablet-types=primary", "--dry-run")
+ require.True(t, ((err != nil) == expectErr), "expected error: %t, got: %v", expectErr, err)
+ }
+
+ defer func() {
+ // Put the default global privs back in place.
+ applyPrivileges("grant select,insert,update,delete on *.* to vt_filtered@localhost")
+ }()
+
+ t.Run("test switch traffic permission checks", func(t *testing.T) {
+ t.Run("test without global privileges", func(t *testing.T) {
+ applyPrivileges("revoke select,insert,update,delete on *.* from vt_filtered@localhost")
+ runDryRunCmd(true)
+ })
+
+ t.Run("test with db level privileges", func(t *testing.T) {
+ applyPrivileges(fmt.Sprintf("grant select,insert,update,delete on %s.* to vt_filtered@localhost",
+ sidecarDBIdentifier))
+ runDryRunCmd(false)
+ })
+
+ t.Run("test without global or db level privileges", func(t *testing.T) {
+ applyPrivileges(fmt.Sprintf("revoke select,insert,update,delete on %s.* from vt_filtered@localhost",
+ sidecarDBIdentifier))
+ runDryRunCmd(true)
+ })
+
+ t.Run("test with table level privileges", func(t *testing.T) {
+ applyPrivileges(fmt.Sprintf("grant select,insert,update,delete on %s.vreplication to vt_filtered@localhost",
+ sidecarDBIdentifier))
+ runDryRunCmd(false)
+ })
+
+ t.Run("test without global, db, or table level privileges", func(t *testing.T) {
+ applyPrivileges(fmt.Sprintf("revoke select,insert,update,delete on %s.vreplication from vt_filtered@localhost",
+ sidecarDBIdentifier))
+ runDryRunCmd(true)
+ })
+ })
+}
+
// restartWorkflow confirms that a workflow can be successfully
// stopped and started.
func restartWorkflow(t *testing.T, ksWorkflow string) {
@@ -1709,3 +1753,52 @@ func waitForInnoDBHistoryLength(t *testing.T, tablet *cluster.VttabletProcess, e
func releaseInnoDBRowHistory(t *testing.T, dbConn *mysql.Conn) {
execQuery(t, dbConn, "rollback")
}
+
+// confirmVReplicationThrottling confirms that the throttling related metrics reflect that
+// the workflow is being throttled as expected, via the expected app name, and that this
+// is impacting the lag as expected.
+// The tablet passed should be a target tablet for the given workflow while the keyspace
+// name provided should be the source keyspace as the target tablet stats note the stream's
+// source keyspace and shard.
+func confirmVReplicationThrottling(t *testing.T, tab *cluster.VttabletProcess, keyspace, workflow string, appname throttlerapp.Name) {
+ const (
+ sleepTime = 5 * time.Second
+ zv = int64(0)
+ )
+ time.Sleep(sleepTime) // To be sure that we accrue some lag
+
+ jsVal, err := getDebugVar(t, tab.Port, []string{"VReplicationThrottledCounts"})
+ require.NoError(t, err)
+ require.NotEqual(t, "{}", jsVal)
+ // The JSON value looks like this: {"cproduct.4.tablet.vstreamer": 2, "cproduct.4.tablet.vplayer": 4}
+ throttledCount := gjson.Get(jsVal, fmt.Sprintf(`%s\.*\.tablet\.%s`, workflow, appname)).Int()
+ require.Greater(t, throttledCount, zv, "JSON value: %s", jsVal)
+
+ val, err := getDebugVar(t, tab.Port, []string{"VReplicationThrottledCountTotal"})
+ require.NoError(t, err)
+ require.NotEqual(t, "", val)
+ throttledCountTotal, err := strconv.ParseInt(val, 10, 64)
+ require.NoError(t, err)
+ require.GreaterOrEqual(t, throttledCountTotal, throttledCount, "Value: %s", val)
+
+ // We do not calculate replication lag for the vcopier as it's not replicating
+ // events.
+ if appname != throttlerapp.VCopierName {
+ jsVal, err = getDebugVar(t, tab.Port, []string{"VReplicationLagSeconds"})
+ require.NoError(t, err)
+ require.NotEqual(t, "{}", jsVal)
+ // The JSON value looks like this: {"product.0.cproduct.4": 6}
+ vreplLagSeconds := gjson.Get(jsVal, fmt.Sprintf(`%s\.*\.%s\.*`, keyspace, workflow)).Int()
+ require.NoError(t, err)
+ // Take off 1 second to deal with timing issues in the test.
+ minLagSecs := int64(int64(sleepTime.Seconds()) - 1)
+ require.GreaterOrEqual(t, vreplLagSeconds, minLagSecs, "JSON value: %s", jsVal)
+
+ val, err = getDebugVar(t, tab.Port, []string{"VReplicationLagSecondsMax"})
+ require.NoError(t, err)
+ require.NotEqual(t, "", val)
+ vreplLagSecondsMax, err := strconv.ParseInt(val, 10, 64)
+ require.NoError(t, err)
+ require.GreaterOrEqual(t, vreplLagSecondsMax, vreplLagSeconds, "Value: %s", val)
+ }
+}
diff --git a/go/test/endtoend/vreplication/vreplication_vtctldclient_cli_test.go b/go/test/endtoend/vreplication/vreplication_vtctldclient_cli_test.go
index a69d55c3417..2355730ac8c 100644
--- a/go/test/endtoend/vreplication/vreplication_vtctldclient_cli_test.go
+++ b/go/test/endtoend/vreplication/vreplication_vtctldclient_cli_test.go
@@ -30,13 +30,14 @@ import (
"vitess.io/vitess/go/json2"
"vitess.io/vitess/go/test/endtoend/cluster"
+ "vitess.io/vitess/go/vt/topo/topoproto"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
vschemapb "vitess.io/vitess/go/vt/proto/vschema"
vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
- "vitess.io/vitess/go/vt/topo/topoproto"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
)
// TestVtctldclientCLI tests the vreplication vtctldclient CLI commands, primarily to check that non-standard flags
@@ -50,6 +51,7 @@ func TestVtctldclientCLI(t *testing.T) {
}()
defaultRdonly = 0
vc = setupMinimalCluster(t)
+ vttablet.InitVReplicationConfigDefaults()
err = vc.Vtctl.AddCellInfo("zone2")
require.NoError(t, err)
@@ -73,6 +75,9 @@ func TestVtctldclientCLI(t *testing.T) {
t.Run("MoveTablesCreateFlags1", func(t *testing.T) {
testMoveTablesFlags1(t, &mt, sourceKeyspaceName, targetKeyspaceName, workflowName, targetTabs)
})
+ t.Run("testWorkflowUpdateConfig", func(t *testing.T) {
+ testWorkflowUpdateConfig(t, &mt, targetTabs, targetKeyspaceName, workflowName)
+ })
t.Run("MoveTablesCreateFlags2", func(t *testing.T) {
testMoveTablesFlags2(t, &mt, sourceKeyspaceName, targetKeyspaceName, workflowName, targetTabs)
})
@@ -97,10 +102,16 @@ func TestVtctldclientCLI(t *testing.T) {
// Tests several create flags and some complete flags and validates that some of them are set correctly for the workflow.
func testMoveTablesFlags1(t *testing.T, mt *iMoveTables, sourceKeyspace, targetKeyspace, workflowName string, targetTabs map[string]*cluster.VttabletProcess) {
tables := "customer,customer2"
+ overrides := map[string]string{
+ "vreplication_net_read_timeout": "6000",
+ "relay_log_max_items": "10000",
+ "vreplication-parallel-insert-workers": "10",
+ }
createFlags := []string{"--auto-start=false", "--defer-secondary-keys=false", "--stop-after-copy",
"--no-routing-rules", "--on-ddl", "STOP", "--exclude-tables", "customer2",
"--tablet-types", "primary,rdonly", "--tablet-types-in-preference-order=true",
"--all-cells",
+ "--config-overrides", mapToCSV(overrides),
}
completeFlags := []string{"--keep-routing-rules", "--keep-data"}
switchFlags := []string{}
@@ -117,6 +128,7 @@ func testMoveTablesFlags1(t *testing.T, mt *iMoveTables, sourceKeyspace, targetK
validateMoveTablesWorkflow(t, workflowResponse.Workflows)
// Since we used --no-routing-rules, there should be no routing rules.
confirmNoRoutingRules(t)
+ validateOverrides(t, targetTabs, overrides)
}
func getMoveTablesShowResponse(mt *iMoveTables) *vtctldatapb.GetWorkflowsResponse {
@@ -212,6 +224,91 @@ func testWorkflowList(t *testing.T, sourceKeyspace, targetKeyspace string) {
require.EqualValues(t, wfNames, workflowNames)
}
+func testWorkflowUpdateConfig(t *testing.T, mt *iMoveTables, targetTabs map[string]*cluster.VttabletProcess, targetKeyspace, workflow string) {
+ updateConfig := func(t *testing.T, overrides map[string]string) error {
+ overridesCSV := mapToCSV(overrides)
+ _, err := vc.VtctldClient.ExecuteCommandWithOutput("workflow", "--keyspace", targetKeyspace, "update",
+ "--workflow", workflow, "--config-overrides", overridesCSV)
+ return err
+ }
+ require.GreaterOrEqual(t, len(targetTabs), 1)
+ tab := maps.Values(targetTabs)[0]
+ require.NotNil(t, tab)
+ defaultConfig := vttablet.InitVReplicationConfigDefaults()
+ type testCase struct {
+ name string
+ config map[string]string
+ needError bool
+ clears bool
+ }
+ testCases := []testCase{
+ {
+ name: "reset flags",
+ config: defaultConfig.Map(),
+ clears: true,
+ },
+ {
+ name: "one value",
+ config: map[string]string{
+ "vreplication_heartbeat_update_interval": "10",
+ },
+ },
+ {
+ name: "two values",
+ config: map[string]string{
+ "vreplication_heartbeat_update_interval": "100",
+ "vreplication_store_compressed_gtid": "true",
+ },
+ },
+ {
+ name: "invalid value",
+ config: map[string]string{
+ "vreplication_heartbeat_update_interval": "12s",
+ "vreplication_store_compressed_gtid": "true",
+ },
+ needError: true,
+ },
+ {
+ name: "unknown flag",
+ config: map[string]string{
+ "vreplication_heartbeat_update_interval": "1",
+ "vreplication_store_compressed_gtid": "true",
+ "unknown": "value",
+ },
+ needError: true,
+ },
+ {
+ name: "clear flags",
+ config: map[string]string{
+ "vreplication_heartbeat_update_interval": "",
+ "vreplication_store_compressed_gtid": "",
+ },
+ clears: true,
+ },
+ }
+
+ expectedConfig, err := vttablet.NewVReplicationConfig(nil)
+ require.NoError(t, err)
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ err := updateConfig(t, tc.config)
+ if tc.needError {
+ require.Error(t, err)
+ } else {
+ require.NoError(t, err)
+ expectedConfig, err = vttablet.NewVReplicationConfig(tc.config)
+ require.NoError(t, err)
+ }
+ config := getVReplicationConfig(t, tab)
+ if tc.clears {
+ expectedConfig, err = vttablet.NewVReplicationConfig(nil)
+ require.NoError(t, err)
+ }
+ require.EqualValues(t, expectedConfig.Map(), config)
+ })
+ }
+}
+
func createMoveTables(t *testing.T, sourceKeyspace, targetKeyspace, workflowName, tables string,
createFlags, completeFlags, switchFlags []string) iMoveTables {
mt := newMoveTables(vc, &moveTablesWorkflow{
@@ -233,9 +330,17 @@ func createMoveTables(t *testing.T, sourceKeyspace, targetKeyspace, workflowName
// reshard helpers
func splitShard(t *testing.T, keyspace, workflowName, sourceShards, targetShards string, targetTabs map[string]*cluster.VttabletProcess) {
+ overrides := map[string]string{
+ "vreplication_copy_phase_duration": "10h11m12s",
+ "vreplication_experimental_flags": "7",
+ "vreplication-parallel-insert-workers": "4",
+ "vreplication_net_read_timeout": "6000",
+ "relay_log_max_items": "10000",
+ }
createFlags := []string{"--auto-start=false", "--defer-secondary-keys=false", "--stop-after-copy",
"--on-ddl", "STOP", "--tablet-types", "primary,rdonly", "--tablet-types-in-preference-order=true",
"--all-cells", "--format=json",
+ "--config-overrides", mapToCSV(overrides),
}
rs := newReshard(vc, &reshardWorkflow{
workflowInfo: &workflowInfo{
@@ -251,6 +356,7 @@ func splitShard(t *testing.T, keyspace, workflowName, sourceShards, targetShards
ksWorkflow := fmt.Sprintf("%s.%s", keyspace, workflowName)
rs.Create()
validateReshardResponse(rs)
+ validateOverrides(t, targetTabs, overrides)
workflowResponse := getWorkflow(keyspace, workflowName)
reshardShowResponse := getReshardShowResponse(&rs)
require.EqualValues(t, reshardShowResponse, workflowResponse)
diff --git a/go/test/endtoend/vreplication/vstream_test.go b/go/test/endtoend/vreplication/vstream_test.go
index e13c3e24e80..3f79a35b569 100644
--- a/go/test/endtoend/vreplication/vstream_test.go
+++ b/go/test/endtoend/vreplication/vstream_test.go
@@ -28,13 +28,13 @@ import (
"github.com/stretchr/testify/require"
"vitess.io/vitess/go/vt/log"
- binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
- topodatapb "vitess.io/vitess/go/vt/proto/topodata"
- vtgatepb "vitess.io/vitess/go/vt/proto/vtgate"
_ "vitess.io/vitess/go/vt/vtctl/grpcvtctlclient"
_ "vitess.io/vitess/go/vt/vtgate/grpcvtgateconn"
-
"vitess.io/vitess/go/vt/vtgate/vtgateconn"
+
+ binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
+ topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+ vtgatepb "vitess.io/vitess/go/vt/proto/vtgate"
)
// Validates that we have a working VStream API
@@ -598,13 +598,15 @@ func TestMultiVStreamsKeyspaceReshard(t *testing.T) {
Match: "/customer.*",
}},
}
- flags := &vtgatepb.VStreamFlags{}
+ flags := &vtgatepb.VStreamFlags{
+ IncludeReshardJournalEvents: true,
+ }
+ journalEvents := 0
// Stream events but stop once we have a VGTID with positions for the old/original shards.
var newVGTID *binlogdatapb.VGtid
func() {
- var reader vtgateconn.VStreamReader
- reader, err = vstreamConn.VStream(ctx, topodatapb.TabletType_PRIMARY, vgtid, filter, flags)
+ reader, err := vstreamConn.VStream(ctx, topodatapb.TabletType_PRIMARY, vgtid, filter, flags)
require.NoError(t, err)
for {
evs, err := reader.Recv()
@@ -658,8 +660,7 @@ func TestMultiVStreamsKeyspaceReshard(t *testing.T) {
// Now start a new VStream from our previous VGTID which only has the old/original shards.
func() {
- var reader vtgateconn.VStreamReader
- reader, err = vstreamConn.VStream(ctx, topodatapb.TabletType_PRIMARY, newVGTID, filter, flags)
+ reader, err := vstreamConn.VStream(ctx, topodatapb.TabletType_PRIMARY, newVGTID, filter, flags)
require.NoError(t, err)
for {
evs, err := reader.Recv()
@@ -680,6 +681,9 @@ func TestMultiVStreamsKeyspaceReshard(t *testing.T) {
default:
require.FailNow(t, fmt.Sprintf("received event for unexpected shard: %s", shard))
}
+ case binlogdatapb.VEventType_JOURNAL:
+ require.True(t, ev.Journal.MigrationType == binlogdatapb.MigrationType_SHARDS)
+ journalEvents++
}
}
default:
@@ -694,8 +698,10 @@ func TestMultiVStreamsKeyspaceReshard(t *testing.T) {
}()
// We should have a mix of events across the old and new shards.
- require.NotZero(t, oldShardRowEvents)
- require.NotZero(t, newShardRowEvents)
+ require.Greater(t, oldShardRowEvents, 0)
+ require.Greater(t, newShardRowEvents, 0)
+ // We should have seen a reshard journal event.
+ require.Greater(t, journalEvents, 0)
// The number of row events streamed by the VStream API should match the number of rows inserted.
customerResult := execVtgateQuery(t, vtgateConn, ks, "select count(*) from customer")
@@ -704,6 +710,206 @@ func TestMultiVStreamsKeyspaceReshard(t *testing.T) {
require.Equal(t, customerCount, int64(oldShardRowEvents+newShardRowEvents))
}
+// TestMultiVStreamsKeyspaceStopOnReshard confirms that journal events are received
+// when resuming a VStream after a reshard.
+func TestMultiVStreamsKeyspaceStopOnReshard(t *testing.T) {
+ ctx := context.Background()
+ ks := "testks"
+ wf := "multiVStreamsKeyspaceReshard"
+ baseTabletID := 100
+ tabletType := topodatapb.TabletType_PRIMARY.String()
+ oldShards := "-80,80-"
+ newShards := "-40,40-80,80-c0,c0-"
+ oldShardRowEvents, journalEvents := 0, 0
+ vc = NewVitessCluster(t, nil)
+ defer vc.TearDown()
+ defaultCell := vc.Cells[vc.CellNames[0]]
+ ogdr := defaultReplicas
+ defaultReplicas = 0 // Because of CI resource constraints we can only run this test with primary tablets
+ defer func(dr int) { defaultReplicas = dr }(ogdr)
+
+ // For our sequences etc.
+ _, err := vc.AddKeyspace(t, []*Cell{defaultCell}, "global", "0", vschemaUnsharded, schemaUnsharded, defaultReplicas, defaultRdonly, baseTabletID, nil)
+ require.NoError(t, err)
+
+ // Setup the keyspace with our old/original shards.
+ keyspace, err := vc.AddKeyspace(t, []*Cell{defaultCell}, ks, oldShards, vschemaSharded, schemaSharded, defaultReplicas, defaultRdonly, baseTabletID+1000, nil)
+ require.NoError(t, err)
+
+ // Add the new shards.
+ err = vc.AddShards(t, []*Cell{defaultCell}, keyspace, newShards, defaultReplicas, defaultRdonly, baseTabletID+2000, targetKsOpts)
+ require.NoError(t, err)
+
+ vtgateConn := getConnection(t, vc.ClusterConfig.hostname, vc.ClusterConfig.vtgateMySQLPort)
+ defer vtgateConn.Close()
+ verifyClusterHealth(t, vc)
+
+ vstreamConn, err := vtgateconn.Dial(ctx, fmt.Sprintf("%s:%d", vc.ClusterConfig.hostname, vc.ClusterConfig.vtgateGrpcPort))
+ require.NoError(t, err)
+ defer vstreamConn.Close()
+
+ // Ensure that we're starting with a clean slate.
+ _, err = vtgateConn.ExecuteFetch(fmt.Sprintf("delete from %s.customer", ks), 1000, false)
+ require.NoError(t, err)
+
+ // Coordinate go-routines.
+ streamCtx, streamCancel := context.WithTimeout(ctx, 1*time.Minute)
+ defer streamCancel()
+ done := make(chan struct{})
+
+ // First goroutine that keeps inserting rows into the table being streamed until the
+ // stream context is cancelled.
+ go func() {
+ id := 1
+ for {
+ select {
+ case <-streamCtx.Done():
+ // Give the VStream a little catch-up time before telling it to stop
+ // via the done channel.
+ time.Sleep(10 * time.Second)
+ close(done)
+ return
+ default:
+ insertRow(ks, "customer", id)
+ time.Sleep(250 * time.Millisecond)
+ id++
+ }
+ }
+ }()
+
+ // Create the Reshard workflow and wait for it to finish the copy phase.
+ reshardAction(t, "Create", wf, ks, oldShards, newShards, defaultCellName, tabletType)
+ waitForWorkflowState(t, vc, fmt.Sprintf("%s.%s", ks, wf), binlogdatapb.VReplicationWorkflowState_Running.String())
+
+ vgtid := &binlogdatapb.VGtid{
+ ShardGtids: []*binlogdatapb.ShardGtid{{
+ // Only stream the keyspace that we're resharding. Otherwise the client stream
+ // will continue to run with only the tablet stream from the global keyspace.
+ Keyspace: ks,
+ }}}
+
+ filter := &binlogdatapb.Filter{
+ Rules: []*binlogdatapb.Rule{{
+ // Stream all tables.
+ Match: "/.*",
+ }},
+ }
+ flags := &vtgatepb.VStreamFlags{
+ StopOnReshard: true,
+ }
+
+ // Stream events but stop once we have a VGTID with positions for the old/original shards.
+ var newVGTID *binlogdatapb.VGtid
+ func() {
+ reader, err := vstreamConn.VStream(ctx, topodatapb.TabletType_PRIMARY, vgtid, filter, flags)
+ require.NoError(t, err)
+ for {
+ evs, err := reader.Recv()
+
+ switch err {
+ case nil:
+ for _, ev := range evs {
+ switch ev.Type {
+ case binlogdatapb.VEventType_ROW:
+ shard := ev.GetRowEvent().GetShard()
+ switch shard {
+ case "-80", "80-":
+ oldShardRowEvents++
+ default:
+ require.FailNow(t, fmt.Sprintf("received event for unexpected shard: %s", shard))
+ }
+ case binlogdatapb.VEventType_VGTID:
+ newVGTID = ev.GetVgtid()
+ // We want a VGTID with a ShardGtid for both of the old shards.
+ if len(newVGTID.GetShardGtids()) == 2 {
+ canStop := true
+ for _, sg := range newVGTID.GetShardGtids() {
+ if sg.GetGtid() == "" {
+ canStop = false
+ }
+ }
+ if canStop {
+ return
+ }
+ }
+ }
+ }
+ default:
+ require.FailNow(t, fmt.Sprintf("VStream returned unexpected error: %v", err))
+ }
+ select {
+ case <-streamCtx.Done():
+ return
+ default:
+ }
+ }
+ }()
+
+ // Confirm that we have shard GTIDs for the old/original shards.
+ require.Len(t, newVGTID.GetShardGtids(), 2)
+ t.Logf("Position at end of first stream: %+v", newVGTID.GetShardGtids())
+
+ // Switch the traffic to the new shards.
+ reshardAction(t, "SwitchTraffic", wf, ks, oldShards, newShards, defaultCellName, tabletType)
+
+ // Now start a new VStream from our previous VGTID which only has the old/original shards.
+ expectedJournalEvents := 2 // One for each old shard: -80,80-
+ var streamStopped bool // We expect the stream to end with io.EOF from the reshard
+ runResumeStream := func() {
+ journalEvents = 0
+ streamStopped = false
+ t.Logf("Streaming from position: %+v", newVGTID.GetShardGtids())
+ reader, err := vstreamConn.VStream(ctx, topodatapb.TabletType_PRIMARY, newVGTID, filter, flags)
+ require.NoError(t, err)
+ for {
+ evs, err := reader.Recv()
+
+ switch err {
+ case nil:
+ for i, ev := range evs {
+ switch ev.Type {
+ case binlogdatapb.VEventType_ROW:
+ shard := ev.RowEvent.Shard
+ switch shard {
+ case "-80", "80-":
+ default:
+ require.FailNow(t, fmt.Sprintf("received event for unexpected shard: %s", shard))
+ }
+ case binlogdatapb.VEventType_JOURNAL:
+ t.Logf("Journal event: %+v", ev)
+ journalEvents++
+ require.Equal(t, binlogdatapb.VEventType_BEGIN, evs[i-1].Type, "JOURNAL event not preceded by BEGIN event")
+ require.Equal(t, binlogdatapb.VEventType_VGTID, evs[i+1].Type, "JOURNAL event not followed by VGTID event")
+ require.Equal(t, binlogdatapb.VEventType_COMMIT, evs[i+2].Type, "JOURNAL event not followed by COMMIT event")
+ }
+ }
+ case io.EOF:
+ streamStopped = true
+ return
+ default:
+ require.FailNow(t, fmt.Sprintf("VStream returned unexpected error: %v", err))
+ }
+ select {
+ case <-done:
+ return
+ default:
+ }
+ }
+ }
+
+ // Multiple VStream clients should be able to resume from where they left off and
+ // get the reshard journal event.
+ for i := 1; i <= expectedJournalEvents; i++ {
+ runResumeStream()
+ // We should have seen the journal event for each shard in the stream due to
+ // using StopOnReshard.
+ require.Equal(t, expectedJournalEvents, journalEvents,
+ "did not get expected journal events on resume vstream #%d", i)
+ // Confirm that the stream stopped on the reshard.
+ require.True(t, streamStopped, "the vstream did not stop with io.EOF as expected")
+ }
+}
+
func TestVStreamFailover(t *testing.T) {
testVStreamWithFailover(t, true)
}
@@ -747,3 +953,139 @@ func TestVStreamCopyMultiKeyspaceReshard(t *testing.T) {
require.NotZero(t, ne.numDash40Events)
require.NotZero(t, ne.num40DashEvents)
}
+
+const (
+ vstreamHeartbeatsTestContextTimeout = 20 * time.Second
+ // Expect a reasonable number of heartbeats to be received in the test duration, should ideally be ~ timeout
+ // since the heartbeat interval is set to 1s. But we set it to 10 to be conservative to avoid CI flakiness.
+ numExpectedHeartbeats = 10
+)
+
+func doVStream(t *testing.T, vc *VitessCluster, flags *vtgatepb.VStreamFlags) (numRowEvents map[string]int, numFieldEvents map[string]int) {
+ // Stream for a while to ensure heartbeats are sent.
+ ctx, cancel := context.WithTimeout(context.Background(), vstreamHeartbeatsTestContextTimeout)
+ defer cancel()
+
+ numRowEvents = make(map[string]int)
+ numFieldEvents = make(map[string]int)
+ vstreamConn, err := vtgateconn.Dial(ctx, fmt.Sprintf("%s:%d", vc.ClusterConfig.hostname, vc.ClusterConfig.vtgateGrpcPort))
+ require.NoError(t, err)
+ defer vstreamConn.Close()
+
+ done := false
+ vgtid := &binlogdatapb.VGtid{
+ ShardGtids: []*binlogdatapb.ShardGtid{{
+ Keyspace: "product",
+ Shard: "0",
+ Gtid: "",
+ }}}
+
+ filter := &binlogdatapb.Filter{
+ Rules: []*binlogdatapb.Rule{{
+ Match: "customer",
+ Filter: "select * from customer",
+ }},
+ }
+ // Stream events from the VStream API.
+ reader, err := vstreamConn.VStream(ctx, topodatapb.TabletType_PRIMARY, vgtid, filter, flags)
+ require.NoError(t, err)
+ for !done {
+ evs, err := reader.Recv()
+ switch err {
+ case nil:
+ for _, ev := range evs {
+ switch ev.Type {
+ case binlogdatapb.VEventType_ROW:
+ rowEvent := ev.RowEvent
+ arr := strings.Split(rowEvent.TableName, ".")
+ require.Equal(t, len(arr), 2)
+ tableName := arr[1]
+ require.Equal(t, "product", rowEvent.Keyspace)
+ require.Equal(t, "0", rowEvent.Shard)
+ numRowEvents[tableName]++
+
+ case binlogdatapb.VEventType_FIELD:
+ fieldEvent := ev.FieldEvent
+ arr := strings.Split(fieldEvent.TableName, ".")
+ require.Equal(t, len(arr), 2)
+ tableName := arr[1]
+ require.Equal(t, "product", fieldEvent.Keyspace)
+ require.Equal(t, "0", fieldEvent.Shard)
+ numFieldEvents[tableName]++
+ default:
+ }
+ }
+ case io.EOF:
+ log.Infof("Stream Ended")
+ done = true
+ default:
+ log.Errorf("remote error: %v", err)
+ done = true
+ }
+ }
+ return numRowEvents, numFieldEvents
+}
+
+// TestVStreamHeartbeats enables streaming of the internal Vitess heartbeat tables in the VStream API and
+// ensures that the heartbeat events are received as expected by the client.
+func TestVStreamHeartbeats(t *testing.T) {
+ // Enable continuous heartbeats.
+ extraVTTabletArgs = append(extraVTTabletArgs,
+ "--heartbeat_enable",
+ "--heartbeat_interval", "1s",
+ "--heartbeat_on_demand_duration", "0",
+ )
+ setSidecarDBName("_vt")
+ config := *mainClusterConfig
+ config.overrideHeartbeatOptions = true
+ vc = NewVitessCluster(t, &clusterOptions{
+ clusterConfig: &config,
+ })
+ defer vc.TearDown()
+
+ require.NotNil(t, vc)
+ defaultReplicas = 0
+ defaultRdonly = 0
+
+ defaultCell := vc.Cells[vc.CellNames[0]]
+ vc.AddKeyspace(t, []*Cell{defaultCell}, "product", "0", initialProductVSchema, initialProductSchema,
+ defaultReplicas, defaultRdonly, 100, nil)
+ verifyClusterHealth(t, vc)
+ insertInitialData(t)
+
+ expectedNumRowEvents := make(map[string]int)
+ expectedNumRowEvents["customer"] = 3 // 3 rows inserted in the customer table in insertInitialData()
+
+ type testCase struct {
+ name string
+ flags *vtgatepb.VStreamFlags
+ expectedHeartbeats int
+ }
+ testCases := []testCase{
+ {
+ name: "With Keyspace Heartbeats On",
+ flags: &vtgatepb.VStreamFlags{
+ StreamKeyspaceHeartbeats: true,
+ },
+ expectedHeartbeats: numExpectedHeartbeats,
+ },
+ {
+ name: "With Keyspace Heartbeats Off",
+ flags: nil,
+ expectedHeartbeats: 0,
+ },
+ }
+
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ gotNumRowEvents, gotNumFieldEvents := doVStream(t, vc, tc.flags)
+ for k := range expectedNumRowEvents {
+ require.Equalf(t, 1, gotNumFieldEvents[k], "incorrect number of field events for table %s, got %d", k, gotNumFieldEvents[k])
+ }
+ require.GreaterOrEqual(t, gotNumRowEvents["heartbeat"], tc.expectedHeartbeats, "incorrect number of heartbeat events received")
+ log.Infof("Total number of heartbeat events received: %v", gotNumRowEvents["heartbeat"])
+ delete(gotNumRowEvents, "heartbeat")
+ require.Equal(t, expectedNumRowEvents, gotNumRowEvents)
+ })
+ }
+}
diff --git a/go/test/endtoend/vtcombo/recreate/recreate_test.go b/go/test/endtoend/vtcombo/recreate/recreate_test.go
index e66edb7688a..15cb63c3d7d 100644
--- a/go/test/endtoend/vtcombo/recreate/recreate_test.go
+++ b/go/test/endtoend/vtcombo/recreate/recreate_test.go
@@ -22,6 +22,7 @@ import (
"fmt"
"os"
"os/exec"
+ "strconv"
"strings"
"testing"
@@ -101,6 +102,9 @@ func TestDropAndRecreateWithSameShards(t *testing.T) {
cur := conn.Session(ks1+"@primary", nil)
+ mysqlConnCountBefore, err := getMySQLConnectionCount(ctx, cur)
+ require.Nil(t, err)
+
_, err = cur.Execute(ctx, "DROP DATABASE "+ks1, nil)
require.Nil(t, err)
@@ -108,6 +112,23 @@ func TestDropAndRecreateWithSameShards(t *testing.T) {
require.Nil(t, err)
assertTabletsPresent(t)
+
+ // Check the connection count after the CREATE. There will be zero connections after the DROP as the database
+ // no longer exists, but after it gets recreated any open pools will be able to reestablish connections.
+ mysqlConnCountAfter, err := getMySQLConnectionCount(ctx, cur)
+ require.Nil(t, err)
+
+ // Assert that we're not leaking mysql connections, but allow for some wiggle room due to transient connections
+ assert.InDelta(t, mysqlConnCountBefore, mysqlConnCountAfter, 5,
+ "not within allowable delta: mysqlConnCountBefore=%d, mysqlConnCountAfter=%d", mysqlConnCountBefore, mysqlConnCountAfter)
+}
+
+func getMySQLConnectionCount(ctx context.Context, session *vtgateconn.VTGateSession) (int, error) {
+ result, err := session.Execute(ctx, "select variable_value from performance_schema.global_status where variable_name='threads_connected'", nil)
+ if err != nil {
+ return 0, err
+ }
+ return strconv.Atoi(result.Rows[0][0].ToString())
}
func assertTabletsPresent(t *testing.T) {
diff --git a/go/test/endtoend/vtgate/gen4/system_schema_test.go b/go/test/endtoend/vtgate/gen4/system_schema_test.go
index fba953d51ae..fc4983935e9 100644
--- a/go/test/endtoend/vtgate/gen4/system_schema_test.go
+++ b/go/test/endtoend/vtgate/gen4/system_schema_test.go
@@ -213,7 +213,7 @@ func TestMultipleSchemaPredicates(t *testing.T) {
"where t.table_schema = '%s' and c.table_schema = '%s' and c.table_schema = '%s'", shardedKs, shardedKs, "a")
_, err = conn.ExecuteFetch(query, 1000, true)
require.Error(t, err)
- require.Contains(t, err.Error(), "specifying two different database in the query is not supported")
+ require.ErrorContains(t, err, "specifying two different database in the query is not supported")
}
func TestQuerySystemTables(t *testing.T) {
diff --git a/go/test/endtoend/vtgate/grpc_api/acl_test.go b/go/test/endtoend/vtgate/grpc_api/acl_test.go
index 2819a3e41d1..d0ac003169d 100644
--- a/go/test/endtoend/vtgate/grpc_api/acl_test.go
+++ b/go/test/endtoend/vtgate/grpc_api/acl_test.go
@@ -57,8 +57,8 @@ func TestEffectiveCallerIDWithNoAccess(t *testing.T) {
ctx = callerid.NewContext(ctx, callerid.NewEffectiveCallerID("user_no_access", "", ""), nil)
_, err = session.Execute(ctx, query, nil)
require.Error(t, err)
- assert.Contains(t, err.Error(), "Select command denied to user")
- assert.Contains(t, err.Error(), "for table 'test_table' (ACL check error)")
+ assert.ErrorContains(t, err, "Select command denied to user")
+ assert.ErrorContains(t, err, "for table 'test_table' (ACL check error)")
}
// TestAuthenticatedUserWithAccess verifies that an authenticated gRPC static user with ACL access can execute queries
@@ -89,8 +89,8 @@ func TestAuthenticatedUserNoAccess(t *testing.T) {
query := "SELECT id FROM test_table"
_, err = session.Execute(ctx, query, nil)
require.Error(t, err)
- assert.Contains(t, err.Error(), "Select command denied to user")
- assert.Contains(t, err.Error(), "for table 'test_table' (ACL check error)")
+ assert.ErrorContains(t, err, "Select command denied to user")
+ assert.ErrorContains(t, err, "for table 'test_table' (ACL check error)")
}
// TestUnauthenticatedUser verifies that an unauthenticated gRPC user cannot execute queries
@@ -106,5 +106,5 @@ func TestUnauthenticatedUser(t *testing.T) {
query := "SELECT id FROM test_table"
_, err = session.Execute(ctx, query, nil)
require.Error(t, err)
- assert.Contains(t, err.Error(), "invalid credentials")
+ assert.ErrorContains(t, err, "invalid credentials")
}
diff --git a/go/test/endtoend/vtgate/lookup_test.go b/go/test/endtoend/vtgate/lookup_test.go
index b4b53295d8d..75f4a007076 100644
--- a/go/test/endtoend/vtgate/lookup_test.go
+++ b/go/test/endtoend/vtgate/lookup_test.go
@@ -131,7 +131,7 @@ func TestConsistentLookup(t *testing.T) {
mysqlErr := err.(*sqlerror.SQLError)
assert.Equal(t, sqlerror.ERDupEntry, mysqlErr.Num)
assert.Equal(t, "23000", mysqlErr.State)
- assert.Contains(t, mysqlErr.Message, "reverted partial DML execution")
+ assert.ErrorContains(t, mysqlErr, "reverted partial DML execution")
// Simple delete.
utils.Exec(t, conn, "begin")
diff --git a/go/test/endtoend/vtgate/misc_test.go b/go/test/endtoend/vtgate/misc_test.go
index bcb4f68a935..f15799a5e71 100644
--- a/go/test/endtoend/vtgate/misc_test.go
+++ b/go/test/endtoend/vtgate/misc_test.go
@@ -756,7 +756,7 @@ func TestDescribeVindex(t *testing.T) {
mysqlErr := err.(*sqlerror.SQLError)
assert.Equal(t, sqlerror.ERNoSuchTable, mysqlErr.Num)
assert.Equal(t, "42S02", mysqlErr.State)
- assert.Contains(t, mysqlErr.Message, "NotFound desc")
+ assert.ErrorContains(t, mysqlErr, "NotFound desc")
}
func TestEmptyQuery(t *testing.T) {
@@ -798,6 +798,24 @@ func TestRowCountExceed(t *testing.T) {
utils.AssertContainsError(t, conn, "select id1 from t1 where id1 < 1000", `Row count exceeded 100`)
}
+func TestDDLTargeted(t *testing.T) {
+ ctx := context.Background()
+ conn, err := mysql.Connect(ctx, &vtParams)
+ require.NoError(t, err)
+ defer conn.Close()
+
+ utils.Exec(t, conn, "use `ks/-80`")
+ utils.Exec(t, conn, `begin`)
+ utils.Exec(t, conn, `create table ddl_targeted (id bigint primary key)`)
+ // implicit commit on ddl would have closed the open transaction
+ // so this execution should happen as autocommit.
+ utils.Exec(t, conn, `insert into ddl_targeted (id) values (1)`)
+ // this will have not impact and the row would have inserted.
+ utils.Exec(t, conn, `rollback`)
+ // validating the row
+ utils.AssertMatches(t, conn, `select id from ddl_targeted`, `[[INT64(1)]]`)
+}
+
func TestLookupErrorMetric(t *testing.T) {
conn, closer := start(t)
defer closer()
diff --git a/go/test/endtoend/vtgate/queries/benchmark/benchmark_test.go b/go/test/endtoend/vtgate/queries/benchmark/benchmark_test.go
index b76ae5a35c7..5e3be7c7eff 100644
--- a/go/test/endtoend/vtgate/queries/benchmark/benchmark_test.go
+++ b/go/test/endtoend/vtgate/queries/benchmark/benchmark_test.go
@@ -18,12 +18,20 @@ package dml
import (
"fmt"
+ "maps"
"math/rand/v2"
"strconv"
"strings"
+ "sync"
"testing"
+ "time"
+
+ "github.com/stretchr/testify/require"
+ mapsx "golang.org/x/exp/maps"
+ "google.golang.org/protobuf/encoding/protojson"
"vitess.io/vitess/go/test/endtoend/utils"
+ vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
)
type testQuery struct {
@@ -127,7 +135,7 @@ func BenchmarkShardedTblNoLookup(b *testing.B) {
}
for _, rows := range []int{1, 10, 100, 500, 1000, 5000, 10000} {
insStmt := tq.getInsertQuery(rows)
- b.Run(fmt.Sprintf("16-shards-%d-rows", rows), func(b *testing.B) {
+ b.Run(fmt.Sprintf("4-shards-%d-rows", rows), func(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = utils.Exec(b, conn, insStmt)
}
@@ -150,7 +158,7 @@ func BenchmarkShardedTblUpdateIn(b *testing.B) {
_ = utils.Exec(b, conn, insStmt)
for _, rows := range []int{1, 10, 100, 500, 1000, 5000, 10000} {
updStmt := tq.getUpdateQuery(rows)
- b.Run(fmt.Sprintf("16-shards-%d-rows", rows), func(b *testing.B) {
+ b.Run(fmt.Sprintf("4-shards-%d-rows", rows), func(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = utils.Exec(b, conn, updStmt)
}
@@ -168,7 +176,7 @@ func BenchmarkShardedTblDeleteIn(b *testing.B) {
insStmt := tq.getInsertQuery(rows)
_ = utils.Exec(b, conn, insStmt)
delStmt := tq.getDeleteQuery(rows)
- b.Run(fmt.Sprintf("16-shards-%d-rows", rows), func(b *testing.B) {
+ b.Run(fmt.Sprintf("4-shards-%d-rows", rows), func(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = utils.Exec(b, conn, delStmt)
}
@@ -197,3 +205,175 @@ func BenchmarkShardedAggrPushDown(b *testing.B) {
}
}
}
+
+var mirrorInitOnce sync.Once
+
+func BenchmarkMirror(b *testing.B) {
+ const numRows = 10000
+
+ conn, closer := start(b)
+ defer closer()
+
+ // Each time this BenchmarkMirror runs, use a different source of
+ // randomness. But use the same source of randomness across test cases and
+ // mirror percentages sub test cases.
+ pcg := rand.NewPCG(rand.Uint64(), rand.Uint64())
+
+ ksTables := map[string]string{
+ sKs2: "mirror_tbl1",
+ sKs3: "mirror_tbl2",
+ }
+ targetKeyspaces := mapsx.Keys(ksTables)
+
+ mirrorInitOnce.Do(func() {
+ b.Logf("seeding database for benchmark...")
+
+ for i := 0; i < numRows; i++ {
+ _, err := conn.ExecuteFetch(
+ fmt.Sprintf("INSERT INTO %s.mirror_tbl1(id) VALUES(%d)", sKs1, i), -1, false)
+ require.NoError(b, err)
+
+ _, err = conn.ExecuteFetch(
+ fmt.Sprintf("INSERT INTO %s.mirror_tbl2(id) VALUES(%d)", sKs1, i), -1, false)
+ require.NoError(b, err)
+ }
+
+ _, err := conn.ExecuteFetch(
+ fmt.Sprintf("SELECT COUNT(id) FROM %s.%s", sKs1, "mirror_tbl1"), 1, false)
+ require.NoError(b, err)
+
+ b.Logf("finished (inserted %d rows)", numRows)
+
+ b.Logf("using MoveTables to copy data from source keyspace to target keyspaces")
+
+ // Set up MoveTables workflows, which is (at present) the only way to set up
+ // mirror rules.
+ for tks, tbl := range ksTables {
+ output, err := clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput(
+ "MoveTables", "--target-keyspace", tks, "--workflow", fmt.Sprintf("%s2%s", sKs1, tks),
+ "create", "--source-keyspace", sKs1, "--tables", tbl)
+ require.NoError(b, err, output)
+ }
+
+ // Wait for tables to be copied from source to targets.
+ pending := make(map[string]string, len(ksTables))
+ maps.Copy(pending, ksTables)
+ for len(pending) > 0 {
+ for tks := range ksTables {
+ output, err := clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput(
+ "Workflow", "--keyspace", tks, "show", "--workflow", fmt.Sprintf("%s2%s", sKs1, tks))
+ require.NoError(b, err, output)
+
+ var response vtctldatapb.GetWorkflowsResponse
+ require.NoError(b, protojson.Unmarshal([]byte(output), &response))
+
+ require.Len(b, response.Workflows, 1)
+ workflow := response.Workflows[0]
+
+ require.Len(b, workflow.ShardStreams, 4 /*shards*/)
+ for _, ss := range workflow.ShardStreams {
+ for _, s := range ss.Streams {
+ if s.State == "Running" {
+ delete(pending, tks)
+ } else {
+ b.Logf("waiting for workflow %s.%s stream %s=>%s to be running; last state: %s",
+ workflow.Target, workflow.Name, s.BinlogSource.Shard, s.Shard, s.State)
+ time.Sleep(1 * time.Second)
+ }
+ }
+ }
+ }
+ }
+ })
+
+ testCases := []struct {
+ name string
+ run func(*testing.B, *rand.Rand)
+ }{
+ {
+ name: "point select, { sks1 => sks2 }.mirror_tbl1",
+ run: func(b *testing.B, rnd *rand.Rand) {
+ for i := 0; i < b.N; i++ {
+ id := rnd.Int32N(numRows)
+ _, err := conn.ExecuteFetch(fmt.Sprintf(
+ "SELECT t1.id FROM %s.mirror_tbl1 AS t1 WHERE t1.id = %d",
+ sKs1, id,
+ ), 1, false)
+ if err != nil {
+ b.Error(err)
+ }
+ }
+ },
+ },
+ {
+ name: "point select, { sks1 => sks2 }.mirror_tbl1, { sks1 => sks3 }.mirror_tbl2",
+ run: func(b *testing.B, rnd *rand.Rand) {
+ for i := 0; i < b.N; i++ {
+ id := rnd.Int32N(numRows)
+ _, err := conn.ExecuteFetch(fmt.Sprintf(
+ "SELECT t1.id, t2.id FROM %s.mirror_tbl1 AS t1, %s.mirror_tbl2 AS t2 WHERE t1.id = %d AND t2.id = %d",
+ sKs1, sKs1, id, id,
+ ), 1, false)
+ if err != nil {
+ b.Error(err)
+ }
+ }
+ },
+ },
+ }
+
+ for _, tc := range testCases {
+ b.Run(tc.name, func(b *testing.B) {
+ b.Run("mirror 0%", func(b *testing.B) {
+ mirrorTraffic(b, targetKeyspaces, 0)
+ b.ResetTimer()
+ tc.run(b, rand.New(pcg))
+ })
+
+ b.Run("mirror 1%", func(b *testing.B) {
+ mirrorTraffic(b, targetKeyspaces, 1)
+ b.ResetTimer()
+ tc.run(b, rand.New(pcg))
+ })
+
+ b.Run("mirror 5%", func(b *testing.B) {
+ mirrorTraffic(b, targetKeyspaces, 5)
+ b.ResetTimer()
+ tc.run(b, rand.New(pcg))
+ })
+
+ b.Run("mirror 10%", func(b *testing.B) {
+ mirrorTraffic(b, targetKeyspaces, 10)
+ b.ResetTimer()
+ tc.run(b, rand.New(pcg))
+ })
+
+ b.Run("mirror 25%", func(b *testing.B) {
+ mirrorTraffic(b, targetKeyspaces, 25)
+ b.ResetTimer()
+ tc.run(b, rand.New(pcg))
+ })
+
+ b.Run("mirror 50%", func(b *testing.B) {
+ mirrorTraffic(b, targetKeyspaces, 50)
+ b.ResetTimer()
+ tc.run(b, rand.New(pcg))
+ })
+
+ b.Run("mirror 100%", func(b *testing.B) {
+ mirrorTraffic(b, targetKeyspaces, 100)
+ b.ResetTimer()
+ tc.run(b, rand.New(pcg))
+ })
+ })
+ }
+}
+
+func mirrorTraffic(b *testing.B, targetKeyspaces []string, percent float32) {
+ for _, tks := range targetKeyspaces {
+ output, err := clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput(
+ "MoveTables", "--target-keyspace", tks, "--workflow", fmt.Sprintf("%s2%s", sKs1, tks),
+ "mirrortraffic", "--percent", fmt.Sprintf("%.02f", percent))
+ require.NoError(b, err, output)
+ }
+}
diff --git a/go/test/endtoend/vtgate/queries/benchmark/main_test.go b/go/test/endtoend/vtgate/queries/benchmark/main_test.go
index 6978d0b9428..40a215c8007 100644
--- a/go/test/endtoend/vtgate/queries/benchmark/main_test.go
+++ b/go/test/endtoend/vtgate/queries/benchmark/main_test.go
@@ -20,8 +20,10 @@ import (
"context"
_ "embed"
"flag"
+ "fmt"
"os"
"testing"
+ "time"
"github.com/stretchr/testify/require"
@@ -34,36 +36,34 @@ var (
clusterInstance *cluster.LocalProcessCluster
vtParams mysql.ConnParams
mysqlParams mysql.ConnParams
- sKs = "sks"
- uKs = "uks"
+ sKs1 = "sks1"
+ sKs2 = "sks2"
+ sKs3 = "sks3"
cell = "test"
- //go:embed sharded_schema.sql
- sSchemaSQL string
+ //go:embed sharded_schema1.sql
+ sSchemaSQL1 string
- //go:embed vschema.json
- sVSchema string
-)
+ //go:embed vschema1.json
+ sVSchema1 string
-var (
- shards4 = []string{
- "-40", "40-80", "80-c0", "c0-",
- }
+ //go:embed sharded_schema2.sql
+ sSchemaSQL2 string
- shards8 = []string{
- "-20", "20-40", "40-60", "60-80", "80-a0", "a0-c0", "c0-e0", "e0-",
- }
+ //go:embed vschema2.json
+ sVSchema2 string
- shards16 = []string{
- "-10", "10-20", "20-30", "30-40", "40-50", "50-60", "60-70", "70-80", "80-90", "90-a0", "a0-b0", "b0-c0", "c0-d0", "d0-e0", "e0-f0", "f0-",
- }
+ //go:embed sharded_schema3.sql
+ sSchemaSQL3 string
- shards32 = []string{
- "-05", "05-10", "10-15", "15-20", "20-25", "25-30", "30-35", "35-40", "40-45", "45-50", "50-55", "55-60", "60-65", "65-70", "70-75", "75-80",
- "80-85", "85-90", "90-95", "95-a0", "a0-a5", "a5-b0", "b0-b5", "b5-c0", "c0-c5", "c5-d0", "d0-d5", "d5-e0", "e0-e5", "e5-f0", "f0-f5", "f5-",
- }
+ //go:embed vschema3.json
+ sVSchema3 string
)
+var shards4 = []string{
+ "-40", "40-80", "80-c0", "c0-",
+}
+
func TestMain(m *testing.M) {
defer cluster.PanicHandler(nil)
flag.Parse()
@@ -78,14 +78,38 @@ func TestMain(m *testing.M) {
return 1
}
- // Start sharded keyspace
- sKeyspace := &cluster.Keyspace{
- Name: sKs,
- SchemaSQL: sSchemaSQL,
- VSchema: sVSchema,
+ // Start sharded keyspace 1
+ sKeyspace1 := &cluster.Keyspace{
+ Name: sKs1,
+ SchemaSQL: sSchemaSQL1,
+ VSchema: sVSchema1,
}
- err = clusterInstance.StartKeyspace(*sKeyspace, shards4, 0, false)
+ err = clusterInstance.StartKeyspace(*sKeyspace1, shards4, 0, false)
+ if err != nil {
+ return 1
+ }
+
+ // Start sharded keyspace 2
+ sKeyspace2 := &cluster.Keyspace{
+ Name: sKs2,
+ SchemaSQL: sSchemaSQL2,
+ VSchema: sVSchema2,
+ }
+
+ err = clusterInstance.StartKeyspace(*sKeyspace2, shards4, 0, false)
+ if err != nil {
+ return 1
+ }
+
+ // Start sharded keyspace 3
+ sKeyspace3 := &cluster.Keyspace{
+ Name: sKs3,
+ SchemaSQL: sSchemaSQL3,
+ VSchema: sVSchema3,
+ }
+
+ err = clusterInstance.StartKeyspace(*sKeyspace3, shards4, 0, false)
if err != nil {
return 1
}
@@ -96,7 +120,7 @@ func TestMain(m *testing.M) {
return 1
}
- vtParams = clusterInstance.GetVTParams(sKs)
+ vtParams = clusterInstance.GetVTParams("@primary")
return m.Run()
}()
@@ -108,12 +132,38 @@ func start(b *testing.B) (*mysql.Conn, func()) {
require.NoError(b, err)
deleteAll := func() {
- tables := []string{"tbl_no_lkp_vdx"}
+ tables := []string{
+ fmt.Sprintf("%s.tbl_no_lkp_vdx", sKs1),
+ fmt.Sprintf("%s.mirror_tbl1", sKs1),
+ fmt.Sprintf("%s.mirror_tbl2", sKs1),
+ fmt.Sprintf("%s.mirror_tbl1", sKs2),
+ fmt.Sprintf("%s.mirror_tbl2", sKs3),
+ }
for _, table := range tables {
_, _ = utils.ExecAllowError(b, conn, "delete from "+table)
}
}
+ // Make sure all keyspaces are serving.
+ pending := map[string]string{
+ sKs1: "mirror_tbl1",
+ sKs2: "mirror_tbl1",
+ sKs3: "mirror_tbl2",
+ }
+ for len(pending) > 0 {
+ for ks, tbl := range pending {
+ _, err := conn.ExecuteFetch(
+ fmt.Sprintf("SELECT COUNT(id) FROM %s.%s", ks, tbl), 1, false)
+ if err != nil {
+ b.Logf("waiting for keyspace %s to be serving; last error: %v", ks, err)
+ time.Sleep(1 * time.Second)
+ } else {
+ delete(pending, ks)
+ }
+ }
+ }
+
+ // Delete any pre-existing data.
deleteAll()
return conn, func() {
diff --git a/go/test/endtoend/vtgate/queries/benchmark/sharded_schema.sql b/go/test/endtoend/vtgate/queries/benchmark/sharded_schema1.sql
similarity index 76%
rename from go/test/endtoend/vtgate/queries/benchmark/sharded_schema.sql
rename to go/test/endtoend/vtgate/queries/benchmark/sharded_schema1.sql
index 92f63c40f0f..d83ffefa7ec 100644
--- a/go/test/endtoend/vtgate/queries/benchmark/sharded_schema.sql
+++ b/go/test/endtoend/vtgate/queries/benchmark/sharded_schema1.sql
@@ -30,4 +30,16 @@ create table user_extra
not_sharding_key bigint,
col varchar(50),
primary key (id)
-);
\ No newline at end of file
+);
+
+create table mirror_tbl1
+(
+ id bigint not null,
+ primary key(id)
+) Engine = InnoDB;
+
+create table mirror_tbl2
+(
+ id bigint not null,
+ primary key(id)
+) Engine = InnoDB;
diff --git a/go/test/endtoend/vtgate/queries/benchmark/sharded_schema2.sql b/go/test/endtoend/vtgate/queries/benchmark/sharded_schema2.sql
new file mode 100644
index 00000000000..4cba88b68ab
--- /dev/null
+++ b/go/test/endtoend/vtgate/queries/benchmark/sharded_schema2.sql
@@ -0,0 +1,5 @@
+create table mirror_tbl1
+(
+ id bigint not null,
+ primary key(id)
+) Engine = InnoDB;
diff --git a/go/test/endtoend/vtgate/queries/benchmark/sharded_schema3.sql b/go/test/endtoend/vtgate/queries/benchmark/sharded_schema3.sql
new file mode 100644
index 00000000000..e7e96f30357
--- /dev/null
+++ b/go/test/endtoend/vtgate/queries/benchmark/sharded_schema3.sql
@@ -0,0 +1,5 @@
+create table mirror_tbl2
+(
+ id bigint not null,
+ primary key(id)
+) Engine = InnoDB;
diff --git a/go/test/endtoend/vtgate/queries/benchmark/vschema.json b/go/test/endtoend/vtgate/queries/benchmark/vschema1.json
similarity index 64%
rename from go/test/endtoend/vtgate/queries/benchmark/vschema.json
rename to go/test/endtoend/vtgate/queries/benchmark/vschema1.json
index efc854af8ff..0e5366ba89f 100644
--- a/go/test/endtoend/vtgate/queries/benchmark/vschema.json
+++ b/go/test/endtoend/vtgate/queries/benchmark/vschema1.json
@@ -29,6 +29,22 @@
"name": "xxhash"
}
]
+ },
+ "mirror_tbl1": {
+ "column_vindexes": [
+ {
+ "column": "id",
+ "name": "xxhash"
+ }
+ ]
+ },
+ "mirror_tbl2": {
+ "column_vindexes": [
+ {
+ "column": "id",
+ "name": "xxhash"
+ }
+ ]
}
}
-}
\ No newline at end of file
+}
diff --git a/go/test/endtoend/vtgate/queries/benchmark/vschema2.json b/go/test/endtoend/vtgate/queries/benchmark/vschema2.json
new file mode 100644
index 00000000000..2ae87ad2ae4
--- /dev/null
+++ b/go/test/endtoend/vtgate/queries/benchmark/vschema2.json
@@ -0,0 +1,18 @@
+{
+ "sharded": true,
+ "vindexes": {
+ "xxhash": {
+ "type": "xxhash"
+ }
+ },
+ "tables": {
+ "mirror_tbl1": {
+ "column_vindexes": [
+ {
+ "column": "id",
+ "name": "xxhash"
+ }
+ ]
+ }
+ }
+}
diff --git a/go/test/endtoend/vtgate/queries/benchmark/vschema3.json b/go/test/endtoend/vtgate/queries/benchmark/vschema3.json
new file mode 100644
index 00000000000..6e71d6bc157
--- /dev/null
+++ b/go/test/endtoend/vtgate/queries/benchmark/vschema3.json
@@ -0,0 +1,18 @@
+{
+ "sharded": true,
+ "vindexes": {
+ "xxhash": {
+ "type": "xxhash"
+ }
+ },
+ "tables": {
+ "mirror_tbl2": {
+ "column_vindexes": [
+ {
+ "column": "id",
+ "name": "xxhash"
+ }
+ ]
+ }
+ }
+}
diff --git a/go/test/endtoend/vtgate/queries/dml/insert_test.go b/go/test/endtoend/vtgate/queries/dml/insert_test.go
index 9e89f4f5f3e..b4d12de2573 100644
--- a/go/test/endtoend/vtgate/queries/dml/insert_test.go
+++ b/go/test/endtoend/vtgate/queries/dml/insert_test.go
@@ -491,3 +491,28 @@ func TestInsertAlias(t *testing.T) {
// this validates the record.
mcmp.Exec("select id, region_id, name from user_tbl order by id")
}
+
+// TestInsertJson tests that selected json values are encoded correctly.
+func TestInsertJson(t *testing.T) {
+ utils.SkipIfBinaryIsBelowVersion(t, 21, "vttablet")
+ utils.SkipIfBinaryIsBelowVersion(t, 21, "vtgate")
+ mcmp, closer := start(t)
+ defer closer()
+
+ mcmp.Exec(`insert into j_tbl(id, jdoc) values (1, '{}'), (2, '{"a": 1, "b": 2}')`)
+ mcmp.Exec(`select * from j_tbl order by id`)
+
+ mcmp.Exec(`insert into j_tbl(id, jdoc) select 3, json_object("k", "a")`)
+ mcmp.Exec(`select * from j_tbl order by id`)
+
+ mcmp.Exec(`insert into j_tbl(id, jdoc) select 4,JSON_OBJECT(
+ 'date', CAST(1629849600 AS UNSIGNED),
+ 'keywordSourceId', CAST(930701976723823 AS UNSIGNED),
+ 'keywordSourceVersionId', CAST(210825230433 AS UNSIGNED)
+ )`)
+ mcmp.Exec(`select * from j_tbl order by id`)
+
+ utils.Exec(t, mcmp.VtConn, `insert into uks.j_utbl(id, jdoc) select * from sks.j_tbl`)
+ utils.AssertMatches(t, mcmp.VtConn, `select * from uks.j_utbl order by id`,
+ `[[INT64(1) JSON("{}")] [INT64(2) JSON("{\"a\": 1, \"b\": 2}")] [INT64(3) JSON("{\"k\": \"a\"}")] [INT64(4) JSON("{\"date\": 1629849600, \"keywordSourceId\": 930701976723823, \"keywordSourceVersionId\": 210825230433}")]]`)
+}
diff --git a/go/test/endtoend/vtgate/queries/dml/main_test.go b/go/test/endtoend/vtgate/queries/dml/main_test.go
index c00e27fe3a0..0c4d58aa614 100644
--- a/go/test/endtoend/vtgate/queries/dml/main_test.go
+++ b/go/test/endtoend/vtgate/queries/dml/main_test.go
@@ -133,7 +133,7 @@ func start(t *testing.T) (utils.MySQLCompare, func()) {
tables := []string{
"s_tbl", "num_vdx_tbl", "user_tbl", "order_tbl", "oevent_tbl", "oextra_tbl",
- "auto_tbl", "oid_vdx_tbl", "unq_idx", "nonunq_idx", "u_tbl", "mixed_tbl", "lkp_map_idx",
+ "auto_tbl", "oid_vdx_tbl", "unq_idx", "nonunq_idx", "u_tbl", "mixed_tbl", "lkp_map_idx", "j_tbl", "j_utbl",
}
for _, table := range tables {
// TODO (@frouioui): following assertions produce different results between MySQL and Vitess
diff --git a/go/test/endtoend/vtgate/queries/dml/sharded_schema.sql b/go/test/endtoend/vtgate/queries/dml/sharded_schema.sql
index 8ddf9250e45..cd129bd779a 100644
--- a/go/test/endtoend/vtgate/queries/dml/sharded_schema.sql
+++ b/go/test/endtoend/vtgate/queries/dml/sharded_schema.sql
@@ -87,3 +87,10 @@ create table lkp_mixed_idx
keyspace_id varbinary(20),
primary key (lkp_key)
) Engine = InnoDB;
+
+create table j_tbl
+(
+ id bigint,
+ jdoc json,
+ primary key (id)
+) Engine = InnoDB;
\ No newline at end of file
diff --git a/go/test/endtoend/vtgate/queries/dml/unsharded_schema.sql b/go/test/endtoend/vtgate/queries/dml/unsharded_schema.sql
index 4d2ad06618a..cd64605ad20 100644
--- a/go/test/endtoend/vtgate/queries/dml/unsharded_schema.sql
+++ b/go/test/endtoend/vtgate/queries/dml/unsharded_schema.sql
@@ -34,4 +34,11 @@ values (0, 1, 1000);
insert into auto_seq(id, next_id, cache)
values (0, 666, 1000);
insert into mixed_seq(id, next_id, cache)
-values (0, 1, 1000);
\ No newline at end of file
+values (0, 1, 1000);
+
+create table j_utbl
+(
+ id bigint,
+ jdoc json,
+ primary key (id)
+) Engine = InnoDB;
\ No newline at end of file
diff --git a/go/test/endtoend/vtgate/queries/dml/vschema.json b/go/test/endtoend/vtgate/queries/dml/vschema.json
index a42a93d7403..72a949a49e4 100644
--- a/go/test/endtoend/vtgate/queries/dml/vschema.json
+++ b/go/test/endtoend/vtgate/queries/dml/vschema.json
@@ -188,6 +188,14 @@
"name": "hash"
}
]
+ },
+ "j_tbl": {
+ "column_vindexes": [
+ {
+ "column": "id",
+ "name": "hash"
+ }
+ ]
}
}
}
\ No newline at end of file
diff --git a/go/test/endtoend/vtgate/queries/informationschema/informationschema_test.go b/go/test/endtoend/vtgate/queries/informationschema/informationschema_test.go
index c696e7b0a9d..c5568b2db49 100644
--- a/go/test/endtoend/vtgate/queries/informationschema/informationschema_test.go
+++ b/go/test/endtoend/vtgate/queries/informationschema/informationschema_test.go
@@ -200,7 +200,7 @@ func TestMultipleSchemaPredicates(t *testing.T) {
"where t.table_schema = '%s' and c.table_schema = '%s' and c.table_schema = '%s'", keyspaceName, keyspaceName, "a")
_, err := mcmp.VtConn.ExecuteFetch(query, 1000, true)
require.Error(t, err)
- require.Contains(t, err.Error(), "specifying two different database in the query is not supported")
+ require.ErrorContains(t, err, "specifying two different database in the query is not supported")
if utils.BinaryIsAtLeastAtVersion(20, "vtgate") {
_, _ = mcmp.ExecNoCompare("select * from information_schema.columns where table_schema = '' limit 1")
diff --git a/go/test/endtoend/vtgate/queries/misc/misc_test.go b/go/test/endtoend/vtgate/queries/misc/misc_test.go
index 8e47bb8581a..69108b26293 100644
--- a/go/test/endtoend/vtgate/queries/misc/misc_test.go
+++ b/go/test/endtoend/vtgate/queries/misc/misc_test.go
@@ -17,6 +17,7 @@ limitations under the License.
package misc
import (
+ "context"
"database/sql"
"fmt"
"strconv"
@@ -24,6 +25,8 @@ import (
"testing"
"time"
+ "vitess.io/vitess/go/mysql"
+
_ "github.com/go-sql-driver/mysql"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
@@ -473,3 +476,49 @@ func TestEnumSetVals(t *testing.T) {
mcmp.AssertMatches("select id, enum_col, cast(enum_col as signed) from tbl_enum_set order by enum_col, id", `[[INT64(4) ENUM("xsmall") INT64(1)] [INT64(2) ENUM("small") INT64(2)] [INT64(1) ENUM("medium") INT64(3)] [INT64(5) ENUM("medium") INT64(3)] [INT64(3) ENUM("large") INT64(4)]]`)
mcmp.AssertMatches("select id, set_col, cast(set_col as unsigned) from tbl_enum_set order by set_col, id", `[[INT64(4) SET("a,b") UINT64(3)] [INT64(3) SET("c") UINT64(4)] [INT64(5) SET("a,d") UINT64(9)] [INT64(1) SET("a,b,e") UINT64(19)] [INT64(2) SET("e,f,g") UINT64(112)]]`)
}
+
+func TestTimeZones(t *testing.T) {
+ testCases := []struct {
+ name string
+ targetTZ string
+ expectedDiff time.Duration
+ }{
+ {"UTC to +08:00", "+08:00", 8 * time.Hour},
+ {"UTC to -08:00", "-08:00", -8 * time.Hour},
+ {"UTC to +05:30", "+05:30", 5*time.Hour + 30*time.Minute},
+ {"UTC to -05:45", "-05:45", -(5*time.Hour + 45*time.Minute)},
+ {"UTC to +09:00", "+09:00", 9 * time.Hour},
+ {"UTC to -12:00", "-12:00", -12 * time.Hour},
+ }
+
+ // Connect to Vitess
+ conn, err := mysql.Connect(context.Background(), &vtParams)
+ require.NoError(t, err)
+
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ // Set the initial time zone and get the time
+ utils.Exec(t, conn, "set time_zone = '+00:00'")
+ rs1 := utils.Exec(t, conn, "select now()")
+
+ // Set the target time zone and get the time
+ utils.Exec(t, conn, fmt.Sprintf("set time_zone = '%s'", tc.targetTZ))
+ rs2 := utils.Exec(t, conn, "select now()")
+
+ // Parse the times from the query result
+ layout := "2006-01-02 15:04:05" // MySQL default datetime format
+ time1, err := time.Parse(layout, rs1.Rows[0][0].ToString())
+ require.NoError(t, err)
+ time2, err := time.Parse(layout, rs2.Rows[0][0].ToString())
+ require.NoError(t, err)
+
+ // Calculate the actual difference between time2 and time1
+ actualDiff := time2.Sub(time1)
+ allowableDeviation := time.Second // allow up to 1-second difference
+
+ // Use a range to allow for slight variations
+ require.InDeltaf(t, tc.expectedDiff.Seconds(), actualDiff.Seconds(), allowableDeviation.Seconds(),
+ "time2 should be approximately %v after time1, within 1 second tolerance\n%v vs %v", tc.expectedDiff, time1, time2)
+ })
+ }
+}
diff --git a/go/test/endtoend/vtgate/queries/timeout/main_test.go b/go/test/endtoend/vtgate/queries/timeout/main_test.go
index c265e824e88..06e8a786469 100644
--- a/go/test/endtoend/vtgate/queries/timeout/main_test.go
+++ b/go/test/endtoend/vtgate/queries/timeout/main_test.go
@@ -63,8 +63,9 @@ func TestMain(m *testing.M) {
clusterInstance.VtTabletExtraArgs = append(clusterInstance.VtTabletExtraArgs,
"--queryserver-config-max-result-size", "1000000",
- "--queryserver-config-query-timeout", "200s",
- "--queryserver-config-query-pool-timeout", "200s")
+ "--queryserver-config-query-timeout", "2s",
+ "--queryserver-config-transaction-timeout", "3s",
+ "--queryserver-config-query-pool-timeout", "2s")
// Start Unsharded keyspace
ukeyspace := &cluster.Keyspace{
Name: uks,
diff --git a/go/test/endtoend/vtgate/queries/timeout/timeout_test.go b/go/test/endtoend/vtgate/queries/timeout/timeout_test.go
index d5e116e155b..565c3c07a4f 100644
--- a/go/test/endtoend/vtgate/queries/timeout/timeout_test.go
+++ b/go/test/endtoend/vtgate/queries/timeout/timeout_test.go
@@ -17,11 +17,14 @@ limitations under the License.
package misc
import (
+ "context"
+ "strings"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
+ "vitess.io/vitess/go/mysql"
"vitess.io/vitess/go/test/endtoend/cluster"
"vitess.io/vitess/go/test/endtoend/utils"
)
@@ -66,6 +69,10 @@ func TestQueryTimeoutWithDual(t *testing.T) {
assert.Error(t, err)
_, err = utils.ExecAllowError(t, mcmp.VtConn, "select /*vt+ QUERY_TIMEOUT_MS=15 */ sleep(0.001) from dual")
assert.NoError(t, err)
+ // infinite query timeout overriding all defaults
+ utils.SkipIfBinaryIsBelowVersion(t, 21, "vttablet")
+ _, err = utils.ExecAllowError(t, mcmp.VtConn, "select /*vt+ QUERY_TIMEOUT_MS=0 */ sleep(5) from dual")
+ assert.NoError(t, err)
}
func TestQueryTimeoutWithTables(t *testing.T) {
@@ -84,8 +91,8 @@ func TestQueryTimeoutWithTables(t *testing.T) {
// the query usually takes more than 5ms to return. So this should fail.
_, err := utils.ExecAllowError(t, mcmp.VtConn, "select /*vt+ QUERY_TIMEOUT_MS=1 */ count(*) from uks.unsharded where id1 > 31")
require.Error(t, err)
- assert.Contains(t, err.Error(), "context deadline exceeded")
- assert.Contains(t, err.Error(), "(errno 1317) (sqlstate 70100)")
+ assert.ErrorContains(t, err, "context deadline exceeded")
+ assert.ErrorContains(t, err, "(errno 1317) (sqlstate 70100)")
// sharded
utils.Exec(t, mcmp.VtConn, "insert /*vt+ QUERY_TIMEOUT_MS=1000 */ into ks_misc.t1(id1, id2) values (1,2),(2,4),(3,6),(4,8),(5,10)")
@@ -94,8 +101,8 @@ func TestQueryTimeoutWithTables(t *testing.T) {
utils.Exec(t, mcmp.VtConn, "select /*vt+ QUERY_TIMEOUT_MS=500 */ sleep(0.1) from t1 where id1 = 1")
_, err = utils.ExecAllowError(t, mcmp.VtConn, "select /*vt+ QUERY_TIMEOUT_MS=20 */ sleep(0.1) from t1 where id1 = 1")
require.Error(t, err)
- assert.Contains(t, err.Error(), "context deadline exceeded")
- assert.Contains(t, err.Error(), "(errno 1317) (sqlstate 70100)")
+ assert.ErrorContains(t, err, "context deadline exceeded")
+ assert.ErrorContains(t, err, "(errno 1317) (sqlstate 70100)")
}
// TestQueryTimeoutWithShardTargeting tests the query timeout with shard targeting.
@@ -124,3 +131,87 @@ func TestQueryTimeoutWithShardTargeting(t *testing.T) {
})
}
}
+
+func TestQueryTimeoutWithoutVTGateDefault(t *testing.T) {
+ utils.SkipIfBinaryIsBelowVersion(t, 21, "vttablet")
+ // disable query timeout
+ clusterInstance.VtGateExtraArgs = append(clusterInstance.VtGateExtraArgs,
+ "--query-timeout", "0")
+ require.NoError(t,
+ clusterInstance.RestartVtgate())
+
+ // update vtgate params
+ vtParams = clusterInstance.GetVTParams(keyspaceName)
+
+ mcmp, closer := start(t)
+ defer closer()
+
+ // tablet query timeout of 2s
+ _, err := utils.ExecAllowError(t, mcmp.VtConn, "select sleep(5) from dual")
+ assert.Error(t, err)
+
+ // infinite timeout using query hint
+ utils.Exec(t, mcmp.VtConn, "select /*vt+ QUERY_TIMEOUT_MS=0 */ sleep(5) from dual")
+
+ // checking again without query hint, tablet query timeout of 2s should be applied
+ _, err = utils.ExecAllowError(t, mcmp.VtConn, "select sleep(5) from dual")
+ assert.Error(t, err)
+
+ // set timeout of 20ms
+ utils.Exec(t, mcmp.VtConn, "set query_timeout=20")
+
+ // query timeout of 20ms should be applied
+ _, err = utils.ExecAllowError(t, mcmp.VtConn, "select sleep(1) from dual")
+ assert.Error(t, err)
+
+ // infinite timeout using query hint will override session timeout.
+ utils.Exec(t, mcmp.VtConn, "select /*vt+ QUERY_TIMEOUT_MS=0 */ sleep(5) from dual")
+
+ // open second session
+ conn2, err := mysql.Connect(context.Background(), &vtParams)
+ require.NoError(t, err)
+ defer conn2.Close()
+
+ // tablet query timeout of 2s should be applied, as session timeout is not set on this connection.
+ utils.Exec(t, conn2, "select sleep(1) from dual")
+ _, err = utils.ExecAllowError(t, conn2, "select sleep(5) from dual")
+ assert.Error(t, err)
+
+ // reset session on first connection, tablet query timeout of 2s should be applied.
+ utils.Exec(t, mcmp.VtConn, "set query_timeout=0")
+ _, err = utils.ExecAllowError(t, mcmp.VtConn, "select sleep(5) from dual")
+ assert.Error(t, err)
+}
+
+// TestOverallQueryTimeout tests that the query timeout is applied to the overall execution of a query
+// and not just individual routes.
+func TestOverallQueryTimeout(t *testing.T) {
+ utils.SkipIfBinaryIsBelowVersion(t, 21, "vtgate")
+ utils.SkipIfBinaryIsBelowVersion(t, 21, "vttablet")
+ mcmp, closer := start(t)
+ defer closer()
+
+ mcmp.Exec("insert into t1(id1, id2) values (2,2),(3,3)")
+
+ // After inserting the rows above, if we run the following query, we will end up doing join on vtgate
+ // that issues one select query on the left side and 2 on the right side. The queries on the right side
+ // take 2 and 3 seconds each to run. If we have an overall timeout for 4 seconds, then it should fail.
+ _, err := utils.ExecAllowError(t, mcmp.VtConn, "select /*vt+ QUERY_TIMEOUT_MS=4000 */ sleep(u2.id2), u1.id2 from t1 u1 join t1 u2 where u1.id2 = u2.id1")
+ assert.Error(t, err)
+ // We can get two different error messages based on whether it is coming from vttablet or vtgate
+ if !strings.Contains(err.Error(), "Query execution was interrupted, maximum statement execution time exceeded") {
+ assert.ErrorContains(t, err, "DeadlineExceeded desc = context deadline exceeded (errno 1317) (sqlstate 70100)")
+ }
+
+ // Let's also check that setting the session variable also works.
+ utils.Exec(t, mcmp.VtConn, "set query_timeout=4000")
+ _, err = utils.ExecAllowError(t, mcmp.VtConn, "select sleep(u2.id2), u1.id2 from t1 u1 join t1 u2 where u1.id2 = u2.id1")
+ assert.Error(t, err)
+ if !strings.Contains(err.Error(), "Query execution was interrupted, maximum statement execution time exceeded") {
+ assert.ErrorContains(t, err, "DeadlineExceeded desc = context deadline exceeded (errno 1317) (sqlstate 70100)")
+ }
+
+ // Increasing the timeout should pass the query.
+ utils.Exec(t, mcmp.VtConn, "set query_timeout=10000")
+ _ = utils.Exec(t, mcmp.VtConn, "select sleep(u2.id2), u1.id2 from t1 u1 join t1 u2 where u1.id2 = u2.id1")
+}
diff --git a/go/test/endtoend/vtgate/sequence/seq_test.go b/go/test/endtoend/vtgate/sequence/seq_test.go
index dd7542becc5..1bda37094b2 100644
--- a/go/test/endtoend/vtgate/sequence/seq_test.go
+++ b/go/test/endtoend/vtgate/sequence/seq_test.go
@@ -293,7 +293,7 @@ func TestDotTableSeq(t *testing.T) {
mysqlErr := err.(*sqlerror.SQLError)
assert.Equal(t, sqlerror.ERDupEntry, mysqlErr.Num)
assert.Equal(t, "23000", mysqlErr.State)
- assert.Contains(t, mysqlErr.Message, "Duplicate entry")
+ assert.ErrorContains(t, mysqlErr, "Duplicate entry")
}
func TestInsertAllDefaults(t *testing.T) {
diff --git a/go/test/endtoend/vtgate/unsharded/main_test.go b/go/test/endtoend/vtgate/unsharded/main_test.go
index 91326acce4d..e1818735ed1 100644
--- a/go/test/endtoend/vtgate/unsharded/main_test.go
+++ b/go/test/endtoend/vtgate/unsharded/main_test.go
@@ -343,7 +343,7 @@ func TestCallProcedure(t *testing.T) {
_, err = conn.ExecuteFetch(`CALL out_parameter(@foo)`, 100, true)
require.Error(t, err)
- require.Contains(t, err.Error(), "OUT and INOUT parameters are not supported")
+ require.ErrorContains(t, err, "OUT and INOUT parameters are not supported")
}
func TestTempTable(t *testing.T) {
diff --git a/go/test/endtoend/vtgate/vitess_tester/cte/queries.test b/go/test/endtoend/vtgate/vitess_tester/cte/queries.test
new file mode 100644
index 00000000000..173dcaeb6ba
--- /dev/null
+++ b/go/test/endtoend/vtgate/vitess_tester/cte/queries.test
@@ -0,0 +1,226 @@
+# Create tables
+CREATE TABLE employees
+(
+ id INT PRIMARY KEY,
+ name VARCHAR(100),
+ manager_id INT
+);
+
+# Simple recursive CTE using a real table. Select everything from empty table
+with recursive cte as (select * from employees union all select * from cte)
+select *
+from cte;
+
+# Insert data into the tables
+INSERT INTO employees (id, name, manager_id)
+VALUES (1, 'CEO', NULL),
+ (2, 'CTO', 1),
+ (3, 'CFO', 1),
+ (4, 'Engineer1', 2),
+ (5, 'Engineer2', 2),
+ (6, 'Accountant1', 3),
+ (7, 'Accountant2', 3);
+
+# Simple recursive CTE using literal values
+WITH RECURSIVE numbers AS (SELECT 1 AS n
+ UNION ALL
+ SELECT n + 1
+ FROM numbers
+ WHERE n < 5)
+SELECT *
+FROM numbers;
+
+# Recursive CTE joined with a normal table
+WITH RECURSIVE emp_cte AS (SELECT id, name, manager_id
+ FROM employees
+ WHERE manager_id IS NULL
+ UNION ALL
+ SELECT e.id, e.name, e.manager_id
+ FROM employees e
+ INNER JOIN emp_cte cte ON e.manager_id = cte.id)
+SELECT *
+FROM emp_cte;
+
+# Recursive CTE used in a derived table outside the CTE definition
+WITH RECURSIVE emp_cte AS (SELECT id, name, manager_id
+ FROM employees
+ WHERE manager_id IS NULL
+ UNION ALL
+ SELECT e.id, e.name, e.manager_id
+ FROM employees e
+ INNER JOIN emp_cte cte ON e.manager_id = cte.id)
+SELECT derived.id, derived.name, derived.manager_id
+FROM (SELECT * FROM emp_cte) AS derived;
+
+# Recursive CTE with additional computation
+WITH RECURSIVE emp_cte AS (SELECT id, name, manager_id, 1 AS level
+ FROM employees
+ WHERE manager_id IS NULL
+ UNION ALL
+ SELECT e.id, e.name, e.manager_id, cte.level + 1
+ FROM employees e
+ INNER JOIN emp_cte cte ON e.manager_id = cte.id)
+SELECT *
+FROM emp_cte;
+
+# Recursive CTE with filtering in the recursive part
+WITH RECURSIVE emp_cte AS (SELECT id, name, manager_id
+ FROM employees
+ WHERE manager_id IS NULL
+ UNION ALL
+ SELECT e.id, e.name, e.manager_id
+ FROM employees e
+ INNER JOIN emp_cte cte ON e.manager_id = cte.id
+ WHERE e.name LIKE 'Engineer%')
+SELECT *
+FROM emp_cte;
+
+# Recursive CTE with limit
+WITH RECURSIVE emp_cte AS (SELECT id, name, manager_id
+ FROM employees
+ WHERE manager_id IS NULL
+ UNION ALL
+ SELECT e.id, e.name, e.manager_id
+ FROM employees e
+ INNER JOIN emp_cte cte ON e.manager_id = cte.id)
+SELECT *
+FROM emp_cte
+LIMIT 5;
+
+# Recursive CTE using literal values and joined with a real table on the outside
+WITH RECURSIVE literal_cte AS (SELECT 1 AS id, 100 AS value, 1 AS manager_id
+ UNION ALL
+ SELECT id + 1, value * 2, id
+ FROM literal_cte
+ WHERE id < 5)
+SELECT l.id, l.value, l.manager_id, e.name AS employee_name
+FROM literal_cte l
+ LEFT JOIN employees e ON l.id = e.id;
+
+# Recursive CTE with aggregation outside the CTE
+WITH RECURSIVE emp_cte AS (SELECT id, name, manager_id
+ FROM employees
+ WHERE manager_id IS NULL
+ UNION ALL
+ SELECT e.id, e.name, e.manager_id
+ FROM employees e
+ INNER JOIN emp_cte cte ON e.manager_id = cte.id)
+SELECT manager_id, COUNT(*) AS employee_count
+FROM emp_cte
+GROUP BY manager_id;
+
+--error infinite recursion
+with recursive cte as (select 1 as n union all select n+1 from cte)
+select *
+from cte;
+
+# Define recursive CTE and then use it on the RHS of UNION
+WITH RECURSIVE foo AS (SELECT id
+ FROM employees
+ WHERE id = 1
+ UNION ALL
+ SELECT id + 1
+ FROM foo
+ WHERE id < 5)
+SELECT id
+FROM foo;
+
+# Recursive CTE with UNION DISTINCT
+WITH RECURSIVE hierarchy AS (SELECT id, name, manager_id
+ FROM employees
+ UNION ALL
+ SELECT id, name, manager_id
+ FROM employees
+ UNION
+ DISTINCT
+ SELECT id * 2, name, manager_id
+ from hierarchy
+ WHERE id < 10)
+SELECT *
+FROM hierarchy;
+
+# Select with false condition
+with recursive cte as (select * from employees where false union all select * from cte)
+select *
+from cte;
+
+# Select with no matching rows
+with recursive cte as (select * from employees where id > 100 union all select * from cte)
+select *
+from cte;
+
+# Recursive CTE joined with a normal table. Predicate on the outside should not be pushed in
+WITH RECURSIVE emp_cte AS (SELECT id, name, manager_id
+ FROM employees
+ WHERE manager_id IS NULL
+ UNION ALL
+ SELECT e.id, e.name, e.manager_id
+ FROM employees e
+ INNER JOIN emp_cte cte ON e.manager_id = cte.id)
+SELECT *
+FROM emp_cte
+where name = 'Engineer1';
+
+# Query with a recursive CTE in a subquery
+SELECT *
+FROM (SELECT 1 UNION ALL SELECT 2) AS dt(a)
+WHERE EXISTS(WITH RECURSIVE qn AS (SELECT a * 0 AS b UNION ALL SELECT b + 1 FROM qn WHERE b = 0)
+ SELECT *
+ FROM qn
+ WHERE b = a);
+
+# Join with recursive CTE inside a derived table using data from DUAL
+SELECT e.id, e.name, e.manager_id, d.id AS cte_id
+FROM employees e
+ JOIN (WITH RECURSIVE foo AS (SELECT 1 AS id
+ UNION ALL
+ SELECT id + 1
+ FROM foo
+ WHERE id < 5)
+ SELECT id
+ FROM foo) d ON e.id = d.id;
+
+# Join with recursive CTE inside a derived table using data from employees table
+SELECT e.id, e.name, e.manager_id, d.id AS cte_id
+FROM employees e
+ JOIN (WITH RECURSIVE foo AS (SELECT id
+ FROM employees
+ WHERE manager_id IS NULL
+ UNION ALL
+ SELECT e.id
+ FROM employees e
+ JOIN foo f ON e.manager_id = f.id)
+ SELECT id
+ FROM foo) d ON e.id = d.id;
+
+# Recursive CTE within an uncorrelated subquery as a select expression
+SELECT e.id,
+ e.name,
+ e.manager_id,
+ (SELECT MAX(cte_id)
+ FROM (WITH RECURSIVE foo AS (SELECT 1 AS cte_id
+ UNION ALL
+ SELECT cte_id + 1
+ FROM foo
+ WHERE cte_id < e.id)
+ SELECT cte_id
+ FROM foo) AS recursive_result) AS max_cte_id
+FROM employees e;
+
+# Recursive CTE used twice in the same query
+WITH RECURSIVE employee_hierarchy AS (SELECT id, name, manager_id, 1 AS level
+ FROM employees
+ WHERE manager_id IS NULL
+ UNION ALL
+ SELECT e.id, e.name, e.manager_id, h.level + 1
+ FROM employees e
+ JOIN employee_hierarchy h ON e.manager_id = h.id)
+SELECT h1.id AS employee_id,
+ h1.name AS employee_name,
+ h1.level AS employee_level,
+ h2.name AS manager_name,
+ h2.level AS manager_level
+FROM employee_hierarchy h1
+ LEFT JOIN
+ employee_hierarchy h2 ON h1.manager_id = h2.id
+ORDER BY h1.level, h1.id;
\ No newline at end of file
diff --git a/go/test/endtoend/vtgate/vitess_tester/dual/queries.test b/go/test/endtoend/vtgate/vitess_tester/dual/queries.test
new file mode 100644
index 00000000000..77a6e1595e0
--- /dev/null
+++ b/go/test/endtoend/vtgate/vitess_tester/dual/queries.test
@@ -0,0 +1,4 @@
+# file with tests that only use the dual table
+
+# Dual query that is using tilda operator in a complex expression
+SELECT 1 WHERE (~ (1||0)) IS NULL;
diff --git a/go/test/endtoend/vtgate/vitess_tester/join/join.test b/go/test/endtoend/vtgate/vitess_tester/join/join.test
index 72d79a1206e..e550145f8d5 100644
--- a/go/test/endtoend/vtgate/vitess_tester/join/join.test
+++ b/go/test/endtoend/vtgate/vitess_tester/join/join.test
@@ -76,4 +76,3 @@ from t1
left join (select t4.col, count(*) as count from t4 group by t4.col) t3 on t3.col = t2.id
where t1.id IN (1, 2)
group by t2.id, t4.col;
-
diff --git a/go/test/vschemawrapper/vschema_wrapper.go b/go/test/vschemawrapper/vschema_wrapper.go
index 4d1c424dda8..a1b87f5569c 100644
--- a/go/test/vschemawrapper/vschema_wrapper.go
+++ b/go/test/vschemawrapper/vschema_wrapper.go
@@ -213,7 +213,6 @@ func (vw *VSchemaWrapper) TargetDestination(qualifier string) (key.Destination,
return nil, nil, 0, vterrors.VT05003(keyspaceName)
}
return vw.Dest, keyspace.Keyspace, vw.TabletType_, nil
-
}
func (vw *VSchemaWrapper) TabletType() topodatapb.TabletType {
@@ -317,7 +316,6 @@ func (vw *VSchemaWrapper) TargetString() string {
}
func (vw *VSchemaWrapper) WarnUnshardedOnly(_ string, _ ...any) {
-
}
func (vw *VSchemaWrapper) ErrorIfShardedF(keyspace *vindexes.Keyspace, _, errFmt string, params ...any) error {
@@ -342,3 +340,17 @@ func (vw *VSchemaWrapper) FindRoutedShard(keyspace, shard string) (string, error
func (vw *VSchemaWrapper) IsViewsEnabled() bool {
return vw.EnableViews
}
+
+// FindMirrorRule finds the mirror rule for the requested keyspace, table
+// name, and the tablet type in the VSchema.
+func (vs *VSchemaWrapper) FindMirrorRule(tab sqlparser.TableName) (*vindexes.MirrorRule, error) {
+ destKeyspace, destTabletType, _, err := topoproto.ParseDestination(tab.Qualifier.String(), topodatapb.TabletType_PRIMARY)
+ if err != nil {
+ return nil, err
+ }
+ mirrorRule, err := vs.V.FindMirrorRule(destKeyspace, tab.Name.String(), destTabletType)
+ if err != nil {
+ return nil, err
+ }
+ return mirrorRule, err
+}
diff --git a/go/textutil/strings.go b/go/textutil/strings.go
index 616366f0083..2a923cd3259 100644
--- a/go/textutil/strings.go
+++ b/go/textutil/strings.go
@@ -25,7 +25,6 @@ import (
"vitess.io/vitess/go/sqltypes"
- binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
)
@@ -37,10 +36,10 @@ const (
)
var (
- delimitedListRegexp = regexp.MustCompile(`[ ,;]+`)
- SimulatedNullString = sqltypes.NULL.String()
- SimulatedNullStringSlice = []string{sqltypes.NULL.String()}
- SimulatedNullInt = -1
+ delimitedListRegexp = regexp.MustCompile(`[ ,;]+`)
+ SimulatedNullStringSlice = []string{sqltypes.NULL.String()}
+ SimulatedNullTabletTypeSlice = []topodatapb.TabletType{topodatapb.TabletType(SimulatedNullInt)}
+ SimulatedNullInt = -1
)
// SplitDelimitedList splits a given string by comma, semi-colon or space, and returns non-empty strings
@@ -91,29 +90,16 @@ func SingleWordCamel(w string) string {
return strings.ToUpper(w[0:1]) + strings.ToLower(w[1:])
}
-// ValueIsSimulatedNull returns true if the value represents
-// a NULL or unknown/unspecified value. This is used to
-// distinguish between a zero value / default and a user
-// provided value that is equivalent (e.g. an empty string
-// or slice).
+// ValueIsSimulatedNull returns true if the slice value represents
+// a NULL or unknown/unspecified value. This is used to distinguish
+// between a zero value empty slice and a user provided value of an
+// empty slice.
func ValueIsSimulatedNull(val any) bool {
switch cval := val.(type) {
- case string:
- return cval == SimulatedNullString
case []string:
return len(cval) == 1 && cval[0] == sqltypes.NULL.String()
- case binlogdatapb.OnDDLAction:
- return int32(cval) == int32(SimulatedNullInt)
- case int:
- return cval == SimulatedNullInt
- case int32:
- return int32(cval) == int32(SimulatedNullInt)
- case int64:
- return int64(cval) == int64(SimulatedNullInt)
case []topodatapb.TabletType:
return len(cval) == 1 && cval[0] == topodatapb.TabletType(SimulatedNullInt)
- case binlogdatapb.VReplicationWorkflowState:
- return int32(cval) == int32(SimulatedNullInt)
default:
return false
}
diff --git a/go/textutil/strings_test.go b/go/textutil/strings_test.go
index 2ba9851b71c..d65c187c4cb 100644
--- a/go/textutil/strings_test.go
+++ b/go/textutil/strings_test.go
@@ -23,6 +23,8 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
+ "vitess.io/vitess/go/sqltypes"
+
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
)
@@ -131,40 +133,25 @@ func TestValueIsSimulatedNull(t *testing.T) {
val: "test",
isNull: false,
},
- {
- name: "case string true",
- val: SimulatedNullString,
- isNull: true,
- },
{
name: "case []string true",
- val: []string{SimulatedNullString},
+ val: []string{sqltypes.NULL.String()},
isNull: true,
},
{
name: "case []string false",
- val: []string{SimulatedNullString, SimulatedNullString},
+ val: []string{sqltypes.NULL.String(), sqltypes.NULL.String()},
isNull: false,
},
{
- name: "case binlogdatapb.OnDDLAction true",
- val: binlogdatapb.OnDDLAction(SimulatedNullInt),
- isNull: true,
- },
- {
- name: "case int true",
- val: SimulatedNullInt,
- isNull: true,
- },
- {
- name: "case int32 true",
- val: int32(SimulatedNullInt),
- isNull: true,
+ name: "case binlogdatapb.OnDDLAction exec",
+ val: binlogdatapb.OnDDLAction_EXEC,
+ isNull: false,
},
{
- name: "case int64 true",
- val: int64(SimulatedNullInt),
- isNull: true,
+ name: "case int false",
+ val: 1,
+ isNull: false,
},
{
name: "case []topodatapb.TabletType true",
@@ -172,12 +159,12 @@ func TestValueIsSimulatedNull(t *testing.T) {
isNull: true,
},
{
- name: "case binlogdatapb.VReplicationWorkflowState true",
- val: binlogdatapb.VReplicationWorkflowState(SimulatedNullInt),
- isNull: true,
+ name: "case binlogdatapb.VReplicationWorkflowState running",
+ val: binlogdatapb.VReplicationWorkflowState_Running,
+ isNull: false,
},
{
- name: "case default",
+ name: "case float false",
val: float64(1),
isNull: false,
},
diff --git a/go/tools/go-upgrade/go-upgrade.go b/go/tools/go-upgrade/go-upgrade.go
index 34543120202..3ca5f4aeb8b 100644
--- a/go/tools/go-upgrade/go-upgrade.go
+++ b/go/tools/go-upgrade/go-upgrade.go
@@ -63,10 +63,6 @@ const (
// to match the entire flag name + the default value (being the current bootstrap version)
// Example input: "flag.String("bootstrap-version", "20", "the version identifier to use for the docker images")"
regexpReplaceTestGoBootstrapVersion = `\"bootstrap-version\",[[:space:]]*\"([0-9.]+)\"`
-
- // regexpReplaceGolangVersionInWorkflow matches the golang version increment in the string `go-version: 1.20.5`
- // which is used to replace the golang version we use inside our workflows
- regexpReplaceGolangVersionInWorkflow = `go-version:[[:space:]]*([0-9.]+).*`
)
type (
@@ -81,7 +77,6 @@ type (
)
var (
- workflowUpdate = true
allowMajorUpgrade = false
isMainBranch = false
goTo = ""
@@ -137,22 +132,11 @@ The latest available version of Golang will be fetched and used instead of the o
By default, we do not allow major Golang version upgrade such as 1.20 to 1.21 but this can be overridden using the
--allow-major-upgrade CLI flag. Usually, we only allow such upgrade on the main branch of the repository.
-In CI, particularly, we do not want to modify the workflow files before automatically creating a Pull Request to
-avoid permission issues. The rewrite of workflow files can be disabled using the --workflow-update=false CLI flag.
-
Moreover, this command automatically bumps the bootstrap version of our codebase. If we are on the main branch, we
want to use the CLI flag --main to remember to increment the bootstrap version by 1 instead of 0.1.`,
Run: runUpgradeCmd,
Args: cobra.NoArgs,
}
-
- upgradeWorkflowsCmd = &cobra.Command{
- Use: "workflows",
- Short: "workflows will upgrade the Golang version used in our CI workflows files.",
- Long: "This step is omitted by the bot since. We let the maintainers of Vitess manually upgrade the version used by the workflows using this command.",
- Run: runUpgradeWorkflowsCmd,
- Args: cobra.NoArgs,
- }
)
func init() {
@@ -162,13 +146,8 @@ func init() {
getCmd.AddCommand(getGoCmd)
getCmd.AddCommand(getBootstrapCmd)
- upgradeCmd.AddCommand(upgradeWorkflowsCmd)
-
- upgradeCmd.Flags().BoolVar(&workflowUpdate, "workflow-update", workflowUpdate, "Whether or not the workflow files should be updated. Useful when using this script to auto-create PRs.")
upgradeCmd.Flags().BoolVar(&allowMajorUpgrade, "allow-major-upgrade", allowMajorUpgrade, "Defines if Golang major version upgrade are allowed.")
upgradeCmd.Flags().BoolVar(&isMainBranch, "main", isMainBranch, "Defines if the current branch is the main branch.")
-
- upgradeWorkflowsCmd.Flags().StringVar(&goTo, "go-to", goTo, "The Golang version we want to upgrade to.")
}
func main() {
@@ -191,44 +170,14 @@ func runGetBootstrapCmd(_ *cobra.Command, _ []string) {
fmt.Println(currentVersion.toString())
}
-func runUpgradeWorkflowsCmd(_ *cobra.Command, _ []string) {
- err := updateWorkflowFilesOnly(goTo)
- if err != nil {
- log.Fatal(err)
- }
-}
-
func runUpgradeCmd(_ *cobra.Command, _ []string) {
- err := upgradePath(allowMajorUpgrade, workflowUpdate, isMainBranch)
+ err := upgradePath(allowMajorUpgrade, isMainBranch)
if err != nil {
log.Fatal(err)
}
}
-func updateWorkflowFilesOnly(goTo string) error {
- newV, err := version.NewVersion(goTo)
- if err != nil {
- return err
- }
- filesToChange, err := getListOfFilesInPaths([]string{"./.github/workflows"})
- if err != nil {
- return err
- }
-
- for _, fileToChange := range filesToChange {
- err = replaceInFile(
- []*regexp.Regexp{regexp.MustCompile(regexpReplaceGolangVersionInWorkflow)},
- []string{"go-version: " + newV.String()},
- fileToChange,
- )
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func upgradePath(allowMajorUpgrade, workflowUpdate, isMainBranch bool) error {
+func upgradePath(allowMajorUpgrade, isMainBranch bool) error {
currentVersion, err := currentGolangVersion()
if err != nil {
return err
@@ -244,7 +193,7 @@ func upgradePath(allowMajorUpgrade, workflowUpdate, isMainBranch bool) error {
return nil
}
- err = replaceGoVersionInCodebase(currentVersion, upgradeTo, workflowUpdate)
+ err = replaceGoVersionInCodebase(currentVersion, upgradeTo)
if err != nil {
return err
}
@@ -385,7 +334,7 @@ func chooseNewVersion(curVersion *version.Version, latestVersions version.Collec
// replaceGoVersionInCodebase goes through all the files in the codebase where the
// Golang version must be updated
-func replaceGoVersionInCodebase(old, new *version.Version, workflowUpdate bool) error {
+func replaceGoVersionInCodebase(old, new *version.Version) error {
if old.Equal(new) {
return nil
}
@@ -397,9 +346,6 @@ func replaceGoVersionInCodebase(old, new *version.Version, workflowUpdate bool)
"./docker/lite/Dockerfile.percona80",
"./docker/vttestserver/Dockerfile.mysql80",
}
- if workflowUpdate {
- explore = append(explore, "./.github/workflows")
- }
filesToChange, err := getListOfFilesInPaths(explore)
if err != nil {
return err
@@ -418,7 +364,7 @@ func replaceGoVersionInCodebase(old, new *version.Version, workflowUpdate bool)
}
if !isSameMajorMinorVersion(old, new) {
- goModFiles := []string{"./go.mod", "./vitess-mixin/go.mod"}
+ goModFiles := []string{"./go.mod"}
for _, file := range goModFiles {
err = replaceInFile(
[]*regexp.Regexp{regexp.MustCompile(regexpReplaceGoModGoVersion)},
diff --git a/go/tools/go-upgrade/go-upgrade_test.go b/go/tools/go-upgrade/go-upgrade_test.go
index 378672d544f..6995ccb4002 100644
--- a/go/tools/go-upgrade/go-upgrade_test.go
+++ b/go/tools/go-upgrade/go-upgrade_test.go
@@ -87,14 +87,6 @@ func TestRegularExpressions(t *testing.T) {
require.Equal(t, `flag.String("bootstrap-version", "18.2", "the version identifier to use for the docker images")`, res)
},
},
- {
- regexp: regexpReplaceGolangVersionInWorkflow,
- input: "go-version: 1.20.5",
- checkF: func(t *testing.T, regexp *regexp.Regexp, input string) {
- res := regexp.ReplaceAllString(input, "go-version: 1.20.6")
- require.Equal(t, `go-version: 1.20.6`, res)
- },
- },
}
for _, list := range lists {
diff --git a/go/tools/sizegen/sizegen.go b/go/tools/sizegen/sizegen.go
index a8fbcb1add4..7ecd50e3d8c 100644
--- a/go/tools/sizegen/sizegen.go
+++ b/go/tools/sizegen/sizegen.go
@@ -149,7 +149,7 @@ func (sizegen *sizegen) generateType(pkg *types.Package, file *codeFile, named *
case *types.Interface:
findImplementations(pkg.Scope(), tt, func(tt types.Type) {
if _, isStruct := tt.Underlying().(*types.Struct); isStruct {
- sizegen.generateKnownType(tt.(*types.Named))
+ sizegen.generateTyp(tt)
}
})
default:
@@ -157,6 +157,15 @@ func (sizegen *sizegen) generateType(pkg *types.Package, file *codeFile, named *
}
}
+func (sizegen *sizegen) generateTyp(tt types.Type) {
+ switch tt := tt.(type) {
+ case *types.Named:
+ sizegen.generateKnownType(tt)
+ case *types.Alias:
+ sizegen.generateTyp(types.Unalias(tt))
+ }
+}
+
func (sizegen *sizegen) generateKnownType(named *types.Named) {
pkgInfo := named.Obj().Pkg()
file := sizegen.codegen[pkgInfo.Path()]
diff --git a/go/trace/trace.go b/go/trace/trace.go
index 7c43b4afedc..bcfe39eeefa 100644
--- a/go/trace/trace.go
+++ b/go/trace/trace.go
@@ -189,7 +189,7 @@ func StartTracing(serviceName string) io.Closer {
}
func fail(serviceName string) io.Closer {
- options := make([]string, len(tracingBackendFactories))
+ options := make([]string, 0, len(tracingBackendFactories))
for k := range tracingBackendFactories {
options = append(options, k)
}
diff --git a/go/vt/binlog/binlogplayer/binlog_player.go b/go/vt/binlog/binlogplayer/binlog_player.go
index 7936a0760c9..92718a4b5ed 100644
--- a/go/vt/binlog/binlogplayer/binlog_player.go
+++ b/go/vt/binlog/binlogplayer/binlog_player.go
@@ -25,6 +25,7 @@ import (
"context"
"encoding/binary"
"encoding/hex"
+ "encoding/json"
"fmt"
"io"
"math"
@@ -45,6 +46,7 @@ import (
"vitess.io/vitess/go/stats"
"vitess.io/vitess/go/textutil"
"vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/proto/vtctldata"
"vitess.io/vitess/go/vt/servenv"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/throttler"
@@ -53,6 +55,8 @@ import (
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
)
+const GetWorkflowQuery = "select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys, options from _vt.vreplication where id=%v"
+
var (
// SlowQueryThreshold will cause we logging anything that's higher than it.
SlowQueryThreshold = time.Duration(100 * time.Millisecond)
@@ -70,10 +74,12 @@ var (
// Truncate values in the middle to preserve the end of the message which
// typically contains the error text.
- TruncationLocation = textutil.TruncationLocationMiddle
-)
+ TruncationLocation = textutil.TruncationLocationMiddle
+ TruncationIndicator = fmt.Sprintf(" ... %s ... ", sqlparser.TruncationText)
-var TruncationIndicator = fmt.Sprintf(" ... %s ... ", sqlparser.TruncationText)
+ // TestGetWorkflowQueryId1 is only used in tests.
+ TestGetWorkflowQueryId1 = fmt.Sprintf(GetWorkflowQuery, 1)
+)
// Stats is the internal stats of a player. It is a different
// structure that is passed in so stats can be collected over the life
@@ -117,6 +123,8 @@ type Stats struct {
ThrottledCounts *stats.CountersWithMultiLabels // By throttler and component
DDLEventActions *stats.CountersWithSingleLabel
+
+ WorkflowConfig string
}
// RecordHeartbeat updates the time the last heartbeat from vstreamer was seen
@@ -559,11 +567,12 @@ type VRSettings struct {
WorkflowSubType binlogdatapb.VReplicationWorkflowSubType
WorkflowName string
DeferSecondaryKeys bool
+ WorkflowOptions *vtctldata.WorkflowOptions
}
// ReadVRSettings retrieves the settings for a vreplication stream.
func ReadVRSettings(dbClient DBClient, uid int32) (VRSettings, error) {
- query := fmt.Sprintf("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=%v", uid)
+ query := fmt.Sprintf(GetWorkflowQuery, uid)
qr, err := dbClient.ExecuteFetch(query, 1)
if err != nil {
return VRSettings{}, fmt.Errorf("error %v in selecting vreplication settings %v", err, query)
@@ -602,6 +611,11 @@ func ReadVRSettings(dbClient DBClient, uid int32) (VRSettings, error) {
if err != nil {
return VRSettings{}, fmt.Errorf("failed to parse defer_secondary_keys column: %v", err)
}
+ options := vrRow.AsString("options", "{}")
+ var workflowOptions vtctldata.WorkflowOptions
+ if err := json.Unmarshal([]byte(options), &workflowOptions); err != nil {
+ return VRSettings{}, fmt.Errorf("failed to parse options column: %v", err)
+ }
return VRSettings{
StartPos: startPos,
StopPos: stopPos,
@@ -612,6 +626,7 @@ func ReadVRSettings(dbClient DBClient, uid int32) (VRSettings, error) {
WorkflowName: vrRow.AsString("workflow", ""),
WorkflowSubType: binlogdatapb.VReplicationWorkflowSubType(workflowSubType),
DeferSecondaryKeys: deferSecondaryKeys,
+ WorkflowOptions: &workflowOptions,
}, nil
}
diff --git a/go/vt/binlog/binlogplayer/binlog_player_test.go b/go/vt/binlog/binlogplayer/binlog_player_test.go
index 697733a6d18..79aa9d0fa65 100644
--- a/go/vt/binlog/binlogplayer/binlog_player_test.go
+++ b/go/vt/binlog/binlogplayer/binlog_player_test.go
@@ -71,7 +71,7 @@ var (
func TestNewBinlogPlayerKeyRange(t *testing.T) {
dbClient := NewMockDBClient(t)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", testSettingsResponse, nil)
+ dbClient.ExpectRequest(TestGetWorkflowQueryId1, testSettingsResponse, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
@@ -104,7 +104,7 @@ func TestNewBinlogPlayerKeyRange(t *testing.T) {
func TestNewBinlogPlayerTables(t *testing.T) {
dbClient := NewMockDBClient(t)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", testSettingsResponse, nil)
+ dbClient.ExpectRequest(TestGetWorkflowQueryId1, testSettingsResponse, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
@@ -138,7 +138,7 @@ func TestNewBinlogPlayerTables(t *testing.T) {
func TestApplyEventsFail(t *testing.T) {
dbClient := NewMockDBClient(t)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", testSettingsResponse, nil)
+ dbClient.ExpectRequest(TestGetWorkflowQueryId1, testSettingsResponse, nil)
dbClient.ExpectRequest("begin", nil, errors.New("err"))
dbClient.ExpectRequest("update _vt.vreplication set state='Error', message='error in processing binlog event failed query BEGIN, err: err' where id=1", testDMLResponse, nil)
@@ -191,7 +191,7 @@ func TestStopPosEqual(t *testing.T) {
},
},
}
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", posEqual, nil)
+ dbClient.ExpectRequest(TestGetWorkflowQueryId1, posEqual, nil)
dbClient.ExpectRequest(`update _vt.vreplication set state='Stopped', message='not starting BinlogPlayer, we\'re already at the desired position 0-1-1083' where id=1`, testDMLResponse, nil)
_ = newFakeBinlogClient()
@@ -230,7 +230,7 @@ func TestStopPosLess(t *testing.T) {
},
},
}
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", posEqual, nil)
+ dbClient.ExpectRequest(TestGetWorkflowQueryId1, posEqual, nil)
dbClient.ExpectRequest(`update _vt.vreplication set state='Stopped', message='starting point 0-1-1083 greater than stopping point 0-1-1082' where id=1`, testDMLResponse, nil)
_ = newFakeBinlogClient()
@@ -269,7 +269,7 @@ func TestStopPosGreater(t *testing.T) {
},
},
}
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", posEqual, nil)
+ dbClient.ExpectRequest(TestGetWorkflowQueryId1, posEqual, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
@@ -312,7 +312,7 @@ func TestContextCancel(t *testing.T) {
},
},
}
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", posEqual, nil)
+ dbClient.ExpectRequest(TestGetWorkflowQueryId1, posEqual, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
@@ -341,7 +341,7 @@ func TestContextCancel(t *testing.T) {
func TestRetryOnDeadlock(t *testing.T) {
dbClient := NewMockDBClient(t)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", testSettingsResponse, nil)
+ dbClient.ExpectRequest(TestGetWorkflowQueryId1, testSettingsResponse, nil)
deadlocked := &sqlerror.SQLError{Num: 1213, Message: "deadlocked"}
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", nil, deadlocked)
diff --git a/go/vt/binlog/binlogplayer/mock_dbclient.go b/go/vt/binlog/binlogplayer/mock_dbclient.go
index c27ae02ebaf..2135c8bf1e5 100644
--- a/go/vt/binlog/binlogplayer/mock_dbclient.go
+++ b/go/vt/binlog/binlogplayer/mock_dbclient.go
@@ -100,16 +100,24 @@ func NewMockDbaClient(t *testing.T) *MockDBClient {
}
}
+func (dc *MockDBClient) Reset() {
+ dc.expectMu.Lock()
+ defer dc.expectMu.Unlock()
+ dc.currentResult = 0
+ dc.expect = nil
+ dc.done = make(chan struct{})
+}
+
// ExpectRequest adds an expected result to the mock.
// This function should not be called conncurrently with other commands.
func (dc *MockDBClient) ExpectRequest(query string, result *sqltypes.Result, err error) {
+ dc.expectMu.Lock()
+ defer dc.expectMu.Unlock()
select {
case <-dc.done:
dc.done = make(chan struct{})
default:
}
- dc.expectMu.Lock()
- defer dc.expectMu.Unlock()
dc.expect = append(dc.expect, &mockExpect{
query: query,
result: result,
@@ -121,13 +129,13 @@ func (dc *MockDBClient) ExpectRequest(query string, result *sqltypes.Result, err
// queryRE is a regular expression.
// This function should not be called conncurrently with other commands.
func (dc *MockDBClient) ExpectRequestRE(queryRE string, result *sqltypes.Result, err error) {
+ dc.expectMu.Lock()
+ defer dc.expectMu.Unlock()
select {
case <-dc.done:
dc.done = make(chan struct{})
default:
}
- dc.expectMu.Lock()
- defer dc.expectMu.Unlock()
dc.expect = append(dc.expect, &mockExpect{
query: queryRE,
re: regexp.MustCompile(queryRE),
@@ -210,7 +218,7 @@ func (dc *MockDBClient) ExecuteFetch(query string, maxrows int) (qr *sqltypes.Re
result := dc.expect[dc.currentResult]
if result.re == nil {
if query != result.query {
- msg := "DBClientMock: query: %s, want %s"
+ msg := "DBClientMock: query: \n%s, want \n%s"
if dc.Tag != "" {
msg = fmt.Sprintf("[%s] %s", dc.Tag, msg)
}
@@ -262,6 +270,15 @@ func (dc *MockDBClient) RemoveInvariant(query string) {
delete(dc.invariants, query)
}
+// RemoveInvariant can be used to customize the behavior of the mock client.
+func (dc *MockDBClient) RemoveInvariants(queries ...string) {
+ dc.expectMu.Lock()
+ defer dc.expectMu.Unlock()
+ for _, query := range queries {
+ delete(dc.invariants, query)
+ }
+}
+
func (dc *MockDBClient) SupportsCapability(capability capabilities.FlavorCapability) (bool, error) {
return false, nil
}
diff --git a/go/vt/discovery/healthcheck.go b/go/vt/discovery/healthcheck.go
index 2a467301eaf..38bc998632b 100644
--- a/go/vt/discovery/healthcheck.go
+++ b/go/vt/discovery/healthcheck.go
@@ -35,6 +35,7 @@ import (
"bytes"
"context"
"encoding/json"
+ "errors"
"fmt"
"hash/crc32"
"net/http"
@@ -105,6 +106,9 @@ var (
// HealthCheckHealthyTemplate uses healthCheckTemplate with the `HealthCheck Tablet - Healthy Tablets` title to
// create the HTML code required to render the list of healthy tablets from the HealthCheck.
HealthCheckHealthyTemplate = fmt.Sprintf(healthCheckTemplate, "HealthCheck - Healthy Tablets")
+
+ // errKeyspacesToWatchAndTabletFilters is an error for cases where incompatible filters are defined.
+ errKeyspacesToWatchAndTabletFilters = errors.New("only one of --keyspaces_to_watch and --tablet_filters may be specified at a time")
)
// See the documentation for NewHealthCheck below for an explanation of these parameters.
@@ -301,6 +305,27 @@ type HealthCheckImpl struct {
healthCheckDialSem *semaphore.Weighted
}
+// NewVTGateHealthCheckFilters returns healthcheck filters for vtgate.
+func NewVTGateHealthCheckFilters() (filters TabletFilters, err error) {
+ if len(tabletFilters) > 0 {
+ if len(KeyspacesToWatch) > 0 {
+ return nil, errKeyspacesToWatchAndTabletFilters
+ }
+
+ fbs, err := NewFilterByShard(tabletFilters)
+ if err != nil {
+ return nil, fmt.Errorf("failed to parse tablet_filters value %q: %v", strings.Join(tabletFilters, ","), err)
+ }
+ filters = append(filters, fbs)
+ } else if len(KeyspacesToWatch) > 0 {
+ filters = append(filters, NewFilterByKeyspace(KeyspacesToWatch))
+ }
+ if len(tabletFilterTags) > 0 {
+ filters = append(filters, NewFilterByTabletTags(tabletFilterTags))
+ }
+ return filters, nil
+}
+
// NewHealthCheck creates a new HealthCheck object.
// Parameters:
// retryDelay.
@@ -322,10 +347,14 @@ type HealthCheckImpl struct {
//
// The localCell for this healthcheck
//
-// callback.
+// cellsToWatch.
//
-// A function to call when there is a primary change. Used to notify vtgate's buffer to stop buffering.
-func NewHealthCheck(ctx context.Context, retryDelay, healthCheckTimeout time.Duration, topoServer *topo.Server, localCell, cellsToWatch string) *HealthCheckImpl {
+// Is a list of cells to watch for tablets.
+//
+// filters.
+//
+// Is one or more filters to apply when determining what tablets we want to stream healthchecks from.
+func NewHealthCheck(ctx context.Context, retryDelay, healthCheckTimeout time.Duration, topoServer *topo.Server, localCell, cellsToWatch string, filters TabletFilter) *HealthCheckImpl {
log.Infof("loading tablets for cells: %v", cellsToWatch)
hc := &HealthCheckImpl{
@@ -348,27 +377,10 @@ func NewHealthCheck(ctx context.Context, retryDelay, healthCheckTimeout time.Dur
}
for _, c := range cells {
- var filters TabletFilters
log.Infof("Setting up healthcheck for cell: %v", c)
if c == "" {
continue
}
- if len(tabletFilters) > 0 {
- if len(KeyspacesToWatch) > 0 {
- log.Exitf("Only one of -keyspaces_to_watch and -tablet_filters may be specified at a time")
- }
-
- fbs, err := NewFilterByShard(tabletFilters)
- if err != nil {
- log.Exitf("Cannot parse tablet_filters parameter: %v", err)
- }
- filters = append(filters, fbs)
- } else if len(KeyspacesToWatch) > 0 {
- filters = append(filters, NewFilterByKeyspace(KeyspacesToWatch))
- }
- if len(tabletFilterTags) > 0 {
- filters = append(filters, NewFilterByTabletTags(tabletFilterTags))
- }
topoWatchers = append(topoWatchers, NewTopologyWatcher(ctx, topoServer, hc, filters, c, refreshInterval, refreshKnownTablets, topo.DefaultConcurrency))
}
diff --git a/go/vt/discovery/healthcheck_test.go b/go/vt/discovery/healthcheck_test.go
index 0bac086214a..b0f73d72b48 100644
--- a/go/vt/discovery/healthcheck_test.go
+++ b/go/vt/discovery/healthcheck_test.go
@@ -64,6 +64,77 @@ func init() {
refreshInterval = time.Minute
}
+func TestNewVTGateHealthCheckFilters(t *testing.T) {
+ defer func() {
+ KeyspacesToWatch = nil
+ tabletFilters = nil
+ tabletFilterTags = nil
+ }()
+
+ testCases := []struct {
+ name string
+ keyspacesToWatch []string
+ tabletFilters []string
+ tabletFilterTags map[string]string
+ expectedError string
+ expectedFilterTypes []any
+ }{
+ {
+ name: "noFilters",
+ },
+ {
+ name: "tabletFilters",
+ tabletFilters: []string{"ks1|-80"},
+ expectedFilterTypes: []any{&FilterByShard{}},
+ },
+ {
+ name: "keyspacesToWatch",
+ keyspacesToWatch: []string{"ks1"},
+ expectedFilterTypes: []any{&FilterByKeyspace{}},
+ },
+ {
+ name: "tabletFiltersAndTags",
+ tabletFilters: []string{"ks1|-80"},
+ tabletFilterTags: map[string]string{"test": "true"},
+ expectedFilterTypes: []any{&FilterByShard{}, &FilterByTabletTags{}},
+ },
+ {
+ name: "keyspacesToWatchAndTags",
+ tabletFilterTags: map[string]string{"test": "true"},
+ keyspacesToWatch: []string{"ks1"},
+ expectedFilterTypes: []any{&FilterByKeyspace{}, &FilterByTabletTags{}},
+ },
+ {
+ name: "failKeyspacesToWatchAndFilters",
+ tabletFilters: []string{"ks1|-80"},
+ keyspacesToWatch: []string{"ks1"},
+ expectedError: errKeyspacesToWatchAndTabletFilters.Error(),
+ },
+ {
+ name: "failInvalidTabletFilters",
+ tabletFilters: []string{"shouldfail|"},
+ expectedError: "failed to parse tablet_filters value \"shouldfail|\": error parsing shard name : Code: INVALID_ARGUMENT\nempty name\n",
+ },
+ }
+
+ for _, testCase := range testCases {
+ t.Run(testCase.name, func(t *testing.T) {
+ KeyspacesToWatch = testCase.keyspacesToWatch
+ tabletFilters = testCase.tabletFilters
+ tabletFilterTags = testCase.tabletFilterTags
+
+ filters, err := NewVTGateHealthCheckFilters()
+ if testCase.expectedError != "" {
+ assert.EqualError(t, err, testCase.expectedError)
+ }
+ assert.Len(t, filters, len(testCase.expectedFilterTypes))
+ for i, filter := range filters {
+ assert.IsType(t, testCase.expectedFilterTypes[i], filter)
+ }
+ })
+ }
+}
+
func TestHealthCheck(t *testing.T) {
ctx := utils.LeakCheckContext(t)
// reset error counters
@@ -1112,7 +1183,7 @@ func TestPrimaryInOtherCell(t *testing.T) {
ts := memorytopo.NewServer(ctx, "cell1", "cell2")
defer ts.Close()
- hc := NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, "cell1", "cell1, cell2")
+ hc := NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, "cell1", "cell1, cell2", nil)
defer hc.Close()
// add a tablet as primary in different cell
@@ -1172,7 +1243,7 @@ func TestReplicaInOtherCell(t *testing.T) {
ts := memorytopo.NewServer(ctx, "cell1", "cell2")
defer ts.Close()
- hc := NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, "cell1", "cell1, cell2")
+ hc := NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, "cell1", "cell1, cell2", nil)
defer hc.Close()
// add a tablet as replica
@@ -1277,7 +1348,7 @@ func TestCellAliases(t *testing.T) {
ts := memorytopo.NewServer(ctx, "cell1", "cell2")
defer ts.Close()
- hc := NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, "cell1", "cell1, cell2")
+ hc := NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, "cell1", "cell1, cell2", nil)
defer hc.Close()
cellsAlias := &topodatapb.CellsAlias{
@@ -1428,7 +1499,7 @@ func tabletDialer(ctx context.Context, tablet *topodatapb.Tablet, _ grpcclient.F
}
func createTestHc(ctx context.Context, ts *topo.Server) *HealthCheckImpl {
- return NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, "cell", "")
+ return NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, "cell", "", nil)
}
type fakeConn struct {
diff --git a/go/vt/discovery/keyspace_events.go b/go/vt/discovery/keyspace_events.go
index 9fa457c1589..3de31ea6d9a 100644
--- a/go/vt/discovery/keyspace_events.go
+++ b/go/vt/discovery/keyspace_events.go
@@ -19,7 +19,9 @@ package discovery
import (
"context"
"fmt"
+ "slices"
"sync"
+ "time"
"golang.org/x/sync/errgroup"
"google.golang.org/protobuf/proto"
@@ -37,6 +39,11 @@ import (
vschemapb "vitess.io/vitess/go/vt/proto/vschema"
)
+var (
+ // waitConsistentKeyspacesCheck is the amount of time to wait for between checks to verify the keyspace is consistent.
+ waitConsistentKeyspacesCheck = 100 * time.Millisecond
+)
+
// KeyspaceEventWatcher is an auxiliary watcher that watches all availability incidents
// for all keyspaces in a Vitess cell and notifies listeners when the events have been resolved.
// Right now this is capable of detecting the end of failovers, both planned and unplanned,
@@ -111,6 +118,13 @@ type keyspaceState struct {
moveTablesState *MoveTablesState
}
+// isConsistent returns whether the keyspace is currently consistent or not.
+func (kss *keyspaceState) isConsistent() bool {
+ kss.mu.Lock()
+ defer kss.mu.Unlock()
+ return kss.consistent
+}
+
// Format prints the internal state for this keyspace for debug purposes.
func (kss *keyspaceState) Format(f fmt.State, verb rune) {
kss.mu.Lock()
@@ -662,29 +676,53 @@ func (kew *KeyspaceEventWatcher) TargetIsBeingResharded(ctx context.Context, tar
return ks.beingResharded(target.Shard)
}
-// PrimaryIsNotServing checks if the reason why the given target is not accessible right now is
-// that the primary tablet for that shard is not serving. This is possible during a Planned
-// Reparent Shard operation. Just as the operation completes, a new primary will be elected, and
+// ShouldStartBufferingForTarget checks if we should be starting buffering for the given target.
+// We check the following things before we start buffering -
+// 1. The shard must have a primary.
+// 2. The primary must be non-serving.
+// 3. The keyspace must be marked inconsistent.
+//
+// This buffering is meant to kick in during a Planned Reparent Shard operation.
+// As part of that operation the old primary will become non-serving. At that point
+// this code should return true to start buffering requests.
+// Just as the PRS operation completes, a new primary will be elected, and
// it will send its own healthcheck stating that it is serving. We should buffer requests until
-// that point. There are use cases where people do not run with a Primary server at all, so we must
+// that point.
+//
+// There are use cases where people do not run with a Primary server at all, so we must
// verify that we only start buffering when a primary was present, and it went not serving.
// The shard state keeps track of the current primary and the last externally reparented time, which
// we can use to determine that there was a serving primary which now became non serving. This is
// only possible in a DemotePrimary RPC which are only called from ERS and PRS. So buffering will
-// stop when these operations succeed. We return the tablet alias of the primary if it is serving.
-func (kew *KeyspaceEventWatcher) PrimaryIsNotServing(ctx context.Context, target *querypb.Target) (*topodatapb.TabletAlias, bool) {
+// stop when these operations succeed. We also return the tablet alias of the primary if it is serving.
+func (kew *KeyspaceEventWatcher) ShouldStartBufferingForTarget(ctx context.Context, target *querypb.Target) (*topodatapb.TabletAlias, bool) {
if target.TabletType != topodatapb.TabletType_PRIMARY {
+ // We don't support buffering for any target tablet type other than the primary.
return nil, false
}
ks := kew.getKeyspaceStatus(ctx, target.Keyspace)
if ks == nil {
+ // If the keyspace status is nil, then the keyspace must be deleted.
+ // The user query is trying to access a keyspace that has been deleted.
+ // There is no reason to buffer this query.
return nil, false
}
ks.mu.Lock()
defer ks.mu.Unlock()
if state, ok := ks.shards[target.Shard]; ok {
- // If the primary tablet was present then externallyReparented will be non-zero and
- // currentPrimary will be not nil.
+ // As described in the function comment, we only want to start buffering when all the following conditions are met -
+ // 1. The shard must have a primary. We check this by checking the currentPrimary and externallyReparented fields being non-empty.
+ // They are set the first time the shard registers an update from a serving primary and are never cleared out after that.
+ // If the user has configured vtgates to wait for the primary tablet healthchecks before starting query service, this condition
+ // will always be true.
+ // 2. The primary must be non-serving. We check this by checking the serving field in the shard state.
+ // When a primary becomes non-serving, it also marks the keyspace inconsistent. So the next check is only added
+ // for being defensive against any bugs.
+ // 3. The keyspace must be marked inconsistent. We check this by checking the consistent field in the keyspace state.
+ //
+ // The reason we need all the three checks is that we want to be very defensive in when we start buffering.
+ // We don't want to start buffering when we don't know for sure if the primary
+ // is not serving and we will receive an update that stops buffering soon.
return state.currentPrimary, !state.serving && !ks.consistent && state.externallyReparented != 0 && state.currentPrimary != nil
}
return nil, false
@@ -703,3 +741,46 @@ func (kew *KeyspaceEventWatcher) GetServingKeyspaces() []string {
}
return servingKeyspaces
}
+
+// WaitForConsistentKeyspaces waits for the given set of keyspaces to be marked consistent.
+func (kew *KeyspaceEventWatcher) WaitForConsistentKeyspaces(ctx context.Context, ksList []string) error {
+ // We don't want to change the original keyspace list that we receive so we clone it
+ // before we empty it elements down below.
+ keyspaces := slices.Clone(ksList)
+ for {
+ // We empty keyspaces as we find them to be consistent.
+ allConsistent := true
+ for i, ks := range keyspaces {
+ if ks == "" {
+ continue
+ }
+
+ // Get the keyspace status and see it is consistent yet or not.
+ kss := kew.getKeyspaceStatus(ctx, ks)
+ // If kss is nil, then it must be deleted. In that case too it is fine for us to consider
+ // it consistent since the keyspace has been deleted.
+ if kss == nil || kss.isConsistent() {
+ keyspaces[i] = ""
+ } else {
+ allConsistent = false
+ }
+ }
+
+ if allConsistent {
+ // all the keyspaces are consistent.
+ return nil
+ }
+
+ // Unblock after the sleep or when the context has expired.
+ select {
+ case <-ctx.Done():
+ for _, ks := range keyspaces {
+ if ks != "" {
+ log.Infof("keyspace %v didn't become consistent", ks)
+ }
+ }
+ return ctx.Err()
+ case <-time.After(waitConsistentKeyspacesCheck):
+ }
+ }
+}
diff --git a/go/vt/discovery/keyspace_events_test.go b/go/vt/discovery/keyspace_events_test.go
index bcaf48b62a8..df5696841f7 100644
--- a/go/vt/discovery/keyspace_events_test.go
+++ b/go/vt/discovery/keyspace_events_test.go
@@ -43,7 +43,7 @@ func TestSrvKeyspaceWithNilNewKeyspace(t *testing.T) {
factory.AddCell(cell)
ts := faketopo.NewFakeTopoServer(ctx, factory)
ts2 := &fakeTopoServer{}
- hc := NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, cell, "")
+ hc := NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, cell, "", nil)
defer hc.Close()
kew := NewKeyspaceEventWatcher(ctx, ts2, hc, cell)
kss := &keyspaceState{
@@ -143,16 +143,16 @@ func TestKeyspaceEventTypes(t *testing.T) {
factory.AddCell(cell)
ts := faketopo.NewFakeTopoServer(ctx, factory)
ts2 := &fakeTopoServer{}
- hc := NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, cell, "")
+ hc := NewHealthCheck(ctx, 1*time.Millisecond, time.Hour, ts, cell, "", nil)
defer hc.Close()
kew := NewKeyspaceEventWatcher(ctx, ts2, hc, cell)
type testCase struct {
- name string
- kss *keyspaceState
- shardToCheck string
- expectResharding bool
- expectPrimaryNotServing bool
+ name string
+ kss *keyspaceState
+ shardToCheck string
+ expectResharding bool
+ expectShouldBuffer bool
}
testCases := []testCase{
@@ -189,9 +189,9 @@ func TestKeyspaceEventTypes(t *testing.T) {
},
consistent: false,
},
- shardToCheck: "-",
- expectResharding: true,
- expectPrimaryNotServing: false,
+ shardToCheck: "-",
+ expectResharding: true,
+ expectShouldBuffer: false,
},
{
name: "two to four resharding in progress",
@@ -250,9 +250,9 @@ func TestKeyspaceEventTypes(t *testing.T) {
},
consistent: false,
},
- shardToCheck: "-80",
- expectResharding: true,
- expectPrimaryNotServing: false,
+ shardToCheck: "-80",
+ expectResharding: true,
+ expectShouldBuffer: false,
},
{
name: "unsharded primary not serving",
@@ -276,9 +276,9 @@ func TestKeyspaceEventTypes(t *testing.T) {
},
consistent: false,
},
- shardToCheck: "-",
- expectResharding: false,
- expectPrimaryNotServing: true,
+ shardToCheck: "-",
+ expectResharding: false,
+ expectShouldBuffer: true,
},
{
name: "sharded primary not serving",
@@ -310,9 +310,9 @@ func TestKeyspaceEventTypes(t *testing.T) {
},
consistent: false,
},
- shardToCheck: "-80",
- expectResharding: false,
- expectPrimaryNotServing: true,
+ shardToCheck: "-80",
+ expectResharding: false,
+ expectShouldBuffer: true,
},
}
@@ -327,8 +327,89 @@ func TestKeyspaceEventTypes(t *testing.T) {
resharding := kew.TargetIsBeingResharded(ctx, tc.kss.shards[tc.shardToCheck].target)
require.Equal(t, resharding, tc.expectResharding, "TargetIsBeingResharded should return %t", tc.expectResharding)
- _, primaryDown := kew.PrimaryIsNotServing(ctx, tc.kss.shards[tc.shardToCheck].target)
- require.Equal(t, primaryDown, tc.expectPrimaryNotServing, "PrimaryIsNotServing should return %t", tc.expectPrimaryNotServing)
+ _, shouldBuffer := kew.ShouldStartBufferingForTarget(ctx, tc.kss.shards[tc.shardToCheck].target)
+ require.Equal(t, shouldBuffer, tc.expectShouldBuffer, "ShouldStartBufferingForTarget should return %t", tc.expectShouldBuffer)
+ })
+ }
+}
+
+// TestWaitForConsistentKeyspaces tests the behaviour of WaitForConsistent for different scenarios.
+func TestWaitForConsistentKeyspaces(t *testing.T) {
+ testcases := []struct {
+ name string
+ ksMap map[string]*keyspaceState
+ ksList []string
+ errExpected string
+ }{
+ {
+ name: "Empty keyspace list",
+ ksList: nil,
+ ksMap: map[string]*keyspaceState{
+ "ks1": {},
+ },
+ errExpected: "",
+ },
+ {
+ name: "All keyspaces consistent",
+ ksList: []string{"ks1", "ks2"},
+ ksMap: map[string]*keyspaceState{
+ "ks1": {
+ consistent: true,
+ },
+ "ks2": {
+ consistent: true,
+ },
+ },
+ errExpected: "",
+ },
+ {
+ name: "One keyspace inconsistent",
+ ksList: []string{"ks1", "ks2"},
+ ksMap: map[string]*keyspaceState{
+ "ks1": {
+ consistent: true,
+ },
+ "ks2": {
+ consistent: false,
+ },
+ },
+ errExpected: "context canceled",
+ },
+ {
+ name: "One deleted keyspace - consistent",
+ ksList: []string{"ks1", "ks2"},
+ ksMap: map[string]*keyspaceState{
+ "ks1": {
+ consistent: true,
+ },
+ "ks2": {
+ deleted: true,
+ },
+ },
+ errExpected: "",
+ },
+ }
+
+ for _, tt := range testcases {
+ t.Run(tt.name, func(t *testing.T) {
+ // We create a cancelable context and immediately cancel it.
+ // We don't want the unit tests to wait, so we only test the first
+ // iteration of whether the keyspace event watcher returns
+ // that the keyspaces are consistent or not.
+ ctx, cancel := context.WithCancel(context.Background())
+ cancel()
+ kew := KeyspaceEventWatcher{
+ keyspaces: tt.ksMap,
+ mu: sync.Mutex{},
+ ts: &fakeTopoServer{},
+ }
+ err := kew.WaitForConsistentKeyspaces(ctx, tt.ksList)
+ if tt.errExpected != "" {
+ require.ErrorContains(t, err, tt.errExpected)
+ } else {
+ require.NoError(t, err)
+ }
+
})
}
}
diff --git a/go/vt/discovery/tablet_picker.go b/go/vt/discovery/tablet_picker.go
index fd1ff64a3ce..c48905be948 100644
--- a/go/vt/discovery/tablet_picker.go
+++ b/go/vt/discovery/tablet_picker.go
@@ -18,7 +18,6 @@ package discovery
import (
"context"
- "fmt"
"io"
"math/rand/v2"
"sort"
@@ -181,7 +180,7 @@ func NewTabletPicker(
}
if len(missingFields) > 0 {
return nil, vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION,
- fmt.Sprintf("Missing required field(s) for tablet picker: %s", strings.Join(missingFields, ", ")))
+ "Missing required field(s) for tablet picker: %s", strings.Join(missingFields, ", "))
}
// Resolve tablet picker options
diff --git a/go/vt/discovery/topology_watcher_test.go b/go/vt/discovery/topology_watcher_test.go
index ad45ef92ebe..4c8f81c6a3e 100644
--- a/go/vt/discovery/topology_watcher_test.go
+++ b/go/vt/discovery/topology_watcher_test.go
@@ -122,10 +122,11 @@ func checkWatcher(t *testing.T, refreshKnownTablets bool) {
defer ts.Close()
fhc := NewFakeHealthCheck(nil)
defer fhc.Close()
+ filter := NewFilterByKeyspace([]string{"keyspace"})
logger := logutil.NewMemoryLogger()
topologyWatcherOperations.ZeroAll()
counts := topologyWatcherOperations.Counts()
- tw := NewTopologyWatcher(context.Background(), ts, fhc, nil, "aa", 10*time.Minute, refreshKnownTablets, 5)
+ tw := NewTopologyWatcher(context.Background(), ts, fhc, filter, "aa", 10*time.Minute, refreshKnownTablets, 5)
counts = checkOpCounts(t, counts, map[string]int64{})
checkChecksum(t, tw, 0)
@@ -172,10 +173,31 @@ func checkWatcher(t *testing.T, refreshKnownTablets bool) {
require.NoError(t, ts.CreateTablet(context.Background(), tablet2), "CreateTablet failed for %v", tablet2.Alias)
tw.loadTablets()
+ // Confirm second tablet triggers ListTablets + AddTablet calls.
counts = checkOpCounts(t, counts, map[string]int64{"ListTablets": 1, "GetTablet": 0, "AddTablet": 1})
checkChecksum(t, tw, 2762153755)
- // Check the new tablet is returned by GetAllTablets().
+ // Add a third tablet in a filtered keyspace to the topology.
+ tablet3 := &topodatapb.Tablet{
+ Alias: &topodatapb.TabletAlias{
+ Cell: "aa",
+ Uid: 3,
+ },
+ Hostname: "host3",
+ PortMap: map[string]int32{
+ "vt": 789,
+ },
+ Keyspace: "excluded",
+ Shard: "shard",
+ }
+ require.NoError(t, ts.CreateTablet(context.Background(), tablet3), "CreateTablet failed for %v", tablet3.Alias)
+ tw.loadTablets()
+
+ // Confirm filtered tablet did not trigger an AddTablet call.
+ counts = checkOpCounts(t, counts, map[string]int64{"ListTablets": 1, "GetTablet": 0, "AddTablet": 0})
+ checkChecksum(t, tw, 3177315266)
+
+ // Check the second tablet is returned by GetAllTablets(). This should not contain the filtered tablet.
allTablets = fhc.GetAllTablets()
key = TabletToMapKey(tablet2)
assert.Len(t, allTablets, 2)
@@ -207,14 +229,14 @@ func checkWatcher(t *testing.T, refreshKnownTablets bool) {
assert.Contains(t, allTablets, key)
assert.True(t, proto.Equal(tablet, allTablets[key]))
assert.NotContains(t, allTablets, origKey)
- checkChecksum(t, tw, 2762153755)
+ checkChecksum(t, tw, 3177315266)
} else {
counts = checkOpCounts(t, counts, map[string]int64{"ListTablets": 1, "GetTablet": 0, "ReplaceTablet": 0})
assert.Len(t, allTablets, 2)
assert.Contains(t, allTablets, origKey)
assert.True(t, proto.Equal(origTablet, allTablets[origKey]))
assert.NotContains(t, allTablets, key)
- checkChecksum(t, tw, 2762153755)
+ checkChecksum(t, tw, 3177315266)
}
// Both tablets restart on different hosts.
@@ -269,7 +291,7 @@ func checkWatcher(t *testing.T, refreshKnownTablets bool) {
require.Nil(t, err, "FixShardReplication failed")
tw.loadTablets()
counts = checkOpCounts(t, counts, map[string]int64{"ListTablets": 1, "GetTablet": 0, "RemoveTablet": 1})
- checkChecksum(t, tw, 789108290)
+ checkChecksum(t, tw, 852159264)
allTablets = fhc.GetAllTablets()
assert.Len(t, allTablets, 1)
@@ -280,8 +302,10 @@ func checkWatcher(t *testing.T, refreshKnownTablets bool) {
assert.Contains(t, allTablets, key)
assert.True(t, proto.Equal(tablet2, allTablets[key]))
- // Remove the other and check that it is detected as being gone.
+ // Remove the other tablets and check that it is detected as being gone.
+ // Deleting the filtered tablet should not trigger a RemoveTablet call.
require.NoError(t, ts.DeleteTablet(context.Background(), tablet2.Alias))
+ require.NoError(t, ts.DeleteTablet(context.Background(), tablet3.Alias))
_, err = topo.FixShardReplication(context.Background(), ts, logger, "aa", "keyspace", "shard")
require.Nil(t, err, "FixShardReplication failed")
tw.loadTablets()
diff --git a/go/vt/logutil/throttled.go b/go/vt/logutil/throttled.go
index 4ee11912e71..fa63be328bc 100644
--- a/go/vt/logutil/throttled.go
+++ b/go/vt/logutil/throttled.go
@@ -54,6 +54,11 @@ var (
errorDepth = log.ErrorDepth
)
+// GetLastLogTime gets the last log time for the throttled logger.
+func (tl *ThrottledLogger) GetLastLogTime() time.Time {
+ return tl.lastlogTime
+}
+
func (tl *ThrottledLogger) log(logF logFunc, format string, v ...any) {
now := time.Now()
diff --git a/go/vt/mysqlctl/backup.go b/go/vt/mysqlctl/backup.go
index 7052dcbdf87..4a89add9c9e 100644
--- a/go/vt/mysqlctl/backup.go
+++ b/go/vt/mysqlctl/backup.go
@@ -17,9 +17,11 @@ limitations under the License.
package mysqlctl
import (
+ "bufio"
"context"
"errors"
"fmt"
+ "io"
"os"
"path/filepath"
"strings"
@@ -29,6 +31,7 @@ import (
"vitess.io/vitess/go/textutil"
"vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/logutil"
"vitess.io/vitess/go/vt/mysqlctl/backupstats"
"vitess.io/vitess/go/vt/mysqlctl/backupstorage"
"vitess.io/vitess/go/vt/proto/vtrpc"
@@ -444,17 +447,19 @@ func Restore(ctx context.Context, params RestoreParams) (*BackupManifest, error)
return nil, err
}
- // mysqld needs to be running in order for mysql_upgrade to work.
- // If we've just restored from a backup from previous MySQL version then mysqld
- // may fail to start due to a different structure of mysql.* tables. The flag
- // --skip-grant-tables ensures that these tables are not read until mysql_upgrade
- // is executed. And since with --skip-grant-tables anyone can connect to MySQL
- // without password, we are passing --skip-networking to greatly reduce the set
- // of those who can connect.
- params.Logger.Infof("Restore: starting mysqld for mysql_upgrade")
- // Note Start will use dba user for waiting, this is fine, it will be allowed.
- if err := params.Mysqld.Start(context.Background(), params.Cnf, "--skip-grant-tables", "--skip-networking"); err != nil {
- return nil, err
+ if re.ShouldStartMySQLAfterRestore() { // all engines except mysqlshell since MySQL is always running there
+ // mysqld needs to be running in order for mysql_upgrade to work.
+ // If we've just restored from a backup from previous MySQL version then mysqld
+ // may fail to start due to a different structure of mysql.* tables. The flag
+ // --skip-grant-tables ensures that these tables are not read until mysql_upgrade
+ // is executed. And since with --skip-grant-tables anyone can connect to MySQL
+ // without password, we are passing --skip-networking to greatly reduce the set
+ // of those who can connect.
+ params.Logger.Infof("Restore: starting mysqld for mysql_upgrade")
+ // Note Start will use dba user for waiting, this is fine, it will be allowed.
+ if err := params.Mysqld.Start(context.Background(), params.Cnf, "--skip-grant-tables", "--skip-networking"); err != nil {
+ return nil, err
+ }
}
params.Logger.Infof("Restore: running mysql_upgrade")
@@ -500,3 +505,20 @@ func Restore(ctx context.Context, params RestoreParams) (*BackupManifest, error)
params.Logger.Infof("Restore: complete")
return manifest, nil
}
+
+// scanLinesToLogger scans full lines from the given Reader and sends them to
+// the given Logger until EOF.
+func scanLinesToLogger(prefix string, reader io.Reader, logger logutil.Logger, doneFunc func()) {
+ defer doneFunc()
+
+ scanner := bufio.NewScanner(reader)
+ for scanner.Scan() {
+ line := scanner.Text()
+ logger.Infof("%s: %s", prefix, line)
+ }
+ if err := scanner.Err(); err != nil {
+ // This is usually run in a background goroutine, so there's no point
+ // returning an error. Just log it.
+ logger.Warningf("error scanning lines from %s: %v", prefix, err)
+ }
+}
diff --git a/go/vt/mysqlctl/backup_test.go b/go/vt/mysqlctl/backup_test.go
index d1d6a73b7bd..86b34fbbf99 100644
--- a/go/vt/mysqlctl/backup_test.go
+++ b/go/vt/mysqlctl/backup_test.go
@@ -26,19 +26,18 @@ import (
"path"
"reflect"
"sort"
+ "sync"
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
- "vitess.io/vitess/go/sqltypes"
- "vitess.io/vitess/go/test/utils"
-
- "vitess.io/vitess/go/mysql/replication"
-
"vitess.io/vitess/go/mysql"
"vitess.io/vitess/go/mysql/fakesqldb"
+ "vitess.io/vitess/go/mysql/replication"
+ "vitess.io/vitess/go/sqltypes"
+ "vitess.io/vitess/go/test/utils"
"vitess.io/vitess/go/vt/logutil"
"vitess.io/vitess/go/vt/mysqlctl/backupstats"
"vitess.io/vitess/go/vt/mysqlctl/backupstorage"
@@ -714,3 +713,26 @@ func TestShouldRestore(t *testing.T) {
assert.False(t, b)
assert.NoError(t, err)
}
+
+func TestScanLinesToLogger(t *testing.T) {
+ reader, writer := io.Pipe()
+ logger := logutil.NewMemoryLogger()
+ var wg sync.WaitGroup
+
+ wg.Add(1)
+ go scanLinesToLogger("test", reader, logger, wg.Done)
+
+ for i := range 100 {
+ _, err := writer.Write([]byte(fmt.Sprintf("foobar %d\n", i)))
+ require.NoError(t, err)
+ }
+
+ writer.Close()
+ wg.Wait()
+
+ require.Equal(t, 100, len(logger.Events))
+
+ for i, event := range logger.Events {
+ require.Equal(t, fmt.Sprintf("test: foobar %d", i), event.Value)
+ }
+}
diff --git a/go/vt/mysqlctl/backupengine.go b/go/vt/mysqlctl/backupengine.go
index c483aff3d78..1401c7e2f84 100644
--- a/go/vt/mysqlctl/backupengine.go
+++ b/go/vt/mysqlctl/backupengine.go
@@ -179,6 +179,7 @@ func (p *RestoreParams) IsIncrementalRecovery() bool {
// Returns the manifest of a backup if successful, otherwise returns an error
type RestoreEngine interface {
ExecuteRestore(ctx context.Context, params RestoreParams, bh backupstorage.BackupHandle) (*BackupManifest, error)
+ ShouldStartMySQLAfterRestore() bool
}
// BackupRestoreEngine is a combination of BackupEngine and RestoreEngine.
diff --git a/go/vt/mysqlctl/builtinbackupengine.go b/go/vt/mysqlctl/builtinbackupengine.go
index 494d765f2a9..9876de36098 100644
--- a/go/vt/mysqlctl/builtinbackupengine.go
+++ b/go/vt/mysqlctl/builtinbackupengine.go
@@ -1185,6 +1185,11 @@ func (be *BuiltinBackupEngine) ShouldDrainForBackup(req *tabletmanagerdatapb.Bac
return true
}
+// ShouldStartMySQLAfterRestore signifies if this backup engine needs to restart MySQL once the restore is completed.
+func (be *BuiltinBackupEngine) ShouldStartMySQLAfterRestore() bool {
+ return true
+}
+
func getPrimaryPosition(ctx context.Context, tmc tmclient.TabletManagerClient, ts *topo.Server, keyspace, shard string) (replication.Position, error) {
si, err := ts.GetShard(ctx, keyspace, shard)
if err != nil {
diff --git a/go/vt/mysqlctl/fakebackupengine.go b/go/vt/mysqlctl/fakebackupengine.go
index d78282e6aff..180922347e1 100644
--- a/go/vt/mysqlctl/fakebackupengine.go
+++ b/go/vt/mysqlctl/fakebackupengine.go
@@ -91,3 +91,7 @@ func (be *FakeBackupEngine) ShouldDrainForBackup(req *tabletmanagerdatapb.Backup
be.ShouldDrainForBackupCalls = be.ShouldDrainForBackupCalls + 1
return be.ShouldDrainForBackupReturn
}
+
+func (be *FakeBackupEngine) ShouldStartMySQLAfterRestore() bool {
+ return true
+}
diff --git a/go/vt/mysqlctl/fakemysqldaemon.go b/go/vt/mysqlctl/fakemysqldaemon.go
index 7cdca498ded..b9175a32779 100644
--- a/go/vt/mysqlctl/fakemysqldaemon.go
+++ b/go/vt/mysqlctl/fakemysqldaemon.go
@@ -18,6 +18,7 @@ package mysqlctl
import (
"context"
+ "errors"
"fmt"
"reflect"
"regexp"
@@ -545,6 +546,11 @@ func (fmd *FakeMysqlDaemon) Promote(ctx context.Context, hookExtraEnv map[string
return fmd.PromoteResult, nil
}
+// ExecuteSuperQuery is part of the MysqlDaemon interface
+func (fmd *FakeMysqlDaemon) ExecuteSuperQuery(ctx context.Context, query string) error {
+ return fmd.ExecuteSuperQueryList(ctx, []string{query})
+}
+
// ExecuteSuperQueryList is part of the MysqlDaemon interface
func (fmd *FakeMysqlDaemon) ExecuteSuperQueryList(ctx context.Context, queryList []string) error {
for _, query := range queryList {
@@ -737,3 +743,13 @@ func (fmd *FakeMysqlDaemon) GetVersionString(ctx context.Context) (string, error
func (fmd *FakeMysqlDaemon) GetVersionComment(ctx context.Context) (string, error) {
return "", nil
}
+
+// AcquireGlobalReadLock is part of the MysqlDaemon interface.
+func (fmd *FakeMysqlDaemon) AcquireGlobalReadLock(ctx context.Context) error {
+ return errors.New("not implemented")
+}
+
+// ReleaseGlobalReadLock is part of the MysqlDaemon interface.
+func (fmd *FakeMysqlDaemon) ReleaseGlobalReadLock(ctx context.Context) error {
+ return errors.New("not implemented")
+}
diff --git a/go/vt/mysqlctl/mysql_daemon.go b/go/vt/mysqlctl/mysql_daemon.go
index 6c7df04786c..051a8660025 100644
--- a/go/vt/mysqlctl/mysql_daemon.go
+++ b/go/vt/mysqlctl/mysql_daemon.go
@@ -119,12 +119,22 @@ type MysqlDaemon interface {
// GetVersionComment returns the version comment
GetVersionComment(ctx context.Context) (string, error)
+ // ExecuteSuperQuery executes a single query, no result
+ ExecuteSuperQuery(ctx context.Context, query string) error
+
// ExecuteSuperQueryList executes a list of queries, no result
ExecuteSuperQueryList(ctx context.Context, queryList []string) error
// FetchSuperQuery executes one query, returns the result
FetchSuperQuery(ctx context.Context, query string) (*sqltypes.Result, error)
+ // AcquireGlobalReadLock acquires a global read lock and keeps the connection so
+ // as to release it with the function below.
+ AcquireGlobalReadLock(ctx context.Context) error
+
+ // ReleaseGlobalReadLock release a lock acquired with the connection from the above function.
+ ReleaseGlobalReadLock(ctx context.Context) error
+
// Close will close this instance of Mysqld. It will wait for all dba
// queries to be finished.
Close()
diff --git a/go/vt/mysqlctl/mysqld.go b/go/vt/mysqlctl/mysqld.go
index 952c0987c82..a228459c49d 100644
--- a/go/vt/mysqlctl/mysqld.go
+++ b/go/vt/mysqlctl/mysqld.go
@@ -108,9 +108,10 @@ var (
// Mysqld is the object that represents a mysqld daemon running on this server.
type Mysqld struct {
- dbcfgs *dbconfigs.DBConfigs
- dbaPool *dbconnpool.ConnectionPool
- appPool *dbconnpool.ConnectionPool
+ dbcfgs *dbconfigs.DBConfigs
+ dbaPool *dbconnpool.ConnectionPool
+ appPool *dbconnpool.ConnectionPool
+ lockConn *dbconnpool.PooledDBConnection
capabilities capabilitySet
diff --git a/go/vt/mysqlctl/mysqlshellbackupengine.go b/go/vt/mysqlctl/mysqlshellbackupengine.go
new file mode 100644
index 00000000000..38dccc8c622
--- /dev/null
+++ b/go/vt/mysqlctl/mysqlshellbackupengine.go
@@ -0,0 +1,582 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package mysqlctl
+
+import (
+ "bufio"
+ "context"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "io"
+ "os"
+ "os/exec"
+ "path"
+ "slices"
+ "strings"
+ "sync"
+ "time"
+
+ "github.com/spf13/pflag"
+
+ "vitess.io/vitess/go/mysql"
+ "vitess.io/vitess/go/mysql/capabilities"
+ "vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/mysqlctl/backupstorage"
+ tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
+ "vitess.io/vitess/go/vt/servenv"
+ "vitess.io/vitess/go/vt/vterrors"
+)
+
+var (
+ // location to store the mysql shell backup
+ mysqlShellBackupLocation = ""
+ // flags passed to the mysql shell utility, used both on dump/restore
+ mysqlShellFlags = "--defaults-file=/dev/null --js -h localhost"
+ // flags passed to the Dump command, as a JSON string
+ mysqlShellDumpFlags = `{"threads": 4}`
+ // flags passed to the Load command, as a JSON string
+ mysqlShellLoadFlags = `{"threads": 4, "loadUsers": true, "updateGtidSet": "replace", "skipBinlog": true, "progressFile": ""}`
+ // drain a tablet when taking a backup
+ mysqlShellBackupShouldDrain = false
+ // disable redo logging and double write buffer
+ mysqlShellSpeedUpRestore = false
+
+ // use when checking if we need to create the directory on the local filesystem or not.
+ knownObjectStoreParams = []string{"s3BucketName", "osBucketName", "azureContainerName"}
+
+ MySQLShellPreCheckError = errors.New("MySQLShellPreCheckError")
+
+ // internal databases not backed up by MySQL Shell
+ internalDBs = []string{
+ "information_schema", "mysql", "ndbinfo", "performance_schema", "sys",
+ }
+ // reserved MySQL users https://dev.mysql.com/doc/refman/8.0/en/reserved-accounts.html
+ reservedUsers = []string{
+ "mysql.sys@localhost", "mysql.session@localhost", "mysql.infoschema@localhost",
+ }
+)
+
+// MySQLShellBackupManifest represents a backup.
+type MySQLShellBackupManifest struct {
+ // BackupManifest is an anonymous embedding of the base manifest struct.
+ // Note that the manifest itself doesn't fill the Position field, as we have
+ // no way of fetching that information from mysqlsh at the moment.
+ BackupManifest
+
+ // Location of the backup directory
+ BackupLocation string
+ // Params are the parameters that backup was created with
+ Params string
+}
+
+func init() {
+ BackupRestoreEngineMap[mysqlShellBackupEngineName] = &MySQLShellBackupEngine{}
+
+ for _, cmd := range []string{"vtcombo", "vttablet", "vtbackup", "vttestserver", "vtctldclient"} {
+ servenv.OnParseFor(cmd, registerMysqlShellBackupEngineFlags)
+ }
+}
+
+func registerMysqlShellBackupEngineFlags(fs *pflag.FlagSet) {
+ fs.StringVar(&mysqlShellBackupLocation, "mysql-shell-backup-location", mysqlShellBackupLocation, "location where the backup will be stored")
+ fs.StringVar(&mysqlShellFlags, "mysql-shell-flags", mysqlShellFlags, "execution flags to pass to mysqlsh binary to be used during dump/load")
+ fs.StringVar(&mysqlShellDumpFlags, "mysql-shell-dump-flags", mysqlShellDumpFlags, "flags to pass to mysql shell dump utility. This should be a JSON string and will be saved in the MANIFEST")
+ fs.StringVar(&mysqlShellLoadFlags, "mysql-shell-load-flags", mysqlShellLoadFlags, "flags to pass to mysql shell load utility. This should be a JSON string")
+ fs.BoolVar(&mysqlShellBackupShouldDrain, "mysql-shell-should-drain", mysqlShellBackupShouldDrain, "decide if we should drain while taking a backup or continue to serving traffic")
+ fs.BoolVar(&mysqlShellSpeedUpRestore, "mysql-shell-speedup-restore", mysqlShellSpeedUpRestore, "speed up restore by disabling redo logging and double write buffer during the restore process")
+}
+
+// MySQLShellBackupEngine encapsulates the logic to implement the restoration
+// of a mysql-shell based backup.
+type MySQLShellBackupEngine struct {
+}
+
+const (
+ mysqlShellBackupBinaryName = "mysqlsh"
+ mysqlShellBackupEngineName = "mysqlshell"
+)
+
+func (be *MySQLShellBackupEngine) ExecuteBackup(ctx context.Context, params BackupParams, bh backupstorage.BackupHandle) (result BackupResult, finalErr error) {
+ params.Logger.Infof("Starting ExecuteBackup in %s", params.TabletAlias)
+
+ location := path.Join(mysqlShellBackupLocation, bh.Directory(), bh.Name())
+
+ err := be.backupPreCheck(location)
+ if err != nil {
+ return BackupUnusable, vterrors.Wrap(err, "failed backup precheck")
+ }
+
+ serverUUID, err := params.Mysqld.GetServerUUID(ctx)
+ if err != nil {
+ return BackupUnusable, vterrors.Wrap(err, "can't get server uuid")
+ }
+
+ mysqlVersion, err := params.Mysqld.GetVersionString(ctx)
+ if err != nil {
+ return BackupUnusable, vterrors.Wrap(err, "can't get MySQL version")
+ }
+
+ args := []string{}
+ if mysqlShellFlags != "" {
+ args = append(args, strings.Fields(mysqlShellFlags)...)
+ }
+
+ args = append(args, "-e", fmt.Sprintf("util.dumpInstance(%q, %s)",
+ location,
+ mysqlShellDumpFlags,
+ ))
+
+ // to be able to get the consistent GTID sets, we will acquire a global read lock before starting mysql shell.
+ // oncce we have the lock, we start it and wait unti it has acquired and release its global read lock, which
+ // should guarantee that both use and mysql shell are seeing the same executed GTID sets.
+ // after this we release the lock so that replication can continue. this usually should take just a few seconds.
+ params.Logger.Infof("acquiring a global read lock before fetching the executed GTID sets")
+ err = params.Mysqld.AcquireGlobalReadLock(ctx)
+ if err != nil {
+ return BackupUnusable, vterrors.Wrap(err, "failed to acquire read lock to start backup")
+ }
+ lockAcquired := time.Now() // we will report how long we hold the lock for
+
+ posBeforeBackup, err := params.Mysqld.PrimaryPosition(ctx)
+ if err != nil {
+ return BackupUnusable, vterrors.Wrap(err, "failed to fetch position")
+ }
+
+ cmd := exec.CommandContext(ctx, mysqlShellBackupBinaryName, args...)
+
+ params.Logger.Infof("running %s", cmd.String())
+
+ cmdOut, err := cmd.StdoutPipe()
+ if err != nil {
+ return BackupUnusable, vterrors.Wrap(err, "cannot create stdout pipe")
+ }
+ cmdOriginalErr, err := cmd.StderrPipe()
+ if err != nil {
+ return BackupUnusable, vterrors.Wrap(err, "cannot create stderr pipe")
+ }
+ if err := cmd.Start(); err != nil {
+ return BackupUnusable, vterrors.Wrap(err, "can't start mysqlshell")
+ }
+
+ pipeReader, pipeWriter := io.Pipe()
+ cmdErr := io.TeeReader(cmdOriginalErr, pipeWriter)
+
+ cmdWg := &sync.WaitGroup{}
+ cmdWg.Add(3)
+ go releaseReadLock(ctx, pipeReader, params, cmdWg, lockAcquired)
+ go scanLinesToLogger(mysqlShellBackupEngineName+" stdout", cmdOut, params.Logger, cmdWg.Done)
+ go scanLinesToLogger(mysqlShellBackupEngineName+" stderr", cmdErr, params.Logger, cmdWg.Done)
+
+ // Get exit status.
+ if err := cmd.Wait(); err != nil {
+ return BackupUnusable, vterrors.Wrap(err, mysqlShellBackupEngineName+" failed")
+ }
+
+ // close the pipeWriter and wait for the goroutines to have read all the logs
+ pipeWriter.Close()
+ cmdWg.Wait()
+
+ // open the MANIFEST
+ params.Logger.Infof("Writing backup MANIFEST")
+ mwc, err := bh.AddFile(ctx, backupManifestFileName, backupstorage.FileSizeUnknown)
+ if err != nil {
+ return BackupUnusable, vterrors.Wrapf(err, "cannot add %v to backup", backupManifestFileName)
+ }
+ defer closeFile(mwc, backupManifestFileName, params.Logger, &finalErr)
+
+ // JSON-encode and write the MANIFEST
+ bm := &MySQLShellBackupManifest{
+ // Common base fields
+ BackupManifest: BackupManifest{
+ BackupMethod: mysqlShellBackupEngineName,
+ // the position is empty here because we have no way of capturing it from mysqlsh
+ // we will capture it when doing the restore as mysqlsh can replace the GTIDs with
+ // what it has stored in the backup.
+ Position: posBeforeBackup,
+ PurgedPosition: posBeforeBackup,
+ BackupTime: FormatRFC3339(params.BackupTime.UTC()),
+ FinishedTime: FormatRFC3339(time.Now().UTC()),
+ ServerUUID: serverUUID,
+ TabletAlias: params.TabletAlias,
+ Keyspace: params.Keyspace,
+ Shard: params.Shard,
+ MySQLVersion: mysqlVersion,
+ UpgradeSafe: true,
+ },
+
+ // mysql shell backup specific fields
+ BackupLocation: location,
+ Params: mysqlShellLoadFlags,
+ }
+
+ data, err := json.MarshalIndent(bm, "", " ")
+ if err != nil {
+ return BackupUnusable, vterrors.Wrapf(err, "cannot JSON encode %v", backupManifestFileName)
+ }
+ if _, err := mwc.Write([]byte(data)); err != nil {
+ return BackupUnusable, vterrors.Wrapf(err, "cannot write %v", backupManifestFileName)
+ }
+
+ params.Logger.Infof("Backup completed")
+ return BackupUsable, nil
+}
+
+func (be *MySQLShellBackupEngine) ExecuteRestore(ctx context.Context, params RestoreParams, bh backupstorage.BackupHandle) (*BackupManifest, error) {
+ params.Logger.Infof("Calling ExecuteRestore for %s (DeleteBeforeRestore: %v)", params.DbName, params.DeleteBeforeRestore)
+
+ shouldDeleteUsers, err := be.restorePreCheck(ctx, params)
+ if err != nil {
+ return nil, vterrors.Wrap(err, "failed restore precheck")
+ }
+
+ var bm MySQLShellBackupManifest
+ if err := getBackupManifestInto(ctx, bh, &bm); err != nil {
+ return nil, err
+ }
+
+ // mark restore as in progress
+ if err := createStateFile(params.Cnf); err != nil {
+ return nil, err
+ }
+
+ // make sure semi-sync is disabled, otherwise we will wait forever for acknowledgements
+ err = params.Mysqld.SetSemiSyncEnabled(ctx, false, false)
+ if err != nil {
+ return nil, vterrors.Wrap(err, "disable semi-sync failed")
+ }
+
+ params.Logger.Infof("restoring on an existing tablet, so dropping database %q", params.DbName)
+
+ readonly, err := params.Mysqld.IsSuperReadOnly(ctx)
+ if err != nil {
+ return nil, vterrors.Wrap(err, fmt.Sprintf("checking if mysqld has super_read_only=enable: %v", err))
+ }
+
+ if readonly {
+ resetFunc, err := params.Mysqld.SetSuperReadOnly(ctx, false)
+ if err != nil {
+ return nil, vterrors.Wrap(err, fmt.Sprintf("unable to disable super-read-only: %v", err))
+ }
+
+ defer func() {
+ err := resetFunc()
+ if err != nil {
+ params.Logger.Errorf("Not able to set super_read_only to its original value after restore")
+ }
+ }()
+ }
+
+ err = cleanupMySQL(ctx, params, shouldDeleteUsers)
+ if err != nil {
+ log.Errorf(err.Error())
+ // time.Sleep(time.Minute * 2)
+ return nil, vterrors.Wrap(err, "error cleaning MySQL")
+ }
+
+ // we need to get rid of all the current replication information on the host.
+ err = params.Mysqld.ResetReplication(ctx)
+ if err != nil {
+ return nil, vterrors.Wrap(err, "unable to reset replication")
+ }
+
+ // this is required so we can load the backup generated by MySQL Shell. we will disable it afterwards.
+ err = params.Mysqld.ExecuteSuperQuery(ctx, "SET GLOBAL LOCAL_INFILE=1")
+ if err != nil {
+ return nil, vterrors.Wrap(err, "unable to set local_infile=1")
+ }
+
+ if mysqlShellSpeedUpRestore {
+ // disable redo logging and double write buffer if we are configured to do so.
+ err = params.Mysqld.ExecuteSuperQuery(ctx, "ALTER INSTANCE DISABLE INNODB REDO_LOG")
+ if err != nil {
+ return nil, vterrors.Wrap(err, "unable to disable REDO_LOG")
+ }
+ params.Logger.Infof("Disabled REDO_LOG")
+
+ defer func() { // re-enable once we are done with the restore.
+ err := params.Mysqld.ExecuteSuperQuery(ctx, "ALTER INSTANCE ENABLE INNODB REDO_LOG")
+ if err != nil {
+ params.Logger.Errorf("unable to re-enable REDO_LOG: %v", err)
+ } else {
+ params.Logger.Infof("Disabled REDO_LOG")
+ }
+ }()
+ }
+
+ // we need to disable SuperReadOnly otherwise we won't be able to restore the backup properly.
+ // once the backups is complete, we will restore it to its previous state.
+ resetFunc, err := be.handleSuperReadOnly(ctx, params)
+ if err != nil {
+ return nil, vterrors.Wrap(err, "unable to disable super-read-only")
+ }
+ defer resetFunc()
+
+ args := []string{}
+
+ if mysqlShellFlags != "" {
+ args = append(args, strings.Fields(mysqlShellFlags)...)
+ }
+
+ args = append(args, "-e", fmt.Sprintf("util.loadDump(%q, %s)",
+ bm.BackupLocation,
+ mysqlShellLoadFlags,
+ ))
+
+ cmd := exec.CommandContext(ctx, "mysqlsh", args...)
+
+ params.Logger.Infof("running %s", cmd.String())
+
+ cmdOut, err := cmd.StdoutPipe()
+ if err != nil {
+ return nil, vterrors.Wrap(err, "cannot create stdout pipe")
+ }
+ cmdErr, err := cmd.StderrPipe()
+ if err != nil {
+ return nil, vterrors.Wrap(err, "cannot create stderr pipe")
+ }
+ if err := cmd.Start(); err != nil {
+ return nil, vterrors.Wrap(err, "can't start xbstream")
+ }
+
+ cmdWg := &sync.WaitGroup{}
+ cmdWg.Add(2)
+ go scanLinesToLogger(mysqlShellBackupEngineName+" stdout", cmdOut, params.Logger, cmdWg.Done)
+ go scanLinesToLogger(mysqlShellBackupEngineName+" stderr", cmdErr, params.Logger, cmdWg.Done)
+ cmdWg.Wait()
+
+ // Get the exit status.
+ if err := cmd.Wait(); err != nil {
+ return nil, vterrors.Wrap(err, mysqlShellBackupEngineName+" failed")
+ }
+ params.Logger.Infof("%s completed successfully", mysqlShellBackupBinaryName)
+
+ // disable local_infile now that the restore is done.
+ err = params.Mysqld.ExecuteSuperQuery(ctx, "SET GLOBAL LOCAL_INFILE=0")
+ if err != nil {
+ return nil, vterrors.Wrap(err, "unable to set local_infile=0")
+ }
+ params.Logger.Infof("set local_infile=0")
+
+ params.Logger.Infof("Restore completed")
+
+ return &bm.BackupManifest, nil
+}
+
+// ShouldDrainForBackup satisfies the BackupEngine interface
+// MySQL Shell backups can be taken while MySQL is running so we can control this via a flag.
+func (be *MySQLShellBackupEngine) ShouldDrainForBackup(req *tabletmanagerdatapb.BackupRequest) bool {
+ return mysqlShellBackupShouldDrain
+}
+
+// ShouldStartMySQLAfterRestore signifies if this backup engine needs to restart MySQL once the restore is completed.
+// Since MySQL Shell operates on a live MySQL instance, there is no need to start it once the restore is completed
+func (be *MySQLShellBackupEngine) ShouldStartMySQLAfterRestore() bool {
+ return false
+}
+
+func (be *MySQLShellBackupEngine) backupPreCheck(location string) error {
+ if mysqlShellBackupLocation == "" {
+ return fmt.Errorf("%w: no backup location set via --mysql-shell-backup-location", MySQLShellPreCheckError)
+ }
+
+ if mysqlShellFlags == "" || !strings.Contains(mysqlShellFlags, "--js") {
+ return fmt.Errorf("%w: at least the --js flag is required in the value of the flag --mysql-shell-flags", MySQLShellPreCheckError)
+ }
+
+ // make sure the targe directory exists if the target location for the backup is not an object store
+ // (e.g. is the local filesystem) as MySQL Shell doesn't create the entire path beforehand:
+ isObjectStorage := false
+ for _, objStore := range knownObjectStoreParams {
+ if strings.Contains(mysqlShellDumpFlags, objStore) {
+ isObjectStorage = true
+ break
+ }
+ }
+
+ if !isObjectStorage {
+ err := os.MkdirAll(location, 0o750)
+ if err != nil {
+ return fmt.Errorf("failure creating directory %s: %w", location, err)
+ }
+ }
+
+ return nil
+}
+
+func (be *MySQLShellBackupEngine) restorePreCheck(ctx context.Context, params RestoreParams) (shouldDeleteUsers bool, err error) {
+ if mysqlShellFlags == "" {
+ return shouldDeleteUsers, fmt.Errorf("%w: at least the --js flag is required in the value of the flag --mysql-shell-flags", MySQLShellPreCheckError)
+ }
+
+ loadFlags := map[string]interface{}{}
+ err = json.Unmarshal([]byte(mysqlShellLoadFlags), &loadFlags)
+ if err != nil {
+ return false, fmt.Errorf("%w: unable to parse JSON of load flags", MySQLShellPreCheckError)
+ }
+
+ if val, ok := loadFlags["updateGtidSet"]; !ok || val != "replace" {
+ return false, fmt.Errorf("%w: mysql-shell needs to restore with updateGtidSet set to \"replace\" to work with Vitess", MySQLShellPreCheckError)
+ }
+
+ if val, ok := loadFlags["progressFile"]; !ok || val != "" {
+ return false, fmt.Errorf("%w: \"progressFile\" needs to be empty as vitess always starts a restore from scratch", MySQLShellPreCheckError)
+ }
+
+ if val, ok := loadFlags["skipBinlog"]; !ok || val != true {
+ return false, fmt.Errorf("%w: \"skipBinlog\" needs to set to true", MySQLShellPreCheckError)
+ }
+
+ if val, ok := loadFlags["loadUsers"]; ok && val == true {
+ shouldDeleteUsers = true
+ }
+
+ if mysqlShellSpeedUpRestore {
+ version, err := params.Mysqld.GetVersionString(ctx)
+ if err != nil {
+ return false, fmt.Errorf("%w: failed to fetch MySQL version: %v", MySQLShellPreCheckError, err)
+ }
+
+ capableOf := mysql.ServerVersionCapableOf(version)
+ capable, err := capableOf(capabilities.DisableRedoLogFlavorCapability)
+ if err != nil {
+ return false, fmt.Errorf("%w: error checking if server supports disabling redo log: %v", MySQLShellPreCheckError, err)
+ }
+
+ if !capable {
+ return false, fmt.Errorf("%w: MySQL version doesn't support disabling the redo log (must be >=8.0.21)", MySQLShellPreCheckError)
+ }
+ }
+
+ return shouldDeleteUsers, nil
+}
+
+func (be *MySQLShellBackupEngine) handleSuperReadOnly(ctx context.Context, params RestoreParams) (func(), error) {
+ readonly, err := params.Mysqld.IsSuperReadOnly(ctx)
+ if err != nil {
+ return nil, vterrors.Wrap(err, fmt.Sprintf("checking if mysqld has super_read_only=enable: %v", err))
+ }
+
+ params.Logger.Infof("Is Super Read Only: %v", readonly)
+
+ if readonly {
+ resetFunc, err := params.Mysqld.SetSuperReadOnly(ctx, false)
+ if err != nil {
+ return nil, vterrors.Wrap(err, fmt.Sprintf("unable to disable super-read-only: %v", err))
+ }
+
+ return func() {
+ err := resetFunc()
+ if err != nil {
+ params.Logger.Errorf("Not able to set super_read_only to its original value after restore")
+ }
+ }, nil
+ }
+
+ return func() {}, nil
+}
+
+// releaseReadLock will keep reading the MySQL Shell STDERR waiting until the point it has acquired its lock
+func releaseReadLock(ctx context.Context, reader io.Reader, params BackupParams, wg *sync.WaitGroup, lockAcquired time.Time) {
+ defer wg.Done()
+
+ scanner := bufio.NewScanner(reader)
+ released := false
+ for scanner.Scan() {
+ line := scanner.Text()
+
+ if !released {
+
+ if !strings.Contains(line, "Global read lock has been released") {
+ continue
+ }
+ released = true
+
+ params.Logger.Infof("mysql shell released its global read lock, doing the same")
+
+ err := params.Mysqld.ReleaseGlobalReadLock(ctx)
+ if err != nil {
+ params.Logger.Errorf("unable to release global read lock: %v", err)
+ }
+
+ params.Logger.Infof("global read lock released after %v", time.Since(lockAcquired))
+ }
+ }
+ if err := scanner.Err(); err != nil {
+ params.Logger.Errorf("error reading from reader: %v", err)
+ }
+}
+
+func cleanupMySQL(ctx context.Context, params RestoreParams, shouldDeleteUsers bool) error {
+ params.Logger.Infof("Cleaning up MySQL ahead of a restore")
+ result, err := params.Mysqld.FetchSuperQuery(ctx, "SHOW DATABASES")
+ if err != nil {
+ return err
+ }
+
+ // drop all databases
+ for _, row := range result.Rows {
+ dbName := row[0].ToString()
+ if slices.Contains(internalDBs, dbName) {
+ continue // not dropping internal DBs
+ }
+
+ params.Logger.Infof("Dropping DB %q", dbName)
+ err = params.Mysqld.ExecuteSuperQuery(ctx, fmt.Sprintf("DROP DATABASE IF EXISTS `%s`", row[0].ToString()))
+ if err != nil {
+ return fmt.Errorf("error droppping database %q: %w", row[0].ToString(), err)
+ }
+ }
+
+ if shouldDeleteUsers {
+ // get current user
+ var currentUser string
+ result, err = params.Mysqld.FetchSuperQuery(ctx, "SELECT user()")
+ if err != nil {
+ return fmt.Errorf("error fetching current user: %w", err)
+ }
+
+ for _, row := range result.Rows {
+ currentUser = row[0].ToString()
+ }
+
+ // drop all users except reserved ones
+ result, err = params.Mysqld.FetchSuperQuery(ctx, "SELECT user, host FROM mysql.user")
+ if err != nil {
+ return err
+ }
+
+ for _, row := range result.Rows {
+ user := fmt.Sprintf("%s@%s", row[0].ToString(), row[1].ToString())
+
+ if user == currentUser {
+ continue // we don't drop the current user
+ }
+ if slices.Contains(reservedUsers, user) {
+ continue // we skip reserved MySQL users
+ }
+
+ params.Logger.Infof("Dropping User %q", user)
+ err = params.Mysqld.ExecuteSuperQuery(ctx, fmt.Sprintf("DROP USER '%s'@'%s'", row[0].ToString(), row[1].ToString()))
+ if err != nil {
+ return fmt.Errorf("error droppping user %q: %w", user, err)
+ }
+ }
+ }
+
+ return err
+}
diff --git a/go/vt/mysqlctl/mysqlshellbackupengine_test.go b/go/vt/mysqlctl/mysqlshellbackupengine_test.go
new file mode 100644
index 00000000000..a0d0c8d7a1d
--- /dev/null
+++ b/go/vt/mysqlctl/mysqlshellbackupengine_test.go
@@ -0,0 +1,309 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package mysqlctl
+
+import (
+ "context"
+ "fmt"
+ "path"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/mysql/fakesqldb"
+ "vitess.io/vitess/go/sqltypes"
+ "vitess.io/vitess/go/vt/logutil"
+ tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
+)
+
+func TestMySQLShellBackupBackupPreCheck(t *testing.T) {
+ originalLocation := mysqlShellBackupLocation
+ originalFlags := mysqlShellFlags
+ defer func() {
+ mysqlShellBackupLocation = originalLocation
+ mysqlShellFlags = originalFlags
+ }()
+
+ engine := MySQLShellBackupEngine{}
+ tests := []struct {
+ name string
+ location string
+ flags string
+ err error
+ }{
+ {
+ "empty flags",
+ "",
+ `{}`,
+ MySQLShellPreCheckError,
+ },
+ {
+ "only location",
+ "/dev/null",
+ "",
+ MySQLShellPreCheckError,
+ },
+ {
+ "only flags",
+ "",
+ "--js",
+ MySQLShellPreCheckError,
+ },
+ {
+ "both values present but without --js",
+ "",
+ "-h localhost",
+ MySQLShellPreCheckError,
+ },
+ {
+ "supported values",
+ t.TempDir(),
+ "--js -h localhost",
+ nil,
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+
+ mysqlShellBackupLocation = tt.location
+ mysqlShellFlags = tt.flags
+ assert.ErrorIs(t, engine.backupPreCheck(path.Join(mysqlShellBackupLocation, "test")), tt.err)
+ })
+ }
+
+}
+
+func TestMySQLShellBackupRestorePreCheck(t *testing.T) {
+ original := mysqlShellLoadFlags
+ defer func() { mysqlShellLoadFlags = original }()
+
+ engine := MySQLShellBackupEngine{}
+ tests := []struct {
+ name string
+ flags string
+ err error
+ shouldDeleteUsers bool
+ }{
+ {
+ "empty load flags",
+ `{}`,
+ MySQLShellPreCheckError,
+ false,
+ },
+ {
+ "only updateGtidSet",
+ `{"updateGtidSet": "replace"}`,
+ MySQLShellPreCheckError,
+ false,
+ },
+ {
+ "only progressFile",
+ `{"progressFile": ""}`,
+ MySQLShellPreCheckError,
+ false,
+ },
+ {
+ "both values but unsupported values",
+ `{"updateGtidSet": "append", "progressFile": "/tmp/test1"}`,
+ MySQLShellPreCheckError,
+ false,
+ },
+ {
+ "supported values",
+ `{"updateGtidSet": "replace", "progressFile": "", "skipBinlog": true, "loadUsers": false}`,
+ nil,
+ false,
+ },
+ {
+ "should delete users",
+ `{"updateGtidSet": "replace", "progressFile": "", "skipBinlog": true, "loadUsers": true}`,
+ nil,
+ true,
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ mysqlShellLoadFlags = tt.flags
+ shouldDeleteUsers, err := engine.restorePreCheck(context.Background(), RestoreParams{})
+ assert.ErrorIs(t, err, tt.err)
+ assert.Equal(t, tt.shouldDeleteUsers, shouldDeleteUsers)
+ })
+ }
+
+}
+
+func TestMySQLShellBackupRestorePreCheckDisableRedolog(t *testing.T) {
+ original := mysqlShellSpeedUpRestore
+ defer func() { mysqlShellSpeedUpRestore = original }()
+
+ mysqlShellSpeedUpRestore = true
+ engine := MySQLShellBackupEngine{}
+
+ fakedb := fakesqldb.New(t)
+ defer fakedb.Close()
+ fakeMysqld := NewFakeMysqlDaemon(fakedb) // defaults to 8.0.32
+ defer fakeMysqld.Close()
+
+ params := RestoreParams{
+ Mysqld: fakeMysqld,
+ }
+
+ // this should work as it is supported since 8.0.21
+ _, err := engine.restorePreCheck(context.Background(), params)
+ require.NoError(t, err, params)
+
+ // it should error out if we change to an older version
+ fakeMysqld.Version = "8.0.20"
+
+ _, err = engine.restorePreCheck(context.Background(), params)
+ require.ErrorIs(t, err, MySQLShellPreCheckError)
+ require.ErrorContains(t, err, "doesn't support disabling the redo log")
+}
+
+func TestShouldDrainForBackupMySQLShell(t *testing.T) {
+ original := mysqlShellBackupShouldDrain
+ defer func() { mysqlShellBackupShouldDrain = original }()
+
+ engine := MySQLShellBackupEngine{}
+
+ mysqlShellBackupShouldDrain = false
+
+ assert.False(t, engine.ShouldDrainForBackup(nil))
+ assert.False(t, engine.ShouldDrainForBackup(&tabletmanagerdatapb.BackupRequest{}))
+
+ mysqlShellBackupShouldDrain = true
+
+ assert.True(t, engine.ShouldDrainForBackup(nil))
+ assert.True(t, engine.ShouldDrainForBackup(&tabletmanagerdatapb.BackupRequest{}))
+}
+
+func TestCleanupMySQL(t *testing.T) {
+ type userRecord struct {
+ user, host string
+ }
+
+ tests := []struct {
+ name string
+ existingDBs []string
+ expectedDropDBs []string
+ currentUser string
+ existingUsers []userRecord
+ expectedDropUsers []string
+ shouldDeleteUsers bool
+ }{
+ {
+ name: "testing only specific DBs",
+ existingDBs: []string{"_vt", "vt_test"},
+ expectedDropDBs: []string{"_vt", "vt_test"},
+ },
+ {
+ name: "testing with internal dbs",
+ existingDBs: []string{"_vt", "mysql", "vt_test", "performance_schema"},
+ expectedDropDBs: []string{"_vt", "vt_test"},
+ },
+ {
+ name: "with users but without delete",
+ existingDBs: []string{"_vt", "mysql", "vt_test", "performance_schema"},
+ expectedDropDBs: []string{"_vt", "vt_test"},
+ existingUsers: []userRecord{
+ {"test", "localhost"},
+ {"app", "10.0.0.1"},
+ },
+ expectedDropUsers: []string{},
+ shouldDeleteUsers: false,
+ },
+ {
+ name: "with users and delete",
+ existingDBs: []string{"_vt", "mysql", "vt_test", "performance_schema"},
+ expectedDropDBs: []string{"_vt", "vt_test"},
+ existingUsers: []userRecord{
+ {"test", "localhost"},
+ {"app", "10.0.0.1"},
+ },
+ expectedDropUsers: []string{"'test'@'localhost'", "'app'@'10.0.0.1'"},
+ shouldDeleteUsers: true,
+ },
+ {
+ name: "with reserved users",
+ existingDBs: []string{"_vt", "mysql", "vt_test", "performance_schema"},
+ expectedDropDBs: []string{"_vt", "vt_test"},
+ existingUsers: []userRecord{
+ {"mysql.sys", "localhost"},
+ {"mysql.infoschema", "localhost"},
+ {"mysql.session", "localhost"},
+ {"test", "localhost"},
+ {"app", "10.0.0.1"},
+ },
+ expectedDropUsers: []string{"'test'@'localhost'", "'app'@'10.0.0.1'"},
+ shouldDeleteUsers: true,
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ fakedb := fakesqldb.New(t)
+ defer fakedb.Close()
+ mysql := NewFakeMysqlDaemon(fakedb)
+ defer mysql.Close()
+
+ databases := [][]sqltypes.Value{}
+ for _, db := range tt.existingDBs {
+ databases = append(databases, []sqltypes.Value{sqltypes.NewVarChar(db)})
+ }
+
+ users := [][]sqltypes.Value{}
+ for _, record := range tt.existingUsers {
+ users = append(users, []sqltypes.Value{sqltypes.NewVarChar(record.user), sqltypes.NewVarChar(record.host)})
+ }
+
+ mysql.FetchSuperQueryMap = map[string]*sqltypes.Result{
+ "SHOW DATABASES": {Rows: databases},
+ "SELECT user()": {Rows: [][]sqltypes.Value{{sqltypes.NewVarChar(tt.currentUser)}}},
+ "SELECT user, host FROM mysql.user": {Rows: users},
+ }
+
+ for _, drop := range tt.expectedDropDBs {
+ mysql.ExpectedExecuteSuperQueryList = append(mysql.ExpectedExecuteSuperQueryList,
+ fmt.Sprintf("DROP DATABASE IF EXISTS `%s`", drop),
+ )
+ }
+
+ if tt.shouldDeleteUsers {
+ for _, drop := range tt.expectedDropUsers {
+ mysql.ExpectedExecuteSuperQueryList = append(mysql.ExpectedExecuteSuperQueryList,
+ fmt.Sprintf("DROP USER %s", drop),
+ )
+ }
+ }
+
+ params := RestoreParams{
+ Mysqld: mysql,
+ Logger: logutil.NewMemoryLogger(),
+ }
+
+ err := cleanupMySQL(context.Background(), params, tt.shouldDeleteUsers)
+ require.NoError(t, err)
+
+ require.Equal(t, len(tt.expectedDropDBs)+len(tt.expectedDropUsers), mysql.ExpectedExecuteSuperQueryCurrent,
+ "unexpected number of queries executed")
+ })
+ }
+
+}
diff --git a/go/vt/mysqlctl/query.go b/go/vt/mysqlctl/query.go
index 7a1816e3cfb..7b1e1f0094b 100644
--- a/go/vt/mysqlctl/query.go
+++ b/go/vt/mysqlctl/query.go
@@ -18,6 +18,7 @@ package mysqlctl
import (
"context"
+ "errors"
"fmt"
"strings"
"time"
@@ -226,6 +227,42 @@ func (mysqld *Mysqld) fetchStatuses(ctx context.Context, pattern string) (map[st
return varMap, nil
}
+// ExecuteSuperQuery allows the user to execute a query as a super user.
+func (mysqld *Mysqld) AcquireGlobalReadLock(ctx context.Context) error {
+ if mysqld.lockConn != nil {
+ return errors.New("lock already acquired")
+ }
+
+ conn, err := getPoolReconnect(ctx, mysqld.dbaPool)
+ if err != nil {
+ return err
+ }
+
+ err = mysqld.executeSuperQueryListConn(ctx, conn, []string{"FLUSH TABLES WITH READ LOCK"})
+ if err != nil {
+ conn.Recycle()
+ return err
+ }
+
+ mysqld.lockConn = conn
+ return nil
+}
+
+func (mysqld *Mysqld) ReleaseGlobalReadLock(ctx context.Context) error {
+ if mysqld.lockConn == nil {
+ return errors.New("no read locks acquired yet")
+ }
+
+ err := mysqld.executeSuperQueryListConn(ctx, mysqld.lockConn, []string{"UNLOCK TABLES"})
+ if err != nil {
+ return err
+ }
+
+ mysqld.lockConn.Recycle()
+ mysqld.lockConn = nil
+ return nil
+}
+
const (
sourcePasswordStart = " SOURCE_PASSWORD = '"
sourcePasswordEnd = "',\n"
diff --git a/go/vt/mysqlctl/s3backupstorage/retryer.go b/go/vt/mysqlctl/s3backupstorage/retryer.go
index 052b1ef26d1..9e4e87da702 100644
--- a/go/vt/mysqlctl/s3backupstorage/retryer.go
+++ b/go/vt/mysqlctl/s3backupstorage/retryer.go
@@ -1,51 +1,75 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
package s3backupstorage
import (
+ "context"
"strings"
"time"
- "github.com/aws/aws-sdk-go/aws/awserr"
- "github.com/aws/aws-sdk-go/aws/request"
+ "github.com/aws/aws-sdk-go-v2/aws"
)
-// ClosedConnectionRetryer implements the aws request.Retryer interface
+// ClosedConnectionRetryer implements the aws.Retryer interface
// and is used to retry closed connection errors during MultipartUpload
-// operations.
+// operations. It is a simplified version of the RetryableConnectionError
+// implementation, which always retry on any type of connection error.
type ClosedConnectionRetryer struct {
- awsRetryer request.Retryer
+ awsRetryer aws.Retryer
}
-// RetryRules is part of the Retryer interface. It defers to the underlying
-// aws Retryer to compute backoff rules.
-func (retryer *ClosedConnectionRetryer) RetryRules(r *request.Request) time.Duration {
- return retryer.awsRetryer.RetryRules(r)
-}
-
-// ShouldRetry is part of the Retryer interface. It retries on errors that occur
-// due to a closed network connection, and then falls back to the underlying aws
-// Retryer for checking additional retry conditions.
-func (retryer *ClosedConnectionRetryer) ShouldRetry(r *request.Request) bool {
- if retryer.MaxRetries() == 0 {
+// IsErrorRetryable returns true if the error should be retried. We first try
+// to see if the error is due to the use of a closed connection, if it is,
+// we retry, and if not, we default to what the aws.Retryer would do.
+func (retryer *ClosedConnectionRetryer) IsErrorRetryable(err error) bool {
+ if retryer.MaxAttempts() == 0 {
return false
}
- if r.Retryable != nil {
- return *r.Retryable
- }
-
- if r.Error != nil {
- if awsErr, ok := r.Error.(awserr.Error); ok {
- if strings.Contains(awsErr.Error(), "use of closed network connection") {
- return true
- }
+ if err != nil {
+ if strings.Contains(err.Error(), "use of closed network connection") {
+ return true
}
}
- return retryer.awsRetryer.ShouldRetry(r)
+ return retryer.awsRetryer.IsErrorRetryable(err)
+}
+
+// MaxAttempts returns the maximum number of attempts that can be made for
+// an attempt before failing. A value of 0 implies that the attempt should
+// be retried until it succeeds if the errors are retryable.
+func (retryer *ClosedConnectionRetryer) MaxAttempts() int {
+ return retryer.awsRetryer.MaxAttempts()
+}
+
+// RetryDelay returns the delay that should be used before retrying the
+// attempt. Will return error if the delay could not be determined.
+func (retryer *ClosedConnectionRetryer) RetryDelay(attempt int, opErr error) (time.Duration, error) {
+ return retryer.awsRetryer.RetryDelay(attempt, opErr)
+}
+
+// GetRetryToken attempts to deduct the retry cost from the retry token pool.
+// Returning the token release function, or error.
+func (retryer *ClosedConnectionRetryer) GetRetryToken(ctx context.Context, opErr error) (releaseToken func(error) error, err error) {
+ return retryer.awsRetryer.GetRetryToken(ctx, opErr)
}
-// MaxRetries is part of the Retryer interface. It defers to the
-// underlying aws Retryer for the max number of retries.
-func (retryer *ClosedConnectionRetryer) MaxRetries() int {
- return retryer.awsRetryer.MaxRetries()
+// GetInitialToken returns the initial attempt token that can increment the
+// retry token pool if the attempt is successful.
+func (retryer *ClosedConnectionRetryer) GetInitialToken() (releaseToken func(error) error) {
+ return retryer.awsRetryer.GetInitialToken()
}
diff --git a/go/vt/mysqlctl/s3backupstorage/retryer_test.go b/go/vt/mysqlctl/s3backupstorage/retryer_test.go
index 9fe3004e6ff..666f565e7e4 100644
--- a/go/vt/mysqlctl/s3backupstorage/retryer_test.go
+++ b/go/vt/mysqlctl/s3backupstorage/retryer_test.go
@@ -1,79 +1,69 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
package s3backupstorage
import (
+ "context"
"errors"
"testing"
"time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awserr"
- "github.com/aws/aws-sdk-go/aws/request"
"github.com/stretchr/testify/assert"
)
type testRetryer struct{ retry bool }
-func (r *testRetryer) MaxRetries() int { return 5 }
-func (r *testRetryer) RetryRules(req *request.Request) time.Duration { return time.Second }
-func (r *testRetryer) ShouldRetry(req *request.Request) bool { return r.retry }
+func (r *testRetryer) GetInitialToken() (releaseToken func(error) error) { panic("implement me") }
+func (r *testRetryer) GetRetryToken(ctx context.Context, opErr error) (releaseToken func(error) error, err error) {
+ panic("implement me")
+}
+func (r *testRetryer) IsErrorRetryable(err error) bool { return r.retry }
+func (r *testRetryer) MaxAttempts() int { return 5 }
+func (r *testRetryer) RetryDelay(attempt int, opErr error) (time.Duration, error) {
+ return time.Second, nil
+}
func TestShouldRetry(t *testing.T) {
tests := []struct {
name string
- r *request.Request
+ err error
fallbackPolicy bool
expected bool
}{
-
{
- name: "non retryable request",
- r: &request.Request{
- Retryable: aws.Bool(false),
- },
+ name: "no error",
fallbackPolicy: false,
expected: false,
},
{
- name: "retryable request",
- r: &request.Request{
- Retryable: aws.Bool(true),
- },
- fallbackPolicy: false,
- expected: true,
- },
- {
- name: "non aws error",
- r: &request.Request{
- Retryable: nil,
- Error: errors.New("some error"),
- },
+ name: "non aws error",
+ err: errors.New("some error"),
fallbackPolicy: false,
expected: false,
},
{
- name: "closed connection error",
- r: &request.Request{
- Retryable: nil,
- Error: awserr.New("5xx", "use of closed network connection", nil),
- },
- fallbackPolicy: false,
- expected: true,
- },
- {
- name: "closed connection error (non nil origError)",
- r: &request.Request{
- Retryable: nil,
- Error: awserr.New("5xx", "use of closed network connection", errors.New("some error")),
- },
+ name: "closed connection error",
+ err: errors.New("use of closed network connection"),
fallbackPolicy: false,
expected: true,
},
{
- name: "other aws error hits fallback policy",
- r: &request.Request{
- Retryable: nil,
- Error: awserr.New("code", "not a closed network connectionn", errors.New("some error")),
- },
+ name: "other aws error hits fallback policy",
+ err: errors.New("not a closed network connection"),
fallbackPolicy: true,
expected: true,
},
@@ -82,13 +72,7 @@ func TestShouldRetry(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
retryer := &ClosedConnectionRetryer{&testRetryer{test.fallbackPolicy}}
- msg := ""
- if test.r.Error != nil {
- if awsErr, ok := test.r.Error.(awserr.Error); ok {
- msg = awsErr.Error()
- }
- }
- assert.Equal(t, test.expected, retryer.ShouldRetry(test.r), msg)
+ assert.Equal(t, test.expected, retryer.IsErrorRetryable(test.err))
})
}
}
diff --git a/go/vt/mysqlctl/s3backupstorage/s3.go b/go/vt/mysqlctl/s3backupstorage/s3.go
index cdc4e355d45..1af1362ae30 100644
--- a/go/vt/mysqlctl/s3backupstorage/s3.go
+++ b/go/vt/mysqlctl/s3backupstorage/s3.go
@@ -28,6 +28,7 @@ import (
"crypto/md5"
"crypto/tls"
"encoding/base64"
+ "errors"
"fmt"
"io"
"math"
@@ -38,13 +39,12 @@ import (
"sync"
"time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/client"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/aws/session"
- "github.com/aws/aws-sdk-go/service/s3"
- "github.com/aws/aws-sdk-go/service/s3/s3iface"
- "github.com/aws/aws-sdk-go/service/s3/s3manager"
+ "github.com/aws/aws-sdk-go-v2/aws"
+ "github.com/aws/aws-sdk-go-v2/config"
+ "github.com/aws/aws-sdk-go-v2/feature/s3/manager"
+ "github.com/aws/aws-sdk-go-v2/service/s3"
+ "github.com/aws/aws-sdk-go-v2/service/s3/types"
+ "github.com/aws/smithy-go/middleware"
"github.com/spf13/pflag"
"vitess.io/vitess/go/vt/concurrency"
@@ -104,15 +104,24 @@ func init() {
servenv.OnParseFor("vttablet", registerFlags)
}
-type logNameToLogLevel map[string]aws.LogLevelType
+type logNameToLogLevel map[string]aws.ClientLogMode
var logNameMap logNameToLogLevel
const sseCustomerPrefix = "sse_c:"
+type iClient interface {
+ manager.UploadAPIClient
+ manager.DownloadAPIClient
+}
+
+type clientWrapper struct {
+ *s3.Client
+}
+
// S3BackupHandle implements the backupstorage.BackupHandle interface.
type S3BackupHandle struct {
- client s3iface.S3API
+ client iClient
bs *S3BackupStorage
dir string
name string
@@ -153,9 +162,9 @@ func (bh *S3BackupHandle) AddFile(ctx context.Context, filename string, filesize
}
// Calculate s3 upload part size using the source filesize
- partSizeBytes := s3manager.DefaultUploadPartSize
+ partSizeBytes := manager.DefaultUploadPartSize
if filesize > 0 {
- minimumPartSize := float64(filesize) / float64(s3manager.MaxUploadParts)
+ minimumPartSize := float64(filesize) / float64(manager.MaxUploadParts)
// Round up to ensure large enough partsize
calculatedPartSizeBytes := int64(math.Ceil(minimumPartSize))
if calculatedPartSizeBytes > partSizeBytes {
@@ -168,25 +177,32 @@ func (bh *S3BackupHandle) AddFile(ctx context.Context, filename string, filesize
go func() {
defer bh.waitGroup.Done()
- uploader := s3manager.NewUploaderWithClient(bh.client, func(u *s3manager.Uploader) {
+ uploader := manager.NewUploader(bh.client, func(u *manager.Uploader) {
u.PartSize = partSizeBytes
})
object := objName(bh.dir, bh.name, filename)
sendStats := bh.bs.params.Stats.Scope(stats.Operation("AWS:Request:Send"))
// Using UploadWithContext breaks uploading to Minio and Ceph https://github.com/vitessio/vitess/issues/14188
- _, err := uploader.Upload(&s3manager.UploadInput{
+ _, err := uploader.Upload(context.Background(), &s3.PutObjectInput{
Bucket: &bucket,
- Key: object,
+ Key: &object,
Body: reader,
ServerSideEncryption: bh.bs.s3SSE.awsAlg,
SSECustomerAlgorithm: bh.bs.s3SSE.customerAlg,
SSECustomerKey: bh.bs.s3SSE.customerKey,
SSECustomerKeyMD5: bh.bs.s3SSE.customerMd5,
- }, s3manager.WithUploaderRequestOptions(func(r *request.Request) {
- r.Handlers.CompleteAttempt.PushBack(func(r *request.Request) {
- sendStats.TimedIncrement(time.Since(r.AttemptTime))
+ }, func(u *manager.Uploader) {
+ u.ClientOptions = append(u.ClientOptions, func(o *s3.Options) {
+ o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
+ return stack.Finalize.Add(middleware.FinalizeMiddlewareFunc("CompleteAttemptMiddleware", func(ctx context.Context, input middleware.FinalizeInput, next middleware.FinalizeHandler) (middleware.FinalizeOutput, middleware.Metadata, error) {
+ start := time.Now()
+ output, metadata, err := next.HandleFinalize(ctx, input)
+ sendStats.TimedIncrement(time.Since(start))
+ return output, metadata, err
+ }), middleware.Before)
+ })
})
- }))
+ })
if err != nil {
reader.CloseWithError(err)
bh.RecordError(err)
@@ -220,15 +236,20 @@ func (bh *S3BackupHandle) ReadFile(ctx context.Context, filename string) (io.Rea
}
object := objName(bh.dir, bh.name, filename)
sendStats := bh.bs.params.Stats.Scope(stats.Operation("AWS:Request:Send"))
- out, err := bh.client.GetObjectWithContext(ctx, &s3.GetObjectInput{
+ out, err := bh.client.GetObject(ctx, &s3.GetObjectInput{
Bucket: &bucket,
- Key: object,
+ Key: &object,
SSECustomerAlgorithm: bh.bs.s3SSE.customerAlg,
SSECustomerKey: bh.bs.s3SSE.customerKey,
SSECustomerKeyMD5: bh.bs.s3SSE.customerMd5,
- }, func(r *request.Request) {
- r.Handlers.CompleteAttempt.PushBack(func(r *request.Request) {
- sendStats.TimedIncrement(time.Since(r.AttemptTime))
+ }, func(o *s3.Options) {
+ o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
+ return stack.Finalize.Add(middleware.FinalizeMiddlewareFunc("CompleteAttemptMiddleware", func(ctx context.Context, input middleware.FinalizeInput, next middleware.FinalizeHandler) (middleware.FinalizeOutput, middleware.Metadata, error) {
+ start := time.Now()
+ output, metadata, err := next.HandleFinalize(ctx, input)
+ sendStats.TimedIncrement(time.Since(start))
+ return output, metadata, err
+ }), middleware.Before)
})
})
if err != nil {
@@ -240,7 +261,7 @@ func (bh *S3BackupHandle) ReadFile(ctx context.Context, filename string) (io.Rea
var _ backupstorage.BackupHandle = (*S3BackupHandle)(nil)
type S3ServerSideEncryption struct {
- awsAlg *string
+ awsAlg types.ServerSideEncryption
customerAlg *string
customerKey *string
customerMd5 *string
@@ -267,13 +288,13 @@ func (s3ServerSideEncryption *S3ServerSideEncryption) init() error {
s3ServerSideEncryption.customerKey = aws.String(string(decodedKey))
s3ServerSideEncryption.customerMd5 = aws.String(base64.StdEncoding.EncodeToString(md5Hash[:]))
} else if sse != "" {
- s3ServerSideEncryption.awsAlg = &sse
+ s3ServerSideEncryption.awsAlg = types.ServerSideEncryption(sse)
}
return nil
}
func (s3ServerSideEncryption *S3ServerSideEncryption) reset() {
- s3ServerSideEncryption.awsAlg = nil
+ s3ServerSideEncryption.awsAlg = ""
s3ServerSideEncryption.customerAlg = nil
s3ServerSideEncryption.customerKey = nil
s3ServerSideEncryption.customerMd5 = nil
@@ -281,7 +302,7 @@ func (s3ServerSideEncryption *S3ServerSideEncryption) reset() {
// S3BackupStorage implements the backupstorage.BackupStorage interface.
type S3BackupStorage struct {
- _client *s3.S3
+ _client *s3.Client
mu sync.Mutex
s3SSE S3ServerSideEncryption
params backupstorage.Params
@@ -306,28 +327,28 @@ func (bs *S3BackupStorage) ListBackups(ctx context.Context, dir string) ([]backu
return nil, err
}
- var searchPrefix *string
+ var searchPrefix string
if dir == "/" {
searchPrefix = objName("")
} else {
searchPrefix = objName(dir, "")
}
- log.Infof("objName: %v", *searchPrefix)
+ log.Infof("objName: %s", searchPrefix)
query := &s3.ListObjectsV2Input{
Bucket: &bucket,
Delimiter: &delimiter,
- Prefix: searchPrefix,
+ Prefix: &searchPrefix,
}
var subdirs []string
for {
- objs, err := c.ListObjectsV2(query)
+ objs, err := c.ListObjectsV2(ctx, query)
if err != nil {
return nil, err
}
for _, prefix := range objs.CommonPrefixes {
- subdir := strings.TrimPrefix(*prefix.Prefix, *searchPrefix)
+ subdir := strings.TrimPrefix(*prefix.Prefix, searchPrefix)
subdir = strings.TrimSuffix(subdir, delimiter)
subdirs = append(subdirs, subdir)
}
@@ -344,7 +365,7 @@ func (bs *S3BackupStorage) ListBackups(ctx context.Context, dir string) ([]backu
result := make([]backupstorage.BackupHandle, 0, len(subdirs))
for _, subdir := range subdirs {
result = append(result, &S3BackupHandle{
- client: c,
+ client: &clientWrapper{Client: c},
bs: bs,
dir: dir,
name: subdir,
@@ -363,7 +384,7 @@ func (bs *S3BackupStorage) StartBackup(ctx context.Context, dir, name string) (b
}
return &S3BackupHandle{
- client: c,
+ client: &clientWrapper{Client: c},
bs: bs,
dir: dir,
name: name,
@@ -380,28 +401,29 @@ func (bs *S3BackupStorage) RemoveBackup(ctx context.Context, dir, name string) e
return err
}
+ path := objName(dir, name)
query := &s3.ListObjectsV2Input{
Bucket: &bucket,
- Prefix: objName(dir, name),
+ Prefix: &path,
}
for {
- objs, err := c.ListObjectsV2(query)
+ objs, err := c.ListObjectsV2(ctx, query)
if err != nil {
return err
}
- objIds := make([]*s3.ObjectIdentifier, 0, len(objs.Contents))
+ objIds := make([]types.ObjectIdentifier, 0, len(objs.Contents))
for _, obj := range objs.Contents {
- objIds = append(objIds, &s3.ObjectIdentifier{
+ objIds = append(objIds, types.ObjectIdentifier{
Key: obj.Key,
})
}
quiet := true // return less in the Delete response
- out, err := c.DeleteObjects(&s3.DeleteObjectsInput{
+ out, err := c.DeleteObjects(ctx, &s3.DeleteObjectsInput{
Bucket: &bucket,
- Delete: &s3.Delete{
+ Delete: &types.Delete{
Objects: objIds,
Quiet: &quiet,
},
@@ -412,7 +434,7 @@ func (bs *S3BackupStorage) RemoveBackup(ctx context.Context, dir, name string) e
}
for _, objError := range out.Errors {
- return fmt.Errorf(objError.String())
+ return errors.New(*objError.Message)
}
if objs.NextContinuationToken == nil {
@@ -441,16 +463,15 @@ func (bs *S3BackupStorage) WithParams(params backupstorage.Params) backupstorage
var _ backupstorage.BackupStorage = (*S3BackupStorage)(nil)
// getLogLevel converts the string loglevel to an aws.LogLevelType
-func getLogLevel() *aws.LogLevelType {
- l := new(aws.LogLevelType)
- *l = aws.LogOff // default setting
+func getLogLevel() aws.ClientLogMode {
+ var l aws.ClientLogMode
if level, found := logNameMap[requiredLogLevel]; found {
- *l = level // adjust as required
+ l = level // adjust as required
}
return l
}
-func (bs *S3BackupStorage) client() (*s3.S3, error) {
+func (bs *S3BackupStorage) client() (*s3.Client, error) {
bs.mu.Lock()
defer bs.mu.Unlock()
if bs._client == nil {
@@ -458,34 +479,28 @@ func (bs *S3BackupStorage) client() (*s3.S3, error) {
httpClient := &http.Client{Transport: bs.transport}
- session, err := session.NewSession()
+ cfg, err := config.LoadDefaultConfig(context.Background(),
+ config.WithRegion(region),
+ config.WithClientLogMode(logLevel),
+ config.WithHTTPClient(httpClient),
+ )
if err != nil {
return nil, err
}
- awsConfig := aws.Config{
- HTTPClient: httpClient,
- LogLevel: logLevel,
- Endpoint: aws.String(endpoint),
- Region: aws.String(region),
- S3ForcePathStyle: aws.Bool(forcePath),
- }
-
- if retryCount >= 0 {
- awsConfig = *request.WithRetryer(&awsConfig, &ClosedConnectionRetryer{
- awsRetryer: &client.DefaultRetryer{
- NumMaxRetries: retryCount,
- },
- })
- }
-
- bs._client = s3.New(session, &awsConfig)
+ bs._client = s3.NewFromConfig(cfg, func(o *s3.Options) {
+ o.UsePathStyle = forcePath
+ if retryCount >= 0 {
+ o.RetryMaxAttempts = retryCount
+ o.Retryer = &ClosedConnectionRetryer{}
+ }
+ })
if len(bucket) == 0 {
return nil, fmt.Errorf("--s3_backup_storage_bucket required")
}
- if _, err := bs._client.HeadBucket(&s3.HeadBucketInput{Bucket: &bucket}); err != nil {
+ if _, err := bs._client.HeadBucket(context.Background(), &s3.HeadBucketInput{Bucket: &bucket}); err != nil {
return nil, err
}
@@ -496,24 +511,24 @@ func (bs *S3BackupStorage) client() (*s3.S3, error) {
return bs._client, nil
}
-func objName(parts ...string) *string {
+func objName(parts ...string) string {
res := ""
if root != "" {
res += root + delimiter
}
res += strings.Join(parts, delimiter)
- return &res
+ return res
}
func init() {
backupstorage.BackupStorageMap["s3"] = newS3BackupStorage()
logNameMap = logNameToLogLevel{
- "LogOff": aws.LogOff,
- "LogDebug": aws.LogDebug,
- "LogDebugWithSigning": aws.LogDebugWithSigning,
- "LogDebugWithHTTPBody": aws.LogDebugWithHTTPBody,
- "LogDebugWithRequestRetries": aws.LogDebugWithRequestRetries,
- "LogDebugWithRequestErrors": aws.LogDebugWithRequestErrors,
+ "LogOff": 0,
+ "LogDebug": aws.LogRequest,
+ "LogDebugWithSigning": aws.LogSigning,
+ "LogDebugWithHTTPBody": aws.LogRequestWithBody,
+ "LogDebugWithRequestRetries": aws.LogRetries,
+ "LogDebugWithRequestErrors": aws.LogRequest | aws.LogRetries,
}
}
diff --git a/go/vt/mysqlctl/s3backupstorage/s3_test.go b/go/vt/mysqlctl/s3backupstorage/s3_test.go
index 6f4207a645f..1acfddcce1e 100644
--- a/go/vt/mysqlctl/s3backupstorage/s3_test.go
+++ b/go/vt/mysqlctl/s3backupstorage/s3_test.go
@@ -1,22 +1,22 @@
package s3backupstorage
import (
+ "context"
"crypto/md5"
"crypto/rand"
"encoding/base64"
"errors"
"fmt"
"net/http"
- "net/url"
"os"
"testing"
"time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/client"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/service/s3"
- "github.com/aws/aws-sdk-go/service/s3/s3iface"
+ "github.com/aws/aws-sdk-go-v2/aws"
+ "github.com/aws/aws-sdk-go-v2/service/s3"
+ "github.com/aws/aws-sdk-go-v2/service/s3/types"
+ "github.com/aws/smithy-go/middleware"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
@@ -26,29 +26,46 @@ import (
)
type s3FakeClient struct {
- s3iface.S3API
+ *s3.Client
err error
delay time.Duration
}
-func (sfc *s3FakeClient) PutObjectRequest(in *s3.PutObjectInput) (*request.Request, *s3.PutObjectOutput) {
- u, _ := url.Parse("http://localhost:1234")
- req := request.Request{
- HTTPRequest: &http.Request{ // without this we segfault \_(ツ)_/¯ (see https://github.com/aws/aws-sdk-go/blob/v1.28.8/aws/request/request_context.go#L13)
- Header: make(http.Header),
- URL: u,
- },
- Retryer: client.DefaultRetryer{},
+type fakeClientDo struct {
+ delay time.Duration
+}
+
+func (fcd fakeClientDo) Do(request *http.Request) (*http.Response, error) {
+ if fcd.delay > 0 {
+ time.Sleep(fcd.delay)
+ }
+ return nil, nil
+}
+
+func (sfc *s3FakeClient) PutObject(ctx context.Context, in *s3.PutObjectInput, optFns ...func(*s3.Options)) (*s3.PutObjectOutput, error) {
+ var o s3.Options
+ for _, fn := range optFns {
+ fn(&o)
}
- req.Handlers.Send.PushBack(func(r *request.Request) {
- r.Error = sfc.err
- if sfc.delay > 0 {
- time.Sleep(sfc.delay)
- }
- })
+ stack := middleware.NewStack("PutObject", smithyhttp.NewStackRequest)
+ for _, apiOption := range o.APIOptions {
+ _ = apiOption(stack)
+ }
- return &req, &s3.PutObjectOutput{}
+ handler := middleware.DecorateHandler(smithyhttp.NewClientHandler(&fakeClientDo{delay: sfc.delay}), stack)
+ _, _, err := handler.Handle(ctx, in)
+ if err != nil {
+ return nil, err
+ }
+
+ if sfc.err != nil {
+ return nil, sfc.err
+ }
+
+ return &s3.PutObjectOutput{
+ ETag: aws.String("fake-etag"),
+ }, nil
}
func TestAddFileError(t *testing.T) {
@@ -56,11 +73,16 @@ func TestAddFileError(t *testing.T) {
client: &s3FakeClient{err: errors.New("some error")},
bs: &S3BackupStorage{
params: backupstorage.NoParams(),
+ s3SSE: S3ServerSideEncryption{
+ customerAlg: new(string),
+ customerKey: new(string),
+ customerMd5: new(string),
+ },
},
readOnly: false,
}
- wc, err := bh.AddFile(aws.BackgroundContext(), "somefile", 100000)
+ wc, err := bh.AddFile(context.Background(), "somefile", 100000)
require.NoErrorf(t, err, "AddFile() expected no error, got %s", err)
assert.NotNil(t, wc, "AddFile() expected non-nil WriteCloser")
@@ -87,12 +109,17 @@ func TestAddFileStats(t *testing.T) {
Logger: logutil.NewMemoryLogger(),
Stats: fakeStats,
},
+ s3SSE: S3ServerSideEncryption{
+ customerAlg: new(string),
+ customerKey: new(string),
+ customerMd5: new(string),
+ },
},
readOnly: false,
}
for i := 0; i < 4; i++ {
- wc, err := bh.AddFile(aws.BackgroundContext(), fmt.Sprintf("somefile-%d", i), 100000)
+ wc, err := bh.AddFile(context.Background(), fmt.Sprintf("somefile-%d", i), 100000)
require.NoErrorf(t, err, "AddFile() expected no error, got %s", err)
assert.NotNil(t, wc, "AddFile() expected non-nil WriteCloser")
@@ -131,11 +158,16 @@ func TestAddFileErrorStats(t *testing.T) {
Logger: logutil.NewMemoryLogger(),
Stats: fakeStats,
},
+ s3SSE: S3ServerSideEncryption{
+ customerAlg: new(string),
+ customerKey: new(string),
+ customerMd5: new(string),
+ },
},
readOnly: false,
}
- wc, err := bh.AddFile(aws.BackgroundContext(), "somefile", 100000)
+ wc, err := bh.AddFile(context.Background(), "somefile", 100000)
require.NoErrorf(t, err, "AddFile() expected no error, got %s", err)
assert.NotNil(t, wc, "AddFile() expected non-nil WriteCloser")
@@ -163,7 +195,7 @@ func TestNoSSE(t *testing.T) {
err := sseData.init()
require.NoErrorf(t, err, "init() expected to succeed")
- assert.Nil(t, sseData.awsAlg, "awsAlg expected to be nil")
+ assert.Empty(t, sseData.awsAlg, "awsAlg expected to be empty")
assert.Nil(t, sseData.customerAlg, "customerAlg expected to be nil")
assert.Nil(t, sseData.customerKey, "customerKey expected to be nil")
assert.Nil(t, sseData.customerMd5, "customerMd5 expected to be nil")
@@ -178,7 +210,7 @@ func TestSSEAws(t *testing.T) {
err := sseData.init()
require.NoErrorf(t, err, "init() expected to succeed")
- assert.Equal(t, aws.String("aws:kms"), sseData.awsAlg, "awsAlg expected to be aws:kms")
+ assert.Equal(t, types.ServerSideEncryption("aws:kms"), sseData.awsAlg, "awsAlg expected to be aws:kms")
assert.Nil(t, sseData.customerAlg, "customerAlg expected to be nil")
assert.Nil(t, sseData.customerKey, "customerKey expected to be nil")
assert.Nil(t, sseData.customerMd5, "customerMd5 expected to be nil")
@@ -186,7 +218,7 @@ func TestSSEAws(t *testing.T) {
sseData.reset()
require.NoErrorf(t, err, "reset() expected to succeed")
- assert.Nil(t, sseData.awsAlg, "awsAlg expected to be nil")
+ assert.Empty(t, sseData.awsAlg, "awsAlg expected to be empty")
assert.Nil(t, sseData.customerAlg, "customerAlg expected to be nil")
assert.Nil(t, sseData.customerKey, "customerKey expected to be nil")
assert.Nil(t, sseData.customerMd5, "customerMd5 expected to be nil")
@@ -227,7 +259,7 @@ func TestSSECustomerFileBinaryKey(t *testing.T) {
err = sseData.init()
require.NoErrorf(t, err, "init() expected to succeed")
- assert.Nil(t, sseData.awsAlg, "awsAlg expected to be nil")
+ assert.Empty(t, sseData.awsAlg, "awsAlg expected to be empty")
assert.Equal(t, aws.String("AES256"), sseData.customerAlg, "customerAlg expected to be AES256")
assert.Equal(t, aws.String(string(randomKey)), sseData.customerKey, "customerKey expected to be equal to the generated randomKey")
md5Hash := md5.Sum(randomKey)
@@ -236,7 +268,7 @@ func TestSSECustomerFileBinaryKey(t *testing.T) {
sseData.reset()
require.NoErrorf(t, err, "reset() expected to succeed")
- assert.Nil(t, sseData.awsAlg, "awsAlg expected to be nil")
+ assert.Empty(t, sseData.awsAlg, "awsAlg expected to be empty")
assert.Nil(t, sseData.customerAlg, "customerAlg expected to be nil")
assert.Nil(t, sseData.customerKey, "customerKey expected to be nil")
assert.Nil(t, sseData.customerMd5, "customerMd5 expected to be nil")
@@ -262,7 +294,7 @@ func TestSSECustomerFileBase64Key(t *testing.T) {
err = sseData.init()
require.NoErrorf(t, err, "init() expected to succeed")
- assert.Nil(t, sseData.awsAlg, "awsAlg expected to be nil")
+ assert.Empty(t, sseData.awsAlg, "awsAlg expected to be empty")
assert.Equal(t, aws.String("AES256"), sseData.customerAlg, "customerAlg expected to be AES256")
assert.Equal(t, aws.String(string(randomKey)), sseData.customerKey, "customerKey expected to be equal to the generated randomKey")
md5Hash := md5.Sum(randomKey)
@@ -271,7 +303,7 @@ func TestSSECustomerFileBase64Key(t *testing.T) {
sseData.reset()
require.NoErrorf(t, err, "reset() expected to succeed")
- assert.Nil(t, sseData.awsAlg, "awsAlg expected to be nil")
+ assert.Empty(t, sseData.awsAlg, "awsAlg expected to be empty")
assert.Nil(t, sseData.customerAlg, "customerAlg expected to be nil")
assert.Nil(t, sseData.customerKey, "customerKey expected to be nil")
assert.Nil(t, sseData.customerMd5, "customerMd5 expected to be nil")
diff --git a/go/vt/mysqlctl/xtrabackupengine.go b/go/vt/mysqlctl/xtrabackupengine.go
index e6d02eedc1d..b1ede7c08fd 100644
--- a/go/vt/mysqlctl/xtrabackupengine.go
+++ b/go/vt/mysqlctl/xtrabackupengine.go
@@ -277,7 +277,7 @@ func (be *XtrabackupEngine) executeFullBackup(ctx context.Context, params Backup
if err != nil {
return BackupUnusable, vterrors.Wrapf(err, "cannot JSON encode %v", backupManifestFileName)
}
- if _, err := mwc.Write([]byte(data)); err != nil {
+ if _, err := mwc.Write(data); err != nil {
return BackupUnusable, vterrors.Wrapf(err, "cannot write %v", backupManifestFileName)
}
@@ -779,23 +779,6 @@ func findReplicationPosition(input, flavor string, logger logutil.Logger) (repli
return replicationPosition, nil
}
-// scanLinesToLogger scans full lines from the given Reader and sends them to
-// the given Logger until EOF.
-func scanLinesToLogger(prefix string, reader io.Reader, logger logutil.Logger, doneFunc func()) {
- defer doneFunc()
-
- scanner := bufio.NewScanner(reader)
- for scanner.Scan() {
- line := scanner.Text()
- logger.Infof("%s: %s", prefix, line)
- }
- if err := scanner.Err(); err != nil {
- // This is usually run in a background goroutine, so there's no point
- // returning an error. Just log it.
- logger.Warningf("error scanning lines from %s: %v", prefix, err)
- }
-}
-
func stripeFileName(baseFileName string, index int) string {
return fmt.Sprintf("%s-%03d", baseFileName, index)
}
@@ -959,6 +942,11 @@ func (be *XtrabackupEngine) ShouldDrainForBackup(req *tabletmanagerdatapb.Backup
return false
}
+// ShouldStartMySQLAfterRestore signifies if this backup engine needs to restart MySQL once the restore is completed.
+func (be *XtrabackupEngine) ShouldStartMySQLAfterRestore() bool {
+ return true
+}
+
func init() {
BackupRestoreEngineMap[xtrabackupEngineName] = &XtrabackupEngine{}
}
diff --git a/go/vt/proto/binlogdata/binlogdata.pb.go b/go/vt/proto/binlogdata/binlogdata.pb.go
index 8374a4a2733..544a45d3656 100644
--- a/go/vt/proto/binlogdata/binlogdata.pb.go
+++ b/go/vt/proto/binlogdata/binlogdata.pb.go
@@ -1416,11 +1416,12 @@ type RowEvent struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
- RowChanges []*RowChange `protobuf:"bytes,2,rep,name=row_changes,json=rowChanges,proto3" json:"row_changes,omitempty"`
- Keyspace string `protobuf:"bytes,3,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
- Shard string `protobuf:"bytes,4,opt,name=shard,proto3" json:"shard,omitempty"`
- Flags uint32 `protobuf:"varint,5,opt,name=flags,proto3" json:"flags,omitempty"` // https://dev.mysql.com/doc/dev/mysql-server/latest/classbinary__log_1_1Rows__event.html
+ TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
+ RowChanges []*RowChange `protobuf:"bytes,2,rep,name=row_changes,json=rowChanges,proto3" json:"row_changes,omitempty"`
+ Keyspace string `protobuf:"bytes,3,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
+ Shard string `protobuf:"bytes,4,opt,name=shard,proto3" json:"shard,omitempty"`
+ Flags uint32 `protobuf:"varint,5,opt,name=flags,proto3" json:"flags,omitempty"` // https://dev.mysql.com/doc/dev/mysql-server/latest/classbinary__log_1_1Rows__event.html
+ IsInternalTable bool `protobuf:"varint,6,opt,name=is_internal_table,json=isInternalTable,proto3" json:"is_internal_table,omitempty"` // set for sidecardb tables
}
func (x *RowEvent) Reset() {
@@ -1490,6 +1491,13 @@ func (x *RowEvent) GetFlags() uint32 {
return 0
}
+func (x *RowEvent) GetIsInternalTable() bool {
+ if x != nil {
+ return x.IsInternalTable
+ }
+ return false
+}
+
// FieldEvent represents the field info for a table.
type FieldEvent struct {
state protoimpl.MessageState
@@ -1508,6 +1516,7 @@ type FieldEvent struct {
// NOTE: because this is the use case, this is ONLY ever set today in
// vstreams managed by the vstreamManager.
EnumSetStringValues bool `protobuf:"varint,25,opt,name=enum_set_string_values,json=enumSetStringValues,proto3" json:"enum_set_string_values,omitempty"`
+ IsInternalTable bool `protobuf:"varint,26,opt,name=is_internal_table,json=isInternalTable,proto3" json:"is_internal_table,omitempty"` // set for sidecardb tables
}
func (x *FieldEvent) Reset() {
@@ -1577,6 +1586,13 @@ func (x *FieldEvent) GetEnumSetStringValues() bool {
return false
}
+func (x *FieldEvent) GetIsInternalTable() bool {
+ if x != nil {
+ return x.IsInternalTable
+ }
+ return false
+}
+
// ShardGtid contains the GTID position for one shard.
// It's used in a request for requesting a starting position.
// It's used in a response to transmit the current position
@@ -2175,6 +2191,61 @@ func (x *MinimalSchema) GetTables() []*MinimalTable {
return nil
}
+type VStreamOptions struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InternalTables []string `protobuf:"bytes,1,rep,name=internal_tables,json=internalTables,proto3" json:"internal_tables,omitempty"`
+ ConfigOverrides map[string]string `protobuf:"bytes,2,rep,name=config_overrides,json=configOverrides,proto3" json:"config_overrides,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *VStreamOptions) Reset() {
+ *x = VStreamOptions{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_binlogdata_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VStreamOptions) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VStreamOptions) ProtoMessage() {}
+
+func (x *VStreamOptions) ProtoReflect() protoreflect.Message {
+ mi := &file_binlogdata_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VStreamOptions.ProtoReflect.Descriptor instead.
+func (*VStreamOptions) Descriptor() ([]byte, []int) {
+ return file_binlogdata_proto_rawDescGZIP(), []int{20}
+}
+
+func (x *VStreamOptions) GetInternalTables() []string {
+ if x != nil {
+ return x.InternalTables
+ }
+ return nil
+}
+
+func (x *VStreamOptions) GetConfigOverrides() map[string]string {
+ if x != nil {
+ return x.ConfigOverrides
+ }
+ return nil
+}
+
// VStreamRequest is the payload for VStreamer
type VStreamRequest struct {
state protoimpl.MessageState
@@ -2187,12 +2258,13 @@ type VStreamRequest struct {
Position string `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
Filter *Filter `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
TableLastPKs []*TableLastPK `protobuf:"bytes,6,rep,name=table_last_p_ks,json=tableLastPKs,proto3" json:"table_last_p_ks,omitempty"`
+ Options *VStreamOptions `protobuf:"bytes,7,opt,name=options,proto3" json:"options,omitempty"`
}
func (x *VStreamRequest) Reset() {
*x = VStreamRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[20]
+ mi := &file_binlogdata_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2205,7 +2277,7 @@ func (x *VStreamRequest) String() string {
func (*VStreamRequest) ProtoMessage() {}
func (x *VStreamRequest) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[20]
+ mi := &file_binlogdata_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2218,7 +2290,7 @@ func (x *VStreamRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VStreamRequest.ProtoReflect.Descriptor instead.
func (*VStreamRequest) Descriptor() ([]byte, []int) {
- return file_binlogdata_proto_rawDescGZIP(), []int{20}
+ return file_binlogdata_proto_rawDescGZIP(), []int{21}
}
func (x *VStreamRequest) GetEffectiveCallerId() *vtrpc.CallerID {
@@ -2263,6 +2335,13 @@ func (x *VStreamRequest) GetTableLastPKs() []*TableLastPK {
return nil
}
+func (x *VStreamRequest) GetOptions() *VStreamOptions {
+ if x != nil {
+ return x.Options
+ }
+ return nil
+}
+
// VStreamResponse is the response from VStreamer
type VStreamResponse struct {
state protoimpl.MessageState
@@ -2275,7 +2354,7 @@ type VStreamResponse struct {
func (x *VStreamResponse) Reset() {
*x = VStreamResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[21]
+ mi := &file_binlogdata_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2288,7 +2367,7 @@ func (x *VStreamResponse) String() string {
func (*VStreamResponse) ProtoMessage() {}
func (x *VStreamResponse) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[21]
+ mi := &file_binlogdata_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2301,7 +2380,7 @@ func (x *VStreamResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VStreamResponse.ProtoReflect.Descriptor instead.
func (*VStreamResponse) Descriptor() ([]byte, []int) {
- return file_binlogdata_proto_rawDescGZIP(), []int{21}
+ return file_binlogdata_proto_rawDescGZIP(), []int{22}
}
func (x *VStreamResponse) GetEvents() []*VEvent {
@@ -2322,12 +2401,13 @@ type VStreamRowsRequest struct {
Target *query.Target `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"`
Lastpk *query.QueryResult `protobuf:"bytes,5,opt,name=lastpk,proto3" json:"lastpk,omitempty"`
+ Options *VStreamOptions `protobuf:"bytes,6,opt,name=options,proto3" json:"options,omitempty"`
}
func (x *VStreamRowsRequest) Reset() {
*x = VStreamRowsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[22]
+ mi := &file_binlogdata_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2340,7 +2420,7 @@ func (x *VStreamRowsRequest) String() string {
func (*VStreamRowsRequest) ProtoMessage() {}
func (x *VStreamRowsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[22]
+ mi := &file_binlogdata_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2353,7 +2433,7 @@ func (x *VStreamRowsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VStreamRowsRequest.ProtoReflect.Descriptor instead.
func (*VStreamRowsRequest) Descriptor() ([]byte, []int) {
- return file_binlogdata_proto_rawDescGZIP(), []int{22}
+ return file_binlogdata_proto_rawDescGZIP(), []int{23}
}
func (x *VStreamRowsRequest) GetEffectiveCallerId() *vtrpc.CallerID {
@@ -2391,6 +2471,13 @@ func (x *VStreamRowsRequest) GetLastpk() *query.QueryResult {
return nil
}
+func (x *VStreamRowsRequest) GetOptions() *VStreamOptions {
+ if x != nil {
+ return x.Options
+ }
+ return nil
+}
+
// VStreamRowsResponse is the response from VStreamRows
type VStreamRowsResponse struct {
state protoimpl.MessageState
@@ -2413,7 +2500,7 @@ type VStreamRowsResponse struct {
func (x *VStreamRowsResponse) Reset() {
*x = VStreamRowsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[23]
+ mi := &file_binlogdata_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2426,7 +2513,7 @@ func (x *VStreamRowsResponse) String() string {
func (*VStreamRowsResponse) ProtoMessage() {}
func (x *VStreamRowsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[23]
+ mi := &file_binlogdata_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2439,7 +2526,7 @@ func (x *VStreamRowsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VStreamRowsResponse.ProtoReflect.Descriptor instead.
func (*VStreamRowsResponse) Descriptor() ([]byte, []int) {
- return file_binlogdata_proto_rawDescGZIP(), []int{23}
+ return file_binlogdata_proto_rawDescGZIP(), []int{24}
}
func (x *VStreamRowsResponse) GetFields() []*query.Field {
@@ -2507,12 +2594,13 @@ type VStreamTablesRequest struct {
EffectiveCallerId *vtrpc.CallerID `protobuf:"bytes,1,opt,name=effective_caller_id,json=effectiveCallerId,proto3" json:"effective_caller_id,omitempty"`
ImmediateCallerId *query.VTGateCallerID `protobuf:"bytes,2,opt,name=immediate_caller_id,json=immediateCallerId,proto3" json:"immediate_caller_id,omitempty"`
Target *query.Target `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
+ Options *VStreamOptions `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"`
}
func (x *VStreamTablesRequest) Reset() {
*x = VStreamTablesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[24]
+ mi := &file_binlogdata_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2525,7 +2613,7 @@ func (x *VStreamTablesRequest) String() string {
func (*VStreamTablesRequest) ProtoMessage() {}
func (x *VStreamTablesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[24]
+ mi := &file_binlogdata_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2538,7 +2626,7 @@ func (x *VStreamTablesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VStreamTablesRequest.ProtoReflect.Descriptor instead.
func (*VStreamTablesRequest) Descriptor() ([]byte, []int) {
- return file_binlogdata_proto_rawDescGZIP(), []int{24}
+ return file_binlogdata_proto_rawDescGZIP(), []int{25}
}
func (x *VStreamTablesRequest) GetEffectiveCallerId() *vtrpc.CallerID {
@@ -2562,6 +2650,13 @@ func (x *VStreamTablesRequest) GetTarget() *query.Target {
return nil
}
+func (x *VStreamTablesRequest) GetOptions() *VStreamOptions {
+ if x != nil {
+ return x.Options
+ }
+ return nil
+}
+
// VStreamTablesResponse is the response from VStreamTables
type VStreamTablesResponse struct {
state protoimpl.MessageState
@@ -2579,7 +2674,7 @@ type VStreamTablesResponse struct {
func (x *VStreamTablesResponse) Reset() {
*x = VStreamTablesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[25]
+ mi := &file_binlogdata_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2592,7 +2687,7 @@ func (x *VStreamTablesResponse) String() string {
func (*VStreamTablesResponse) ProtoMessage() {}
func (x *VStreamTablesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[25]
+ mi := &file_binlogdata_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2605,7 +2700,7 @@ func (x *VStreamTablesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VStreamTablesResponse.ProtoReflect.Descriptor instead.
func (*VStreamTablesResponse) Descriptor() ([]byte, []int) {
- return file_binlogdata_proto_rawDescGZIP(), []int{25}
+ return file_binlogdata_proto_rawDescGZIP(), []int{26}
}
func (x *VStreamTablesResponse) GetTableName() string {
@@ -2662,7 +2757,7 @@ type LastPKEvent struct {
func (x *LastPKEvent) Reset() {
*x = LastPKEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[26]
+ mi := &file_binlogdata_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2675,7 +2770,7 @@ func (x *LastPKEvent) String() string {
func (*LastPKEvent) ProtoMessage() {}
func (x *LastPKEvent) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[26]
+ mi := &file_binlogdata_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2688,7 +2783,7 @@ func (x *LastPKEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use LastPKEvent.ProtoReflect.Descriptor instead.
func (*LastPKEvent) Descriptor() ([]byte, []int) {
- return file_binlogdata_proto_rawDescGZIP(), []int{26}
+ return file_binlogdata_proto_rawDescGZIP(), []int{27}
}
func (x *LastPKEvent) GetTableLastPK() *TableLastPK {
@@ -2717,7 +2812,7 @@ type TableLastPK struct {
func (x *TableLastPK) Reset() {
*x = TableLastPK{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[27]
+ mi := &file_binlogdata_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2730,7 +2825,7 @@ func (x *TableLastPK) String() string {
func (*TableLastPK) ProtoMessage() {}
func (x *TableLastPK) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[27]
+ mi := &file_binlogdata_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2743,7 +2838,7 @@ func (x *TableLastPK) ProtoReflect() protoreflect.Message {
// Deprecated: Use TableLastPK.ProtoReflect.Descriptor instead.
func (*TableLastPK) Descriptor() ([]byte, []int) {
- return file_binlogdata_proto_rawDescGZIP(), []int{27}
+ return file_binlogdata_proto_rawDescGZIP(), []int{28}
}
func (x *TableLastPK) GetTableName() string {
@@ -2777,7 +2872,7 @@ type VStreamResultsRequest struct {
func (x *VStreamResultsRequest) Reset() {
*x = VStreamResultsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[28]
+ mi := &file_binlogdata_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2790,7 +2885,7 @@ func (x *VStreamResultsRequest) String() string {
func (*VStreamResultsRequest) ProtoMessage() {}
func (x *VStreamResultsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[28]
+ mi := &file_binlogdata_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2803,7 +2898,7 @@ func (x *VStreamResultsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VStreamResultsRequest.ProtoReflect.Descriptor instead.
func (*VStreamResultsRequest) Descriptor() ([]byte, []int) {
- return file_binlogdata_proto_rawDescGZIP(), []int{28}
+ return file_binlogdata_proto_rawDescGZIP(), []int{29}
}
func (x *VStreamResultsRequest) GetEffectiveCallerId() *vtrpc.CallerID {
@@ -2849,7 +2944,7 @@ type VStreamResultsResponse struct {
func (x *VStreamResultsResponse) Reset() {
*x = VStreamResultsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[29]
+ mi := &file_binlogdata_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2862,7 +2957,7 @@ func (x *VStreamResultsResponse) String() string {
func (*VStreamResultsResponse) ProtoMessage() {}
func (x *VStreamResultsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[29]
+ mi := &file_binlogdata_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2875,7 +2970,7 @@ func (x *VStreamResultsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VStreamResultsResponse.ProtoReflect.Descriptor instead.
func (*VStreamResultsResponse) Descriptor() ([]byte, []int) {
- return file_binlogdata_proto_rawDescGZIP(), []int{29}
+ return file_binlogdata_proto_rawDescGZIP(), []int{30}
}
func (x *VStreamResultsResponse) GetFields() []*query.Field {
@@ -2915,7 +3010,7 @@ type BinlogTransaction_Statement struct {
func (x *BinlogTransaction_Statement) Reset() {
*x = BinlogTransaction_Statement{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[30]
+ mi := &file_binlogdata_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2928,7 +3023,7 @@ func (x *BinlogTransaction_Statement) String() string {
func (*BinlogTransaction_Statement) ProtoMessage() {}
func (x *BinlogTransaction_Statement) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[30]
+ mi := &file_binlogdata_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2977,7 +3072,7 @@ type RowChange_Bitmap struct {
func (x *RowChange_Bitmap) Reset() {
*x = RowChange_Bitmap{}
if protoimpl.UnsafeEnabled {
- mi := &file_binlogdata_proto_msgTypes[34]
+ mi := &file_binlogdata_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2990,7 +3085,7 @@ func (x *RowChange_Bitmap) String() string {
func (*RowChange_Bitmap) ProtoMessage() {}
func (x *RowChange_Bitmap) ProtoReflect() protoreflect.Message {
- mi := &file_binlogdata_proto_msgTypes[34]
+ mi := &file_binlogdata_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3206,7 +3301,7 @@ var file_binlogdata_proto_rawDesc = []byte{
0x75, 0x6d, 0x6e, 0x73, 0x1a, 0x32, 0x0a, 0x06, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0c, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x08, 0x52, 0x6f, 0x77,
+ 0x28, 0x0c, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0xd5, 0x01, 0x0a, 0x08, 0x52, 0x6f, 0x77,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x68, 0x61, 0x6e,
@@ -3217,145 +3312,171 @@ var file_binlogdata_proto_rawDesc = []byte{
0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14,
0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66,
- 0x6c, 0x61, 0x67, 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76,
- 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61,
- 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
- 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x65, 0x6e,
- 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x75, 0x6d,
- 0x53, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22,
- 0x88, 0x01, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12,
- 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67,
- 0x74, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x5f, 0x6b,
- 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b,
- 0x52, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x4b, 0x73, 0x22, 0x3f, 0x0a, 0x05, 0x56, 0x47,
- 0x74, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x74, 0x69,
- 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f,
- 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x52,
- 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x73, 0x22, 0x41, 0x0a, 0x0d, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0xbc,
- 0x02, 0x0a, 0x07, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6d, 0x69,
- 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x6d,
- 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f,
- 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x0b, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x74, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
+ 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0f, 0x69, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x22, 0xe4, 0x01, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24,
+ 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c,
+ 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69,
+ 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x73,
+ 0x65, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73,
+ 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x74, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69,
+ 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
+ 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x47, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x0a, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50,
+ 0x4b, 0x73, 0x22, 0x3f, 0x0a, 0x05, 0x56, 0x47, 0x74, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x74, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x15, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68,
0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74,
- 0x69, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
- 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x69, 0x6e, 0x6c,
- 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
- 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x77, 0x6f, 0x72,
- 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x22, 0xb6, 0x04,
- 0x0a, 0x06, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
- 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
- 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
- 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d,
- 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65,
- 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x65, 0x76, 0x65, 0x6e,
- 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x72,
- 0x6f, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64,
- 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x62,
- 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45,
- 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74,
- 0x12, 0x27, 0x0a, 0x05, 0x76, 0x67, 0x74, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x11, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x47, 0x74,
- 0x69, 0x64, 0x52, 0x05, 0x76, 0x67, 0x74, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x07, 0x6a, 0x6f, 0x75,
- 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x69, 0x6e,
- 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x52,
- 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6d, 0x6c, 0x18,
- 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6d, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75,
- 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a,
- 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18,
- 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0b,
- 0x6c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
- 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a,
- 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x74,
- 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
- 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64,
- 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x6d,
- 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66,
- 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75,
- 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64,
- 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x5f, 0x6b, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73,
- 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x70, 0x4b, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
- 0x73, 0x12, 0x23, 0x0a, 0x0e, 0x70, 0x5f, 0x6b, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x4b, 0x49, 0x6e, 0x64,
- 0x65, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x0d, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61,
- 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x30, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xc7, 0x02, 0x0a, 0x0e, 0x56, 0x53,
- 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13,
- 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72,
- 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70,
- 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65,
- 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a,
- 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65,
- 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65,
- 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
- 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72,
- 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
- 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c,
- 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x73,
- 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62,
- 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c,
- 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74,
- 0x50, 0x4b, 0x73, 0x22, 0x3d, 0x0a, 0x0f, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e,
- 0x74, 0x73, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x6f,
- 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43,
- 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
- 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d,
- 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
- 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
- 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
- 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72,
- 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2a,
- 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
- 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22, 0xa4, 0x02, 0x0a, 0x13, 0x56,
+ 0x69, 0x64, 0x73, 0x22, 0x41, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0xbc, 0x02, 0x0a, 0x07, 0x4a, 0x6f, 0x75, 0x72, 0x6e,
+ 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02,
+ 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x62, 0x69, 0x6e,
+ 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e,
+ 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x74, 0x69,
+ 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f,
+ 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x52,
+ 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x47, 0x74, 0x69, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x70,
+ 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x0c, 0x70, 0x61,
+ 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x07,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x22, 0xb6, 0x04, 0x0a, 0x06, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
+ 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09,
+ 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1c,
+ 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x09,
+ 0x72, 0x6f, 0x77, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x14, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x6f, 0x77,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
+ 0x37, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x66, 0x69,
+ 0x65, 0x6c, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x67, 0x74, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x47, 0x74, 0x69, 0x64, 0x52, 0x05, 0x76, 0x67, 0x74, 0x69,
+ 0x64, 0x12, 0x2d, 0x0a, 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c,
+ 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6d, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64,
+ 0x6d, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
+ 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f,
+ 0x6b, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
+ 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x50,
+ 0x4b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
+ 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74,
+ 0x6c, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64,
+ 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x8d,
+ 0x01, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12,
+ 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c,
+ 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x5f, 0x6b,
+ 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09,
+ 0x70, 0x4b, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0e, 0x70, 0x5f, 0x6b,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0b, 0x70, 0x4b, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x41,
+ 0x0a, 0x0d, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12,
+ 0x30, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x18, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x6e,
+ 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x73, 0x22, 0xd9, 0x01, 0x0a, 0x0e, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
+ 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69,
+ 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x5a, 0x0a,
+ 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
+ 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69,
+ 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x1a, 0x42, 0x0a, 0x14, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfd, 0x02,
+ 0x0a, 0x0e, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
+ 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
+ 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
+ 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65,
+ 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
+ 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x66,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69,
+ 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52,
+ 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f,
+ 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3d, 0x0a,
+ 0x0f, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x2a, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x12, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xbb, 0x02, 0x0a,
+ 0x12, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
+ 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74,
+ 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65,
+ 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69,
+ 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74,
+ 0x70, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x6c, 0x61,
+ 0x73, 0x74, 0x70, 0x6b, 0x12, 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa4, 0x02, 0x0a, 0x13, 0x56,
0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
@@ -3374,7 +3495,7 @@ var file_binlogdata_proto_rawDesc = []byte{
0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74,
0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f,
- 0x6e, 0x22, 0xc5, 0x01, 0x0a, 0x14, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x62,
+ 0x6e, 0x22, 0xfb, 0x01, 0x0a, 0x14, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x62,
0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66,
0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e,
@@ -3386,101 +3507,104 @@ var file_binlogdata_proto_rawDesc = []byte{
0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x56, 0x53,
- 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61,
- 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
- 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x08, 0x70, 0x6b, 0x66, 0x69,
- 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65,
- 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x08, 0x70, 0x6b, 0x66, 0x69, 0x65, 0x6c,
- 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x05,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77,
- 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52,
- 0x6f, 0x77, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22, 0x69, 0x0a, 0x0b, 0x4c, 0x61,
- 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0e, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
- 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70,
- 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x58, 0x0a, 0x0b, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61,
- 0x73, 0x74, 0x50, 0x4b, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e,
- 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72,
- 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22,
- 0xdc, 0x01, 0x0a, 0x15, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43,
- 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
- 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d,
- 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
- 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
- 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
- 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72,
- 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x72,
- 0x0a, 0x16, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c,
- 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
- 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12,
- 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74,
- 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f,
- 0x77, 0x73, 0x2a, 0x3e, 0x0a, 0x0b, 0x4f, 0x6e, 0x44, 0x44, 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a,
- 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x58, 0x45, 0x43, 0x10,
- 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x58, 0x45, 0x43, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45,
- 0x10, 0x03, 0x2a, 0x7b, 0x0a, 0x18, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f,
- 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x10, 0x00, 0x12,
- 0x0e, 0x0a, 0x0a, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x01, 0x12,
- 0x15, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49,
- 0x6e, 0x64, 0x65, 0x78, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
- 0x65, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x10, 0x04,
- 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x2a,
- 0x44, 0x0a, 0x1b, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08,
- 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x61, 0x72, 0x74,
- 0x69, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43,
- 0x6f, 0x70, 0x79, 0x10, 0x02, 0x2a, 0x71, 0x0a, 0x19, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61,
- 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12,
- 0x08, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x74, 0x6f,
- 0x70, 0x70, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x70, 0x79, 0x69, 0x6e,
- 0x67, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x04,
- 0x12, 0x09, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x4c,
- 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x10, 0x06, 0x2a, 0x8d, 0x02, 0x0a, 0x0a, 0x56, 0x45, 0x76,
- 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
- 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x54, 0x49, 0x44, 0x10, 0x01, 0x12, 0x09,
- 0x0a, 0x05, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d,
- 0x4d, 0x49, 0x54, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43,
- 0x4b, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06,
- 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c,
- 0x41, 0x43, 0x45, 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10,
- 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x09, 0x12, 0x07, 0x0a,
- 0x03, 0x53, 0x45, 0x54, 0x10, 0x0a, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10,
- 0x0b, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x4f, 0x57, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49,
- 0x45, 0x4c, 0x44, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45,
- 0x41, 0x54, 0x10, 0x0e, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x47, 0x54, 0x49, 0x44, 0x10, 0x0f, 0x12,
- 0x0b, 0x0a, 0x07, 0x4a, 0x4f, 0x55, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07,
- 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x11, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x41, 0x53,
- 0x54, 0x50, 0x4b, 0x10, 0x12, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x41, 0x56, 0x45, 0x50, 0x4f, 0x49,
- 0x4e, 0x54, 0x10, 0x13, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x50, 0x59, 0x5f, 0x43, 0x4f, 0x4d,
- 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x14, 0x2a, 0x27, 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x42,
- 0x4c, 0x45, 0x53, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x48, 0x41, 0x52, 0x44, 0x53, 0x10,
- 0x01, 0x42, 0x29, 0x5a, 0x27, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76,
- 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2f, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x33,
+ 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x69, 0x6e,
+ 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,
+ 0xde, 0x01, 0x0a, 0x15, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c,
+ 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x28,
+ 0x0a, 0x08, 0x70, 0x6b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x08,
+ 0x70, 0x6b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04,
+ 0x72, 0x6f, 0x77, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x22, 0x0a, 0x06,
+ 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b,
+ 0x22, 0x69, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
+ 0x3c, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f,
+ 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b,
+ 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x12, 0x1c, 0x0a,
+ 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x58, 0x0a, 0x0b, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x6c, 0x61, 0x73,
+ 0x74, 0x70, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x6c,
+ 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22, 0xdc, 0x01, 0x0a, 0x15, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76,
+ 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64,
+ 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x14,
+ 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x22, 0x72, 0x0a, 0x16, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24,
+ 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c,
+ 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69,
+ 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73,
+ 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52,
+ 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x2a, 0x3e, 0x0a, 0x0b, 0x4f, 0x6e, 0x44, 0x44,
+ 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f, 0x52,
+ 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a,
+ 0x04, 0x45, 0x58, 0x45, 0x43, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x58, 0x45, 0x43, 0x5f,
+ 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x03, 0x2a, 0x7b, 0x0a, 0x18, 0x56, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c,
+ 0x69, 0x7a, 0x65, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x73, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c,
+ 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07,
+ 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x65, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
+ 0x44, 0x44, 0x4c, 0x10, 0x05, 0x2a, 0x44, 0x0a, 0x1b, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0b,
+ 0x0a, 0x07, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x41,
+ 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, 0x6f, 0x70, 0x79, 0x10, 0x02, 0x2a, 0x71, 0x0a, 0x19, 0x56,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e,
+ 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x01, 0x12,
+ 0x0b, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07,
+ 0x43, 0x6f, 0x70, 0x79, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x75, 0x6e,
+ 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10,
+ 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x10, 0x06, 0x2a, 0x8d,
+ 0x02, 0x0a, 0x0a, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a,
+ 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x54,
+ 0x49, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x10, 0x02, 0x12,
+ 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x52,
+ 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x44, 0x4c,
+ 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x10, 0x06, 0x12, 0x0b,
+ 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x55,
+ 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54,
+ 0x45, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x0a, 0x12, 0x09, 0x0a, 0x05,
+ 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x4f, 0x57, 0x10, 0x0c,
+ 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x48,
+ 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x10, 0x0e, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x47,
+ 0x54, 0x49, 0x44, 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x4f, 0x55, 0x52, 0x4e, 0x41, 0x4c,
+ 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x11, 0x12,
+ 0x0a, 0x0a, 0x06, 0x4c, 0x41, 0x53, 0x54, 0x50, 0x4b, 0x10, 0x12, 0x12, 0x0d, 0x0a, 0x09, 0x53,
+ 0x41, 0x56, 0x45, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x13, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f,
+ 0x50, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x14, 0x2a, 0x27,
+ 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53,
+ 0x48, 0x41, 0x52, 0x44, 0x53, 0x10, 0x01, 0x42, 0x29, 0x5a, 0x27, 0x76, 0x69, 0x74, 0x65, 0x73,
+ 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76,
+ 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61,
+ 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -3496,7 +3620,7 @@ func file_binlogdata_proto_rawDescGZIP() []byte {
}
var file_binlogdata_proto_enumTypes = make([]protoimpl.EnumInfo, 8)
-var file_binlogdata_proto_msgTypes = make([]protoimpl.MessageInfo, 35)
+var file_binlogdata_proto_msgTypes = make([]protoimpl.MessageInfo, 37)
var file_binlogdata_proto_goTypes = []any{
(OnDDLAction)(0), // 0: binlogdata.OnDDLAction
(VReplicationWorkflowType)(0), // 1: binlogdata.VReplicationWorkflowType
@@ -3526,54 +3650,56 @@ var file_binlogdata_proto_goTypes = []any{
(*VEvent)(nil), // 25: binlogdata.VEvent
(*MinimalTable)(nil), // 26: binlogdata.MinimalTable
(*MinimalSchema)(nil), // 27: binlogdata.MinimalSchema
- (*VStreamRequest)(nil), // 28: binlogdata.VStreamRequest
- (*VStreamResponse)(nil), // 29: binlogdata.VStreamResponse
- (*VStreamRowsRequest)(nil), // 30: binlogdata.VStreamRowsRequest
- (*VStreamRowsResponse)(nil), // 31: binlogdata.VStreamRowsResponse
- (*VStreamTablesRequest)(nil), // 32: binlogdata.VStreamTablesRequest
- (*VStreamTablesResponse)(nil), // 33: binlogdata.VStreamTablesResponse
- (*LastPKEvent)(nil), // 34: binlogdata.LastPKEvent
- (*TableLastPK)(nil), // 35: binlogdata.TableLastPK
- (*VStreamResultsRequest)(nil), // 36: binlogdata.VStreamResultsRequest
- (*VStreamResultsResponse)(nil), // 37: binlogdata.VStreamResultsResponse
- (*BinlogTransaction_Statement)(nil), // 38: binlogdata.BinlogTransaction.Statement
- nil, // 39: binlogdata.Rule.ConvertEnumToTextEntry
- nil, // 40: binlogdata.Rule.ConvertCharsetEntry
- nil, // 41: binlogdata.Rule.ConvertIntToEnumEntry
- (*RowChange_Bitmap)(nil), // 42: binlogdata.RowChange.Bitmap
- (*query.EventToken)(nil), // 43: query.EventToken
- (*topodata.KeyRange)(nil), // 44: topodata.KeyRange
- (topodata.TabletType)(0), // 45: topodata.TabletType
- (*query.Row)(nil), // 46: query.Row
- (*query.Field)(nil), // 47: query.Field
- (*vtrpc.CallerID)(nil), // 48: vtrpc.CallerID
- (*query.VTGateCallerID)(nil), // 49: query.VTGateCallerID
- (*query.Target)(nil), // 50: query.Target
- (*query.QueryResult)(nil), // 51: query.QueryResult
+ (*VStreamOptions)(nil), // 28: binlogdata.VStreamOptions
+ (*VStreamRequest)(nil), // 29: binlogdata.VStreamRequest
+ (*VStreamResponse)(nil), // 30: binlogdata.VStreamResponse
+ (*VStreamRowsRequest)(nil), // 31: binlogdata.VStreamRowsRequest
+ (*VStreamRowsResponse)(nil), // 32: binlogdata.VStreamRowsResponse
+ (*VStreamTablesRequest)(nil), // 33: binlogdata.VStreamTablesRequest
+ (*VStreamTablesResponse)(nil), // 34: binlogdata.VStreamTablesResponse
+ (*LastPKEvent)(nil), // 35: binlogdata.LastPKEvent
+ (*TableLastPK)(nil), // 36: binlogdata.TableLastPK
+ (*VStreamResultsRequest)(nil), // 37: binlogdata.VStreamResultsRequest
+ (*VStreamResultsResponse)(nil), // 38: binlogdata.VStreamResultsResponse
+ (*BinlogTransaction_Statement)(nil), // 39: binlogdata.BinlogTransaction.Statement
+ nil, // 40: binlogdata.Rule.ConvertEnumToTextEntry
+ nil, // 41: binlogdata.Rule.ConvertCharsetEntry
+ nil, // 42: binlogdata.Rule.ConvertIntToEnumEntry
+ (*RowChange_Bitmap)(nil), // 43: binlogdata.RowChange.Bitmap
+ nil, // 44: binlogdata.VStreamOptions.ConfigOverridesEntry
+ (*query.EventToken)(nil), // 45: query.EventToken
+ (*topodata.KeyRange)(nil), // 46: topodata.KeyRange
+ (topodata.TabletType)(0), // 47: topodata.TabletType
+ (*query.Row)(nil), // 48: query.Row
+ (*query.Field)(nil), // 49: query.Field
+ (*vtrpc.CallerID)(nil), // 50: vtrpc.CallerID
+ (*query.VTGateCallerID)(nil), // 51: query.VTGateCallerID
+ (*query.Target)(nil), // 52: query.Target
+ (*query.QueryResult)(nil), // 53: query.QueryResult
}
var file_binlogdata_proto_depIdxs = []int32{
- 38, // 0: binlogdata.BinlogTransaction.statements:type_name -> binlogdata.BinlogTransaction.Statement
- 43, // 1: binlogdata.BinlogTransaction.event_token:type_name -> query.EventToken
- 44, // 2: binlogdata.StreamKeyRangeRequest.key_range:type_name -> topodata.KeyRange
+ 39, // 0: binlogdata.BinlogTransaction.statements:type_name -> binlogdata.BinlogTransaction.Statement
+ 45, // 1: binlogdata.BinlogTransaction.event_token:type_name -> query.EventToken
+ 46, // 2: binlogdata.StreamKeyRangeRequest.key_range:type_name -> topodata.KeyRange
8, // 3: binlogdata.StreamKeyRangeRequest.charset:type_name -> binlogdata.Charset
9, // 4: binlogdata.StreamKeyRangeResponse.binlog_transaction:type_name -> binlogdata.BinlogTransaction
8, // 5: binlogdata.StreamTablesRequest.charset:type_name -> binlogdata.Charset
9, // 6: binlogdata.StreamTablesResponse.binlog_transaction:type_name -> binlogdata.BinlogTransaction
- 39, // 7: binlogdata.Rule.convert_enum_to_text:type_name -> binlogdata.Rule.ConvertEnumToTextEntry
- 40, // 8: binlogdata.Rule.convert_charset:type_name -> binlogdata.Rule.ConvertCharsetEntry
- 41, // 9: binlogdata.Rule.convert_int_to_enum:type_name -> binlogdata.Rule.ConvertIntToEnumEntry
+ 40, // 7: binlogdata.Rule.convert_enum_to_text:type_name -> binlogdata.Rule.ConvertEnumToTextEntry
+ 41, // 8: binlogdata.Rule.convert_charset:type_name -> binlogdata.Rule.ConvertCharsetEntry
+ 42, // 9: binlogdata.Rule.convert_int_to_enum:type_name -> binlogdata.Rule.ConvertIntToEnumEntry
15, // 10: binlogdata.Filter.rules:type_name -> binlogdata.Rule
7, // 11: binlogdata.Filter.field_event_mode:type_name -> binlogdata.Filter.FieldEventMode
- 45, // 12: binlogdata.BinlogSource.tablet_type:type_name -> topodata.TabletType
- 44, // 13: binlogdata.BinlogSource.key_range:type_name -> topodata.KeyRange
+ 47, // 12: binlogdata.BinlogSource.tablet_type:type_name -> topodata.TabletType
+ 46, // 13: binlogdata.BinlogSource.key_range:type_name -> topodata.KeyRange
16, // 14: binlogdata.BinlogSource.filter:type_name -> binlogdata.Filter
0, // 15: binlogdata.BinlogSource.on_ddl:type_name -> binlogdata.OnDDLAction
- 46, // 16: binlogdata.RowChange.before:type_name -> query.Row
- 46, // 17: binlogdata.RowChange.after:type_name -> query.Row
- 42, // 18: binlogdata.RowChange.data_columns:type_name -> binlogdata.RowChange.Bitmap
+ 48, // 16: binlogdata.RowChange.before:type_name -> query.Row
+ 48, // 17: binlogdata.RowChange.after:type_name -> query.Row
+ 43, // 18: binlogdata.RowChange.data_columns:type_name -> binlogdata.RowChange.Bitmap
18, // 19: binlogdata.RowEvent.row_changes:type_name -> binlogdata.RowChange
- 47, // 20: binlogdata.FieldEvent.fields:type_name -> query.Field
- 35, // 21: binlogdata.ShardGtid.table_p_ks:type_name -> binlogdata.TableLastPK
+ 49, // 20: binlogdata.FieldEvent.fields:type_name -> query.Field
+ 36, // 21: binlogdata.ShardGtid.table_p_ks:type_name -> binlogdata.TableLastPK
21, // 22: binlogdata.VGtid.shard_gtids:type_name -> binlogdata.ShardGtid
5, // 23: binlogdata.Journal.migration_type:type_name -> binlogdata.MigrationType
21, // 24: binlogdata.Journal.shard_gtids:type_name -> binlogdata.ShardGtid
@@ -3583,45 +3709,49 @@ var file_binlogdata_proto_depIdxs = []int32{
20, // 28: binlogdata.VEvent.field_event:type_name -> binlogdata.FieldEvent
22, // 29: binlogdata.VEvent.vgtid:type_name -> binlogdata.VGtid
24, // 30: binlogdata.VEvent.journal:type_name -> binlogdata.Journal
- 34, // 31: binlogdata.VEvent.last_p_k_event:type_name -> binlogdata.LastPKEvent
- 47, // 32: binlogdata.MinimalTable.fields:type_name -> query.Field
+ 35, // 31: binlogdata.VEvent.last_p_k_event:type_name -> binlogdata.LastPKEvent
+ 49, // 32: binlogdata.MinimalTable.fields:type_name -> query.Field
26, // 33: binlogdata.MinimalSchema.tables:type_name -> binlogdata.MinimalTable
- 48, // 34: binlogdata.VStreamRequest.effective_caller_id:type_name -> vtrpc.CallerID
- 49, // 35: binlogdata.VStreamRequest.immediate_caller_id:type_name -> query.VTGateCallerID
- 50, // 36: binlogdata.VStreamRequest.target:type_name -> query.Target
- 16, // 37: binlogdata.VStreamRequest.filter:type_name -> binlogdata.Filter
- 35, // 38: binlogdata.VStreamRequest.table_last_p_ks:type_name -> binlogdata.TableLastPK
- 25, // 39: binlogdata.VStreamResponse.events:type_name -> binlogdata.VEvent
- 48, // 40: binlogdata.VStreamRowsRequest.effective_caller_id:type_name -> vtrpc.CallerID
- 49, // 41: binlogdata.VStreamRowsRequest.immediate_caller_id:type_name -> query.VTGateCallerID
- 50, // 42: binlogdata.VStreamRowsRequest.target:type_name -> query.Target
- 51, // 43: binlogdata.VStreamRowsRequest.lastpk:type_name -> query.QueryResult
- 47, // 44: binlogdata.VStreamRowsResponse.fields:type_name -> query.Field
- 47, // 45: binlogdata.VStreamRowsResponse.pkfields:type_name -> query.Field
- 46, // 46: binlogdata.VStreamRowsResponse.rows:type_name -> query.Row
- 46, // 47: binlogdata.VStreamRowsResponse.lastpk:type_name -> query.Row
- 48, // 48: binlogdata.VStreamTablesRequest.effective_caller_id:type_name -> vtrpc.CallerID
- 49, // 49: binlogdata.VStreamTablesRequest.immediate_caller_id:type_name -> query.VTGateCallerID
- 50, // 50: binlogdata.VStreamTablesRequest.target:type_name -> query.Target
- 47, // 51: binlogdata.VStreamTablesResponse.fields:type_name -> query.Field
- 47, // 52: binlogdata.VStreamTablesResponse.pkfields:type_name -> query.Field
- 46, // 53: binlogdata.VStreamTablesResponse.rows:type_name -> query.Row
- 46, // 54: binlogdata.VStreamTablesResponse.lastpk:type_name -> query.Row
- 35, // 55: binlogdata.LastPKEvent.table_last_p_k:type_name -> binlogdata.TableLastPK
- 51, // 56: binlogdata.TableLastPK.lastpk:type_name -> query.QueryResult
- 48, // 57: binlogdata.VStreamResultsRequest.effective_caller_id:type_name -> vtrpc.CallerID
- 49, // 58: binlogdata.VStreamResultsRequest.immediate_caller_id:type_name -> query.VTGateCallerID
- 50, // 59: binlogdata.VStreamResultsRequest.target:type_name -> query.Target
- 47, // 60: binlogdata.VStreamResultsResponse.fields:type_name -> query.Field
- 46, // 61: binlogdata.VStreamResultsResponse.rows:type_name -> query.Row
- 6, // 62: binlogdata.BinlogTransaction.Statement.category:type_name -> binlogdata.BinlogTransaction.Statement.Category
- 8, // 63: binlogdata.BinlogTransaction.Statement.charset:type_name -> binlogdata.Charset
- 14, // 64: binlogdata.Rule.ConvertCharsetEntry.value:type_name -> binlogdata.CharsetConversion
- 65, // [65:65] is the sub-list for method output_type
- 65, // [65:65] is the sub-list for method input_type
- 65, // [65:65] is the sub-list for extension type_name
- 65, // [65:65] is the sub-list for extension extendee
- 0, // [0:65] is the sub-list for field type_name
+ 44, // 34: binlogdata.VStreamOptions.config_overrides:type_name -> binlogdata.VStreamOptions.ConfigOverridesEntry
+ 50, // 35: binlogdata.VStreamRequest.effective_caller_id:type_name -> vtrpc.CallerID
+ 51, // 36: binlogdata.VStreamRequest.immediate_caller_id:type_name -> query.VTGateCallerID
+ 52, // 37: binlogdata.VStreamRequest.target:type_name -> query.Target
+ 16, // 38: binlogdata.VStreamRequest.filter:type_name -> binlogdata.Filter
+ 36, // 39: binlogdata.VStreamRequest.table_last_p_ks:type_name -> binlogdata.TableLastPK
+ 28, // 40: binlogdata.VStreamRequest.options:type_name -> binlogdata.VStreamOptions
+ 25, // 41: binlogdata.VStreamResponse.events:type_name -> binlogdata.VEvent
+ 50, // 42: binlogdata.VStreamRowsRequest.effective_caller_id:type_name -> vtrpc.CallerID
+ 51, // 43: binlogdata.VStreamRowsRequest.immediate_caller_id:type_name -> query.VTGateCallerID
+ 52, // 44: binlogdata.VStreamRowsRequest.target:type_name -> query.Target
+ 53, // 45: binlogdata.VStreamRowsRequest.lastpk:type_name -> query.QueryResult
+ 28, // 46: binlogdata.VStreamRowsRequest.options:type_name -> binlogdata.VStreamOptions
+ 49, // 47: binlogdata.VStreamRowsResponse.fields:type_name -> query.Field
+ 49, // 48: binlogdata.VStreamRowsResponse.pkfields:type_name -> query.Field
+ 48, // 49: binlogdata.VStreamRowsResponse.rows:type_name -> query.Row
+ 48, // 50: binlogdata.VStreamRowsResponse.lastpk:type_name -> query.Row
+ 50, // 51: binlogdata.VStreamTablesRequest.effective_caller_id:type_name -> vtrpc.CallerID
+ 51, // 52: binlogdata.VStreamTablesRequest.immediate_caller_id:type_name -> query.VTGateCallerID
+ 52, // 53: binlogdata.VStreamTablesRequest.target:type_name -> query.Target
+ 28, // 54: binlogdata.VStreamTablesRequest.options:type_name -> binlogdata.VStreamOptions
+ 49, // 55: binlogdata.VStreamTablesResponse.fields:type_name -> query.Field
+ 49, // 56: binlogdata.VStreamTablesResponse.pkfields:type_name -> query.Field
+ 48, // 57: binlogdata.VStreamTablesResponse.rows:type_name -> query.Row
+ 48, // 58: binlogdata.VStreamTablesResponse.lastpk:type_name -> query.Row
+ 36, // 59: binlogdata.LastPKEvent.table_last_p_k:type_name -> binlogdata.TableLastPK
+ 53, // 60: binlogdata.TableLastPK.lastpk:type_name -> query.QueryResult
+ 50, // 61: binlogdata.VStreamResultsRequest.effective_caller_id:type_name -> vtrpc.CallerID
+ 51, // 62: binlogdata.VStreamResultsRequest.immediate_caller_id:type_name -> query.VTGateCallerID
+ 52, // 63: binlogdata.VStreamResultsRequest.target:type_name -> query.Target
+ 49, // 64: binlogdata.VStreamResultsResponse.fields:type_name -> query.Field
+ 48, // 65: binlogdata.VStreamResultsResponse.rows:type_name -> query.Row
+ 6, // 66: binlogdata.BinlogTransaction.Statement.category:type_name -> binlogdata.BinlogTransaction.Statement.Category
+ 8, // 67: binlogdata.BinlogTransaction.Statement.charset:type_name -> binlogdata.Charset
+ 14, // 68: binlogdata.Rule.ConvertCharsetEntry.value:type_name -> binlogdata.CharsetConversion
+ 69, // [69:69] is the sub-list for method output_type
+ 69, // [69:69] is the sub-list for method input_type
+ 69, // [69:69] is the sub-list for extension type_name
+ 69, // [69:69] is the sub-list for extension extendee
+ 0, // [0:69] is the sub-list for field type_name
}
func init() { file_binlogdata_proto_init() }
@@ -3871,7 +4001,7 @@ func file_binlogdata_proto_init() {
}
}
file_binlogdata_proto_msgTypes[20].Exporter = func(v any, i int) any {
- switch v := v.(*VStreamRequest); i {
+ switch v := v.(*VStreamOptions); i {
case 0:
return &v.state
case 1:
@@ -3883,7 +4013,7 @@ func file_binlogdata_proto_init() {
}
}
file_binlogdata_proto_msgTypes[21].Exporter = func(v any, i int) any {
- switch v := v.(*VStreamResponse); i {
+ switch v := v.(*VStreamRequest); i {
case 0:
return &v.state
case 1:
@@ -3895,7 +4025,7 @@ func file_binlogdata_proto_init() {
}
}
file_binlogdata_proto_msgTypes[22].Exporter = func(v any, i int) any {
- switch v := v.(*VStreamRowsRequest); i {
+ switch v := v.(*VStreamResponse); i {
case 0:
return &v.state
case 1:
@@ -3907,7 +4037,7 @@ func file_binlogdata_proto_init() {
}
}
file_binlogdata_proto_msgTypes[23].Exporter = func(v any, i int) any {
- switch v := v.(*VStreamRowsResponse); i {
+ switch v := v.(*VStreamRowsRequest); i {
case 0:
return &v.state
case 1:
@@ -3919,7 +4049,7 @@ func file_binlogdata_proto_init() {
}
}
file_binlogdata_proto_msgTypes[24].Exporter = func(v any, i int) any {
- switch v := v.(*VStreamTablesRequest); i {
+ switch v := v.(*VStreamRowsResponse); i {
case 0:
return &v.state
case 1:
@@ -3931,7 +4061,7 @@ func file_binlogdata_proto_init() {
}
}
file_binlogdata_proto_msgTypes[25].Exporter = func(v any, i int) any {
- switch v := v.(*VStreamTablesResponse); i {
+ switch v := v.(*VStreamTablesRequest); i {
case 0:
return &v.state
case 1:
@@ -3943,7 +4073,7 @@ func file_binlogdata_proto_init() {
}
}
file_binlogdata_proto_msgTypes[26].Exporter = func(v any, i int) any {
- switch v := v.(*LastPKEvent); i {
+ switch v := v.(*VStreamTablesResponse); i {
case 0:
return &v.state
case 1:
@@ -3955,7 +4085,7 @@ func file_binlogdata_proto_init() {
}
}
file_binlogdata_proto_msgTypes[27].Exporter = func(v any, i int) any {
- switch v := v.(*TableLastPK); i {
+ switch v := v.(*LastPKEvent); i {
case 0:
return &v.state
case 1:
@@ -3967,7 +4097,7 @@ func file_binlogdata_proto_init() {
}
}
file_binlogdata_proto_msgTypes[28].Exporter = func(v any, i int) any {
- switch v := v.(*VStreamResultsRequest); i {
+ switch v := v.(*TableLastPK); i {
case 0:
return &v.state
case 1:
@@ -3979,7 +4109,7 @@ func file_binlogdata_proto_init() {
}
}
file_binlogdata_proto_msgTypes[29].Exporter = func(v any, i int) any {
- switch v := v.(*VStreamResultsResponse); i {
+ switch v := v.(*VStreamResultsRequest); i {
case 0:
return &v.state
case 1:
@@ -3991,6 +4121,18 @@ func file_binlogdata_proto_init() {
}
}
file_binlogdata_proto_msgTypes[30].Exporter = func(v any, i int) any {
+ switch v := v.(*VStreamResultsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_binlogdata_proto_msgTypes[31].Exporter = func(v any, i int) any {
switch v := v.(*BinlogTransaction_Statement); i {
case 0:
return &v.state
@@ -4002,7 +4144,7 @@ func file_binlogdata_proto_init() {
return nil
}
}
- file_binlogdata_proto_msgTypes[34].Exporter = func(v any, i int) any {
+ file_binlogdata_proto_msgTypes[35].Exporter = func(v any, i int) any {
switch v := v.(*RowChange_Bitmap); i {
case 0:
return &v.state
@@ -4021,7 +4163,7 @@ func file_binlogdata_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_binlogdata_proto_rawDesc,
NumEnums: 8,
- NumMessages: 35,
+ NumMessages: 37,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/go/vt/proto/binlogdata/binlogdata_vtproto.pb.go b/go/vt/proto/binlogdata/binlogdata_vtproto.pb.go
index ea15c40a992..fd76576fcb5 100644
--- a/go/vt/proto/binlogdata/binlogdata_vtproto.pb.go
+++ b/go/vt/proto/binlogdata/binlogdata_vtproto.pb.go
@@ -1,15 +1,15 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: binlogdata.proto
package binlogdata
import (
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
- bits "math/bits"
sync "sync"
query "vitess.io/vitess/go/vt/proto/query"
topodata "vitess.io/vitess/go/vt/proto/topodata"
@@ -27,11 +27,10 @@ func (m *Charset) CloneVT() *Charset {
if m == nil {
return (*Charset)(nil)
}
- r := &Charset{
- Client: m.Client,
- Conn: m.Conn,
- Server: m.Server,
- }
+ r := new(Charset)
+ r.Client = m.Client
+ r.Conn = m.Conn
+ r.Server = m.Server
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -47,10 +46,9 @@ func (m *BinlogTransaction_Statement) CloneVT() *BinlogTransaction_Statement {
if m == nil {
return (*BinlogTransaction_Statement)(nil)
}
- r := &BinlogTransaction_Statement{
- Category: m.Category,
- Charset: m.Charset.CloneVT(),
- }
+ r := new(BinlogTransaction_Statement)
+ r.Category = m.Category
+ r.Charset = m.Charset.CloneVT()
if rhs := m.Sql; rhs != nil {
tmpBytes := make([]byte, len(rhs))
copy(tmpBytes, rhs)
@@ -71,9 +69,8 @@ func (m *BinlogTransaction) CloneVT() *BinlogTransaction {
if m == nil {
return (*BinlogTransaction)(nil)
}
- r := &BinlogTransaction{
- EventToken: m.EventToken.CloneVT(),
- }
+ r := new(BinlogTransaction)
+ r.EventToken = m.EventToken.CloneVT()
if rhs := m.Statements; rhs != nil {
tmpContainer := make([]*BinlogTransaction_Statement, len(rhs))
for k, v := range rhs {
@@ -96,11 +93,10 @@ func (m *StreamKeyRangeRequest) CloneVT() *StreamKeyRangeRequest {
if m == nil {
return (*StreamKeyRangeRequest)(nil)
}
- r := &StreamKeyRangeRequest{
- Position: m.Position,
- KeyRange: m.KeyRange.CloneVT(),
- Charset: m.Charset.CloneVT(),
- }
+ r := new(StreamKeyRangeRequest)
+ r.Position = m.Position
+ r.KeyRange = m.KeyRange.CloneVT()
+ r.Charset = m.Charset.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -116,9 +112,8 @@ func (m *StreamKeyRangeResponse) CloneVT() *StreamKeyRangeResponse {
if m == nil {
return (*StreamKeyRangeResponse)(nil)
}
- r := &StreamKeyRangeResponse{
- BinlogTransaction: m.BinlogTransaction.CloneVT(),
- }
+ r := new(StreamKeyRangeResponse)
+ r.BinlogTransaction = m.BinlogTransaction.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -134,10 +129,9 @@ func (m *StreamTablesRequest) CloneVT() *StreamTablesRequest {
if m == nil {
return (*StreamTablesRequest)(nil)
}
- r := &StreamTablesRequest{
- Position: m.Position,
- Charset: m.Charset.CloneVT(),
- }
+ r := new(StreamTablesRequest)
+ r.Position = m.Position
+ r.Charset = m.Charset.CloneVT()
if rhs := m.Tables; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -158,9 +152,8 @@ func (m *StreamTablesResponse) CloneVT() *StreamTablesResponse {
if m == nil {
return (*StreamTablesResponse)(nil)
}
- r := &StreamTablesResponse{
- BinlogTransaction: m.BinlogTransaction.CloneVT(),
- }
+ r := new(StreamTablesResponse)
+ r.BinlogTransaction = m.BinlogTransaction.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -176,10 +169,9 @@ func (m *CharsetConversion) CloneVT() *CharsetConversion {
if m == nil {
return (*CharsetConversion)(nil)
}
- r := &CharsetConversion{
- FromCharset: m.FromCharset,
- ToCharset: m.ToCharset,
- }
+ r := new(CharsetConversion)
+ r.FromCharset = m.FromCharset
+ r.ToCharset = m.ToCharset
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -195,14 +187,13 @@ func (m *Rule) CloneVT() *Rule {
if m == nil {
return (*Rule)(nil)
}
- r := &Rule{
- Match: m.Match,
- Filter: m.Filter,
- SourceUniqueKeyColumns: m.SourceUniqueKeyColumns,
- TargetUniqueKeyColumns: m.TargetUniqueKeyColumns,
- SourceUniqueKeyTargetColumns: m.SourceUniqueKeyTargetColumns,
- ForceUniqueKey: m.ForceUniqueKey,
- }
+ r := new(Rule)
+ r.Match = m.Match
+ r.Filter = m.Filter
+ r.SourceUniqueKeyColumns = m.SourceUniqueKeyColumns
+ r.TargetUniqueKeyColumns = m.TargetUniqueKeyColumns
+ r.SourceUniqueKeyTargetColumns = m.SourceUniqueKeyTargetColumns
+ r.ForceUniqueKey = m.ForceUniqueKey
if rhs := m.ConvertEnumToText; rhs != nil {
tmpContainer := make(map[string]string, len(rhs))
for k, v := range rhs {
@@ -239,11 +230,10 @@ func (m *Filter) CloneVT() *Filter {
if m == nil {
return (*Filter)(nil)
}
- r := &Filter{
- FieldEventMode: m.FieldEventMode,
- WorkflowType: m.WorkflowType,
- WorkflowName: m.WorkflowName,
- }
+ r := new(Filter)
+ r.FieldEventMode = m.FieldEventMode
+ r.WorkflowType = m.WorkflowType
+ r.WorkflowName = m.WorkflowName
if rhs := m.Rules; rhs != nil {
tmpContainer := make([]*Rule, len(rhs))
for k, v := range rhs {
@@ -266,19 +256,18 @@ func (m *BinlogSource) CloneVT() *BinlogSource {
if m == nil {
return (*BinlogSource)(nil)
}
- r := &BinlogSource{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- TabletType: m.TabletType,
- KeyRange: m.KeyRange.CloneVT(),
- Filter: m.Filter.CloneVT(),
- OnDdl: m.OnDdl,
- ExternalMysql: m.ExternalMysql,
- StopAfterCopy: m.StopAfterCopy,
- ExternalCluster: m.ExternalCluster,
- SourceTimeZone: m.SourceTimeZone,
- TargetTimeZone: m.TargetTimeZone,
- }
+ r := new(BinlogSource)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.TabletType = m.TabletType
+ r.KeyRange = m.KeyRange.CloneVT()
+ r.Filter = m.Filter.CloneVT()
+ r.OnDdl = m.OnDdl
+ r.ExternalMysql = m.ExternalMysql
+ r.StopAfterCopy = m.StopAfterCopy
+ r.ExternalCluster = m.ExternalCluster
+ r.SourceTimeZone = m.SourceTimeZone
+ r.TargetTimeZone = m.TargetTimeZone
if rhs := m.Tables; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -299,9 +288,8 @@ func (m *RowChange_Bitmap) CloneVT() *RowChange_Bitmap {
if m == nil {
return (*RowChange_Bitmap)(nil)
}
- r := &RowChange_Bitmap{
- Count: m.Count,
- }
+ r := new(RowChange_Bitmap)
+ r.Count = m.Count
if rhs := m.Cols; rhs != nil {
tmpBytes := make([]byte, len(rhs))
copy(tmpBytes, rhs)
@@ -322,11 +310,10 @@ func (m *RowChange) CloneVT() *RowChange {
if m == nil {
return (*RowChange)(nil)
}
- r := &RowChange{
- Before: m.Before.CloneVT(),
- After: m.After.CloneVT(),
- DataColumns: m.DataColumns.CloneVT(),
- }
+ r := new(RowChange)
+ r.Before = m.Before.CloneVT()
+ r.After = m.After.CloneVT()
+ r.DataColumns = m.DataColumns.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -342,12 +329,12 @@ func (m *RowEvent) CloneVT() *RowEvent {
if m == nil {
return (*RowEvent)(nil)
}
- r := &RowEvent{
- TableName: m.TableName,
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Flags: m.Flags,
- }
+ r := new(RowEvent)
+ r.TableName = m.TableName
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Flags = m.Flags
+ r.IsInternalTable = m.IsInternalTable
if rhs := m.RowChanges; rhs != nil {
tmpContainer := make([]*RowChange, len(rhs))
for k, v := range rhs {
@@ -370,12 +357,12 @@ func (m *FieldEvent) CloneVT() *FieldEvent {
if m == nil {
return (*FieldEvent)(nil)
}
- r := &FieldEvent{
- TableName: m.TableName,
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- EnumSetStringValues: m.EnumSetStringValues,
- }
+ r := new(FieldEvent)
+ r.TableName = m.TableName
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.EnumSetStringValues = m.EnumSetStringValues
+ r.IsInternalTable = m.IsInternalTable
if rhs := m.Fields; rhs != nil {
tmpContainer := make([]*query.Field, len(rhs))
for k, v := range rhs {
@@ -398,11 +385,10 @@ func (m *ShardGtid) CloneVT() *ShardGtid {
if m == nil {
return (*ShardGtid)(nil)
}
- r := &ShardGtid{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Gtid: m.Gtid,
- }
+ r := new(ShardGtid)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Gtid = m.Gtid
if rhs := m.TablePKs; rhs != nil {
tmpContainer := make([]*TableLastPK, len(rhs))
for k, v := range rhs {
@@ -425,7 +411,7 @@ func (m *VGtid) CloneVT() *VGtid {
if m == nil {
return (*VGtid)(nil)
}
- r := &VGtid{}
+ r := new(VGtid)
if rhs := m.ShardGtids; rhs != nil {
tmpContainer := make([]*ShardGtid, len(rhs))
for k, v := range rhs {
@@ -448,10 +434,9 @@ func (m *KeyspaceShard) CloneVT() *KeyspaceShard {
if m == nil {
return (*KeyspaceShard)(nil)
}
- r := &KeyspaceShard{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- }
+ r := new(KeyspaceShard)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -467,11 +452,10 @@ func (m *Journal) CloneVT() *Journal {
if m == nil {
return (*Journal)(nil)
}
- r := &Journal{
- Id: m.Id,
- MigrationType: m.MigrationType,
- LocalPosition: m.LocalPosition,
- }
+ r := new(Journal)
+ r.Id = m.Id
+ r.MigrationType = m.MigrationType
+ r.LocalPosition = m.LocalPosition
if rhs := m.Tables; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -511,23 +495,22 @@ func (m *VEvent) CloneVT() *VEvent {
if m == nil {
return (*VEvent)(nil)
}
- r := &VEvent{
- Type: m.Type,
- Timestamp: m.Timestamp,
- Gtid: m.Gtid,
- Statement: m.Statement,
- RowEvent: m.RowEvent.CloneVT(),
- FieldEvent: m.FieldEvent.CloneVT(),
- Vgtid: m.Vgtid.CloneVT(),
- Journal: m.Journal.CloneVT(),
- Dml: m.Dml,
- CurrentTime: m.CurrentTime,
- LastPKEvent: m.LastPKEvent.CloneVT(),
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Throttled: m.Throttled,
- ThrottledReason: m.ThrottledReason,
- }
+ r := new(VEvent)
+ r.Type = m.Type
+ r.Timestamp = m.Timestamp
+ r.Gtid = m.Gtid
+ r.Statement = m.Statement
+ r.RowEvent = m.RowEvent.CloneVT()
+ r.FieldEvent = m.FieldEvent.CloneVT()
+ r.Vgtid = m.Vgtid.CloneVT()
+ r.Journal = m.Journal.CloneVT()
+ r.Dml = m.Dml
+ r.CurrentTime = m.CurrentTime
+ r.LastPKEvent = m.LastPKEvent.CloneVT()
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Throttled = m.Throttled
+ r.ThrottledReason = m.ThrottledReason
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -543,10 +526,9 @@ func (m *MinimalTable) CloneVT() *MinimalTable {
if m == nil {
return (*MinimalTable)(nil)
}
- r := &MinimalTable{
- Name: m.Name,
- PKIndexName: m.PKIndexName,
- }
+ r := new(MinimalTable)
+ r.Name = m.Name
+ r.PKIndexName = m.PKIndexName
if rhs := m.Fields; rhs != nil {
tmpContainer := make([]*query.Field, len(rhs))
for k, v := range rhs {
@@ -574,7 +556,7 @@ func (m *MinimalSchema) CloneVT() *MinimalSchema {
if m == nil {
return (*MinimalSchema)(nil)
}
- r := &MinimalSchema{}
+ r := new(MinimalSchema)
if rhs := m.Tables; rhs != nil {
tmpContainer := make([]*MinimalTable, len(rhs))
for k, v := range rhs {
@@ -593,17 +575,45 @@ func (m *MinimalSchema) CloneMessageVT() proto.Message {
return m.CloneVT()
}
+func (m *VStreamOptions) CloneVT() *VStreamOptions {
+ if m == nil {
+ return (*VStreamOptions)(nil)
+ }
+ r := new(VStreamOptions)
+ if rhs := m.InternalTables; rhs != nil {
+ tmpContainer := make([]string, len(rhs))
+ copy(tmpContainer, rhs)
+ r.InternalTables = tmpContainer
+ }
+ if rhs := m.ConfigOverrides; rhs != nil {
+ tmpContainer := make(map[string]string, len(rhs))
+ for k, v := range rhs {
+ tmpContainer[k] = v
+ }
+ r.ConfigOverrides = tmpContainer
+ }
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *VStreamOptions) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
func (m *VStreamRequest) CloneVT() *VStreamRequest {
if m == nil {
return (*VStreamRequest)(nil)
}
- r := &VStreamRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Position: m.Position,
- Filter: m.Filter.CloneVT(),
- }
+ r := new(VStreamRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Position = m.Position
+ r.Filter = m.Filter.CloneVT()
+ r.Options = m.Options.CloneVT()
if rhs := m.TableLastPKs; rhs != nil {
tmpContainer := make([]*TableLastPK, len(rhs))
for k, v := range rhs {
@@ -626,7 +636,7 @@ func (m *VStreamResponse) CloneVT() *VStreamResponse {
if m == nil {
return (*VStreamResponse)(nil)
}
- r := &VStreamResponse{}
+ r := new(VStreamResponse)
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*VEvent, len(rhs))
for k, v := range rhs {
@@ -649,13 +659,13 @@ func (m *VStreamRowsRequest) CloneVT() *VStreamRowsRequest {
if m == nil {
return (*VStreamRowsRequest)(nil)
}
- r := &VStreamRowsRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Query: m.Query,
- Lastpk: m.Lastpk.CloneVT(),
- }
+ r := new(VStreamRowsRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Query = m.Query
+ r.Lastpk = m.Lastpk.CloneVT()
+ r.Options = m.Options.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -671,13 +681,12 @@ func (m *VStreamRowsResponse) CloneVT() *VStreamRowsResponse {
if m == nil {
return (*VStreamRowsResponse)(nil)
}
- r := &VStreamRowsResponse{
- Gtid: m.Gtid,
- Lastpk: m.Lastpk.CloneVT(),
- Throttled: m.Throttled,
- Heartbeat: m.Heartbeat,
- ThrottledReason: m.ThrottledReason,
- }
+ r := VStreamRowsResponseFromVTPool()
+ r.Gtid = m.Gtid
+ r.Lastpk = m.Lastpk.CloneVT()
+ r.Throttled = m.Throttled
+ r.Heartbeat = m.Heartbeat
+ r.ThrottledReason = m.ThrottledReason
if rhs := m.Fields; rhs != nil {
tmpContainer := make([]*query.Field, len(rhs))
for k, v := range rhs {
@@ -714,11 +723,11 @@ func (m *VStreamTablesRequest) CloneVT() *VStreamTablesRequest {
if m == nil {
return (*VStreamTablesRequest)(nil)
}
- r := &VStreamTablesRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- }
+ r := new(VStreamTablesRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Options = m.Options.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -734,11 +743,10 @@ func (m *VStreamTablesResponse) CloneVT() *VStreamTablesResponse {
if m == nil {
return (*VStreamTablesResponse)(nil)
}
- r := &VStreamTablesResponse{
- TableName: m.TableName,
- Gtid: m.Gtid,
- Lastpk: m.Lastpk.CloneVT(),
- }
+ r := VStreamTablesResponseFromVTPool()
+ r.TableName = m.TableName
+ r.Gtid = m.Gtid
+ r.Lastpk = m.Lastpk.CloneVT()
if rhs := m.Fields; rhs != nil {
tmpContainer := make([]*query.Field, len(rhs))
for k, v := range rhs {
@@ -775,10 +783,9 @@ func (m *LastPKEvent) CloneVT() *LastPKEvent {
if m == nil {
return (*LastPKEvent)(nil)
}
- r := &LastPKEvent{
- TableLastPK: m.TableLastPK.CloneVT(),
- Completed: m.Completed,
- }
+ r := new(LastPKEvent)
+ r.TableLastPK = m.TableLastPK.CloneVT()
+ r.Completed = m.Completed
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -794,10 +801,9 @@ func (m *TableLastPK) CloneVT() *TableLastPK {
if m == nil {
return (*TableLastPK)(nil)
}
- r := &TableLastPK{
- TableName: m.TableName,
- Lastpk: m.Lastpk.CloneVT(),
- }
+ r := new(TableLastPK)
+ r.TableName = m.TableName
+ r.Lastpk = m.Lastpk.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -813,12 +819,11 @@ func (m *VStreamResultsRequest) CloneVT() *VStreamResultsRequest {
if m == nil {
return (*VStreamResultsRequest)(nil)
}
- r := &VStreamResultsRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Query: m.Query,
- }
+ r := new(VStreamResultsRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Query = m.Query
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -834,9 +839,8 @@ func (m *VStreamResultsResponse) CloneVT() *VStreamResultsResponse {
if m == nil {
return (*VStreamResultsResponse)(nil)
}
- r := &VStreamResultsResponse{
- Gtid: m.Gtid,
- }
+ r := new(VStreamResultsResponse)
+ r.Gtid = m.Gtid
if rhs := m.Fields; rhs != nil {
tmpContainer := make([]*query.Field, len(rhs))
for k, v := range rhs {
@@ -893,17 +897,17 @@ func (m *Charset) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.Server != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Server))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Server))
i--
dAtA[i] = 0x18
}
if m.Conn != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Conn))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Conn))
i--
dAtA[i] = 0x10
}
if m.Client != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Client))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Client))
i--
dAtA[i] = 0x8
}
@@ -943,7 +947,7 @@ func (m *BinlogTransaction_Statement) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Sql) > 0 {
i -= len(m.Sql)
copy(dAtA[i:], m.Sql)
- i = encodeVarint(dAtA, i, uint64(len(m.Sql)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Sql)))
i--
dAtA[i] = 0x1a
}
@@ -953,12 +957,12 @@ func (m *BinlogTransaction_Statement) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if m.Category != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Category))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Category))
i--
dAtA[i] = 0x8
}
@@ -1001,7 +1005,7 @@ func (m *BinlogTransaction) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -1012,7 +1016,7 @@ func (m *BinlogTransaction) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1056,7 +1060,7 @@ func (m *StreamKeyRangeRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1066,14 +1070,14 @@ func (m *StreamKeyRangeRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0xa
}
@@ -1116,7 +1120,7 @@ func (m *StreamKeyRangeResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1159,7 +1163,7 @@ func (m *StreamTablesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1167,7 +1171,7 @@ func (m *StreamTablesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Tables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Tables[iNdEx])
copy(dAtA[i:], m.Tables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -1175,7 +1179,7 @@ func (m *StreamTablesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0xa
}
@@ -1218,7 +1222,7 @@ func (m *StreamTablesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1258,14 +1262,14 @@ func (m *CharsetConversion) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ToCharset) > 0 {
i -= len(m.ToCharset)
copy(dAtA[i:], m.ToCharset)
- i = encodeVarint(dAtA, i, uint64(len(m.ToCharset)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ToCharset)))
i--
dAtA[i] = 0x12
}
if len(m.FromCharset) > 0 {
i -= len(m.FromCharset)
copy(dAtA[i:], m.FromCharset)
- i = encodeVarint(dAtA, i, uint64(len(m.FromCharset)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FromCharset)))
i--
dAtA[i] = 0xa
}
@@ -1305,7 +1309,7 @@ func (m *Rule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ForceUniqueKey) > 0 {
i -= len(m.ForceUniqueKey)
copy(dAtA[i:], m.ForceUniqueKey)
- i = encodeVarint(dAtA, i, uint64(len(m.ForceUniqueKey)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ForceUniqueKey)))
i--
dAtA[i] = 0x4a
}
@@ -1323,10 +1327,10 @@ func (m *Rule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x10
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x42
}
@@ -1334,21 +1338,21 @@ func (m *Rule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.SourceUniqueKeyTargetColumns) > 0 {
i -= len(m.SourceUniqueKeyTargetColumns)
copy(dAtA[i:], m.SourceUniqueKeyTargetColumns)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceUniqueKeyTargetColumns)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceUniqueKeyTargetColumns)))
i--
dAtA[i] = 0x3a
}
if len(m.TargetUniqueKeyColumns) > 0 {
i -= len(m.TargetUniqueKeyColumns)
copy(dAtA[i:], m.TargetUniqueKeyColumns)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetUniqueKeyColumns)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetUniqueKeyColumns)))
i--
dAtA[i] = 0x32
}
if len(m.SourceUniqueKeyColumns) > 0 {
i -= len(m.SourceUniqueKeyColumns)
copy(dAtA[i:], m.SourceUniqueKeyColumns)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceUniqueKeyColumns)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceUniqueKeyColumns)))
i--
dAtA[i] = 0x2a
}
@@ -1361,15 +1365,15 @@ func (m *Rule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x22
}
@@ -1380,15 +1384,15 @@ func (m *Rule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
baseI := i
i -= len(v)
copy(dAtA[i:], v)
- i = encodeVarint(dAtA, i, uint64(len(v)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x1a
}
@@ -1396,14 +1400,14 @@ func (m *Rule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Filter) > 0 {
i -= len(m.Filter)
copy(dAtA[i:], m.Filter)
- i = encodeVarint(dAtA, i, uint64(len(m.Filter)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter)))
i--
dAtA[i] = 0x12
}
if len(m.Match) > 0 {
i -= len(m.Match)
copy(dAtA[i:], m.Match)
- i = encodeVarint(dAtA, i, uint64(len(m.Match)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Match)))
i--
dAtA[i] = 0xa
}
@@ -1443,17 +1447,17 @@ func (m *Filter) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.WorkflowName) > 0 {
i -= len(m.WorkflowName)
copy(dAtA[i:], m.WorkflowName)
- i = encodeVarint(dAtA, i, uint64(len(m.WorkflowName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WorkflowName)))
i--
dAtA[i] = 0x22
}
if m.WorkflowType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.WorkflowType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WorkflowType))
i--
dAtA[i] = 0x18
}
if m.FieldEventMode != 0 {
- i = encodeVarint(dAtA, i, uint64(m.FieldEventMode))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FieldEventMode))
i--
dAtA[i] = 0x10
}
@@ -1464,7 +1468,7 @@ func (m *Filter) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1505,21 +1509,21 @@ func (m *BinlogSource) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.TargetTimeZone) > 0 {
i -= len(m.TargetTimeZone)
copy(dAtA[i:], m.TargetTimeZone)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetTimeZone)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetTimeZone)))
i--
dAtA[i] = 0x62
}
if len(m.SourceTimeZone) > 0 {
i -= len(m.SourceTimeZone)
copy(dAtA[i:], m.SourceTimeZone)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceTimeZone)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceTimeZone)))
i--
dAtA[i] = 0x5a
}
if len(m.ExternalCluster) > 0 {
i -= len(m.ExternalCluster)
copy(dAtA[i:], m.ExternalCluster)
- i = encodeVarint(dAtA, i, uint64(len(m.ExternalCluster)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExternalCluster)))
i--
dAtA[i] = 0x52
}
@@ -1536,12 +1540,12 @@ func (m *BinlogSource) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ExternalMysql) > 0 {
i -= len(m.ExternalMysql)
copy(dAtA[i:], m.ExternalMysql)
- i = encodeVarint(dAtA, i, uint64(len(m.ExternalMysql)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExternalMysql)))
i--
dAtA[i] = 0x42
}
if m.OnDdl != 0 {
- i = encodeVarint(dAtA, i, uint64(m.OnDdl))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OnDdl))
i--
dAtA[i] = 0x38
}
@@ -1551,7 +1555,7 @@ func (m *BinlogSource) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
@@ -1559,7 +1563,7 @@ func (m *BinlogSource) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Tables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Tables[iNdEx])
copy(dAtA[i:], m.Tables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
i--
dAtA[i] = 0x2a
}
@@ -1570,26 +1574,26 @@ func (m *BinlogSource) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if m.TabletType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletType))
i--
dAtA[i] = 0x18
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -1629,12 +1633,12 @@ func (m *RowChange_Bitmap) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Cols) > 0 {
i -= len(m.Cols)
copy(dAtA[i:], m.Cols)
- i = encodeVarint(dAtA, i, uint64(len(m.Cols)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cols)))
i--
dAtA[i] = 0x12
}
if m.Count != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Count))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Count))
i--
dAtA[i] = 0x8
}
@@ -1677,7 +1681,7 @@ func (m *RowChange) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1687,7 +1691,7 @@ func (m *RowChange) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1697,7 +1701,7 @@ func (m *RowChange) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1734,22 +1738,32 @@ func (m *RowEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.IsInternalTable {
+ i--
+ if m.IsInternalTable {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x30
+ }
if m.Flags != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Flags))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Flags))
i--
dAtA[i] = 0x28
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x22
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x1a
}
@@ -1760,7 +1774,7 @@ func (m *RowEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1768,7 +1782,7 @@ func (m *RowEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.TableName) > 0 {
i -= len(m.TableName)
copy(dAtA[i:], m.TableName)
- i = encodeVarint(dAtA, i, uint64(len(m.TableName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableName)))
i--
dAtA[i] = 0xa
}
@@ -1805,6 +1819,18 @@ func (m *FieldEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.IsInternalTable {
+ i--
+ if m.IsInternalTable {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x1
+ i--
+ dAtA[i] = 0xd0
+ }
if m.EnumSetStringValues {
i--
if m.EnumSetStringValues {
@@ -1820,14 +1846,14 @@ func (m *FieldEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x22
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x1a
}
@@ -1838,7 +1864,7 @@ func (m *FieldEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1846,7 +1872,7 @@ func (m *FieldEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.TableName) > 0 {
i -= len(m.TableName)
copy(dAtA[i:], m.TableName)
- i = encodeVarint(dAtA, i, uint64(len(m.TableName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableName)))
i--
dAtA[i] = 0xa
}
@@ -1890,7 +1916,7 @@ func (m *ShardGtid) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -1898,21 +1924,21 @@ func (m *ShardGtid) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Gtid) > 0 {
i -= len(m.Gtid)
copy(dAtA[i:], m.Gtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Gtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Gtid)))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -1956,7 +1982,7 @@ func (m *VGtid) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1997,14 +2023,14 @@ func (m *KeyspaceShard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -2045,7 +2071,7 @@ func (m *Journal) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.SourceWorkflows) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.SourceWorkflows[iNdEx])
copy(dAtA[i:], m.SourceWorkflows[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.SourceWorkflows[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceWorkflows[iNdEx])))
i--
dAtA[i] = 0x3a
}
@@ -2057,7 +2083,7 @@ func (m *Journal) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
@@ -2069,7 +2095,7 @@ func (m *Journal) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -2077,7 +2103,7 @@ func (m *Journal) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.LocalPosition) > 0 {
i -= len(m.LocalPosition)
copy(dAtA[i:], m.LocalPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.LocalPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LocalPosition)))
i--
dAtA[i] = 0x22
}
@@ -2085,18 +2111,18 @@ func (m *Journal) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Tables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Tables[iNdEx])
copy(dAtA[i:], m.Tables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
i--
dAtA[i] = 0x1a
}
}
if m.MigrationType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MigrationType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MigrationType))
i--
dAtA[i] = 0x10
}
if m.Id != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Id))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Id))
i--
dAtA[i] = 0x8
}
@@ -2136,7 +2162,7 @@ func (m *VEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ThrottledReason) > 0 {
i -= len(m.ThrottledReason)
copy(dAtA[i:], m.ThrottledReason)
- i = encodeVarint(dAtA, i, uint64(len(m.ThrottledReason)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ThrottledReason)))
i--
dAtA[i] = 0x1
i--
@@ -2157,7 +2183,7 @@ func (m *VEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1
i--
@@ -2166,7 +2192,7 @@ func (m *VEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x1
i--
@@ -2178,14 +2204,14 @@ func (m *VEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0xaa
}
if m.CurrentTime != 0 {
- i = encodeVarint(dAtA, i, uint64(m.CurrentTime))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.CurrentTime))
i--
dAtA[i] = 0x1
i--
@@ -2194,7 +2220,7 @@ func (m *VEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Dml) > 0 {
i -= len(m.Dml)
copy(dAtA[i:], m.Dml)
- i = encodeVarint(dAtA, i, uint64(len(m.Dml)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dml)))
i--
dAtA[i] = 0x4a
}
@@ -2204,7 +2230,7 @@ func (m *VEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x42
}
@@ -2214,7 +2240,7 @@ func (m *VEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x3a
}
@@ -2224,7 +2250,7 @@ func (m *VEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
@@ -2234,31 +2260,31 @@ func (m *VEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
if len(m.Statement) > 0 {
i -= len(m.Statement)
copy(dAtA[i:], m.Statement)
- i = encodeVarint(dAtA, i, uint64(len(m.Statement)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Statement)))
i--
dAtA[i] = 0x22
}
if len(m.Gtid) > 0 {
i -= len(m.Gtid)
copy(dAtA[i:], m.Gtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Gtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Gtid)))
i--
dAtA[i] = 0x1a
}
if m.Timestamp != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Timestamp))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Timestamp))
i--
dAtA[i] = 0x10
}
if m.Type != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Type))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type))
i--
dAtA[i] = 0x8
}
@@ -2298,14 +2324,14 @@ func (m *MinimalTable) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.PKIndexName) > 0 {
i -= len(m.PKIndexName)
copy(dAtA[i:], m.PKIndexName)
- i = encodeVarint(dAtA, i, uint64(len(m.PKIndexName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PKIndexName)))
i--
dAtA[i] = 0x22
}
if len(m.PKColumns) > 0 {
var pksize2 int
for _, num := range m.PKColumns {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -2319,7 +2345,7 @@ func (m *MinimalTable) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x1a
}
@@ -2330,7 +2356,7 @@ func (m *MinimalTable) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2338,7 +2364,7 @@ func (m *MinimalTable) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -2382,7 +2408,68 @@ func (m *MinimalSchema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0xa
+ }
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *VStreamOptions) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *VStreamOptions) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *VStreamOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if len(m.ConfigOverrides) > 0 {
+ for k := range m.ConfigOverrides {
+ v := m.ConfigOverrides[k]
+ baseI := i
+ i -= len(v)
+ copy(dAtA[i:], v)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(k)
+ copy(dAtA[i:], k)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
+ i--
+ dAtA[i] = 0xa
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
+ i--
+ dAtA[i] = 0x12
+ }
+ }
+ if len(m.InternalTables) > 0 {
+ for iNdEx := len(m.InternalTables) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.InternalTables[iNdEx])
+ copy(dAtA[i:], m.InternalTables[iNdEx])
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.InternalTables[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -2420,6 +2507,16 @@ func (m *VStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.Options != nil {
+ size, err := m.Options.MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x3a
+ }
if len(m.TableLastPKs) > 0 {
for iNdEx := len(m.TableLastPKs) - 1; iNdEx >= 0; iNdEx-- {
size, err := m.TableLastPKs[iNdEx].MarshalToSizedBufferVT(dAtA[:i])
@@ -2427,7 +2524,7 @@ func (m *VStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
@@ -2438,14 +2535,14 @@ func (m *VStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0x22
}
@@ -2455,7 +2552,7 @@ func (m *VStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -2465,7 +2562,7 @@ func (m *VStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2475,7 +2572,7 @@ func (m *VStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2519,7 +2616,7 @@ func (m *VStreamResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2557,20 +2654,30 @@ func (m *VStreamRowsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.Options != nil {
+ size, err := m.Options.MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x32
+ }
if m.Lastpk != nil {
size, err := m.Lastpk.MarshalToSizedBufferVT(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
if len(m.Query) > 0 {
i -= len(m.Query)
copy(dAtA[i:], m.Query)
- i = encodeVarint(dAtA, i, uint64(len(m.Query)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Query)))
i--
dAtA[i] = 0x22
}
@@ -2580,7 +2687,7 @@ func (m *VStreamRowsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -2590,7 +2697,7 @@ func (m *VStreamRowsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2600,7 +2707,7 @@ func (m *VStreamRowsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2640,7 +2747,7 @@ func (m *VStreamRowsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ThrottledReason) > 0 {
i -= len(m.ThrottledReason)
copy(dAtA[i:], m.ThrottledReason)
- i = encodeVarint(dAtA, i, uint64(len(m.ThrottledReason)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ThrottledReason)))
i--
dAtA[i] = 0x42
}
@@ -2670,7 +2777,7 @@ func (m *VStreamRowsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -2681,7 +2788,7 @@ func (m *VStreamRowsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -2689,7 +2796,7 @@ func (m *VStreamRowsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Gtid) > 0 {
i -= len(m.Gtid)
copy(dAtA[i:], m.Gtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Gtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Gtid)))
i--
dAtA[i] = 0x1a
}
@@ -2700,7 +2807,7 @@ func (m *VStreamRowsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2712,7 +2819,7 @@ func (m *VStreamRowsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2750,13 +2857,23 @@ func (m *VStreamTablesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.Options != nil {
+ size, err := m.Options.MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x22
+ }
if m.Target != nil {
size, err := m.Target.MarshalToSizedBufferVT(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -2766,7 +2883,7 @@ func (m *VStreamTablesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2776,7 +2893,7 @@ func (m *VStreamTablesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2819,7 +2936,7 @@ func (m *VStreamTablesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
@@ -2830,7 +2947,7 @@ func (m *VStreamTablesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -2838,7 +2955,7 @@ func (m *VStreamTablesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Gtid) > 0 {
i -= len(m.Gtid)
copy(dAtA[i:], m.Gtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Gtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Gtid)))
i--
dAtA[i] = 0x22
}
@@ -2849,7 +2966,7 @@ func (m *VStreamTablesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -2861,7 +2978,7 @@ func (m *VStreamTablesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2869,7 +2986,7 @@ func (m *VStreamTablesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.TableName) > 0 {
i -= len(m.TableName)
copy(dAtA[i:], m.TableName)
- i = encodeVarint(dAtA, i, uint64(len(m.TableName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableName)))
i--
dAtA[i] = 0xa
}
@@ -2922,7 +3039,7 @@ func (m *LastPKEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2965,14 +3082,14 @@ func (m *TableLastPK) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.TableName) > 0 {
i -= len(m.TableName)
copy(dAtA[i:], m.TableName)
- i = encodeVarint(dAtA, i, uint64(len(m.TableName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableName)))
i--
dAtA[i] = 0xa
}
@@ -3012,7 +3129,7 @@ func (m *VStreamResultsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Query) > 0 {
i -= len(m.Query)
copy(dAtA[i:], m.Query)
- i = encodeVarint(dAtA, i, uint64(len(m.Query)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Query)))
i--
dAtA[i] = 0x22
}
@@ -3022,7 +3139,7 @@ func (m *VStreamResultsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3032,7 +3149,7 @@ func (m *VStreamResultsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3042,7 +3159,7 @@ func (m *VStreamResultsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3086,7 +3203,7 @@ func (m *VStreamResultsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -3094,7 +3211,7 @@ func (m *VStreamResultsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Gtid) > 0 {
i -= len(m.Gtid)
copy(dAtA[i:], m.Gtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Gtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Gtid)))
i--
dAtA[i] = 0x1a
}
@@ -3105,7 +3222,7 @@ func (m *VStreamResultsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3113,18 +3230,6 @@ func (m *VStreamResultsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-
var vtprotoPool_VStreamRowsResponse = sync.Pool{
New: func() interface{} {
return &VStreamRowsResponse{}
@@ -3132,23 +3237,25 @@ var vtprotoPool_VStreamRowsResponse = sync.Pool{
}
func (m *VStreamRowsResponse) ResetVT() {
- for _, mm := range m.Fields {
- mm.Reset()
- }
- f0 := m.Fields[:0]
- for _, mm := range m.Pkfields {
- mm.Reset()
- }
- f1 := m.Pkfields[:0]
- for _, mm := range m.Rows {
- mm.ResetVT()
+ if m != nil {
+ for _, mm := range m.Fields {
+ mm.Reset()
+ }
+ f0 := m.Fields[:0]
+ for _, mm := range m.Pkfields {
+ mm.Reset()
+ }
+ f1 := m.Pkfields[:0]
+ for _, mm := range m.Rows {
+ mm.ResetVT()
+ }
+ f2 := m.Rows[:0]
+ m.Lastpk.ReturnToVTPool()
+ m.Reset()
+ m.Fields = f0
+ m.Pkfields = f1
+ m.Rows = f2
}
- f2 := m.Rows[:0]
- m.Lastpk.ReturnToVTPool()
- m.Reset()
- m.Fields = f0
- m.Pkfields = f1
- m.Rows = f2
}
func (m *VStreamRowsResponse) ReturnToVTPool() {
if m != nil {
@@ -3167,23 +3274,25 @@ var vtprotoPool_VStreamTablesResponse = sync.Pool{
}
func (m *VStreamTablesResponse) ResetVT() {
- for _, mm := range m.Fields {
- mm.Reset()
- }
- f0 := m.Fields[:0]
- for _, mm := range m.Pkfields {
- mm.Reset()
- }
- f1 := m.Pkfields[:0]
- for _, mm := range m.Rows {
- mm.ResetVT()
+ if m != nil {
+ for _, mm := range m.Fields {
+ mm.Reset()
+ }
+ f0 := m.Fields[:0]
+ for _, mm := range m.Pkfields {
+ mm.Reset()
+ }
+ f1 := m.Pkfields[:0]
+ for _, mm := range m.Rows {
+ mm.ResetVT()
+ }
+ f2 := m.Rows[:0]
+ m.Lastpk.ReturnToVTPool()
+ m.Reset()
+ m.Fields = f0
+ m.Pkfields = f1
+ m.Rows = f2
}
- f2 := m.Rows[:0]
- m.Lastpk.ReturnToVTPool()
- m.Reset()
- m.Fields = f0
- m.Pkfields = f1
- m.Rows = f2
}
func (m *VStreamTablesResponse) ReturnToVTPool() {
if m != nil {
@@ -3201,13 +3310,13 @@ func (m *Charset) SizeVT() (n int) {
var l int
_ = l
if m.Client != 0 {
- n += 1 + sov(uint64(m.Client))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Client))
}
if m.Conn != 0 {
- n += 1 + sov(uint64(m.Conn))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Conn))
}
if m.Server != 0 {
- n += 1 + sov(uint64(m.Server))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Server))
}
n += len(m.unknownFields)
return n
@@ -3220,15 +3329,15 @@ func (m *BinlogTransaction_Statement) SizeVT() (n int) {
var l int
_ = l
if m.Category != 0 {
- n += 1 + sov(uint64(m.Category))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Category))
}
if m.Charset != nil {
l = m.Charset.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Sql)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3243,12 +3352,12 @@ func (m *BinlogTransaction) SizeVT() (n int) {
if len(m.Statements) > 0 {
for _, e := range m.Statements {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.EventToken != nil {
l = m.EventToken.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3262,15 +3371,15 @@ func (m *StreamKeyRangeRequest) SizeVT() (n int) {
_ = l
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.KeyRange != nil {
l = m.KeyRange.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Charset != nil {
l = m.Charset.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3284,7 +3393,7 @@ func (m *StreamKeyRangeResponse) SizeVT() (n int) {
_ = l
if m.BinlogTransaction != nil {
l = m.BinlogTransaction.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3298,17 +3407,17 @@ func (m *StreamTablesRequest) SizeVT() (n int) {
_ = l
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Tables) > 0 {
for _, s := range m.Tables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Charset != nil {
l = m.Charset.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3322,7 +3431,7 @@ func (m *StreamTablesResponse) SizeVT() (n int) {
_ = l
if m.BinlogTransaction != nil {
l = m.BinlogTransaction.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3336,11 +3445,11 @@ func (m *CharsetConversion) SizeVT() (n int) {
_ = l
l = len(m.FromCharset)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ToCharset)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3354,18 +3463,18 @@ func (m *Rule) SizeVT() (n int) {
_ = l
l = len(m.Match)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Filter)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ConvertEnumToText) > 0 {
for k, v := range m.ConvertEnumToText {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v)))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if len(m.ConvertCharset) > 0 {
@@ -3376,34 +3485,34 @@ func (m *Rule) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
l = len(m.SourceUniqueKeyColumns)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetUniqueKeyColumns)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SourceUniqueKeyTargetColumns)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ConvertIntToEnum) > 0 {
for k, v := range m.ConvertIntToEnum {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + 1
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + 1
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
l = len(m.ForceUniqueKey)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3418,18 +3527,18 @@ func (m *Filter) SizeVT() (n int) {
if len(m.Rules) > 0 {
for _, e := range m.Rules {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.FieldEventMode != 0 {
- n += 1 + sov(uint64(m.FieldEventMode))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.FieldEventMode))
}
if m.WorkflowType != 0 {
- n += 1 + sov(uint64(m.WorkflowType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.WorkflowType))
}
l = len(m.WorkflowName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3443,50 +3552,50 @@ func (m *BinlogSource) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TabletType != 0 {
- n += 1 + sov(uint64(m.TabletType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletType))
}
if m.KeyRange != nil {
l = m.KeyRange.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Tables) > 0 {
for _, s := range m.Tables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Filter != nil {
l = m.Filter.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.OnDdl != 0 {
- n += 1 + sov(uint64(m.OnDdl))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.OnDdl))
}
l = len(m.ExternalMysql)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.StopAfterCopy {
n += 2
}
l = len(m.ExternalCluster)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SourceTimeZone)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetTimeZone)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3499,11 +3608,11 @@ func (m *RowChange_Bitmap) SizeVT() (n int) {
var l int
_ = l
if m.Count != 0 {
- n += 1 + sov(uint64(m.Count))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Count))
}
l = len(m.Cols)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3517,15 +3626,15 @@ func (m *RowChange) SizeVT() (n int) {
_ = l
if m.Before != nil {
l = m.Before.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.After != nil {
l = m.After.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.DataColumns != nil {
l = m.DataColumns.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3539,24 +3648,27 @@ func (m *RowEvent) SizeVT() (n int) {
_ = l
l = len(m.TableName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.RowChanges) > 0 {
for _, e := range m.RowChanges {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Flags != 0 {
- n += 1 + sov(uint64(m.Flags))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Flags))
+ }
+ if m.IsInternalTable {
+ n += 2
}
n += len(m.unknownFields)
return n
@@ -3570,25 +3682,28 @@ func (m *FieldEvent) SizeVT() (n int) {
_ = l
l = len(m.TableName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Fields) > 0 {
for _, e := range m.Fields {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.EnumSetStringValues {
n += 3
}
+ if m.IsInternalTable {
+ n += 3
+ }
n += len(m.unknownFields)
return n
}
@@ -3601,20 +3716,20 @@ func (m *ShardGtid) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Gtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.TablePKs) > 0 {
for _, e := range m.TablePKs {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -3630,7 +3745,7 @@ func (m *VGtid) SizeVT() (n int) {
if len(m.ShardGtids) > 0 {
for _, e := range m.ShardGtids {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -3645,11 +3760,11 @@ func (m *KeyspaceShard) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3662,37 +3777,37 @@ func (m *Journal) SizeVT() (n int) {
var l int
_ = l
if m.Id != 0 {
- n += 1 + sov(uint64(m.Id))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Id))
}
if m.MigrationType != 0 {
- n += 1 + sov(uint64(m.MigrationType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MigrationType))
}
if len(m.Tables) > 0 {
for _, s := range m.Tables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.LocalPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ShardGtids) > 0 {
for _, e := range m.ShardGtids {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Participants) > 0 {
for _, e := range m.Participants {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.SourceWorkflows) > 0 {
for _, s := range m.SourceWorkflows {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -3706,60 +3821,60 @@ func (m *VEvent) SizeVT() (n int) {
var l int
_ = l
if m.Type != 0 {
- n += 1 + sov(uint64(m.Type))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Type))
}
if m.Timestamp != 0 {
- n += 1 + sov(uint64(m.Timestamp))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Timestamp))
}
l = len(m.Gtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Statement)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.RowEvent != nil {
l = m.RowEvent.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.FieldEvent != nil {
l = m.FieldEvent.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Vgtid != nil {
l = m.Vgtid.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Journal != nil {
l = m.Journal.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Dml)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CurrentTime != 0 {
- n += 2 + sov(uint64(m.CurrentTime))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.CurrentTime))
}
if m.LastPKEvent != nil {
l = m.LastPKEvent.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Throttled {
n += 3
}
l = len(m.ThrottledReason)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3773,24 +3888,24 @@ func (m *MinimalTable) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Fields) > 0 {
for _, e := range m.Fields {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.PKColumns) > 0 {
l = 0
for _, e := range m.PKColumns {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
l = len(m.PKIndexName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3805,7 +3920,31 @@ func (m *MinimalSchema) SizeVT() (n int) {
if len(m.Tables) > 0 {
for _, e := range m.Tables {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *VStreamOptions) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.InternalTables) > 0 {
+ for _, s := range m.InternalTables {
+ l = len(s)
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ }
+ if len(m.ConfigOverrides) > 0 {
+ for k, v := range m.ConfigOverrides {
+ _ = k
+ _ = v
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -3820,30 +3959,34 @@ func (m *VStreamRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Filter != nil {
l = m.Filter.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.TableLastPKs) > 0 {
for _, e := range m.TableLastPKs {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
+ if m.Options != nil {
+ l = m.Options.SizeVT()
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
n += len(m.unknownFields)
return n
}
@@ -3857,7 +4000,7 @@ func (m *VStreamResponse) SizeVT() (n int) {
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -3872,23 +4015,27 @@ func (m *VStreamRowsRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Query)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Lastpk != nil {
l = m.Lastpk.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if m.Options != nil {
+ l = m.Options.SizeVT()
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3903,28 +4050,28 @@ func (m *VStreamRowsResponse) SizeVT() (n int) {
if len(m.Fields) > 0 {
for _, e := range m.Fields {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Pkfields) > 0 {
for _, e := range m.Pkfields {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.Gtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Rows) > 0 {
for _, e := range m.Rows {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Lastpk != nil {
l = m.Lastpk.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Throttled {
n += 2
@@ -3934,7 +4081,7 @@ func (m *VStreamRowsResponse) SizeVT() (n int) {
}
l = len(m.ThrottledReason)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3948,15 +4095,19 @@ func (m *VStreamTablesRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if m.Options != nil {
+ l = m.Options.SizeVT()
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -3970,33 +4121,33 @@ func (m *VStreamTablesResponse) SizeVT() (n int) {
_ = l
l = len(m.TableName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Fields) > 0 {
for _, e := range m.Fields {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Pkfields) > 0 {
for _, e := range m.Pkfields {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.Gtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Rows) > 0 {
for _, e := range m.Rows {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Lastpk != nil {
l = m.Lastpk.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -4010,7 +4161,7 @@ func (m *LastPKEvent) SizeVT() (n int) {
_ = l
if m.TableLastPK != nil {
l = m.TableLastPK.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Completed {
n += 2
@@ -4027,11 +4178,11 @@ func (m *TableLastPK) SizeVT() (n int) {
_ = l
l = len(m.TableName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Lastpk != nil {
l = m.Lastpk.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -4045,19 +4196,19 @@ func (m *VStreamResultsRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Query)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -4072,29 +4223,23 @@ func (m *VStreamResultsResponse) SizeVT() (n int) {
if len(m.Fields) > 0 {
for _, e := range m.Fields {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.Gtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Rows) > 0 {
for _, e := range m.Rows {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *Charset) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -4103,7 +4248,7 @@ func (m *Charset) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4131,7 +4276,7 @@ func (m *Charset) UnmarshalVT(dAtA []byte) error {
m.Client = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4150,7 +4295,7 @@ func (m *Charset) UnmarshalVT(dAtA []byte) error {
m.Conn = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4169,7 +4314,7 @@ func (m *Charset) UnmarshalVT(dAtA []byte) error {
m.Server = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4183,12 +4328,12 @@ func (m *Charset) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4211,7 +4356,7 @@ func (m *BinlogTransaction_Statement) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4239,7 +4384,7 @@ func (m *BinlogTransaction_Statement) UnmarshalVT(dAtA []byte) error {
m.Category = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4258,7 +4403,7 @@ func (m *BinlogTransaction_Statement) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4271,11 +4416,11 @@ func (m *BinlogTransaction_Statement) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4294,7 +4439,7 @@ func (m *BinlogTransaction_Statement) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4307,11 +4452,11 @@ func (m *BinlogTransaction_Statement) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4323,12 +4468,12 @@ func (m *BinlogTransaction_Statement) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4351,7 +4496,7 @@ func (m *BinlogTransaction) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4379,7 +4524,7 @@ func (m *BinlogTransaction) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4392,11 +4537,11 @@ func (m *BinlogTransaction) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4413,7 +4558,7 @@ func (m *BinlogTransaction) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4426,11 +4571,11 @@ func (m *BinlogTransaction) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4444,12 +4589,12 @@ func (m *BinlogTransaction) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4472,7 +4617,7 @@ func (m *StreamKeyRangeRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4500,7 +4645,7 @@ func (m *StreamKeyRangeRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4514,11 +4659,11 @@ func (m *StreamKeyRangeRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4532,7 +4677,7 @@ func (m *StreamKeyRangeRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4545,11 +4690,11 @@ func (m *StreamKeyRangeRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4568,7 +4713,7 @@ func (m *StreamKeyRangeRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4581,11 +4726,11 @@ func (m *StreamKeyRangeRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4599,12 +4744,12 @@ func (m *StreamKeyRangeRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4627,7 +4772,7 @@ func (m *StreamKeyRangeResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4655,7 +4800,7 @@ func (m *StreamKeyRangeResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4668,11 +4813,11 @@ func (m *StreamKeyRangeResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4686,12 +4831,12 @@ func (m *StreamKeyRangeResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4714,7 +4859,7 @@ func (m *StreamTablesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4742,7 +4887,7 @@ func (m *StreamTablesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4756,11 +4901,11 @@ func (m *StreamTablesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4774,7 +4919,7 @@ func (m *StreamTablesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4788,11 +4933,11 @@ func (m *StreamTablesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4806,7 +4951,7 @@ func (m *StreamTablesRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4819,11 +4964,11 @@ func (m *StreamTablesRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4837,12 +4982,12 @@ func (m *StreamTablesRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4865,7 +5010,7 @@ func (m *StreamTablesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4893,7 +5038,7 @@ func (m *StreamTablesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4906,11 +5051,11 @@ func (m *StreamTablesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4924,12 +5069,12 @@ func (m *StreamTablesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4952,7 +5097,7 @@ func (m *CharsetConversion) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4980,7 +5125,7 @@ func (m *CharsetConversion) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4994,11 +5139,11 @@ func (m *CharsetConversion) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5012,7 +5157,7 @@ func (m *CharsetConversion) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5026,11 +5171,11 @@ func (m *CharsetConversion) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5039,12 +5184,12 @@ func (m *CharsetConversion) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5067,7 +5212,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5095,7 +5240,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5109,11 +5254,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5127,7 +5272,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5141,11 +5286,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5159,7 +5304,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5172,11 +5317,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5191,7 +5336,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5208,7 +5353,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5222,11 +5367,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -5237,7 +5382,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5251,11 +5396,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
@@ -5264,12 +5409,12 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
iNdEx = postStringIndexmapvalue
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -5286,7 +5431,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5299,11 +5444,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5318,7 +5463,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5335,7 +5480,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5349,11 +5494,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -5364,7 +5509,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5377,11 +5522,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -5393,12 +5538,12 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -5415,7 +5560,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5429,11 +5574,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5447,7 +5592,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5461,11 +5606,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5479,7 +5624,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5493,11 +5638,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5511,7 +5656,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5524,11 +5669,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5543,7 +5688,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5560,7 +5705,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5574,11 +5719,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -5589,7 +5734,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var mapvaluetemp int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5604,12 +5749,12 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
mapvalue = bool(mapvaluetemp != 0)
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -5626,7 +5771,7 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5640,11 +5785,11 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5653,12 +5798,12 @@ func (m *Rule) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5681,7 +5826,7 @@ func (m *Filter) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5709,7 +5854,7 @@ func (m *Filter) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5722,11 +5867,11 @@ func (m *Filter) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5743,7 +5888,7 @@ func (m *Filter) UnmarshalVT(dAtA []byte) error {
m.FieldEventMode = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5762,7 +5907,7 @@ func (m *Filter) UnmarshalVT(dAtA []byte) error {
m.WorkflowType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5781,7 +5926,7 @@ func (m *Filter) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5795,11 +5940,11 @@ func (m *Filter) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5808,12 +5953,12 @@ func (m *Filter) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5836,7 +5981,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5864,7 +6009,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5878,11 +6023,11 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5896,7 +6041,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5910,11 +6055,11 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5928,7 +6073,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
m.TabletType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5947,7 +6092,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5960,11 +6105,11 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5983,7 +6128,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5997,11 +6142,11 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6015,7 +6160,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6028,11 +6173,11 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6051,7 +6196,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
m.OnDdl = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6070,7 +6215,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6084,11 +6229,11 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6102,7 +6247,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6122,7 +6267,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6136,11 +6281,11 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6154,7 +6299,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6168,11 +6313,11 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6186,7 +6331,7 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6200,11 +6345,11 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6213,12 +6358,12 @@ func (m *BinlogSource) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -6241,7 +6386,7 @@ func (m *RowChange_Bitmap) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6269,7 +6414,7 @@ func (m *RowChange_Bitmap) UnmarshalVT(dAtA []byte) error {
m.Count = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6288,7 +6433,7 @@ func (m *RowChange_Bitmap) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6301,11 +6446,11 @@ func (m *RowChange_Bitmap) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6317,12 +6462,12 @@ func (m *RowChange_Bitmap) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -6345,7 +6490,7 @@ func (m *RowChange) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6373,7 +6518,7 @@ func (m *RowChange) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6386,11 +6531,11 @@ func (m *RowChange) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6409,7 +6554,7 @@ func (m *RowChange) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6422,11 +6567,11 @@ func (m *RowChange) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6445,7 +6590,7 @@ func (m *RowChange) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6458,11 +6603,11 @@ func (m *RowChange) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6476,12 +6621,12 @@ func (m *RowChange) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -6504,7 +6649,7 @@ func (m *RowEvent) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6532,7 +6677,7 @@ func (m *RowEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6546,11 +6691,11 @@ func (m *RowEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6564,7 +6709,7 @@ func (m *RowEvent) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6577,11 +6722,11 @@ func (m *RowEvent) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6598,7 +6743,7 @@ func (m *RowEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6612,11 +6757,11 @@ func (m *RowEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6630,7 +6775,7 @@ func (m *RowEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6644,11 +6789,11 @@ func (m *RowEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6662,7 +6807,7 @@ func (m *RowEvent) UnmarshalVT(dAtA []byte) error {
m.Flags = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6674,14 +6819,34 @@ func (m *RowEvent) UnmarshalVT(dAtA []byte) error {
break
}
}
+ case 6:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field IsInternalTable", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.IsInternalTable = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -6704,7 +6869,7 @@ func (m *FieldEvent) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6732,7 +6897,7 @@ func (m *FieldEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6746,11 +6911,11 @@ func (m *FieldEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6764,7 +6929,7 @@ func (m *FieldEvent) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6777,11 +6942,11 @@ func (m *FieldEvent) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6798,7 +6963,7 @@ func (m *FieldEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6812,11 +6977,11 @@ func (m *FieldEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6830,7 +6995,7 @@ func (m *FieldEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6844,11 +7009,11 @@ func (m *FieldEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6862,7 +7027,7 @@ func (m *FieldEvent) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6875,14 +7040,34 @@ func (m *FieldEvent) UnmarshalVT(dAtA []byte) error {
}
}
m.EnumSetStringValues = bool(v != 0)
+ case 26:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field IsInternalTable", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.IsInternalTable = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -6905,7 +7090,7 @@ func (m *ShardGtid) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6933,7 +7118,7 @@ func (m *ShardGtid) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6947,11 +7132,11 @@ func (m *ShardGtid) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6965,7 +7150,7 @@ func (m *ShardGtid) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6979,11 +7164,11 @@ func (m *ShardGtid) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6997,7 +7182,7 @@ func (m *ShardGtid) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7011,11 +7196,11 @@ func (m *ShardGtid) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7029,7 +7214,7 @@ func (m *ShardGtid) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7042,11 +7227,11 @@ func (m *ShardGtid) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7058,12 +7243,12 @@ func (m *ShardGtid) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -7086,7 +7271,7 @@ func (m *VGtid) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7114,7 +7299,7 @@ func (m *VGtid) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7127,11 +7312,11 @@ func (m *VGtid) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7143,12 +7328,12 @@ func (m *VGtid) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -7171,7 +7356,7 @@ func (m *KeyspaceShard) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7199,7 +7384,7 @@ func (m *KeyspaceShard) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7213,11 +7398,11 @@ func (m *KeyspaceShard) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7231,7 +7416,7 @@ func (m *KeyspaceShard) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7245,11 +7430,11 @@ func (m *KeyspaceShard) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7258,12 +7443,12 @@ func (m *KeyspaceShard) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -7286,7 +7471,7 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7314,7 +7499,7 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
m.Id = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7333,7 +7518,7 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
m.MigrationType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7352,7 +7537,7 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7366,11 +7551,11 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7384,7 +7569,7 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7398,11 +7583,11 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7416,7 +7601,7 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7429,11 +7614,11 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7450,7 +7635,7 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7463,11 +7648,11 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7484,7 +7669,7 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7498,11 +7683,11 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7511,12 +7696,12 @@ func (m *Journal) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -7539,7 +7724,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7567,7 +7752,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
m.Type = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7586,7 +7771,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
m.Timestamp = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7605,7 +7790,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7619,11 +7804,11 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7637,7 +7822,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7651,11 +7836,11 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7669,7 +7854,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7682,11 +7867,11 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7705,7 +7890,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7718,11 +7903,11 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7741,7 +7926,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7754,11 +7939,11 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7777,7 +7962,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7790,11 +7975,11 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7813,7 +7998,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7827,11 +8012,11 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7845,7 +8030,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
m.CurrentTime = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7864,7 +8049,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7877,11 +8062,11 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7900,7 +8085,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7914,11 +8099,11 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7932,7 +8117,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7946,11 +8131,11 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7964,7 +8149,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7984,7 +8169,7 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7998,11 +8183,11 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8011,12 +8196,12 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -8039,7 +8224,7 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8067,7 +8252,7 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8081,11 +8266,11 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8099,7 +8284,7 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8112,11 +8297,11 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8131,7 +8316,7 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
var v int64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8148,7 +8333,7 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8161,11 +8346,11 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8185,7 +8370,7 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
var v int64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8209,7 +8394,7 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8223,11 +8408,11 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8236,12 +8421,12 @@ func (m *MinimalTable) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -8264,7 +8449,7 @@ func (m *MinimalSchema) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8292,7 +8477,7 @@ func (m *MinimalSchema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8305,11 +8490,11 @@ func (m *MinimalSchema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8321,12 +8506,12 @@ func (m *MinimalSchema) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -8341,7 +8526,7 @@ func (m *MinimalSchema) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
+func (m *VStreamOptions) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -8349,7 +8534,7 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8364,56 +8549,52 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: VStreamRequest: wiretype end group for non-group")
+ return fmt.Errorf("proto: VStreamOptions: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: VStreamRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: VStreamOptions: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field EffectiveCallerId", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field InternalTables", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
- return ErrInvalidLength
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.EffectiveCallerId == nil {
- m.EffectiveCallerId = &vtrpc.CallerID{}
- }
- if err := m.EffectiveCallerId.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.InternalTables = append(m.InternalTables, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
case 2:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field ImmediateCallerId", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ConfigOverrides", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8426,47 +8607,261 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- if m.ImmediateCallerId == nil {
- m.ImmediateCallerId = &query.VTGateCallerID{}
- }
- if err := m.ImmediateCallerId.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflow
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLength
- }
- postIndex := iNdEx + msglen
- if postIndex < 0 {
- return ErrInvalidLength
+ if m.ConfigOverrides == nil {
+ m.ConfigOverrides = make(map[string]string)
+ }
+ var mapkey string
+ var mapvalue string
+ for iNdEx < postIndex {
+ entryPreIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ if fieldNum == 1 {
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ } else if fieldNum == 2 {
+ var stringLenmapvalue uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapvalue |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapvalue := int(stringLenmapvalue)
+ if intStringLenmapvalue < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postStringIndexmapvalue := iNdEx + intStringLenmapvalue
+ if postStringIndexmapvalue < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postStringIndexmapvalue > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
+ iNdEx = postStringIndexmapvalue
+ } else {
+ iNdEx = entryPreIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > postIndex {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+ m.ConfigOverrides[mapkey] = mapvalue
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: VStreamRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: VStreamRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field EffectiveCallerId", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.EffectiveCallerId == nil {
+ m.EffectiveCallerId = &vtrpc.CallerID{}
+ }
+ if err := m.EffectiveCallerId.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ImmediateCallerId", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.ImmediateCallerId == nil {
+ m.ImmediateCallerId = &query.VTGateCallerID{}
+ }
+ if err := m.ImmediateCallerId.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8485,7 +8880,7 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8499,11 +8894,11 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8517,7 +8912,7 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8530,11 +8925,11 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8553,7 +8948,7 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8566,11 +8961,11 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8580,14 +8975,50 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 7:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Options == nil {
+ m.Options = &VStreamOptions{}
+ }
+ if err := m.Options.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -8610,7 +9041,7 @@ func (m *VStreamResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8638,7 +9069,7 @@ func (m *VStreamResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8651,11 +9082,11 @@ func (m *VStreamResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8667,12 +9098,12 @@ func (m *VStreamResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -8695,7 +9126,7 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8723,7 +9154,7 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8736,11 +9167,11 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8759,7 +9190,7 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8772,11 +9203,11 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8795,7 +9226,7 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8808,11 +9239,11 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8831,7 +9262,7 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8845,11 +9276,11 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8863,7 +9294,7 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8876,11 +9307,11 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8892,14 +9323,50 @@ func (m *VStreamRowsRequest) UnmarshalVT(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 6:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Options == nil {
+ m.Options = &VStreamOptions{}
+ }
+ if err := m.Options.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -8922,7 +9389,7 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8950,7 +9417,7 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8963,11 +9430,11 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8991,7 +9458,7 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9004,11 +9471,11 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9032,7 +9499,7 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9046,11 +9513,11 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9064,7 +9531,7 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9077,11 +9544,11 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9105,7 +9572,7 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9118,11 +9585,11 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9141,7 +9608,7 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9161,7 +9628,7 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9181,7 +9648,7 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9195,11 +9662,11 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9208,12 +9675,12 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -9236,7 +9703,7 @@ func (m *VStreamTablesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9264,7 +9731,7 @@ func (m *VStreamTablesRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9277,11 +9744,11 @@ func (m *VStreamTablesRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9300,7 +9767,7 @@ func (m *VStreamTablesRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9313,11 +9780,11 @@ func (m *VStreamTablesRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9336,7 +9803,7 @@ func (m *VStreamTablesRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9349,11 +9816,11 @@ func (m *VStreamTablesRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9365,14 +9832,50 @@ func (m *VStreamTablesRequest) UnmarshalVT(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Options == nil {
+ m.Options = &VStreamOptions{}
+ }
+ if err := m.Options.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -9395,7 +9898,7 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9423,7 +9926,7 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9437,11 +9940,11 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9455,7 +9958,7 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9468,11 +9971,11 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9496,7 +9999,7 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9509,11 +10012,11 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9537,7 +10040,7 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9551,11 +10054,11 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9569,7 +10072,7 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9582,11 +10085,11 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9610,7 +10113,7 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9623,11 +10126,11 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9641,12 +10144,12 @@ func (m *VStreamTablesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -9669,7 +10172,7 @@ func (m *LastPKEvent) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9697,7 +10200,7 @@ func (m *LastPKEvent) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9710,11 +10213,11 @@ func (m *LastPKEvent) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9733,7 +10236,7 @@ func (m *LastPKEvent) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9748,12 +10251,12 @@ func (m *LastPKEvent) UnmarshalVT(dAtA []byte) error {
m.Completed = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -9776,7 +10279,7 @@ func (m *TableLastPK) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9804,7 +10307,7 @@ func (m *TableLastPK) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9818,11 +10321,11 @@ func (m *TableLastPK) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9836,7 +10339,7 @@ func (m *TableLastPK) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9849,11 +10352,11 @@ func (m *TableLastPK) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9867,12 +10370,12 @@ func (m *TableLastPK) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -9895,7 +10398,7 @@ func (m *VStreamResultsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9923,7 +10426,7 @@ func (m *VStreamResultsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9936,11 +10439,11 @@ func (m *VStreamResultsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9959,7 +10462,7 @@ func (m *VStreamResultsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9972,11 +10475,11 @@ func (m *VStreamResultsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9995,7 +10498,7 @@ func (m *VStreamResultsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10008,11 +10511,11 @@ func (m *VStreamResultsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10031,7 +10534,7 @@ func (m *VStreamResultsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10045,11 +10548,11 @@ func (m *VStreamResultsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10058,12 +10561,12 @@ func (m *VStreamResultsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -10086,7 +10589,7 @@ func (m *VStreamResultsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10114,7 +10617,7 @@ func (m *VStreamResultsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10127,11 +10630,11 @@ func (m *VStreamResultsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10148,7 +10651,7 @@ func (m *VStreamResultsResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10162,11 +10665,11 @@ func (m *VStreamResultsResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10180,7 +10683,7 @@ func (m *VStreamResultsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10193,11 +10696,11 @@ func (m *VStreamResultsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10209,12 +10712,12 @@ func (m *VStreamResultsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -10229,88 +10732,3 @@ func (m *VStreamResultsResponse) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/logutil/logutil_vtproto.pb.go b/go/vt/proto/logutil/logutil_vtproto.pb.go
index 1d3ccb74271..aeca94981f9 100644
--- a/go/vt/proto/logutil/logutil_vtproto.pb.go
+++ b/go/vt/proto/logutil/logutil_vtproto.pb.go
@@ -1,15 +1,15 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: logutil.proto
package logutil
import (
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
- bits "math/bits"
vttime "vitess.io/vitess/go/vt/proto/vttime"
)
@@ -24,13 +24,12 @@ func (m *Event) CloneVT() *Event {
if m == nil {
return (*Event)(nil)
}
- r := &Event{
- Time: m.Time.CloneVT(),
- Level: m.Level,
- File: m.File,
- Line: m.Line,
- Value: m.Value,
- }
+ r := new(Event)
+ r.Time = m.Time.CloneVT()
+ r.Level = m.Level
+ r.File = m.File
+ r.Line = m.Line
+ r.Value = m.Value
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -75,24 +74,24 @@ func (m *Event) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Value) > 0 {
i -= len(m.Value)
copy(dAtA[i:], m.Value)
- i = encodeVarint(dAtA, i, uint64(len(m.Value)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Value)))
i--
dAtA[i] = 0x2a
}
if m.Line != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Line))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Line))
i--
dAtA[i] = 0x20
}
if len(m.File) > 0 {
i -= len(m.File)
copy(dAtA[i:], m.File)
- i = encodeVarint(dAtA, i, uint64(len(m.File)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.File)))
i--
dAtA[i] = 0x1a
}
if m.Level != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Level))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Level))
i--
dAtA[i] = 0x10
}
@@ -102,24 +101,13 @@ func (m *Event) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *Event) SizeVT() (n int) {
if m == nil {
return 0
@@ -128,32 +116,26 @@ func (m *Event) SizeVT() (n int) {
_ = l
if m.Time != nil {
l = m.Time.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Level != 0 {
- n += 1 + sov(uint64(m.Level))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Level))
}
l = len(m.File)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Line != 0 {
- n += 1 + sov(uint64(m.Line))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Line))
}
l = len(m.Value)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *Event) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -162,7 +144,7 @@ func (m *Event) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -190,7 +172,7 @@ func (m *Event) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -203,11 +185,11 @@ func (m *Event) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -226,7 +208,7 @@ func (m *Event) UnmarshalVT(dAtA []byte) error {
m.Level = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -245,7 +227,7 @@ func (m *Event) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -259,11 +241,11 @@ func (m *Event) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -277,7 +259,7 @@ func (m *Event) UnmarshalVT(dAtA []byte) error {
m.Line = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -296,7 +278,7 @@ func (m *Event) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -310,11 +292,11 @@ func (m *Event) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -323,12 +305,12 @@ func (m *Event) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -343,88 +325,3 @@ func (m *Event) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/mysqlctl/mysqlctl_vtproto.pb.go b/go/vt/proto/mysqlctl/mysqlctl_vtproto.pb.go
index fab1af2f471..b8e1d832279 100644
--- a/go/vt/proto/mysqlctl/mysqlctl_vtproto.pb.go
+++ b/go/vt/proto/mysqlctl/mysqlctl_vtproto.pb.go
@@ -1,15 +1,15 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: mysqlctl.proto
package mysqlctl
import (
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
- bits "math/bits"
topodata "vitess.io/vitess/go/vt/proto/topodata"
vttime "vitess.io/vitess/go/vt/proto/vttime"
)
@@ -25,7 +25,7 @@ func (m *StartRequest) CloneVT() *StartRequest {
if m == nil {
return (*StartRequest)(nil)
}
- r := &StartRequest{}
+ r := new(StartRequest)
if rhs := m.MysqldArgs; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -46,7 +46,7 @@ func (m *StartResponse) CloneVT() *StartResponse {
if m == nil {
return (*StartResponse)(nil)
}
- r := &StartResponse{}
+ r := new(StartResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -62,10 +62,9 @@ func (m *ShutdownRequest) CloneVT() *ShutdownRequest {
if m == nil {
return (*ShutdownRequest)(nil)
}
- r := &ShutdownRequest{
- WaitForMysqld: m.WaitForMysqld,
- MysqlShutdownTimeout: m.MysqlShutdownTimeout.CloneVT(),
- }
+ r := new(ShutdownRequest)
+ r.WaitForMysqld = m.WaitForMysqld
+ r.MysqlShutdownTimeout = m.MysqlShutdownTimeout.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -81,7 +80,7 @@ func (m *ShutdownResponse) CloneVT() *ShutdownResponse {
if m == nil {
return (*ShutdownResponse)(nil)
}
- r := &ShutdownResponse{}
+ r := new(ShutdownResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -97,7 +96,7 @@ func (m *RunMysqlUpgradeRequest) CloneVT() *RunMysqlUpgradeRequest {
if m == nil {
return (*RunMysqlUpgradeRequest)(nil)
}
- r := &RunMysqlUpgradeRequest{}
+ r := new(RunMysqlUpgradeRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -113,7 +112,7 @@ func (m *RunMysqlUpgradeResponse) CloneVT() *RunMysqlUpgradeResponse {
if m == nil {
return (*RunMysqlUpgradeResponse)(nil)
}
- r := &RunMysqlUpgradeResponse{}
+ r := new(RunMysqlUpgradeResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -129,11 +128,10 @@ func (m *ApplyBinlogFileRequest) CloneVT() *ApplyBinlogFileRequest {
if m == nil {
return (*ApplyBinlogFileRequest)(nil)
}
- r := &ApplyBinlogFileRequest{
- BinlogFileName: m.BinlogFileName,
- BinlogRestorePosition: m.BinlogRestorePosition,
- BinlogRestoreDatetime: m.BinlogRestoreDatetime.CloneVT(),
- }
+ r := new(ApplyBinlogFileRequest)
+ r.BinlogFileName = m.BinlogFileName
+ r.BinlogRestorePosition = m.BinlogRestorePosition
+ r.BinlogRestoreDatetime = m.BinlogRestoreDatetime.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -149,7 +147,7 @@ func (m *ApplyBinlogFileResponse) CloneVT() *ApplyBinlogFileResponse {
if m == nil {
return (*ApplyBinlogFileResponse)(nil)
}
- r := &ApplyBinlogFileResponse{}
+ r := new(ApplyBinlogFileResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -165,7 +163,7 @@ func (m *ReadBinlogFilesTimestampsRequest) CloneVT() *ReadBinlogFilesTimestampsR
if m == nil {
return (*ReadBinlogFilesTimestampsRequest)(nil)
}
- r := &ReadBinlogFilesTimestampsRequest{}
+ r := new(ReadBinlogFilesTimestampsRequest)
if rhs := m.BinlogFileNames; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -186,12 +184,11 @@ func (m *ReadBinlogFilesTimestampsResponse) CloneVT() *ReadBinlogFilesTimestamps
if m == nil {
return (*ReadBinlogFilesTimestampsResponse)(nil)
}
- r := &ReadBinlogFilesTimestampsResponse{
- FirstTimestamp: m.FirstTimestamp.CloneVT(),
- FirstTimestampBinlog: m.FirstTimestampBinlog,
- LastTimestamp: m.LastTimestamp.CloneVT(),
- LastTimestampBinlog: m.LastTimestampBinlog,
- }
+ r := new(ReadBinlogFilesTimestampsResponse)
+ r.FirstTimestamp = m.FirstTimestamp.CloneVT()
+ r.FirstTimestampBinlog = m.FirstTimestampBinlog
+ r.LastTimestamp = m.LastTimestamp.CloneVT()
+ r.LastTimestampBinlog = m.LastTimestampBinlog
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -207,7 +204,7 @@ func (m *ReinitConfigRequest) CloneVT() *ReinitConfigRequest {
if m == nil {
return (*ReinitConfigRequest)(nil)
}
- r := &ReinitConfigRequest{}
+ r := new(ReinitConfigRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -223,7 +220,7 @@ func (m *ReinitConfigResponse) CloneVT() *ReinitConfigResponse {
if m == nil {
return (*ReinitConfigResponse)(nil)
}
- r := &ReinitConfigResponse{}
+ r := new(ReinitConfigResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -239,7 +236,7 @@ func (m *RefreshConfigRequest) CloneVT() *RefreshConfigRequest {
if m == nil {
return (*RefreshConfigRequest)(nil)
}
- r := &RefreshConfigRequest{}
+ r := new(RefreshConfigRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -255,7 +252,7 @@ func (m *RefreshConfigResponse) CloneVT() *RefreshConfigResponse {
if m == nil {
return (*RefreshConfigResponse)(nil)
}
- r := &RefreshConfigResponse{}
+ r := new(RefreshConfigResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -271,7 +268,7 @@ func (m *VersionStringRequest) CloneVT() *VersionStringRequest {
if m == nil {
return (*VersionStringRequest)(nil)
}
- r := &VersionStringRequest{}
+ r := new(VersionStringRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -287,9 +284,8 @@ func (m *VersionStringResponse) CloneVT() *VersionStringResponse {
if m == nil {
return (*VersionStringResponse)(nil)
}
- r := &VersionStringResponse{
- Version: m.Version,
- }
+ r := new(VersionStringResponse)
+ r.Version = m.Version
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -305,16 +301,15 @@ func (m *BackupInfo) CloneVT() *BackupInfo {
if m == nil {
return (*BackupInfo)(nil)
}
- r := &BackupInfo{
- Name: m.Name,
- Directory: m.Directory,
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- TabletAlias: m.TabletAlias.CloneVT(),
- Time: m.Time.CloneVT(),
- Engine: m.Engine,
- Status: m.Status,
- }
+ r := new(BackupInfo)
+ r.Name = m.Name
+ r.Directory = m.Directory
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.Time = m.Time.CloneVT()
+ r.Engine = m.Engine
+ r.Status = m.Status
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -360,7 +355,7 @@ func (m *StartRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.MysqldArgs) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.MysqldArgs[iNdEx])
copy(dAtA[i:], m.MysqldArgs[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.MysqldArgs[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.MysqldArgs[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -437,7 +432,7 @@ func (m *ShutdownRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -589,21 +584,21 @@ func (m *ApplyBinlogFileRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.BinlogRestorePosition) > 0 {
i -= len(m.BinlogRestorePosition)
copy(dAtA[i:], m.BinlogRestorePosition)
- i = encodeVarint(dAtA, i, uint64(len(m.BinlogRestorePosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BinlogRestorePosition)))
i--
dAtA[i] = 0x12
}
if len(m.BinlogFileName) > 0 {
i -= len(m.BinlogFileName)
copy(dAtA[i:], m.BinlogFileName)
- i = encodeVarint(dAtA, i, uint64(len(m.BinlogFileName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BinlogFileName)))
i--
dAtA[i] = 0xa
}
@@ -677,7 +672,7 @@ func (m *ReadBinlogFilesTimestampsRequest) MarshalToSizedBufferVT(dAtA []byte) (
for iNdEx := len(m.BinlogFileNames) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.BinlogFileNames[iNdEx])
copy(dAtA[i:], m.BinlogFileNames[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.BinlogFileNames[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BinlogFileNames[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -718,7 +713,7 @@ func (m *ReadBinlogFilesTimestampsResponse) MarshalToSizedBufferVT(dAtA []byte)
if len(m.LastTimestampBinlog) > 0 {
i -= len(m.LastTimestampBinlog)
copy(dAtA[i:], m.LastTimestampBinlog)
- i = encodeVarint(dAtA, i, uint64(len(m.LastTimestampBinlog)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LastTimestampBinlog)))
i--
dAtA[i] = 0x22
}
@@ -728,14 +723,14 @@ func (m *ReadBinlogFilesTimestampsResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.FirstTimestampBinlog) > 0 {
i -= len(m.FirstTimestampBinlog)
copy(dAtA[i:], m.FirstTimestampBinlog)
- i = encodeVarint(dAtA, i, uint64(len(m.FirstTimestampBinlog)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FirstTimestampBinlog)))
i--
dAtA[i] = 0x12
}
@@ -745,7 +740,7 @@ func (m *ReadBinlogFilesTimestampsResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -950,7 +945,7 @@ func (m *VersionStringResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Version) > 0 {
i -= len(m.Version)
copy(dAtA[i:], m.Version)
- i = encodeVarint(dAtA, i, uint64(len(m.Version)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Version)))
i--
dAtA[i] = 0xa
}
@@ -988,14 +983,14 @@ func (m *BackupInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.Status != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Status))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Status))
i--
dAtA[i] = 0x40
}
if len(m.Engine) > 0 {
i -= len(m.Engine)
copy(dAtA[i:], m.Engine)
- i = encodeVarint(dAtA, i, uint64(len(m.Engine)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Engine)))
i--
dAtA[i] = 0x3a
}
@@ -1005,7 +1000,7 @@ func (m *BackupInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
@@ -1015,52 +1010,41 @@ func (m *BackupInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x22
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x1a
}
if len(m.Directory) > 0 {
i -= len(m.Directory)
copy(dAtA[i:], m.Directory)
- i = encodeVarint(dAtA, i, uint64(len(m.Directory)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Directory)))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *StartRequest) SizeVT() (n int) {
if m == nil {
return 0
@@ -1070,7 +1054,7 @@ func (m *StartRequest) SizeVT() (n int) {
if len(m.MysqldArgs) > 0 {
for _, s := range m.MysqldArgs {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -1098,7 +1082,7 @@ func (m *ShutdownRequest) SizeVT() (n int) {
}
if m.MysqlShutdownTimeout != nil {
l = m.MysqlShutdownTimeout.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1142,15 +1126,15 @@ func (m *ApplyBinlogFileRequest) SizeVT() (n int) {
_ = l
l = len(m.BinlogFileName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.BinlogRestorePosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.BinlogRestoreDatetime != nil {
l = m.BinlogRestoreDatetime.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1175,7 +1159,7 @@ func (m *ReadBinlogFilesTimestampsRequest) SizeVT() (n int) {
if len(m.BinlogFileNames) > 0 {
for _, s := range m.BinlogFileNames {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -1190,19 +1174,19 @@ func (m *ReadBinlogFilesTimestampsResponse) SizeVT() (n int) {
_ = l
if m.FirstTimestamp != nil {
l = m.FirstTimestamp.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.FirstTimestampBinlog)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.LastTimestamp != nil {
l = m.LastTimestamp.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.LastTimestampBinlog)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1266,7 +1250,7 @@ func (m *VersionStringResponse) SizeVT() (n int) {
_ = l
l = len(m.Version)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1280,45 +1264,39 @@ func (m *BackupInfo) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Directory)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Time != nil {
l = m.Time.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Engine)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Status != 0 {
- n += 1 + sov(uint64(m.Status))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Status))
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *StartRequest) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -1327,7 +1305,7 @@ func (m *StartRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1355,7 +1333,7 @@ func (m *StartRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1369,11 +1347,11 @@ func (m *StartRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1382,12 +1360,12 @@ func (m *StartRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1410,7 +1388,7 @@ func (m *StartResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1433,12 +1411,12 @@ func (m *StartResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1461,7 +1439,7 @@ func (m *ShutdownRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1489,7 +1467,7 @@ func (m *ShutdownRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1509,7 +1487,7 @@ func (m *ShutdownRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1522,11 +1500,11 @@ func (m *ShutdownRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1540,12 +1518,12 @@ func (m *ShutdownRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1568,7 +1546,7 @@ func (m *ShutdownResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1591,12 +1569,12 @@ func (m *ShutdownResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1619,7 +1597,7 @@ func (m *RunMysqlUpgradeRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1642,12 +1620,12 @@ func (m *RunMysqlUpgradeRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1670,7 +1648,7 @@ func (m *RunMysqlUpgradeResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1693,12 +1671,12 @@ func (m *RunMysqlUpgradeResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1721,7 +1699,7 @@ func (m *ApplyBinlogFileRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1749,7 +1727,7 @@ func (m *ApplyBinlogFileRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1763,11 +1741,11 @@ func (m *ApplyBinlogFileRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1781,7 +1759,7 @@ func (m *ApplyBinlogFileRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1795,11 +1773,11 @@ func (m *ApplyBinlogFileRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1813,7 +1791,7 @@ func (m *ApplyBinlogFileRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1826,11 +1804,11 @@ func (m *ApplyBinlogFileRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1844,12 +1822,12 @@ func (m *ApplyBinlogFileRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1872,7 +1850,7 @@ func (m *ApplyBinlogFileResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1895,12 +1873,12 @@ func (m *ApplyBinlogFileResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1923,7 +1901,7 @@ func (m *ReadBinlogFilesTimestampsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1951,7 +1929,7 @@ func (m *ReadBinlogFilesTimestampsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1965,11 +1943,11 @@ func (m *ReadBinlogFilesTimestampsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1978,12 +1956,12 @@ func (m *ReadBinlogFilesTimestampsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2006,7 +1984,7 @@ func (m *ReadBinlogFilesTimestampsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2034,7 +2012,7 @@ func (m *ReadBinlogFilesTimestampsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2047,11 +2025,11 @@ func (m *ReadBinlogFilesTimestampsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2070,7 +2048,7 @@ func (m *ReadBinlogFilesTimestampsResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2084,11 +2062,11 @@ func (m *ReadBinlogFilesTimestampsResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2102,7 +2080,7 @@ func (m *ReadBinlogFilesTimestampsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2115,11 +2093,11 @@ func (m *ReadBinlogFilesTimestampsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2138,7 +2116,7 @@ func (m *ReadBinlogFilesTimestampsResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2152,11 +2130,11 @@ func (m *ReadBinlogFilesTimestampsResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2165,12 +2143,12 @@ func (m *ReadBinlogFilesTimestampsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2193,7 +2171,7 @@ func (m *ReinitConfigRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2216,12 +2194,12 @@ func (m *ReinitConfigRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2244,7 +2222,7 @@ func (m *ReinitConfigResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2267,12 +2245,12 @@ func (m *ReinitConfigResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2295,7 +2273,7 @@ func (m *RefreshConfigRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2318,12 +2296,12 @@ func (m *RefreshConfigRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2346,7 +2324,7 @@ func (m *RefreshConfigResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2369,12 +2347,12 @@ func (m *RefreshConfigResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2397,7 +2375,7 @@ func (m *VersionStringRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2420,12 +2398,12 @@ func (m *VersionStringRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2448,7 +2426,7 @@ func (m *VersionStringResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2476,7 +2454,7 @@ func (m *VersionStringResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2490,11 +2468,11 @@ func (m *VersionStringResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2503,12 +2481,12 @@ func (m *VersionStringResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2531,7 +2509,7 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2559,7 +2537,7 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2573,11 +2551,11 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2591,7 +2569,7 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2605,11 +2583,11 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2623,7 +2601,7 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2637,11 +2615,11 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2655,7 +2633,7 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2669,11 +2647,11 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2687,7 +2665,7 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2700,11 +2678,11 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2723,7 +2701,7 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2736,11 +2714,11 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2759,7 +2737,7 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2773,11 +2751,11 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2791,7 +2769,7 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
m.Status = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2805,12 +2783,12 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2825,88 +2803,3 @@ func (m *BackupInfo) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/query/cached_size.go b/go/vt/proto/query/cached_size.go
index 735bd555e55..5b613317294 100644
--- a/go/vt/proto/query/cached_size.go
+++ b/go/vt/proto/query/cached_size.go
@@ -27,10 +27,6 @@ func (cached *BindVariable) CachedSize(alloc bool) int64 {
if alloc {
size += int64(96)
}
- // field unknownFields []byte
- {
- size += hack.RuntimeAllocSize(int64(cap(cached.unknownFields)))
- }
// field Value []byte
{
size += hack.RuntimeAllocSize(int64(cap(cached.Value)))
@@ -52,10 +48,6 @@ func (cached *Field) CachedSize(alloc bool) int64 {
if alloc {
size += int64(160)
}
- // field unknownFields []byte
- {
- size += hack.RuntimeAllocSize(int64(cap(cached.unknownFields)))
- }
// field Name string
size += hack.RuntimeAllocSize(int64(len(cached.Name)))
// field Table string
@@ -78,10 +70,6 @@ func (cached *QueryWarning) CachedSize(alloc bool) int64 {
if alloc {
size += int64(64)
}
- // field unknownFields []byte
- {
- size += hack.RuntimeAllocSize(int64(cap(cached.unknownFields)))
- }
// field Message string
size += hack.RuntimeAllocSize(int64(len(cached.Message)))
return size
@@ -94,10 +82,6 @@ func (cached *Target) CachedSize(alloc bool) int64 {
if alloc {
size += int64(96)
}
- // field unknownFields []byte
- {
- size += hack.RuntimeAllocSize(int64(cap(cached.unknownFields)))
- }
// field Keyspace string
size += hack.RuntimeAllocSize(int64(len(cached.Keyspace)))
// field Shard string
@@ -114,10 +98,6 @@ func (cached *Value) CachedSize(alloc bool) int64 {
if alloc {
size += int64(80)
}
- // field unknownFields []byte
- {
- size += hack.RuntimeAllocSize(int64(cap(cached.unknownFields)))
- }
// field Value []byte
{
size += hack.RuntimeAllocSize(int64(cap(cached.Value)))
diff --git a/go/vt/proto/query/query.pb.go b/go/vt/proto/query/query.pb.go
index bcb83cbf042..11b5a209e73 100644
--- a/go/vt/proto/query/query.pb.go
+++ b/go/vt/proto/query/query.pb.go
@@ -319,6 +319,8 @@ const (
// VECTOR specifies a VECTOR type
// Properties: 35, IsQuoted.
Type_VECTOR Type = 2083
+ // RAW specifies a type which won't be quoted but the value used as-is while encoding.
+ Type_RAW Type = 2084
)
// Enum value maps for Type.
@@ -360,6 +362,7 @@ var (
4129: "HEXVAL",
4130: "BITNUM",
2083: "VECTOR",
+ 2084: "RAW",
}
Type_value = map[string]int32{
"NULL_TYPE": 0,
@@ -398,6 +401,7 @@ var (
"HEXVAL": 4129,
"BITNUM": 4130,
"VECTOR": 2083,
+ "RAW": 2084,
}
)
@@ -1351,6 +1355,12 @@ type ExecuteOptions struct {
// priority specifies the priority of the query, between 0 and 100. This is leveraged by the transaction
// throttler to determine whether, under resource contention, a query should or should not be throttled.
Priority string `protobuf:"bytes,16,opt,name=priority,proto3" json:"priority,omitempty"`
+ // timeout specifies the query timeout in milliseconds. If not set, the default timeout is used.
+ //
+ // Types that are assignable to Timeout:
+ //
+ // *ExecuteOptions_AuthoritativeTimeout
+ Timeout isExecuteOptions_Timeout `protobuf_oneof:"timeout"`
}
func (x *ExecuteOptions) Reset() {
@@ -1469,6 +1479,30 @@ func (x *ExecuteOptions) GetPriority() string {
return ""
}
+func (m *ExecuteOptions) GetTimeout() isExecuteOptions_Timeout {
+ if m != nil {
+ return m.Timeout
+ }
+ return nil
+}
+
+func (x *ExecuteOptions) GetAuthoritativeTimeout() int64 {
+ if x, ok := x.GetTimeout().(*ExecuteOptions_AuthoritativeTimeout); ok {
+ return x.AuthoritativeTimeout
+ }
+ return 0
+}
+
+type isExecuteOptions_Timeout interface {
+ isExecuteOptions_Timeout()
+}
+
+type ExecuteOptions_AuthoritativeTimeout struct {
+ AuthoritativeTimeout int64 `protobuf:"varint,17,opt,name=authoritative_timeout,json=authoritativeTimeout,proto3,oneof"`
+}
+
+func (*ExecuteOptions_AuthoritativeTimeout) isExecuteOptions_Timeout() {}
+
// Field describes a single column returned by a query
type Field struct {
state protoimpl.MessageState
@@ -3553,6 +3587,7 @@ type UnresolvedTransactionsRequest struct {
EffectiveCallerId *vtrpc.CallerID `protobuf:"bytes,1,opt,name=effective_caller_id,json=effectiveCallerId,proto3" json:"effective_caller_id,omitempty"`
ImmediateCallerId *VTGateCallerID `protobuf:"bytes,2,opt,name=immediate_caller_id,json=immediateCallerId,proto3" json:"immediate_caller_id,omitempty"`
Target *Target `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
+ AbandonAge int64 `protobuf:"varint,4,opt,name=abandon_age,json=abandonAge,proto3" json:"abandon_age,omitempty"` // Unresolved Transactions older than this (in seconds).
}
func (x *UnresolvedTransactionsRequest) Reset() {
@@ -3608,6 +3643,13 @@ func (x *UnresolvedTransactionsRequest) GetTarget() *Target {
return nil
}
+func (x *UnresolvedTransactionsRequest) GetAbandonAge() int64 {
+ if x != nil {
+ return x.AbandonAge
+ }
+ return 0
+}
+
// UnresolvedTransactionsResponse is the returned value from UnresolvedTransactions
type UnresolvedTransactionsResponse struct {
state protoimpl.MessageState
@@ -5901,7 +5943,7 @@ var file_query_proto_rawDesc = []byte{
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62,
- 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x98, 0x0b,
+ 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xda, 0x0b,
0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x4d, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65,
0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x71, 0x75, 0x65, 0x72,
@@ -5949,220 +5991,242 @@ var file_query_proto_rawDesc = []byte{
0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08,
0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x3b, 0x0a, 0x0e, 0x49, 0x6e, 0x63, 0x6c,
- 0x75, 0x64, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59,
- 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a,
- 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03,
- 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x22, 0x38, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61,
- 0x64, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
- 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x4c, 0x54, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04,
- 0x4f, 0x4c, 0x41, 0x50, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x42, 0x41, 0x10, 0x03, 0x22,
- 0xa7, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
- 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41,
- 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x41,
- 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45,
- 0x41, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x14,
- 0x0a, 0x10, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x55, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54,
- 0x45, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a,
- 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53,
- 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x52, 0x45,
- 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x54,
- 0x4f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x06, 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x50, 0x6c,
- 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x0f,
- 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x4e, 0x45, 0x52, 0x10,
- 0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x33, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x65, 0x6e,
- 0x34, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x65, 0x6e, 0x34, 0x47, 0x72, 0x65, 0x65, 0x64,
- 0x79, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x34, 0x4c, 0x65, 0x66, 0x74, 0x32,
- 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x34, 0x57,
- 0x69, 0x74, 0x68, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x10, 0x05, 0x12, 0x11, 0x0a,
- 0x0d, 0x47, 0x65, 0x6e, 0x34, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x56, 0x33, 0x10, 0x06,
- 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x33, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x10, 0x07, 0x22, 0x84,
- 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12,
- 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x4e, 0x53, 0x4f, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f,
- 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a,
- 0x15, 0x43, 0x4f, 0x4e, 0x53, 0x4f, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x44, 0x49,
- 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x53,
- 0x4f, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44,
- 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x4f, 0x4e, 0x53, 0x4f, 0x4c, 0x49, 0x44, 0x41, 0x54,
- 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49,
- 0x43, 0x41, 0x53, 0x10, 0x03, 0x22, 0x4f, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x17,
- 0x0a, 0x13, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x4e, 0x41,
- 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f,
- 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x44, 0x5f,
- 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02,
- 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xb8, 0x02, 0x0a, 0x05, 0x46, 0x69, 0x65,
- 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70,
- 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a,
- 0x09, 0x6f, 0x72, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x6f, 0x72, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61,
- 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61,
- 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x5f, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x67, 0x4e, 0x61, 0x6d,
- 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67,
- 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
- 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65,
- 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01,
- 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05,
- 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61,
- 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54,
- 0x79, 0x70, 0x65, 0x22, 0x37, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65,
- 0x6e, 0x67, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x12, 0x52, 0x07, 0x6c, 0x65, 0x6e,
- 0x67, 0x74, 0x68, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xe3, 0x01, 0x0a,
- 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a, 0x06,
- 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c,
- 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63,
- 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x72, 0x6f, 0x77, 0x73, 0x41,
- 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x65, 0x72,
- 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x65,
- 0x72, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04,
- 0x72, 0x6f, 0x77, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x73, 0x73,
- 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
- 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
- 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x05,
- 0x10, 0x06, 0x22, 0x3c, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x61, 0x72, 0x6e, 0x69,
- 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
- 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
- 0x22, 0xa0, 0x03, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74,
- 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x72,
+ 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x68,
+ 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
+ 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f,
+ 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22,
+ 0x3b, 0x0a, 0x0e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x73, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4e, 0x41,
+ 0x4d, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x4e, 0x4c,
+ 0x59, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x22, 0x38, 0x0a, 0x08,
+ 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50,
+ 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x4c, 0x54,
+ 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x4c, 0x41, 0x50, 0x10, 0x02, 0x12, 0x07, 0x0a,
+ 0x03, 0x44, 0x42, 0x41, 0x10, 0x03, 0x22, 0xa7, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f,
+ 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10,
+ 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54,
+ 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x55, 0x4e,
+ 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53,
+ 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x21, 0x0a,
+ 0x1d, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x4e, 0x41, 0x50,
+ 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x05,
+ 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x54, 0x4f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x06,
+ 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x50,
+ 0x4c, 0x41, 0x4e, 0x4e, 0x45, 0x52, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x33, 0x10, 0x01,
+ 0x12, 0x08, 0x0a, 0x04, 0x47, 0x65, 0x6e, 0x34, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x65,
+ 0x6e, 0x34, 0x47, 0x72, 0x65, 0x65, 0x64, 0x79, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x65,
+ 0x6e, 0x34, 0x4c, 0x65, 0x66, 0x74, 0x32, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0x04, 0x12, 0x14,
+ 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x34, 0x57, 0x69, 0x74, 0x68, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61,
+ 0x63, 0x6b, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x65, 0x6e, 0x34, 0x43, 0x6f, 0x6d, 0x70,
+ 0x61, 0x72, 0x65, 0x56, 0x33, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x33, 0x49, 0x6e, 0x73,
+ 0x65, 0x72, 0x74, 0x10, 0x07, 0x22, 0x84, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c,
+ 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x4e, 0x53, 0x4f, 0x4c,
+ 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
+ 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x53, 0x4f, 0x4c, 0x49, 0x44,
+ 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12,
+ 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x53, 0x4f, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f,
+ 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x4f, 0x4e,
+ 0x53, 0x4f, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45,
+ 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x53, 0x10, 0x03, 0x22, 0x4f, 0x0a, 0x15,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73,
+ 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53, 0x54,
+ 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x00, 0x12, 0x0e,
+ 0x0a, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0d,
+ 0x0a, 0x09, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x42, 0x09, 0x0a,
+ 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04,
+ 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xb8, 0x02, 0x0a, 0x05, 0x46,
+ 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x6f, 0x72, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08,
+ 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x67, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6c, 0x65,
+ 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x75,
+ 0x6d, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x72,
+ 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x72, 0x73,
+ 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x14,
+ 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66,
+ 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d,
+ 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x37, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x18, 0x0a, 0x07,
+ 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x12, 0x52, 0x07, 0x6c,
+ 0x65, 0x6e, 0x67, 0x74, 0x68, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xe3,
+ 0x01, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24,
+ 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c,
+ 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69,
+ 0x65, 0x6c, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66,
+ 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x72, 0x6f, 0x77,
+ 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x73,
+ 0x65, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x6e,
+ 0x73, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77,
+ 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x4a, 0x04,
+ 0x08, 0x05, 0x10, 0x06, 0x22, 0x3c, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x61, 0x72,
+ 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x22, 0xa0, 0x03, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73,
+ 0x12, 0x32, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x9e, 0x02, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x72,
0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65,
- 0x6e, 0x74, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32,
- 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x76, 0x65, 0x6e,
- 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b,
- 0x65, 0x6e, 0x1a, 0x9e, 0x02, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74,
- 0x12, 0x41, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74,
- 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67,
- 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61,
- 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65,
- 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c,
- 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x10, 0x70, 0x72,
- 0x69, 0x6d, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x38,
- 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65,
- 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x4b,
- 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0x27, 0x0a, 0x08, 0x43, 0x61,
- 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10,
- 0x00, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4d, 0x4c, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x44,
- 0x4c, 0x10, 0x02, 0x22, 0xe1, 0x02, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43,
- 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64,
- 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47,
- 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d,
- 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25,
- 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
- 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75,
- 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x25,
- 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45,
- 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76,
- 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73,
- 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x0f, 0x45, 0x78, 0x65, 0x63, 0x75,
- 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65,
- 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06,
- 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x64, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x57, 0x69, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72, 0x72,
- 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63,
- 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
- 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xe7, 0x02, 0x0a,
- 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65,
- 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61,
- 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69,
- 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61,
- 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65,
- 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a,
- 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e,
- 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x0a,
- 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63, 0x61, 0x74,
+ 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f,
+ 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x10,
+ 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73,
+ 0x12, 0x38, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
+ 0x79, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71,
+ 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0x27, 0x0a, 0x08,
+ 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f,
+ 0x72, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4d, 0x4c, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03,
+ 0x44, 0x44, 0x4c, 0x10, 0x02, 0x22, 0xe1, 0x02, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65,
+ 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76,
+ 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d,
+ 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56,
+ 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69,
+ 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64,
+ 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52,
+ 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42,
+ 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
+ 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65,
+ 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72,
+ 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x0f, 0x45, 0x78, 0x65,
+ 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x64, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x57, 0x69, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x05, 0x65,
+ 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72,
+ 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72,
+ 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xe7,
+ 0x02, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65,
+ 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54,
+ 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
+ 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f,
+ 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12,
+ 0x2f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xee, 0x01,
+ 0x0a, 0x0c, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f,
+ 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74,
+ 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66,
+ 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
+ 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x2f, 0x0a,
+ 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25,
- 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
- 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65,
- 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
- 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xee, 0x01, 0x0a, 0x0c,
- 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13,
- 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72,
- 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70,
- 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65,
- 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a,
- 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65,
- 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65,
- 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
- 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72,
- 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x07, 0x6f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa4, 0x01, 0x0a,
- 0x0d, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25,
- 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12,
- 0x32, 0x0a, 0x15, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
- 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13,
- 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e,
- 0x67, 0x65, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65,
- 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61,
- 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69,
- 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61,
- 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65,
- 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a,
- 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72,
- 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x0e, 0x43,
- 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a,
- 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x22, 0xe7,
- 0x01, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa4,
+ 0x01, 0x0a, 0x0d, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65,
+ 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54,
+ 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
+ 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x31, 0x0a,
+ 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64,
+ 0x22, 0xe7, 0x01, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76,
+ 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61,
+ 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74,
+ 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64,
+ 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x10, 0x52, 0x6f,
+ 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x22,
+ 0xfa, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44,
@@ -6176,132 +6240,26 @@ var file_query_proto_rawDesc = []byte{
0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65,
0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73,
- 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x10, 0x52, 0x6f, 0x6c, 0x6c,
- 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
- 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x22, 0xfa, 0x01,
- 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61,
- 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
- 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
- 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
- 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63,
- 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
- 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c,
- 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65,
- 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
- 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
- 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
- 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x05,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x72,
- 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xda, 0x01,
- 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63,
- 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c,
- 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
- 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65,
- 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54,
- 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d,
- 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
- 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06,
- 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x43, 0x6f,
- 0x6d, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x17, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63,
- 0x6b, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61,
- 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
- 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
- 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
- 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63,
- 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
- 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c,
- 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65,
- 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
- 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
- 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
- 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x05,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x6f,
- 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
- 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
- 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74,
- 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65,
- 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69,
- 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75,
- 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
- 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0c, 0x70, 0x61, 0x72,
- 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfe, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, 0x74,
- 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a,
- 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65,
- 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72,
- 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45,
- 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75,
- 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
- 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c,
- 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e,
- 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74,
- 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfe,
- 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65,
- 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61,
- 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69,
- 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61,
- 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65,
- 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a,
- 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72,
- 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64,
- 0x74, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22,
- 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x63, 0x6c,
- 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65,
- 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61,
- 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69,
- 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61,
- 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65,
- 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a,
- 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x6f, 0x6e, 0x63,
- 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x61, 0x64,
- 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f,
+ 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0xda, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72,
+ 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66,
+ 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
+ 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
+ 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
+ 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x18, 0x0a, 0x16,
+ 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x17, 0x52, 0x6f, 0x6c, 0x6c, 0x62,
+ 0x61, 0x63, 0x6b, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44,
@@ -6313,148 +6271,13 @@ var file_query_proto_rawDesc = []byte{
0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61,
0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65,
0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x51, 0x0a, 0x17, 0x52, 0x65, 0x61, 0x64, 0x54, 0x72, 0x61,
- 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
- 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08,
- 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xce, 0x01, 0x0a, 0x1d, 0x55, 0x6e, 0x72,
- 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66,
- 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e,
- 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74,
- 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69,
- 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f,
- 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
- 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52,
- 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
- 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x60, 0x0a, 0x1e, 0x55, 0x6e, 0x72,
- 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x74,
- 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74,
- 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe0, 0x02, 0x0a, 0x13,
- 0x42, 0x65, 0x67, 0x69, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
- 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
- 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74,
- 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65,
- 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69,
- 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75,
- 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x51,
- 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x6f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
- 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x12, 0x1f, 0x0a,
- 0x0b, 0x70, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xfe,
- 0x01, 0x0a, 0x14, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52,
- 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2a,
- 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
- 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72,
- 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
- 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
- 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73,
- 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61,
- 0x6e, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x73, 0x73,
- 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22,
- 0xe6, 0x02, 0x0a, 0x19, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45,
- 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a,
- 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65,
- 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72,
- 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45,
- 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75,
- 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
- 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c,
- 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x05,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75,
- 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45,
- 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x5f, 0x71, 0x75,
- 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65,
- 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72,
- 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65,
- 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x22, 0x84, 0x02, 0x0a, 0x1a, 0x42, 0x65, 0x67,
- 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52,
- 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2a,
- 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
- 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72,
- 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
- 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
- 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73,
- 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61,
- 0x6e, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x73, 0x73,
- 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22,
- 0xd9, 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65,
- 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61,
- 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76,
- 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d,
- 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56,
- 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69,
- 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64,
- 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52,
- 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x43, 0x0a, 0x15, 0x4d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65,
- 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x22, 0xf6, 0x01, 0x0a, 0x11, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x63, 0x6b, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74,
- 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43,
- 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64,
- 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47,
- 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d,
- 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25,
- 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
- 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x03, 0x69, 0x64, 0x73,
- 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56,
- 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x40, 0x0a, 0x12, 0x4d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xe8, 0x02, 0x0a, 0x15,
- 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65,
+ 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x1a, 0x0a, 0x18,
+ 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65,
@@ -6466,31 +6289,14 @@ var file_query_proto_rawDesc = []byte{
0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a,
0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e,
- 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x25, 0x0a,
- 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78,
- 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x65,
- 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x51,
- 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x65, 0x72,
- 0x76, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f,
- 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
- 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
- 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72,
- 0x76, 0x65, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22,
- 0xee, 0x02, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74,
+ 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0c, 0x70,
+ 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfe, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c,
0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76,
0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65,
@@ -6501,74 +6307,47 @@ var file_query_proto_rawDesc = []byte{
0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43,
0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
- 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x27,
- 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79,
- 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
- 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
- 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e,
- 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
- 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73,
- 0x22, 0xcc, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x53, 0x74, 0x72, 0x65,
- 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f,
- 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
- 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
- 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72,
- 0x76, 0x65, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22,
- 0xf4, 0x02, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e,
- 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f,
- 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74,
- 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66,
- 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
- 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c,
- 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65,
- 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61,
- 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a,
- 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
- 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
- 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x5f, 0x71,
- 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72,
- 0x65, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x74,
- 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x74, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x51,
- 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xa6, 0x02, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x72,
- 0x76, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50,
- 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2a, 0x0a,
- 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61,
- 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
- 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49,
- 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
- 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73,
- 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61,
- 0x6e, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x73, 0x73,
- 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22,
- 0xfa, 0x02, 0x0a, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e,
- 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71,
+ 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x25,
+ 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0xfe, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65,
+ 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54,
+ 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
+ 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a,
+ 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69,
+ 0x64, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x6e,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65,
+ 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54,
+ 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
+ 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x6f,
+ 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x16, 0x52, 0x65,
+ 0x61, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76,
0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
@@ -6580,233 +6359,503 @@ var file_query_proto_rawDesc = []byte{
0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06,
0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71,
0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72,
- 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64,
- 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x07,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a,
- 0x0b, 0x70, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2c,
- 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x65,
- 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x74,
- 0x42, 0x65, 0x67, 0x69, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xac, 0x02, 0x0a,
- 0x21, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x72,
- 0x65, 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72,
- 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72,
- 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74,
- 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
- 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a,
- 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x73, 0x73, 0x69,
- 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53,
- 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x0e,
- 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f,
- 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74,
- 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66,
- 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
- 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c,
- 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65,
- 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61,
- 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x25, 0x0a,
+ 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x51, 0x0a, 0x17, 0x52, 0x65, 0x61, 0x64, 0x54,
+ 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xef, 0x01, 0x0a, 0x1d, 0x55,
+ 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13,
+ 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70,
+ 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65,
+ 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a,
+ 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
+ 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x0a, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x22, 0x60, 0x0a, 0x1e,
+ 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e,
+ 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe0,
+ 0x02, 0x0a, 0x13, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64,
+ 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47,
+ 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d,
+ 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25,
+ 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75,
+ 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f,
+ 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18,
+ 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65,
+ 0x73, 0x22, 0xfe, 0x01, 0x0a, 0x14, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75,
+ 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72,
+ 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70,
+ 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
+ 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a,
0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
- 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72,
- 0x76, 0x65, 0x64, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65,
- 0x61, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22,
- 0xbe, 0x03, 0x0a, 0x0d, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74,
- 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f,
- 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x45,
- 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x14,
- 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x63,
- 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x62, 0x69, 0x6e, 0x6c,
- 0x6f, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x47,
- 0x0a, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69,
+ 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61,
+ 0x6c, 0x69, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x32,
+ 0x0a, 0x15, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f,
+ 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73,
+ 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x73, 0x22, 0xe6, 0x02, 0x0a, 0x19, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
+ 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
+ 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
+ 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65,
+ 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
+ 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
+ 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72,
+ 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65,
+ 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a,
+ 0x70, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x22, 0x84, 0x02, 0x0a, 0x1a,
+ 0x42, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75,
+ 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72,
+ 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70,
+ 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
+ 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a,
+ 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61,
+ 0x6c, 0x69, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x32,
+ 0x0a, 0x15, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f,
+ 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73,
+ 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x73, 0x22, 0xd9, 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63,
+ 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13,
+ 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44,
+ 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x43,
+ 0x0a, 0x15, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x22, 0xf6, 0x01, 0x0a, 0x11, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41,
+ 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66,
+ 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
+ 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
+ 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
+ 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x03,
+ 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x40, 0x0a, 0x12,
+ 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xe8,
+ 0x02, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65,
+ 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76,
+ 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d,
+ 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56,
+ 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69,
+ 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64,
+ 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52,
+ 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42,
+ 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
+ 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x5f,
+ 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70,
+ 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x16, 0x52, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45,
+ 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
+ 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
+ 0x61, 0x73, 0x22, 0xee, 0x02, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x53, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
+ 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44,
+ 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65,
+ 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61,
+ 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75,
+ 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65,
+ 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72,
+ 0x69, 0x65, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x53,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45,
+ 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
+ 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
+ 0x61, 0x73, 0x22, 0xf4, 0x02, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x42, 0x65,
+ 0x67, 0x69, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
+ 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52,
+ 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f,
+ 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74,
+ 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65,
+ 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72,
+ 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x0a, 0x70, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x70,
+ 0x6f, 0x73, 0x74, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65,
+ 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x74, 0x42, 0x65, 0x67,
+ 0x69, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xa6, 0x02, 0x0a, 0x1b, 0x52, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72, 0x72,
+ 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63,
+ 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
+ 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e,
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76,
+ 0x65, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61,
+ 0x6c, 0x69, 0x61, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x32,
+ 0x0a, 0x15, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f,
+ 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73,
+ 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x73, 0x22, 0xfa, 0x02, 0x0a, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x42, 0x65,
+ 0x67, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65,
+ 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54,
+ 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
+ 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f,
+ 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12,
+ 0x2f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18,
+ 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65,
+ 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f,
+ 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70,
+ 0x6f, 0x73, 0x74, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22,
+ 0xac, 0x02, 0x0a, 0x21, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x06,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e,
+ 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64,
+ 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x87,
+ 0x02, 0x0a, 0x0e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
+ 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52,
+ 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f,
+ 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74,
+ 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x6c, 0x65,
+ 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x22, 0xbe, 0x03, 0x0a, 0x0d, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x53,
+ 0x74, 0x61, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x65,
+ 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c,
+ 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
- 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67,
- 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x5f, 0x75,
- 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x63, 0x70, 0x75, 0x55,
- 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x70, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x01, 0x52, 0x03, 0x71, 0x70, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
- 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x07,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x69, 0x65, 0x77,
- 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18,
- 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x76, 0x69, 0x65, 0x77, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x64, 0x66, 0x73,
- 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
- 0x75, 0x64, 0x66, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74,
- 0x78, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0c, 0x74, 0x78, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64,
- 0x22, 0xf6, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74,
- 0x61, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x05, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74,
- 0x68, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x72,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x73,
- 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
- 0x52, 0x18, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67,
- 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x4d, 0x69, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x72, 0x65,
+ 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12,
+ 0x30, 0x0a, 0x14, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x62,
+ 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x47, 0x0a, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x65,
- 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
- 0x18, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x53,
- 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x22, 0xc1, 0x02, 0x0a, 0x14, 0x53, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72,
- 0x76, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76,
- 0x69, 0x6e, 0x67, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74,
- 0x65, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
- 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x70, 0x72, 0x69, 0x6d, 0x61,
- 0x72, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73,
- 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3b, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65,
- 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61,
- 0x74, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74,
- 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
- 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x09, 0x74,
- 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
- 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x09, 0x74, 0x69,
- 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0xae, 0x01,
- 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
- 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61,
- 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
- 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
- 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65,
- 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
- 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x70,
- 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x91,
- 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
- 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70,
- 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73,
- 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d,
- 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x07, 0x55, 0x44, 0x46, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6e, 0x67,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74,
- 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x74, 0x79,
- 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
- 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x54, 0x79, 0x70,
- 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x64, 0x66, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x55, 0x44,
- 0x46, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x64, 0x66, 0x73, 0x12, 0x58, 0x0a, 0x10, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18,
- 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x65,
- 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e,
- 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x42, 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65,
- 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
- 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
- 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x92, 0x03, 0x0a, 0x09, 0x4d, 0x79,
- 0x53, 0x71, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4d, 0x50, 0x54, 0x59,
- 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x54, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x46,
- 0x4c, 0x41, 0x47, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x49, 0x5f, 0x4b, 0x45, 0x59,
- 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x49, 0x51, 0x55,
- 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11,
- 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x4c, 0x41,
- 0x47, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x46, 0x4c, 0x41, 0x47,
- 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x44, 0x5f, 0x46,
- 0x4c, 0x41, 0x47, 0x10, 0x20, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x45, 0x52, 0x4f, 0x46, 0x49, 0x4c,
- 0x4c, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x40, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x49, 0x4e, 0x41,
- 0x52, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x01, 0x12, 0x0e, 0x0a, 0x09, 0x45, 0x4e,
- 0x55, 0x4d, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x41, 0x55,
- 0x54, 0x4f, 0x5f, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x41,
- 0x47, 0x10, 0x80, 0x04, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d,
- 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x08, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x45, 0x54,
- 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x10, 0x12, 0x1a, 0x0a, 0x15, 0x4e, 0x4f, 0x5f, 0x44,
- 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x46, 0x4c, 0x41,
- 0x47, 0x10, 0x80, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54,
- 0x45, 0x5f, 0x4e, 0x4f, 0x57, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x40, 0x12, 0x0e, 0x0a,
- 0x08, 0x4e, 0x55, 0x4d, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x80, 0x02, 0x12, 0x13, 0x0a,
- 0x0d, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80,
- 0x80, 0x01, 0x12, 0x10, 0x0a, 0x0a, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47,
- 0x10, 0x80, 0x80, 0x02, 0x12, 0x11, 0x0a, 0x0b, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x5f, 0x46,
- 0x4c, 0x41, 0x47, 0x10, 0x80, 0x80, 0x04, 0x12, 0x11, 0x0a, 0x0b, 0x42, 0x49, 0x4e, 0x43, 0x4d,
- 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x80, 0x08, 0x1a, 0x02, 0x10, 0x01, 0x2a, 0x6b,
- 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00,
- 0x12, 0x0f, 0x0a, 0x0a, 0x49, 0x53, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x4c, 0x10, 0x80,
- 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x49, 0x53, 0x55, 0x4e, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x44, 0x10,
- 0x80, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x53, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, 0x80, 0x08,
- 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x53, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x44, 0x10, 0x80, 0x10, 0x12,
- 0x0b, 0x0a, 0x06, 0x49, 0x53, 0x54, 0x45, 0x58, 0x54, 0x10, 0x80, 0x20, 0x12, 0x0d, 0x0a, 0x08,
- 0x49, 0x53, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x80, 0x40, 0x2a, 0xcd, 0x03, 0x0a, 0x04,
- 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x54, 0x59, 0x50,
- 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x04, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x81, 0x02, 0x12, 0x0a,
- 0x0a, 0x05, 0x55, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x82, 0x06, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e,
- 0x54, 0x31, 0x36, 0x10, 0x83, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x31, 0x36,
- 0x10, 0x84, 0x06, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x32, 0x34, 0x10, 0x85, 0x02, 0x12,
- 0x0b, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x32, 0x34, 0x10, 0x86, 0x06, 0x12, 0x0a, 0x0a, 0x05,
- 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x87, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54,
- 0x33, 0x32, 0x10, 0x88, 0x06, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x89,
- 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x8a, 0x06, 0x12, 0x0c,
- 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x33, 0x32, 0x10, 0x8b, 0x08, 0x12, 0x0c, 0x0a, 0x07,
- 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x8c, 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x49,
- 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x8d, 0x10, 0x12, 0x09, 0x0a, 0x04, 0x44, 0x41,
- 0x54, 0x45, 0x10, 0x8e, 0x10, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x8f, 0x10,
- 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x41, 0x54, 0x45, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x90, 0x10, 0x12,
- 0x09, 0x0a, 0x04, 0x59, 0x45, 0x41, 0x52, 0x10, 0x91, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45,
- 0x43, 0x49, 0x4d, 0x41, 0x4c, 0x10, 0x12, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, 0x10,
- 0x93, 0x30, 0x12, 0x09, 0x0a, 0x04, 0x42, 0x4c, 0x4f, 0x42, 0x10, 0x94, 0x50, 0x12, 0x0c, 0x0a,
- 0x07, 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, 0x10, 0x95, 0x30, 0x12, 0x0e, 0x0a, 0x09, 0x56,
- 0x41, 0x52, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x96, 0x50, 0x12, 0x09, 0x0a, 0x04, 0x43,
- 0x48, 0x41, 0x52, 0x10, 0x97, 0x30, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59,
- 0x10, 0x98, 0x50, 0x12, 0x08, 0x0a, 0x03, 0x42, 0x49, 0x54, 0x10, 0x99, 0x10, 0x12, 0x09, 0x0a,
- 0x04, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x9a, 0x10, 0x12, 0x08, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10,
- 0x9b, 0x10, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x10, 0x1c, 0x12, 0x0d, 0x0a,
- 0x08, 0x47, 0x45, 0x4f, 0x4d, 0x45, 0x54, 0x52, 0x59, 0x10, 0x9d, 0x10, 0x12, 0x09, 0x0a, 0x04,
- 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x9e, 0x10, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x58, 0x50, 0x52, 0x45,
- 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x1f, 0x12, 0x0b, 0x0a, 0x06, 0x48, 0x45, 0x58, 0x4e, 0x55,
- 0x4d, 0x10, 0xa0, 0x20, 0x12, 0x0b, 0x0a, 0x06, 0x48, 0x45, 0x58, 0x56, 0x41, 0x4c, 0x10, 0xa1,
- 0x20, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x49, 0x54, 0x4e, 0x55, 0x4d, 0x10, 0xa2, 0x20, 0x12, 0x0b,
- 0x0a, 0x06, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x10, 0xa3, 0x10, 0x2a, 0x46, 0x0a, 0x10, 0x54,
- 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
- 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
- 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c,
- 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49,
- 0x54, 0x10, 0x03, 0x2a, 0x3b, 0x0a, 0x0f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x45, 0x57, 0x53, 0x10,
- 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x07, 0x0a,
- 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x44, 0x46, 0x53, 0x10, 0x03,
- 0x42, 0x35, 0x0a, 0x0f, 0x69, 0x6f, 0x2e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x5a, 0x22, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76,
- 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x66, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4c, 0x61, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x70,
+ 0x75, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x63,
+ 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x70, 0x73, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x71, 0x70, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x76,
+ 0x69, 0x65, 0x77, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x76, 0x69, 0x65, 0x77, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x75,
+ 0x64, 0x66, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0b, 0x75, 0x64, 0x66, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x23,
+ 0x0a, 0x0d, 0x74, 0x78, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x78, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c,
+ 0x76, 0x65, 0x64, 0x22, 0xf6, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
+ 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x75, 0x6e, 0x68, 0x65,
+ 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c,
+ 0x74, 0x68, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d,
+ 0x0a, 0x1b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61,
+ 0x67, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x18, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4c, 0x61, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x4d, 0x69, 0x6e, 0x12, 0x3d, 0x0a,
+ 0x1b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67,
+ 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x18, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c,
+ 0x61, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x22, 0xc1, 0x02, 0x0a,
+ 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07,
+ 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73,
+ 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
+ 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x70, 0x72,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69,
+ 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3b, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x14, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x53,
+ 0x74, 0x61, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61,
+ 0x6c, 0x69, 0x61, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2a,
+ 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52,
+ 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07,
+ 0x22, 0xae, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x05,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x31,
+ 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
+ 0x73, 0x22, 0x91, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x35, 0x0a,
+ 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x16, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x07, 0x55, 0x44, 0x46, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74,
+ 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65,
+ 0x67, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
+ 0x54, 0x79, 0x70, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x64,
+ 0x66, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x55, 0x44, 0x46, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x64, 0x66, 0x73, 0x12, 0x58,
+ 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65,
+ 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x42, 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x92, 0x03, 0x0a,
+ 0x09, 0x4d, 0x79, 0x53, 0x71, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4d,
+ 0x50, 0x54, 0x59, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x54, 0x5f, 0x4e, 0x55, 0x4c,
+ 0x4c, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x49, 0x5f,
+ 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e,
+ 0x49, 0x51, 0x55, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x04, 0x12,
+ 0x15, 0x0a, 0x11, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f,
+ 0x46, 0x4c, 0x41, 0x47, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x46,
+ 0x4c, 0x41, 0x47, 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x53, 0x49, 0x47, 0x4e, 0x45,
+ 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x20, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x45, 0x52, 0x4f,
+ 0x46, 0x49, 0x4c, 0x4c, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x40, 0x12, 0x10, 0x0a, 0x0b, 0x42,
+ 0x49, 0x4e, 0x41, 0x52, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x01, 0x12, 0x0e, 0x0a,
+ 0x09, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x02, 0x12, 0x18, 0x0a,
+ 0x13, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f,
+ 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x04, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x49, 0x4d, 0x45, 0x53,
+ 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x08, 0x12, 0x0d, 0x0a, 0x08,
+ 0x53, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x10, 0x12, 0x1a, 0x0a, 0x15, 0x4e,
+ 0x4f, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f,
+ 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x4e, 0x5f, 0x55, 0x50,
+ 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x57, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x40,
+ 0x12, 0x0e, 0x0a, 0x08, 0x4e, 0x55, 0x4d, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x80, 0x02,
+ 0x12, 0x13, 0x0a, 0x0d, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x4c, 0x41,
+ 0x47, 0x10, 0x80, 0x80, 0x01, 0x12, 0x10, 0x0a, 0x0a, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x46,
+ 0x4c, 0x41, 0x47, 0x10, 0x80, 0x80, 0x02, 0x12, 0x11, 0x0a, 0x0b, 0x55, 0x4e, 0x49, 0x51, 0x55,
+ 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x80, 0x04, 0x12, 0x11, 0x0a, 0x0b, 0x42, 0x49,
+ 0x4e, 0x43, 0x4d, 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x80, 0x80, 0x08, 0x1a, 0x02, 0x10,
+ 0x01, 0x2a, 0x6b, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e,
+ 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0a, 0x49, 0x53, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41,
+ 0x4c, 0x10, 0x80, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x49, 0x53, 0x55, 0x4e, 0x53, 0x49, 0x47, 0x4e,
+ 0x45, 0x44, 0x10, 0x80, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x53, 0x46, 0x4c, 0x4f, 0x41, 0x54,
+ 0x10, 0x80, 0x08, 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x53, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x44, 0x10,
+ 0x80, 0x10, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x53, 0x54, 0x45, 0x58, 0x54, 0x10, 0x80, 0x20, 0x12,
+ 0x0d, 0x0a, 0x08, 0x49, 0x53, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x80, 0x40, 0x2a, 0xd7,
+ 0x03, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x55, 0x4c, 0x4c, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x04, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x81,
+ 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x55, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x82, 0x06, 0x12, 0x0a, 0x0a,
+ 0x05, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x83, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x49, 0x4e,
+ 0x54, 0x31, 0x36, 0x10, 0x84, 0x06, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x32, 0x34, 0x10,
+ 0x85, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x32, 0x34, 0x10, 0x86, 0x06, 0x12,
+ 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x87, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x55,
+ 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x88, 0x06, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36,
+ 0x34, 0x10, 0x89, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x8a,
+ 0x06, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x33, 0x32, 0x10, 0x8b, 0x08, 0x12,
+ 0x0c, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x8c, 0x08, 0x12, 0x0e, 0x0a,
+ 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x8d, 0x10, 0x12, 0x09, 0x0a,
+ 0x04, 0x44, 0x41, 0x54, 0x45, 0x10, 0x8e, 0x10, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x49, 0x4d, 0x45,
+ 0x10, 0x8f, 0x10, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x41, 0x54, 0x45, 0x54, 0x49, 0x4d, 0x45, 0x10,
+ 0x90, 0x10, 0x12, 0x09, 0x0a, 0x04, 0x59, 0x45, 0x41, 0x52, 0x10, 0x91, 0x06, 0x12, 0x0b, 0x0a,
+ 0x07, 0x44, 0x45, 0x43, 0x49, 0x4d, 0x41, 0x4c, 0x10, 0x12, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x45,
+ 0x58, 0x54, 0x10, 0x93, 0x30, 0x12, 0x09, 0x0a, 0x04, 0x42, 0x4c, 0x4f, 0x42, 0x10, 0x94, 0x50,
+ 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, 0x10, 0x95, 0x30, 0x12, 0x0e,
+ 0x0a, 0x09, 0x56, 0x41, 0x52, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x96, 0x50, 0x12, 0x09,
+ 0x0a, 0x04, 0x43, 0x48, 0x41, 0x52, 0x10, 0x97, 0x30, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x49, 0x4e,
+ 0x41, 0x52, 0x59, 0x10, 0x98, 0x50, 0x12, 0x08, 0x0a, 0x03, 0x42, 0x49, 0x54, 0x10, 0x99, 0x10,
+ 0x12, 0x09, 0x0a, 0x04, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x9a, 0x10, 0x12, 0x08, 0x0a, 0x03, 0x53,
+ 0x45, 0x54, 0x10, 0x9b, 0x10, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x10, 0x1c,
+ 0x12, 0x0d, 0x0a, 0x08, 0x47, 0x45, 0x4f, 0x4d, 0x45, 0x54, 0x52, 0x59, 0x10, 0x9d, 0x10, 0x12,
+ 0x09, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x9e, 0x10, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x58,
+ 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x1f, 0x12, 0x0b, 0x0a, 0x06, 0x48, 0x45,
+ 0x58, 0x4e, 0x55, 0x4d, 0x10, 0xa0, 0x20, 0x12, 0x0b, 0x0a, 0x06, 0x48, 0x45, 0x58, 0x56, 0x41,
+ 0x4c, 0x10, 0xa1, 0x20, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x49, 0x54, 0x4e, 0x55, 0x4d, 0x10, 0xa2,
+ 0x20, 0x12, 0x0b, 0x0a, 0x06, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x10, 0xa3, 0x10, 0x12, 0x08,
+ 0x0a, 0x03, 0x52, 0x41, 0x57, 0x10, 0xa4, 0x10, 0x2a, 0x46, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e,
+ 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07,
+ 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x45,
+ 0x50, 0x41, 0x52, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41,
+ 0x43, 0x4b, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x03,
+ 0x2a, 0x3b, 0x0a, 0x0f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x45, 0x57, 0x53, 0x10, 0x00, 0x12, 0x0a,
+ 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c,
+ 0x4c, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x44, 0x46, 0x53, 0x10, 0x03, 0x42, 0x35, 0x0a,
+ 0x0f, 0x69, 0x6f, 0x2e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x5a, 0x22, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65,
+ 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -7889,6 +7938,9 @@ func file_query_proto_init() {
}
}
}
+ file_query_proto_msgTypes[6].OneofWrappers = []any{
+ (*ExecuteOptions_AuthoritativeTimeout)(nil),
+ }
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
diff --git a/go/vt/proto/query/query_vtproto.pb.go b/go/vt/proto/query/query_vtproto.pb.go
index 9bbdfeb5a50..613aef24fda 100644
--- a/go/vt/proto/query/query_vtproto.pb.go
+++ b/go/vt/proto/query/query_vtproto.pb.go
@@ -1,5 +1,5 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: query.proto
package query
@@ -7,11 +7,11 @@ package query
import (
binary "encoding/binary"
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
math "math"
- bits "math/bits"
sync "sync"
topodata "vitess.io/vitess/go/vt/proto/topodata"
vtrpc "vitess.io/vitess/go/vt/proto/vtrpc"
@@ -29,12 +29,11 @@ func (m *Target) CloneVT() *Target {
if m == nil {
return (*Target)(nil)
}
- r := &Target{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- TabletType: m.TabletType,
- Cell: m.Cell,
- }
+ r := new(Target)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.TabletType = m.TabletType
+ r.Cell = m.Cell
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -50,9 +49,8 @@ func (m *VTGateCallerID) CloneVT() *VTGateCallerID {
if m == nil {
return (*VTGateCallerID)(nil)
}
- r := &VTGateCallerID{
- Username: m.Username,
- }
+ r := new(VTGateCallerID)
+ r.Username = m.Username
if rhs := m.Groups; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -73,11 +71,10 @@ func (m *EventToken) CloneVT() *EventToken {
if m == nil {
return (*EventToken)(nil)
}
- r := &EventToken{
- Timestamp: m.Timestamp,
- Shard: m.Shard,
- Position: m.Position,
- }
+ r := new(EventToken)
+ r.Timestamp = m.Timestamp
+ r.Shard = m.Shard
+ r.Position = m.Position
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -93,9 +90,8 @@ func (m *Value) CloneVT() *Value {
if m == nil {
return (*Value)(nil)
}
- r := &Value{
- Type: m.Type,
- }
+ r := new(Value)
+ r.Type = m.Type
if rhs := m.Value; rhs != nil {
tmpBytes := make([]byte, len(rhs))
copy(tmpBytes, rhs)
@@ -116,9 +112,8 @@ func (m *BindVariable) CloneVT() *BindVariable {
if m == nil {
return (*BindVariable)(nil)
}
- r := &BindVariable{
- Type: m.Type,
- }
+ r := new(BindVariable)
+ r.Type = m.Type
if rhs := m.Value; rhs != nil {
tmpBytes := make([]byte, len(rhs))
copy(tmpBytes, rhs)
@@ -146,9 +141,8 @@ func (m *BoundQuery) CloneVT() *BoundQuery {
if m == nil {
return (*BoundQuery)(nil)
}
- r := &BoundQuery{
- Sql: m.Sql,
- }
+ r := new(BoundQuery)
+ r.Sql = m.Sql
if rhs := m.BindVariables; rhs != nil {
tmpContainer := make(map[string]*BindVariable, len(rhs))
for k, v := range rhs {
@@ -171,24 +165,28 @@ func (m *ExecuteOptions) CloneVT() *ExecuteOptions {
if m == nil {
return (*ExecuteOptions)(nil)
}
- r := &ExecuteOptions{
- IncludedFields: m.IncludedFields,
- ClientFoundRows: m.ClientFoundRows,
- Workload: m.Workload,
- SqlSelectLimit: m.SqlSelectLimit,
- TransactionIsolation: m.TransactionIsolation,
- SkipQueryPlanCache: m.SkipQueryPlanCache,
- PlannerVersion: m.PlannerVersion,
- HasCreatedTempTables: m.HasCreatedTempTables,
- Consolidator: m.Consolidator,
- WorkloadName: m.WorkloadName,
- Priority: m.Priority,
- }
+ r := new(ExecuteOptions)
+ r.IncludedFields = m.IncludedFields
+ r.ClientFoundRows = m.ClientFoundRows
+ r.Workload = m.Workload
+ r.SqlSelectLimit = m.SqlSelectLimit
+ r.TransactionIsolation = m.TransactionIsolation
+ r.SkipQueryPlanCache = m.SkipQueryPlanCache
+ r.PlannerVersion = m.PlannerVersion
+ r.HasCreatedTempTables = m.HasCreatedTempTables
+ r.Consolidator = m.Consolidator
+ r.WorkloadName = m.WorkloadName
+ r.Priority = m.Priority
if rhs := m.TransactionAccessMode; rhs != nil {
tmpContainer := make([]ExecuteOptions_TransactionAccessMode, len(rhs))
copy(tmpContainer, rhs)
r.TransactionAccessMode = tmpContainer
}
+ if m.Timeout != nil {
+ r.Timeout = m.Timeout.(interface {
+ CloneVT() isExecuteOptions_Timeout
+ }).CloneVT()
+ }
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -200,23 +198,31 @@ func (m *ExecuteOptions) CloneMessageVT() proto.Message {
return m.CloneVT()
}
+func (m *ExecuteOptions_AuthoritativeTimeout) CloneVT() isExecuteOptions_Timeout {
+ if m == nil {
+ return (*ExecuteOptions_AuthoritativeTimeout)(nil)
+ }
+ r := new(ExecuteOptions_AuthoritativeTimeout)
+ r.AuthoritativeTimeout = m.AuthoritativeTimeout
+ return r
+}
+
func (m *Field) CloneVT() *Field {
if m == nil {
return (*Field)(nil)
}
- r := &Field{
- Name: m.Name,
- Type: m.Type,
- Table: m.Table,
- OrgTable: m.OrgTable,
- Database: m.Database,
- OrgName: m.OrgName,
- ColumnLength: m.ColumnLength,
- Charset: m.Charset,
- Decimals: m.Decimals,
- Flags: m.Flags,
- ColumnType: m.ColumnType,
- }
+ r := new(Field)
+ r.Name = m.Name
+ r.Type = m.Type
+ r.Table = m.Table
+ r.OrgTable = m.OrgTable
+ r.Database = m.Database
+ r.OrgName = m.OrgName
+ r.ColumnLength = m.ColumnLength
+ r.Charset = m.Charset
+ r.Decimals = m.Decimals
+ r.Flags = m.Flags
+ r.ColumnType = m.ColumnType
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -232,7 +238,7 @@ func (m *Row) CloneVT() *Row {
if m == nil {
return (*Row)(nil)
}
- r := &Row{}
+ r := RowFromVTPool()
if rhs := m.Lengths; rhs != nil {
tmpContainer := make([]int64, len(rhs))
copy(tmpContainer, rhs)
@@ -258,12 +264,11 @@ func (m *QueryResult) CloneVT() *QueryResult {
if m == nil {
return (*QueryResult)(nil)
}
- r := &QueryResult{
- RowsAffected: m.RowsAffected,
- InsertId: m.InsertId,
- Info: m.Info,
- SessionStateChanges: m.SessionStateChanges,
- }
+ r := new(QueryResult)
+ r.RowsAffected = m.RowsAffected
+ r.InsertId = m.InsertId
+ r.Info = m.Info
+ r.SessionStateChanges = m.SessionStateChanges
if rhs := m.Fields; rhs != nil {
tmpContainer := make([]*Field, len(rhs))
for k, v := range rhs {
@@ -293,10 +298,9 @@ func (m *QueryWarning) CloneVT() *QueryWarning {
if m == nil {
return (*QueryWarning)(nil)
}
- r := &QueryWarning{
- Code: m.Code,
- Message: m.Message,
- }
+ r := new(QueryWarning)
+ r.Code = m.Code
+ r.Message = m.Message
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -312,10 +316,9 @@ func (m *StreamEvent_Statement) CloneVT() *StreamEvent_Statement {
if m == nil {
return (*StreamEvent_Statement)(nil)
}
- r := &StreamEvent_Statement{
- Category: m.Category,
- TableName: m.TableName,
- }
+ r := new(StreamEvent_Statement)
+ r.Category = m.Category
+ r.TableName = m.TableName
if rhs := m.PrimaryKeyFields; rhs != nil {
tmpContainer := make([]*Field, len(rhs))
for k, v := range rhs {
@@ -350,9 +353,8 @@ func (m *StreamEvent) CloneVT() *StreamEvent {
if m == nil {
return (*StreamEvent)(nil)
}
- r := &StreamEvent{
- EventToken: m.EventToken.CloneVT(),
- }
+ r := new(StreamEvent)
+ r.EventToken = m.EventToken.CloneVT()
if rhs := m.Statements; rhs != nil {
tmpContainer := make([]*StreamEvent_Statement, len(rhs))
for k, v := range rhs {
@@ -375,15 +377,14 @@ func (m *ExecuteRequest) CloneVT() *ExecuteRequest {
if m == nil {
return (*ExecuteRequest)(nil)
}
- r := &ExecuteRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Query: m.Query.CloneVT(),
- TransactionId: m.TransactionId,
- Options: m.Options.CloneVT(),
- ReservedId: m.ReservedId,
- }
+ r := new(ExecuteRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Query = m.Query.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.Options = m.Options.CloneVT()
+ r.ReservedId = m.ReservedId
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -399,9 +400,8 @@ func (m *ExecuteResponse) CloneVT() *ExecuteResponse {
if m == nil {
return (*ExecuteResponse)(nil)
}
- r := &ExecuteResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(ExecuteResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -417,10 +417,9 @@ func (m *ResultWithError) CloneVT() *ResultWithError {
if m == nil {
return (*ResultWithError)(nil)
}
- r := &ResultWithError{
- Error: m.Error.CloneVT(),
- Result: m.Result.CloneVT(),
- }
+ r := new(ResultWithError)
+ r.Error = m.Error.CloneVT()
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -436,15 +435,14 @@ func (m *StreamExecuteRequest) CloneVT() *StreamExecuteRequest {
if m == nil {
return (*StreamExecuteRequest)(nil)
}
- r := &StreamExecuteRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Query: m.Query.CloneVT(),
- Options: m.Options.CloneVT(),
- TransactionId: m.TransactionId,
- ReservedId: m.ReservedId,
- }
+ r := new(StreamExecuteRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Query = m.Query.CloneVT()
+ r.Options = m.Options.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.ReservedId = m.ReservedId
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -460,9 +458,8 @@ func (m *StreamExecuteResponse) CloneVT() *StreamExecuteResponse {
if m == nil {
return (*StreamExecuteResponse)(nil)
}
- r := &StreamExecuteResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(StreamExecuteResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -478,12 +475,11 @@ func (m *BeginRequest) CloneVT() *BeginRequest {
if m == nil {
return (*BeginRequest)(nil)
}
- r := &BeginRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Options: m.Options.CloneVT(),
- }
+ r := new(BeginRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Options = m.Options.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -499,11 +495,10 @@ func (m *BeginResponse) CloneVT() *BeginResponse {
if m == nil {
return (*BeginResponse)(nil)
}
- r := &BeginResponse{
- TransactionId: m.TransactionId,
- TabletAlias: m.TabletAlias.CloneVT(),
- SessionStateChanges: m.SessionStateChanges,
- }
+ r := new(BeginResponse)
+ r.TransactionId = m.TransactionId
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.SessionStateChanges = m.SessionStateChanges
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -519,12 +514,11 @@ func (m *CommitRequest) CloneVT() *CommitRequest {
if m == nil {
return (*CommitRequest)(nil)
}
- r := &CommitRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- TransactionId: m.TransactionId,
- }
+ r := new(CommitRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.TransactionId = m.TransactionId
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -540,9 +534,8 @@ func (m *CommitResponse) CloneVT() *CommitResponse {
if m == nil {
return (*CommitResponse)(nil)
}
- r := &CommitResponse{
- ReservedId: m.ReservedId,
- }
+ r := new(CommitResponse)
+ r.ReservedId = m.ReservedId
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -558,12 +551,11 @@ func (m *RollbackRequest) CloneVT() *RollbackRequest {
if m == nil {
return (*RollbackRequest)(nil)
}
- r := &RollbackRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- TransactionId: m.TransactionId,
- }
+ r := new(RollbackRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.TransactionId = m.TransactionId
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -579,9 +571,8 @@ func (m *RollbackResponse) CloneVT() *RollbackResponse {
if m == nil {
return (*RollbackResponse)(nil)
}
- r := &RollbackResponse{
- ReservedId: m.ReservedId,
- }
+ r := new(RollbackResponse)
+ r.ReservedId = m.ReservedId
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -597,13 +588,12 @@ func (m *PrepareRequest) CloneVT() *PrepareRequest {
if m == nil {
return (*PrepareRequest)(nil)
}
- r := &PrepareRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- TransactionId: m.TransactionId,
- Dtid: m.Dtid,
- }
+ r := new(PrepareRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.Dtid = m.Dtid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -619,7 +609,7 @@ func (m *PrepareResponse) CloneVT() *PrepareResponse {
if m == nil {
return (*PrepareResponse)(nil)
}
- r := &PrepareResponse{}
+ r := new(PrepareResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -635,12 +625,11 @@ func (m *CommitPreparedRequest) CloneVT() *CommitPreparedRequest {
if m == nil {
return (*CommitPreparedRequest)(nil)
}
- r := &CommitPreparedRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Dtid: m.Dtid,
- }
+ r := new(CommitPreparedRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Dtid = m.Dtid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -656,7 +645,7 @@ func (m *CommitPreparedResponse) CloneVT() *CommitPreparedResponse {
if m == nil {
return (*CommitPreparedResponse)(nil)
}
- r := &CommitPreparedResponse{}
+ r := new(CommitPreparedResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -672,13 +661,12 @@ func (m *RollbackPreparedRequest) CloneVT() *RollbackPreparedRequest {
if m == nil {
return (*RollbackPreparedRequest)(nil)
}
- r := &RollbackPreparedRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- TransactionId: m.TransactionId,
- Dtid: m.Dtid,
- }
+ r := new(RollbackPreparedRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.Dtid = m.Dtid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -694,7 +682,7 @@ func (m *RollbackPreparedResponse) CloneVT() *RollbackPreparedResponse {
if m == nil {
return (*RollbackPreparedResponse)(nil)
}
- r := &RollbackPreparedResponse{}
+ r := new(RollbackPreparedResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -710,12 +698,11 @@ func (m *CreateTransactionRequest) CloneVT() *CreateTransactionRequest {
if m == nil {
return (*CreateTransactionRequest)(nil)
}
- r := &CreateTransactionRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Dtid: m.Dtid,
- }
+ r := new(CreateTransactionRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Dtid = m.Dtid
if rhs := m.Participants; rhs != nil {
tmpContainer := make([]*Target, len(rhs))
for k, v := range rhs {
@@ -738,7 +725,7 @@ func (m *CreateTransactionResponse) CloneVT() *CreateTransactionResponse {
if m == nil {
return (*CreateTransactionResponse)(nil)
}
- r := &CreateTransactionResponse{}
+ r := new(CreateTransactionResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -754,13 +741,12 @@ func (m *StartCommitRequest) CloneVT() *StartCommitRequest {
if m == nil {
return (*StartCommitRequest)(nil)
}
- r := &StartCommitRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- TransactionId: m.TransactionId,
- Dtid: m.Dtid,
- }
+ r := new(StartCommitRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.Dtid = m.Dtid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -776,7 +762,7 @@ func (m *StartCommitResponse) CloneVT() *StartCommitResponse {
if m == nil {
return (*StartCommitResponse)(nil)
}
- r := &StartCommitResponse{}
+ r := new(StartCommitResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -792,13 +778,12 @@ func (m *SetRollbackRequest) CloneVT() *SetRollbackRequest {
if m == nil {
return (*SetRollbackRequest)(nil)
}
- r := &SetRollbackRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- TransactionId: m.TransactionId,
- Dtid: m.Dtid,
- }
+ r := new(SetRollbackRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.Dtid = m.Dtid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -814,7 +799,7 @@ func (m *SetRollbackResponse) CloneVT() *SetRollbackResponse {
if m == nil {
return (*SetRollbackResponse)(nil)
}
- r := &SetRollbackResponse{}
+ r := new(SetRollbackResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -830,12 +815,11 @@ func (m *ConcludeTransactionRequest) CloneVT() *ConcludeTransactionRequest {
if m == nil {
return (*ConcludeTransactionRequest)(nil)
}
- r := &ConcludeTransactionRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Dtid: m.Dtid,
- }
+ r := new(ConcludeTransactionRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Dtid = m.Dtid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -851,7 +835,7 @@ func (m *ConcludeTransactionResponse) CloneVT() *ConcludeTransactionResponse {
if m == nil {
return (*ConcludeTransactionResponse)(nil)
}
- r := &ConcludeTransactionResponse{}
+ r := new(ConcludeTransactionResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -867,12 +851,11 @@ func (m *ReadTransactionRequest) CloneVT() *ReadTransactionRequest {
if m == nil {
return (*ReadTransactionRequest)(nil)
}
- r := &ReadTransactionRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Dtid: m.Dtid,
- }
+ r := new(ReadTransactionRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Dtid = m.Dtid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -888,9 +871,8 @@ func (m *ReadTransactionResponse) CloneVT() *ReadTransactionResponse {
if m == nil {
return (*ReadTransactionResponse)(nil)
}
- r := &ReadTransactionResponse{
- Metadata: m.Metadata.CloneVT(),
- }
+ r := new(ReadTransactionResponse)
+ r.Metadata = m.Metadata.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -906,11 +888,11 @@ func (m *UnresolvedTransactionsRequest) CloneVT() *UnresolvedTransactionsRequest
if m == nil {
return (*UnresolvedTransactionsRequest)(nil)
}
- r := &UnresolvedTransactionsRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- }
+ r := new(UnresolvedTransactionsRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.AbandonAge = m.AbandonAge
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -926,7 +908,7 @@ func (m *UnresolvedTransactionsResponse) CloneVT() *UnresolvedTransactionsRespon
if m == nil {
return (*UnresolvedTransactionsResponse)(nil)
}
- r := &UnresolvedTransactionsResponse{}
+ r := new(UnresolvedTransactionsResponse)
if rhs := m.Transactions; rhs != nil {
tmpContainer := make([]*TransactionMetadata, len(rhs))
for k, v := range rhs {
@@ -949,14 +931,13 @@ func (m *BeginExecuteRequest) CloneVT() *BeginExecuteRequest {
if m == nil {
return (*BeginExecuteRequest)(nil)
}
- r := &BeginExecuteRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Query: m.Query.CloneVT(),
- Options: m.Options.CloneVT(),
- ReservedId: m.ReservedId,
- }
+ r := new(BeginExecuteRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Query = m.Query.CloneVT()
+ r.Options = m.Options.CloneVT()
+ r.ReservedId = m.ReservedId
if rhs := m.PreQueries; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -977,13 +958,12 @@ func (m *BeginExecuteResponse) CloneVT() *BeginExecuteResponse {
if m == nil {
return (*BeginExecuteResponse)(nil)
}
- r := &BeginExecuteResponse{
- Error: m.Error.CloneVT(),
- Result: m.Result.CloneVT(),
- TransactionId: m.TransactionId,
- TabletAlias: m.TabletAlias.CloneVT(),
- SessionStateChanges: m.SessionStateChanges,
- }
+ r := new(BeginExecuteResponse)
+ r.Error = m.Error.CloneVT()
+ r.Result = m.Result.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.SessionStateChanges = m.SessionStateChanges
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -999,14 +979,13 @@ func (m *BeginStreamExecuteRequest) CloneVT() *BeginStreamExecuteRequest {
if m == nil {
return (*BeginStreamExecuteRequest)(nil)
}
- r := &BeginStreamExecuteRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Query: m.Query.CloneVT(),
- Options: m.Options.CloneVT(),
- ReservedId: m.ReservedId,
- }
+ r := new(BeginStreamExecuteRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Query = m.Query.CloneVT()
+ r.Options = m.Options.CloneVT()
+ r.ReservedId = m.ReservedId
if rhs := m.PreQueries; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1027,13 +1006,12 @@ func (m *BeginStreamExecuteResponse) CloneVT() *BeginStreamExecuteResponse {
if m == nil {
return (*BeginStreamExecuteResponse)(nil)
}
- r := &BeginStreamExecuteResponse{
- Error: m.Error.CloneVT(),
- Result: m.Result.CloneVT(),
- TransactionId: m.TransactionId,
- TabletAlias: m.TabletAlias.CloneVT(),
- SessionStateChanges: m.SessionStateChanges,
- }
+ r := new(BeginStreamExecuteResponse)
+ r.Error = m.Error.CloneVT()
+ r.Result = m.Result.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.SessionStateChanges = m.SessionStateChanges
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1049,12 +1027,11 @@ func (m *MessageStreamRequest) CloneVT() *MessageStreamRequest {
if m == nil {
return (*MessageStreamRequest)(nil)
}
- r := &MessageStreamRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Name: m.Name,
- }
+ r := new(MessageStreamRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Name = m.Name
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1070,9 +1047,8 @@ func (m *MessageStreamResponse) CloneVT() *MessageStreamResponse {
if m == nil {
return (*MessageStreamResponse)(nil)
}
- r := &MessageStreamResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(MessageStreamResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1088,12 +1064,11 @@ func (m *MessageAckRequest) CloneVT() *MessageAckRequest {
if m == nil {
return (*MessageAckRequest)(nil)
}
- r := &MessageAckRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Name: m.Name,
- }
+ r := new(MessageAckRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Name = m.Name
if rhs := m.Ids; rhs != nil {
tmpContainer := make([]*Value, len(rhs))
for k, v := range rhs {
@@ -1116,9 +1091,8 @@ func (m *MessageAckResponse) CloneVT() *MessageAckResponse {
if m == nil {
return (*MessageAckResponse)(nil)
}
- r := &MessageAckResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(MessageAckResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1134,14 +1108,13 @@ func (m *ReserveExecuteRequest) CloneVT() *ReserveExecuteRequest {
if m == nil {
return (*ReserveExecuteRequest)(nil)
}
- r := &ReserveExecuteRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Query: m.Query.CloneVT(),
- TransactionId: m.TransactionId,
- Options: m.Options.CloneVT(),
- }
+ r := new(ReserveExecuteRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Query = m.Query.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.Options = m.Options.CloneVT()
if rhs := m.PreQueries; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1162,12 +1135,11 @@ func (m *ReserveExecuteResponse) CloneVT() *ReserveExecuteResponse {
if m == nil {
return (*ReserveExecuteResponse)(nil)
}
- r := &ReserveExecuteResponse{
- Error: m.Error.CloneVT(),
- Result: m.Result.CloneVT(),
- ReservedId: m.ReservedId,
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(ReserveExecuteResponse)
+ r.Error = m.Error.CloneVT()
+ r.Result = m.Result.CloneVT()
+ r.ReservedId = m.ReservedId
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1183,14 +1155,13 @@ func (m *ReserveStreamExecuteRequest) CloneVT() *ReserveStreamExecuteRequest {
if m == nil {
return (*ReserveStreamExecuteRequest)(nil)
}
- r := &ReserveStreamExecuteRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Query: m.Query.CloneVT(),
- Options: m.Options.CloneVT(),
- TransactionId: m.TransactionId,
- }
+ r := new(ReserveStreamExecuteRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Query = m.Query.CloneVT()
+ r.Options = m.Options.CloneVT()
+ r.TransactionId = m.TransactionId
if rhs := m.PreQueries; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1211,12 +1182,11 @@ func (m *ReserveStreamExecuteResponse) CloneVT() *ReserveStreamExecuteResponse {
if m == nil {
return (*ReserveStreamExecuteResponse)(nil)
}
- r := &ReserveStreamExecuteResponse{
- Error: m.Error.CloneVT(),
- Result: m.Result.CloneVT(),
- ReservedId: m.ReservedId,
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(ReserveStreamExecuteResponse)
+ r.Error = m.Error.CloneVT()
+ r.Result = m.Result.CloneVT()
+ r.ReservedId = m.ReservedId
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1232,13 +1202,12 @@ func (m *ReserveBeginExecuteRequest) CloneVT() *ReserveBeginExecuteRequest {
if m == nil {
return (*ReserveBeginExecuteRequest)(nil)
}
- r := &ReserveBeginExecuteRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Query: m.Query.CloneVT(),
- Options: m.Options.CloneVT(),
- }
+ r := new(ReserveBeginExecuteRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Query = m.Query.CloneVT()
+ r.Options = m.Options.CloneVT()
if rhs := m.PreQueries; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1264,14 +1233,13 @@ func (m *ReserveBeginExecuteResponse) CloneVT() *ReserveBeginExecuteResponse {
if m == nil {
return (*ReserveBeginExecuteResponse)(nil)
}
- r := &ReserveBeginExecuteResponse{
- Error: m.Error.CloneVT(),
- Result: m.Result.CloneVT(),
- TransactionId: m.TransactionId,
- ReservedId: m.ReservedId,
- TabletAlias: m.TabletAlias.CloneVT(),
- SessionStateChanges: m.SessionStateChanges,
- }
+ r := new(ReserveBeginExecuteResponse)
+ r.Error = m.Error.CloneVT()
+ r.Result = m.Result.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.ReservedId = m.ReservedId
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.SessionStateChanges = m.SessionStateChanges
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1287,13 +1255,12 @@ func (m *ReserveBeginStreamExecuteRequest) CloneVT() *ReserveBeginStreamExecuteR
if m == nil {
return (*ReserveBeginStreamExecuteRequest)(nil)
}
- r := &ReserveBeginStreamExecuteRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- Query: m.Query.CloneVT(),
- Options: m.Options.CloneVT(),
- }
+ r := new(ReserveBeginStreamExecuteRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.Query = m.Query.CloneVT()
+ r.Options = m.Options.CloneVT()
if rhs := m.PreQueries; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1319,14 +1286,13 @@ func (m *ReserveBeginStreamExecuteResponse) CloneVT() *ReserveBeginStreamExecute
if m == nil {
return (*ReserveBeginStreamExecuteResponse)(nil)
}
- r := &ReserveBeginStreamExecuteResponse{
- Error: m.Error.CloneVT(),
- Result: m.Result.CloneVT(),
- TransactionId: m.TransactionId,
- ReservedId: m.ReservedId,
- TabletAlias: m.TabletAlias.CloneVT(),
- SessionStateChanges: m.SessionStateChanges,
- }
+ r := new(ReserveBeginStreamExecuteResponse)
+ r.Error = m.Error.CloneVT()
+ r.Result = m.Result.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.ReservedId = m.ReservedId
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.SessionStateChanges = m.SessionStateChanges
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1342,13 +1308,12 @@ func (m *ReleaseRequest) CloneVT() *ReleaseRequest {
if m == nil {
return (*ReleaseRequest)(nil)
}
- r := &ReleaseRequest{
- EffectiveCallerId: m.EffectiveCallerId.CloneVT(),
- ImmediateCallerId: m.ImmediateCallerId.CloneVT(),
- Target: m.Target.CloneVT(),
- TransactionId: m.TransactionId,
- ReservedId: m.ReservedId,
- }
+ r := new(ReleaseRequest)
+ r.EffectiveCallerId = m.EffectiveCallerId.CloneVT()
+ r.ImmediateCallerId = m.ImmediateCallerId.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.ReservedId = m.ReservedId
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1364,7 +1329,7 @@ func (m *ReleaseResponse) CloneVT() *ReleaseResponse {
if m == nil {
return (*ReleaseResponse)(nil)
}
- r := &ReleaseResponse{}
+ r := new(ReleaseResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1380,7 +1345,7 @@ func (m *StreamHealthRequest) CloneVT() *StreamHealthRequest {
if m == nil {
return (*StreamHealthRequest)(nil)
}
- r := &StreamHealthRequest{}
+ r := new(StreamHealthRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1396,16 +1361,15 @@ func (m *RealtimeStats) CloneVT() *RealtimeStats {
if m == nil {
return (*RealtimeStats)(nil)
}
- r := &RealtimeStats{
- HealthError: m.HealthError,
- ReplicationLagSeconds: m.ReplicationLagSeconds,
- BinlogPlayersCount: m.BinlogPlayersCount,
- FilteredReplicationLagSeconds: m.FilteredReplicationLagSeconds,
- CpuUsage: m.CpuUsage,
- Qps: m.Qps,
- UdfsChanged: m.UdfsChanged,
- TxUnresolved: m.TxUnresolved,
- }
+ r := new(RealtimeStats)
+ r.HealthError = m.HealthError
+ r.ReplicationLagSeconds = m.ReplicationLagSeconds
+ r.BinlogPlayersCount = m.BinlogPlayersCount
+ r.FilteredReplicationLagSeconds = m.FilteredReplicationLagSeconds
+ r.CpuUsage = m.CpuUsage
+ r.Qps = m.Qps
+ r.UdfsChanged = m.UdfsChanged
+ r.TxUnresolved = m.TxUnresolved
if rhs := m.TableSchemaChanged; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1431,12 +1395,11 @@ func (m *AggregateStats) CloneVT() *AggregateStats {
if m == nil {
return (*AggregateStats)(nil)
}
- r := &AggregateStats{
- HealthyTabletCount: m.HealthyTabletCount,
- UnhealthyTabletCount: m.UnhealthyTabletCount,
- ReplicationLagSecondsMin: m.ReplicationLagSecondsMin,
- ReplicationLagSecondsMax: m.ReplicationLagSecondsMax,
- }
+ r := new(AggregateStats)
+ r.HealthyTabletCount = m.HealthyTabletCount
+ r.UnhealthyTabletCount = m.UnhealthyTabletCount
+ r.ReplicationLagSecondsMin = m.ReplicationLagSecondsMin
+ r.ReplicationLagSecondsMax = m.ReplicationLagSecondsMax
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1452,14 +1415,13 @@ func (m *StreamHealthResponse) CloneVT() *StreamHealthResponse {
if m == nil {
return (*StreamHealthResponse)(nil)
}
- r := &StreamHealthResponse{
- Target: m.Target.CloneVT(),
- Serving: m.Serving,
- PrimaryTermStartTimestamp: m.PrimaryTermStartTimestamp,
- RealtimeStats: m.RealtimeStats.CloneVT(),
- TabletAlias: m.TabletAlias.CloneVT(),
- Timestamp: m.Timestamp.CloneVT(),
- }
+ r := new(StreamHealthResponse)
+ r.Target = m.Target.CloneVT()
+ r.Serving = m.Serving
+ r.PrimaryTermStartTimestamp = m.PrimaryTermStartTimestamp
+ r.RealtimeStats = m.RealtimeStats.CloneVT()
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.Timestamp = m.Timestamp.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1475,11 +1437,10 @@ func (m *TransactionMetadata) CloneVT() *TransactionMetadata {
if m == nil {
return (*TransactionMetadata)(nil)
}
- r := &TransactionMetadata{
- Dtid: m.Dtid,
- State: m.State,
- TimeCreated: m.TimeCreated,
- }
+ r := new(TransactionMetadata)
+ r.Dtid = m.Dtid
+ r.State = m.State
+ r.TimeCreated = m.TimeCreated
if rhs := m.Participants; rhs != nil {
tmpContainer := make([]*Target, len(rhs))
for k, v := range rhs {
@@ -1502,10 +1463,9 @@ func (m *GetSchemaRequest) CloneVT() *GetSchemaRequest {
if m == nil {
return (*GetSchemaRequest)(nil)
}
- r := &GetSchemaRequest{
- Target: m.Target.CloneVT(),
- TableType: m.TableType,
- }
+ r := new(GetSchemaRequest)
+ r.Target = m.Target.CloneVT()
+ r.TableType = m.TableType
if rhs := m.TableNames; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1526,11 +1486,10 @@ func (m *UDFInfo) CloneVT() *UDFInfo {
if m == nil {
return (*UDFInfo)(nil)
}
- r := &UDFInfo{
- Name: m.Name,
- Aggregating: m.Aggregating,
- ReturnType: m.ReturnType,
- }
+ r := new(UDFInfo)
+ r.Name = m.Name
+ r.Aggregating = m.Aggregating
+ r.ReturnType = m.ReturnType
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1546,7 +1505,7 @@ func (m *GetSchemaResponse) CloneVT() *GetSchemaResponse {
if m == nil {
return (*GetSchemaResponse)(nil)
}
- r := &GetSchemaResponse{}
+ r := new(GetSchemaResponse)
if rhs := m.Udfs; rhs != nil {
tmpContainer := make([]*UDFInfo, len(rhs))
for k, v := range rhs {
@@ -1605,26 +1564,26 @@ func (m *Target) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0x22
}
if m.TabletType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletType))
i--
dAtA[i] = 0x18
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -1665,7 +1624,7 @@ func (m *VTGateCallerID) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Groups) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Groups[iNdEx])
copy(dAtA[i:], m.Groups[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Groups[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Groups[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -1673,7 +1632,7 @@ func (m *VTGateCallerID) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Username) > 0 {
i -= len(m.Username)
copy(dAtA[i:], m.Username)
- i = encodeVarint(dAtA, i, uint64(len(m.Username)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Username)))
i--
dAtA[i] = 0xa
}
@@ -1713,19 +1672,19 @@ func (m *EventToken) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if m.Timestamp != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Timestamp))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Timestamp))
i--
dAtA[i] = 0x8
}
@@ -1765,12 +1724,12 @@ func (m *Value) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Value) > 0 {
i -= len(m.Value)
copy(dAtA[i:], m.Value)
- i = encodeVarint(dAtA, i, uint64(len(m.Value)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Value)))
i--
dAtA[i] = 0x12
}
if m.Type != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Type))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type))
i--
dAtA[i] = 0x8
}
@@ -1814,7 +1773,7 @@ func (m *BindVariable) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1822,12 +1781,12 @@ func (m *BindVariable) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Value) > 0 {
i -= len(m.Value)
copy(dAtA[i:], m.Value)
- i = encodeVarint(dAtA, i, uint64(len(m.Value)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Value)))
i--
dAtA[i] = 0x12
}
if m.Type != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Type))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type))
i--
dAtA[i] = 0x8
}
@@ -1873,15 +1832,15 @@ func (m *BoundQuery) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -1889,7 +1848,7 @@ func (m *BoundQuery) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Sql) > 0 {
i -= len(m.Sql)
copy(dAtA[i:], m.Sql)
- i = encodeVarint(dAtA, i, uint64(len(m.Sql)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Sql)))
i--
dAtA[i] = 0xa
}
@@ -1926,10 +1885,19 @@ func (m *ExecuteOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if vtmsg, ok := m.Timeout.(interface {
+ MarshalToSizedBufferVT([]byte) (int, error)
+ }); ok {
+ size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ }
if len(m.Priority) > 0 {
i -= len(m.Priority)
copy(dAtA[i:], m.Priority)
- i = encodeVarint(dAtA, i, uint64(len(m.Priority)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Priority)))
i--
dAtA[i] = 0x1
i--
@@ -1938,14 +1906,14 @@ func (m *ExecuteOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.WorkloadName) > 0 {
i -= len(m.WorkloadName)
copy(dAtA[i:], m.WorkloadName)
- i = encodeVarint(dAtA, i, uint64(len(m.WorkloadName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WorkloadName)))
i--
dAtA[i] = 0x7a
}
if len(m.TransactionAccessMode) > 0 {
var pksize2 int
for _, num := range m.TransactionAccessMode {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -1959,12 +1927,12 @@ func (m *ExecuteOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x72
}
if m.Consolidator != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Consolidator))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Consolidator))
i--
dAtA[i] = 0x68
}
@@ -1979,7 +1947,7 @@ func (m *ExecuteOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x60
}
if m.PlannerVersion != 0 {
- i = encodeVarint(dAtA, i, uint64(m.PlannerVersion))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PlannerVersion))
i--
dAtA[i] = 0x58
}
@@ -1994,17 +1962,17 @@ func (m *ExecuteOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x50
}
if m.TransactionIsolation != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionIsolation))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionIsolation))
i--
dAtA[i] = 0x48
}
if m.SqlSelectLimit != 0 {
- i = encodeVarint(dAtA, i, uint64(m.SqlSelectLimit))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SqlSelectLimit))
i--
dAtA[i] = 0x40
}
if m.Workload != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Workload))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Workload))
i--
dAtA[i] = 0x30
}
@@ -2019,13 +1987,27 @@ func (m *ExecuteOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x28
}
if m.IncludedFields != 0 {
- i = encodeVarint(dAtA, i, uint64(m.IncludedFields))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.IncludedFields))
i--
dAtA[i] = 0x20
}
return len(dAtA) - i, nil
}
+func (m *ExecuteOptions_AuthoritativeTimeout) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *ExecuteOptions_AuthoritativeTimeout) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AuthoritativeTimeout))
+ i--
+ dAtA[i] = 0x1
+ i--
+ dAtA[i] = 0x88
+ return len(dAtA) - i, nil
+}
func (m *Field) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
@@ -2059,67 +2041,67 @@ func (m *Field) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ColumnType) > 0 {
i -= len(m.ColumnType)
copy(dAtA[i:], m.ColumnType)
- i = encodeVarint(dAtA, i, uint64(len(m.ColumnType)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ColumnType)))
i--
dAtA[i] = 0x5a
}
if m.Flags != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Flags))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Flags))
i--
dAtA[i] = 0x50
}
if m.Decimals != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Decimals))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Decimals))
i--
dAtA[i] = 0x48
}
if m.Charset != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Charset))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Charset))
i--
dAtA[i] = 0x40
}
if m.ColumnLength != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ColumnLength))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ColumnLength))
i--
dAtA[i] = 0x38
}
if len(m.OrgName) > 0 {
i -= len(m.OrgName)
copy(dAtA[i:], m.OrgName)
- i = encodeVarint(dAtA, i, uint64(len(m.OrgName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrgName)))
i--
dAtA[i] = 0x32
}
if len(m.Database) > 0 {
i -= len(m.Database)
copy(dAtA[i:], m.Database)
- i = encodeVarint(dAtA, i, uint64(len(m.Database)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Database)))
i--
dAtA[i] = 0x2a
}
if len(m.OrgTable) > 0 {
i -= len(m.OrgTable)
copy(dAtA[i:], m.OrgTable)
- i = encodeVarint(dAtA, i, uint64(len(m.OrgTable)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrgTable)))
i--
dAtA[i] = 0x22
}
if len(m.Table) > 0 {
i -= len(m.Table)
copy(dAtA[i:], m.Table)
- i = encodeVarint(dAtA, i, uint64(len(m.Table)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Table)))
i--
dAtA[i] = 0x1a
}
if m.Type != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Type))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type))
i--
dAtA[i] = 0x10
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -2159,14 +2141,14 @@ func (m *Row) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Values) > 0 {
i -= len(m.Values)
copy(dAtA[i:], m.Values)
- i = encodeVarint(dAtA, i, uint64(len(m.Values)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Values)))
i--
dAtA[i] = 0x12
}
if len(m.Lengths) > 0 {
var pksize2 int
for _, num := range m.Lengths {
- pksize2 += soz(uint64(num))
+ pksize2 += protohelpers.SizeOfZigzag(uint64(num))
}
i -= pksize2
j1 := i
@@ -2180,7 +2162,7 @@ func (m *Row) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[j1] = uint8(x3)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0xa
}
@@ -2220,14 +2202,14 @@ func (m *QueryResult) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.SessionStateChanges) > 0 {
i -= len(m.SessionStateChanges)
copy(dAtA[i:], m.SessionStateChanges)
- i = encodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
i--
dAtA[i] = 0x3a
}
if len(m.Info) > 0 {
i -= len(m.Info)
copy(dAtA[i:], m.Info)
- i = encodeVarint(dAtA, i, uint64(len(m.Info)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Info)))
i--
dAtA[i] = 0x32
}
@@ -2238,18 +2220,18 @@ func (m *QueryResult) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
}
if m.InsertId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.InsertId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InsertId))
i--
dAtA[i] = 0x18
}
if m.RowsAffected != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RowsAffected))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowsAffected))
i--
dAtA[i] = 0x10
}
@@ -2260,7 +2242,7 @@ func (m *QueryResult) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2301,12 +2283,12 @@ func (m *QueryWarning) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Message) > 0 {
i -= len(m.Message)
copy(dAtA[i:], m.Message)
- i = encodeVarint(dAtA, i, uint64(len(m.Message)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Message)))
i--
dAtA[i] = 0x12
}
if m.Code != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Code))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Code))
i--
dAtA[i] = 0x8
}
@@ -2346,7 +2328,7 @@ func (m *StreamEvent_Statement) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Sql) > 0 {
i -= len(m.Sql)
copy(dAtA[i:], m.Sql)
- i = encodeVarint(dAtA, i, uint64(len(m.Sql)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Sql)))
i--
dAtA[i] = 0x2a
}
@@ -2357,7 +2339,7 @@ func (m *StreamEvent_Statement) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -2369,7 +2351,7 @@ func (m *StreamEvent_Statement) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -2377,12 +2359,12 @@ func (m *StreamEvent_Statement) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.TableName) > 0 {
i -= len(m.TableName)
copy(dAtA[i:], m.TableName)
- i = encodeVarint(dAtA, i, uint64(len(m.TableName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableName)))
i--
dAtA[i] = 0x12
}
if m.Category != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Category))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Category))
i--
dAtA[i] = 0x8
}
@@ -2425,7 +2407,7 @@ func (m *StreamEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2436,7 +2418,7 @@ func (m *StreamEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2475,7 +2457,7 @@ func (m *ExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x38
}
@@ -2485,12 +2467,12 @@ func (m *ExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x28
}
@@ -2500,7 +2482,7 @@ func (m *ExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -2510,7 +2492,7 @@ func (m *ExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -2520,7 +2502,7 @@ func (m *ExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2530,7 +2512,7 @@ func (m *ExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2573,7 +2555,7 @@ func (m *ExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2616,7 +2598,7 @@ func (m *ResultWithError) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2626,7 +2608,7 @@ func (m *ResultWithError) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2664,12 +2646,12 @@ func (m *StreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
copy(dAtA[i:], m.unknownFields)
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x38
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x30
}
@@ -2679,7 +2661,7 @@ func (m *StreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -2689,7 +2671,7 @@ func (m *StreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -2699,7 +2681,7 @@ func (m *StreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -2709,7 +2691,7 @@ func (m *StreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2719,7 +2701,7 @@ func (m *StreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2762,7 +2744,7 @@ func (m *StreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2805,7 +2787,7 @@ func (m *BeginRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -2815,7 +2797,7 @@ func (m *BeginRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -2825,7 +2807,7 @@ func (m *BeginRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2835,7 +2817,7 @@ func (m *BeginRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2875,7 +2857,7 @@ func (m *BeginResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.SessionStateChanges) > 0 {
i -= len(m.SessionStateChanges)
copy(dAtA[i:], m.SessionStateChanges)
- i = encodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
i--
dAtA[i] = 0x1a
}
@@ -2885,12 +2867,12 @@ func (m *BeginResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x8
}
@@ -2928,7 +2910,7 @@ func (m *CommitRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x20
}
@@ -2938,7 +2920,7 @@ func (m *CommitRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -2948,7 +2930,7 @@ func (m *CommitRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2958,7 +2940,7 @@ func (m *CommitRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2996,7 +2978,7 @@ func (m *CommitResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x8
}
@@ -3034,7 +3016,7 @@ func (m *RollbackRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x20
}
@@ -3044,7 +3026,7 @@ func (m *RollbackRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3054,7 +3036,7 @@ func (m *RollbackRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3064,7 +3046,7 @@ func (m *RollbackRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3102,7 +3084,7 @@ func (m *RollbackResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x8
}
@@ -3142,12 +3124,12 @@ func (m *PrepareRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Dtid) > 0 {
i -= len(m.Dtid)
copy(dAtA[i:], m.Dtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
i--
dAtA[i] = 0x2a
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x20
}
@@ -3157,7 +3139,7 @@ func (m *PrepareRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3167,7 +3149,7 @@ func (m *PrepareRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3177,7 +3159,7 @@ func (m *PrepareRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3250,7 +3232,7 @@ func (m *CommitPreparedRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Dtid) > 0 {
i -= len(m.Dtid)
copy(dAtA[i:], m.Dtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
i--
dAtA[i] = 0x22
}
@@ -3260,7 +3242,7 @@ func (m *CommitPreparedRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3270,7 +3252,7 @@ func (m *CommitPreparedRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3280,7 +3262,7 @@ func (m *CommitPreparedRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3353,12 +3335,12 @@ func (m *RollbackPreparedRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
if len(m.Dtid) > 0 {
i -= len(m.Dtid)
copy(dAtA[i:], m.Dtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
i--
dAtA[i] = 0x2a
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x20
}
@@ -3368,7 +3350,7 @@ func (m *RollbackPreparedRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3378,7 +3360,7 @@ func (m *RollbackPreparedRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3388,7 +3370,7 @@ func (m *RollbackPreparedRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3465,7 +3447,7 @@ func (m *CreateTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -3473,7 +3455,7 @@ func (m *CreateTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
if len(m.Dtid) > 0 {
i -= len(m.Dtid)
copy(dAtA[i:], m.Dtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
i--
dAtA[i] = 0x22
}
@@ -3483,7 +3465,7 @@ func (m *CreateTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3493,7 +3475,7 @@ func (m *CreateTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3503,7 +3485,7 @@ func (m *CreateTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3576,12 +3558,12 @@ func (m *StartCommitRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Dtid) > 0 {
i -= len(m.Dtid)
copy(dAtA[i:], m.Dtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
i--
dAtA[i] = 0x2a
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x20
}
@@ -3591,7 +3573,7 @@ func (m *StartCommitRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3601,7 +3583,7 @@ func (m *StartCommitRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3611,7 +3593,7 @@ func (m *StartCommitRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3684,12 +3666,12 @@ func (m *SetRollbackRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Dtid) > 0 {
i -= len(m.Dtid)
copy(dAtA[i:], m.Dtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
i--
dAtA[i] = 0x2a
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x20
}
@@ -3699,7 +3681,7 @@ func (m *SetRollbackRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3709,7 +3691,7 @@ func (m *SetRollbackRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3719,7 +3701,7 @@ func (m *SetRollbackRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3792,7 +3774,7 @@ func (m *ConcludeTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
if len(m.Dtid) > 0 {
i -= len(m.Dtid)
copy(dAtA[i:], m.Dtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
i--
dAtA[i] = 0x22
}
@@ -3802,7 +3784,7 @@ func (m *ConcludeTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3812,7 +3794,7 @@ func (m *ConcludeTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3822,7 +3804,7 @@ func (m *ConcludeTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3895,7 +3877,7 @@ func (m *ReadTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Dtid) > 0 {
i -= len(m.Dtid)
copy(dAtA[i:], m.Dtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
i--
dAtA[i] = 0x22
}
@@ -3905,7 +3887,7 @@ func (m *ReadTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3915,7 +3897,7 @@ func (m *ReadTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3925,7 +3907,7 @@ func (m *ReadTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3968,7 +3950,7 @@ func (m *ReadTransactionResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4005,13 +3987,18 @@ func (m *UnresolvedTransactionsRequest) MarshalToSizedBufferVT(dAtA []byte) (int
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.AbandonAge != 0 {
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AbandonAge))
+ i--
+ dAtA[i] = 0x20
+ }
if m.Target != nil {
size, err := m.Target.MarshalToSizedBufferVT(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -4021,7 +4008,7 @@ func (m *UnresolvedTransactionsRequest) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4031,7 +4018,7 @@ func (m *UnresolvedTransactionsRequest) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4075,7 +4062,7 @@ func (m *UnresolvedTransactionsResponse) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4117,13 +4104,13 @@ func (m *BeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.PreQueries) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.PreQueries[iNdEx])
copy(dAtA[i:], m.PreQueries[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
i--
dAtA[i] = 0x3a
}
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x30
}
@@ -4133,7 +4120,7 @@ func (m *BeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -4143,7 +4130,7 @@ func (m *BeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -4153,7 +4140,7 @@ func (m *BeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -4163,7 +4150,7 @@ func (m *BeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4173,7 +4160,7 @@ func (m *BeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4213,7 +4200,7 @@ func (m *BeginExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.SessionStateChanges) > 0 {
i -= len(m.SessionStateChanges)
copy(dAtA[i:], m.SessionStateChanges)
- i = encodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
i--
dAtA[i] = 0x2a
}
@@ -4223,12 +4210,12 @@ func (m *BeginExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x18
}
@@ -4238,7 +4225,7 @@ func (m *BeginExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4248,7 +4235,7 @@ func (m *BeginExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4286,7 +4273,7 @@ func (m *BeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
copy(dAtA[i:], m.unknownFields)
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x38
}
@@ -4294,7 +4281,7 @@ func (m *BeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
for iNdEx := len(m.PreQueries) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.PreQueries[iNdEx])
copy(dAtA[i:], m.PreQueries[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
i--
dAtA[i] = 0x32
}
@@ -4305,7 +4292,7 @@ func (m *BeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -4315,7 +4302,7 @@ func (m *BeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -4325,7 +4312,7 @@ func (m *BeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -4335,7 +4322,7 @@ func (m *BeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4345,7 +4332,7 @@ func (m *BeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4385,7 +4372,7 @@ func (m *BeginStreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
if len(m.SessionStateChanges) > 0 {
i -= len(m.SessionStateChanges)
copy(dAtA[i:], m.SessionStateChanges)
- i = encodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
i--
dAtA[i] = 0x2a
}
@@ -4395,12 +4382,12 @@ func (m *BeginStreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x18
}
@@ -4410,7 +4397,7 @@ func (m *BeginStreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4420,7 +4407,7 @@ func (m *BeginStreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4460,7 +4447,7 @@ func (m *MessageStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x22
}
@@ -4470,7 +4457,7 @@ func (m *MessageStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -4480,7 +4467,7 @@ func (m *MessageStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4490,7 +4477,7 @@ func (m *MessageStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4533,7 +4520,7 @@ func (m *MessageStreamResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4577,7 +4564,7 @@ func (m *MessageAckRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -4585,7 +4572,7 @@ func (m *MessageAckRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x22
}
@@ -4595,7 +4582,7 @@ func (m *MessageAckRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -4605,7 +4592,7 @@ func (m *MessageAckRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4615,7 +4602,7 @@ func (m *MessageAckRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4658,7 +4645,7 @@ func (m *MessageAckResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4699,7 +4686,7 @@ func (m *ReserveExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.PreQueries) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.PreQueries[iNdEx])
copy(dAtA[i:], m.PreQueries[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
i--
dAtA[i] = 0x3a
}
@@ -4710,12 +4697,12 @@ func (m *ReserveExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x28
}
@@ -4725,7 +4712,7 @@ func (m *ReserveExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -4735,7 +4722,7 @@ func (m *ReserveExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -4745,7 +4732,7 @@ func (m *ReserveExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4755,7 +4742,7 @@ func (m *ReserveExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4798,12 +4785,12 @@ func (m *ReserveExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x18
}
@@ -4813,7 +4800,7 @@ func (m *ReserveExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4823,7 +4810,7 @@ func (m *ReserveExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4864,13 +4851,13 @@ func (m *ReserveStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
for iNdEx := len(m.PreQueries) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.PreQueries[iNdEx])
copy(dAtA[i:], m.PreQueries[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
i--
dAtA[i] = 0x3a
}
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x30
}
@@ -4880,7 +4867,7 @@ func (m *ReserveStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -4890,7 +4877,7 @@ func (m *ReserveStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -4900,7 +4887,7 @@ func (m *ReserveStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -4910,7 +4897,7 @@ func (m *ReserveStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4920,7 +4907,7 @@ func (m *ReserveStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4963,12 +4950,12 @@ func (m *ReserveStreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x18
}
@@ -4978,7 +4965,7 @@ func (m *ReserveStreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4988,7 +4975,7 @@ func (m *ReserveStreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5029,7 +5016,7 @@ func (m *ReserveBeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
for iNdEx := len(m.PostBeginQueries) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.PostBeginQueries[iNdEx])
copy(dAtA[i:], m.PostBeginQueries[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.PostBeginQueries[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PostBeginQueries[iNdEx])))
i--
dAtA[i] = 0x3a
}
@@ -5038,7 +5025,7 @@ func (m *ReserveBeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
for iNdEx := len(m.PreQueries) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.PreQueries[iNdEx])
copy(dAtA[i:], m.PreQueries[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
i--
dAtA[i] = 0x32
}
@@ -5049,7 +5036,7 @@ func (m *ReserveBeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -5059,7 +5046,7 @@ func (m *ReserveBeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -5069,7 +5056,7 @@ func (m *ReserveBeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -5079,7 +5066,7 @@ func (m *ReserveBeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -5089,7 +5076,7 @@ func (m *ReserveBeginExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5129,7 +5116,7 @@ func (m *ReserveBeginExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.SessionStateChanges) > 0 {
i -= len(m.SessionStateChanges)
copy(dAtA[i:], m.SessionStateChanges)
- i = encodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
i--
dAtA[i] = 0x32
}
@@ -5139,17 +5126,17 @@ func (m *ReserveBeginExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x20
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x18
}
@@ -5159,7 +5146,7 @@ func (m *ReserveBeginExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -5169,7 +5156,7 @@ func (m *ReserveBeginExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5210,7 +5197,7 @@ func (m *ReserveBeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (
for iNdEx := len(m.PostBeginQueries) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.PostBeginQueries[iNdEx])
copy(dAtA[i:], m.PostBeginQueries[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.PostBeginQueries[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PostBeginQueries[iNdEx])))
i--
dAtA[i] = 0x3a
}
@@ -5219,7 +5206,7 @@ func (m *ReserveBeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (
for iNdEx := len(m.PreQueries) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.PreQueries[iNdEx])
copy(dAtA[i:], m.PreQueries[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PreQueries[iNdEx])))
i--
dAtA[i] = 0x32
}
@@ -5230,7 +5217,7 @@ func (m *ReserveBeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -5240,7 +5227,7 @@ func (m *ReserveBeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -5250,7 +5237,7 @@ func (m *ReserveBeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -5260,7 +5247,7 @@ func (m *ReserveBeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -5270,7 +5257,7 @@ func (m *ReserveBeginStreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5310,7 +5297,7 @@ func (m *ReserveBeginStreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte)
if len(m.SessionStateChanges) > 0 {
i -= len(m.SessionStateChanges)
copy(dAtA[i:], m.SessionStateChanges)
- i = encodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SessionStateChanges)))
i--
dAtA[i] = 0x32
}
@@ -5320,17 +5307,17 @@ func (m *ReserveBeginStreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x20
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x18
}
@@ -5340,7 +5327,7 @@ func (m *ReserveBeginStreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -5350,7 +5337,7 @@ func (m *ReserveBeginStreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5388,12 +5375,12 @@ func (m *ReleaseRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x28
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x20
}
@@ -5403,7 +5390,7 @@ func (m *ReleaseRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -5413,7 +5400,7 @@ func (m *ReleaseRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -5423,7 +5410,7 @@ func (m *ReleaseRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5550,7 +5537,7 @@ func (m *RealtimeStats) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ViewSchemaChanged) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ViewSchemaChanged[iNdEx])
copy(dAtA[i:], m.ViewSchemaChanged[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ViewSchemaChanged[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ViewSchemaChanged[iNdEx])))
i--
dAtA[i] = 0x42
}
@@ -5559,7 +5546,7 @@ func (m *RealtimeStats) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.TableSchemaChanged) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.TableSchemaChanged[iNdEx])
copy(dAtA[i:], m.TableSchemaChanged[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.TableSchemaChanged[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableSchemaChanged[iNdEx])))
i--
dAtA[i] = 0x3a
}
@@ -5577,24 +5564,24 @@ func (m *RealtimeStats) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x29
}
if m.FilteredReplicationLagSeconds != 0 {
- i = encodeVarint(dAtA, i, uint64(m.FilteredReplicationLagSeconds))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FilteredReplicationLagSeconds))
i--
dAtA[i] = 0x20
}
if m.BinlogPlayersCount != 0 {
- i = encodeVarint(dAtA, i, uint64(m.BinlogPlayersCount))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BinlogPlayersCount))
i--
dAtA[i] = 0x18
}
if m.ReplicationLagSeconds != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReplicationLagSeconds))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReplicationLagSeconds))
i--
dAtA[i] = 0x10
}
if len(m.HealthError) > 0 {
i -= len(m.HealthError)
copy(dAtA[i:], m.HealthError)
- i = encodeVarint(dAtA, i, uint64(len(m.HealthError)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.HealthError)))
i--
dAtA[i] = 0xa
}
@@ -5632,22 +5619,22 @@ func (m *AggregateStats) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.ReplicationLagSecondsMax != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReplicationLagSecondsMax))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReplicationLagSecondsMax))
i--
dAtA[i] = 0x20
}
if m.ReplicationLagSecondsMin != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReplicationLagSecondsMin))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReplicationLagSecondsMin))
i--
dAtA[i] = 0x18
}
if m.UnhealthyTabletCount != 0 {
- i = encodeVarint(dAtA, i, uint64(m.UnhealthyTabletCount))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.UnhealthyTabletCount))
i--
dAtA[i] = 0x10
}
if m.HealthyTabletCount != 0 {
- i = encodeVarint(dAtA, i, uint64(m.HealthyTabletCount))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HealthyTabletCount))
i--
dAtA[i] = 0x8
}
@@ -5690,7 +5677,7 @@ func (m *StreamHealthResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x3a
}
@@ -5700,7 +5687,7 @@ func (m *StreamHealthResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -5710,12 +5697,12 @@ func (m *StreamHealthResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if m.PrimaryTermStartTimestamp != 0 {
- i = encodeVarint(dAtA, i, uint64(m.PrimaryTermStartTimestamp))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PrimaryTermStartTimestamp))
i--
dAtA[i] = 0x18
}
@@ -5735,7 +5722,7 @@ func (m *StreamHealthResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5779,25 +5766,25 @@ func (m *TransactionMetadata) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
}
if m.TimeCreated != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TimeCreated))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TimeCreated))
i--
dAtA[i] = 0x18
}
if m.State != 0 {
- i = encodeVarint(dAtA, i, uint64(m.State))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.State))
i--
dAtA[i] = 0x10
}
if len(m.Dtid) > 0 {
i -= len(m.Dtid)
copy(dAtA[i:], m.Dtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
i--
dAtA[i] = 0xa
}
@@ -5838,13 +5825,13 @@ func (m *GetSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.TableNames) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.TableNames[iNdEx])
copy(dAtA[i:], m.TableNames[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.TableNames[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableNames[iNdEx])))
i--
dAtA[i] = 0x1a
}
}
if m.TableType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TableType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TableType))
i--
dAtA[i] = 0x10
}
@@ -5854,7 +5841,7 @@ func (m *GetSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5892,7 +5879,7 @@ func (m *UDFInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.ReturnType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReturnType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReturnType))
i--
dAtA[i] = 0x18
}
@@ -5909,7 +5896,7 @@ func (m *UDFInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -5952,15 +5939,15 @@ func (m *GetSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
baseI := i
i -= len(v)
copy(dAtA[i:], v)
- i = encodeVarint(dAtA, i, uint64(len(v)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -5972,7 +5959,7 @@ func (m *GetSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5980,18 +5967,6 @@ func (m *GetSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
-
var vtprotoPool_Row = sync.Pool{
New: func() interface{} {
return &Row{}
@@ -5999,11 +5974,13 @@ var vtprotoPool_Row = sync.Pool{
}
func (m *Row) ResetVT() {
- f0 := m.Lengths[:0]
- f1 := m.Values[:0]
- m.Reset()
- m.Lengths = f0
- m.Values = f1
+ if m != nil {
+ f0 := m.Lengths[:0]
+ f1 := m.Values[:0]
+ m.Reset()
+ m.Lengths = f0
+ m.Values = f1
+ }
}
func (m *Row) ReturnToVTPool() {
if m != nil {
@@ -6022,18 +5999,18 @@ func (m *Target) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TabletType != 0 {
- n += 1 + sov(uint64(m.TabletType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletType))
}
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6047,12 +6024,12 @@ func (m *VTGateCallerID) SizeVT() (n int) {
_ = l
l = len(m.Username)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Groups) > 0 {
for _, s := range m.Groups {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -6066,15 +6043,15 @@ func (m *EventToken) SizeVT() (n int) {
var l int
_ = l
if m.Timestamp != 0 {
- n += 1 + sov(uint64(m.Timestamp))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Timestamp))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6087,11 +6064,11 @@ func (m *Value) SizeVT() (n int) {
var l int
_ = l
if m.Type != 0 {
- n += 1 + sov(uint64(m.Type))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Type))
}
l = len(m.Value)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6104,16 +6081,16 @@ func (m *BindVariable) SizeVT() (n int) {
var l int
_ = l
if m.Type != 0 {
- n += 1 + sov(uint64(m.Type))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Type))
}
l = len(m.Value)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Values) > 0 {
for _, e := range m.Values {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -6128,7 +6105,7 @@ func (m *BoundQuery) SizeVT() (n int) {
_ = l
l = len(m.Sql)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.BindVariables) > 0 {
for k, v := range m.BindVariables {
@@ -6138,9 +6115,9 @@ func (m *BoundQuery) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -6154,51 +6131,63 @@ func (m *ExecuteOptions) SizeVT() (n int) {
var l int
_ = l
if m.IncludedFields != 0 {
- n += 1 + sov(uint64(m.IncludedFields))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.IncludedFields))
}
if m.ClientFoundRows {
n += 2
}
if m.Workload != 0 {
- n += 1 + sov(uint64(m.Workload))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Workload))
}
if m.SqlSelectLimit != 0 {
- n += 1 + sov(uint64(m.SqlSelectLimit))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.SqlSelectLimit))
}
if m.TransactionIsolation != 0 {
- n += 1 + sov(uint64(m.TransactionIsolation))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionIsolation))
}
if m.SkipQueryPlanCache {
n += 2
}
if m.PlannerVersion != 0 {
- n += 1 + sov(uint64(m.PlannerVersion))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.PlannerVersion))
}
if m.HasCreatedTempTables {
n += 2
}
if m.Consolidator != 0 {
- n += 1 + sov(uint64(m.Consolidator))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Consolidator))
}
if len(m.TransactionAccessMode) > 0 {
l = 0
for _, e := range m.TransactionAccessMode {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
l = len(m.WorkloadName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Priority)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if vtmsg, ok := m.Timeout.(interface{ SizeVT() int }); ok {
+ n += vtmsg.SizeVT()
}
n += len(m.unknownFields)
return n
}
+func (m *ExecuteOptions_AuthoritativeTimeout) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.AuthoritativeTimeout))
+ return n
+}
func (m *Field) SizeVT() (n int) {
if m == nil {
return 0
@@ -6207,42 +6196,42 @@ func (m *Field) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Type != 0 {
- n += 1 + sov(uint64(m.Type))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Type))
}
l = len(m.Table)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.OrgTable)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Database)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.OrgName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ColumnLength != 0 {
- n += 1 + sov(uint64(m.ColumnLength))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ColumnLength))
}
if m.Charset != 0 {
- n += 1 + sov(uint64(m.Charset))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Charset))
}
if m.Decimals != 0 {
- n += 1 + sov(uint64(m.Decimals))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Decimals))
}
if m.Flags != 0 {
- n += 1 + sov(uint64(m.Flags))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Flags))
}
l = len(m.ColumnType)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6257,13 +6246,13 @@ func (m *Row) SizeVT() (n int) {
if len(m.Lengths) > 0 {
l = 0
for _, e := range m.Lengths {
- l += soz(uint64(e))
+ l += protohelpers.SizeOfZigzag(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
l = len(m.Values)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6278,28 +6267,28 @@ func (m *QueryResult) SizeVT() (n int) {
if len(m.Fields) > 0 {
for _, e := range m.Fields {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.RowsAffected != 0 {
- n += 1 + sov(uint64(m.RowsAffected))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.RowsAffected))
}
if m.InsertId != 0 {
- n += 1 + sov(uint64(m.InsertId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.InsertId))
}
if len(m.Rows) > 0 {
for _, e := range m.Rows {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.Info)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SessionStateChanges)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6312,11 +6301,11 @@ func (m *QueryWarning) SizeVT() (n int) {
var l int
_ = l
if m.Code != 0 {
- n += 1 + sov(uint64(m.Code))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Code))
}
l = len(m.Message)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6329,27 +6318,27 @@ func (m *StreamEvent_Statement) SizeVT() (n int) {
var l int
_ = l
if m.Category != 0 {
- n += 1 + sov(uint64(m.Category))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Category))
}
l = len(m.TableName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.PrimaryKeyFields) > 0 {
for _, e := range m.PrimaryKeyFields {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.PrimaryKeyValues) > 0 {
for _, e := range m.PrimaryKeyValues {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.Sql)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6364,12 +6353,12 @@ func (m *StreamEvent) SizeVT() (n int) {
if len(m.Statements) > 0 {
for _, e := range m.Statements {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.EventToken != nil {
l = m.EventToken.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6383,29 +6372,29 @@ func (m *ExecuteRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Query != nil {
l = m.Query.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
n += len(m.unknownFields)
return n
@@ -6419,7 +6408,7 @@ func (m *ExecuteResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6433,11 +6422,11 @@ func (m *ResultWithError) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6451,29 +6440,29 @@ func (m *StreamExecuteRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Query != nil {
l = m.Query.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
n += len(m.unknownFields)
return n
@@ -6487,7 +6476,7 @@ func (m *StreamExecuteResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6501,19 +6490,19 @@ func (m *BeginRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6526,15 +6515,15 @@ func (m *BeginResponse) SizeVT() (n int) {
var l int
_ = l
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SessionStateChanges)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6548,18 +6537,18 @@ func (m *CommitRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
n += len(m.unknownFields)
return n
@@ -6572,7 +6561,7 @@ func (m *CommitResponse) SizeVT() (n int) {
var l int
_ = l
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
n += len(m.unknownFields)
return n
@@ -6586,18 +6575,18 @@ func (m *RollbackRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
n += len(m.unknownFields)
return n
@@ -6610,7 +6599,7 @@ func (m *RollbackResponse) SizeVT() (n int) {
var l int
_ = l
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
n += len(m.unknownFields)
return n
@@ -6624,22 +6613,22 @@ func (m *PrepareRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
l = len(m.Dtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6663,19 +6652,19 @@ func (m *CommitPreparedRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Dtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6699,22 +6688,22 @@ func (m *RollbackPreparedRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
l = len(m.Dtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6738,24 +6727,24 @@ func (m *CreateTransactionRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Dtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Participants) > 0 {
for _, e := range m.Participants {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -6780,22 +6769,22 @@ func (m *StartCommitRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
l = len(m.Dtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6819,22 +6808,22 @@ func (m *SetRollbackRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
l = len(m.Dtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6858,19 +6847,19 @@ func (m *ConcludeTransactionRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Dtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6894,19 +6883,19 @@ func (m *ReadTransactionRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Dtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6920,7 +6909,7 @@ func (m *ReadTransactionResponse) SizeVT() (n int) {
_ = l
if m.Metadata != nil {
l = m.Metadata.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -6934,15 +6923,18 @@ func (m *UnresolvedTransactionsRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if m.AbandonAge != 0 {
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.AbandonAge))
}
n += len(m.unknownFields)
return n
@@ -6957,7 +6949,7 @@ func (m *UnresolvedTransactionsResponse) SizeVT() (n int) {
if len(m.Transactions) > 0 {
for _, e := range m.Transactions {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -6972,31 +6964,31 @@ func (m *BeginExecuteRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Query != nil {
l = m.Query.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
if len(m.PreQueries) > 0 {
for _, s := range m.PreQueries {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -7011,22 +7003,22 @@ func (m *BeginExecuteResponse) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SessionStateChanges)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -7040,32 +7032,32 @@ func (m *BeginStreamExecuteRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Query != nil {
l = m.Query.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.PreQueries) > 0 {
for _, s := range m.PreQueries {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
n += len(m.unknownFields)
return n
@@ -7079,22 +7071,22 @@ func (m *BeginStreamExecuteResponse) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SessionStateChanges)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -7108,19 +7100,19 @@ func (m *MessageStreamRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -7134,7 +7126,7 @@ func (m *MessageStreamResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -7148,24 +7140,24 @@ func (m *MessageAckRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Ids) > 0 {
for _, e := range m.Ids {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -7180,7 +7172,7 @@ func (m *MessageAckResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -7194,31 +7186,31 @@ func (m *ReserveExecuteRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Query != nil {
l = m.Query.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.PreQueries) > 0 {
for _, s := range m.PreQueries {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -7233,18 +7225,18 @@ func (m *ReserveExecuteResponse) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -7258,31 +7250,31 @@ func (m *ReserveStreamExecuteRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Query != nil {
l = m.Query.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
if len(m.PreQueries) > 0 {
for _, s := range m.PreQueries {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -7297,18 +7289,18 @@ func (m *ReserveStreamExecuteResponse) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -7322,34 +7314,34 @@ func (m *ReserveBeginExecuteRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Query != nil {
l = m.Query.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.PreQueries) > 0 {
for _, s := range m.PreQueries {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.PostBeginQueries) > 0 {
for _, s := range m.PostBeginQueries {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -7364,25 +7356,25 @@ func (m *ReserveBeginExecuteResponse) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SessionStateChanges)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -7396,34 +7388,34 @@ func (m *ReserveBeginStreamExecuteRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Query != nil {
l = m.Query.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.PreQueries) > 0 {
for _, s := range m.PreQueries {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.PostBeginQueries) > 0 {
for _, s := range m.PostBeginQueries {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -7438,25 +7430,25 @@ func (m *ReserveBeginStreamExecuteResponse) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SessionStateChanges)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -7470,21 +7462,21 @@ func (m *ReleaseRequest) SizeVT() (n int) {
_ = l
if m.EffectiveCallerId != nil {
l = m.EffectiveCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ImmediateCallerId != nil {
l = m.ImmediateCallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
n += len(m.unknownFields)
return n
@@ -7518,16 +7510,16 @@ func (m *RealtimeStats) SizeVT() (n int) {
_ = l
l = len(m.HealthError)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReplicationLagSeconds != 0 {
- n += 1 + sov(uint64(m.ReplicationLagSeconds))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReplicationLagSeconds))
}
if m.BinlogPlayersCount != 0 {
- n += 1 + sov(uint64(m.BinlogPlayersCount))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.BinlogPlayersCount))
}
if m.FilteredReplicationLagSeconds != 0 {
- n += 1 + sov(uint64(m.FilteredReplicationLagSeconds))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.FilteredReplicationLagSeconds))
}
if m.CpuUsage != 0 {
n += 9
@@ -7538,13 +7530,13 @@ func (m *RealtimeStats) SizeVT() (n int) {
if len(m.TableSchemaChanged) > 0 {
for _, s := range m.TableSchemaChanged {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ViewSchemaChanged) > 0 {
for _, s := range m.ViewSchemaChanged {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.UdfsChanged {
@@ -7564,16 +7556,16 @@ func (m *AggregateStats) SizeVT() (n int) {
var l int
_ = l
if m.HealthyTabletCount != 0 {
- n += 1 + sov(uint64(m.HealthyTabletCount))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.HealthyTabletCount))
}
if m.UnhealthyTabletCount != 0 {
- n += 1 + sov(uint64(m.UnhealthyTabletCount))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.UnhealthyTabletCount))
}
if m.ReplicationLagSecondsMin != 0 {
- n += 1 + sov(uint64(m.ReplicationLagSecondsMin))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReplicationLagSecondsMin))
}
if m.ReplicationLagSecondsMax != 0 {
- n += 1 + sov(uint64(m.ReplicationLagSecondsMax))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReplicationLagSecondsMax))
}
n += len(m.unknownFields)
return n
@@ -7587,25 +7579,25 @@ func (m *StreamHealthResponse) SizeVT() (n int) {
_ = l
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Serving {
n += 2
}
if m.PrimaryTermStartTimestamp != 0 {
- n += 1 + sov(uint64(m.PrimaryTermStartTimestamp))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.PrimaryTermStartTimestamp))
}
if m.RealtimeStats != nil {
l = m.RealtimeStats.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Timestamp != nil {
l = m.Timestamp.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -7619,18 +7611,18 @@ func (m *TransactionMetadata) SizeVT() (n int) {
_ = l
l = len(m.Dtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.State != 0 {
- n += 1 + sov(uint64(m.State))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.State))
}
if m.TimeCreated != 0 {
- n += 1 + sov(uint64(m.TimeCreated))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TimeCreated))
}
if len(m.Participants) > 0 {
for _, e := range m.Participants {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -7645,15 +7637,15 @@ func (m *GetSchemaRequest) SizeVT() (n int) {
_ = l
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TableType != 0 {
- n += 1 + sov(uint64(m.TableType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TableType))
}
if len(m.TableNames) > 0 {
for _, s := range m.TableNames {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -7668,13 +7660,13 @@ func (m *UDFInfo) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Aggregating {
n += 2
}
if m.ReturnType != 0 {
- n += 1 + sov(uint64(m.ReturnType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReturnType))
}
n += len(m.unknownFields)
return n
@@ -7689,27 +7681,21 @@ func (m *GetSchemaResponse) SizeVT() (n int) {
if len(m.Udfs) > 0 {
for _, e := range m.Udfs {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TableDefinition) > 0 {
for k, v := range m.TableDefinition {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v)))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *Target) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -7718,7 +7704,7 @@ func (m *Target) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7746,7 +7732,7 @@ func (m *Target) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7760,11 +7746,11 @@ func (m *Target) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7778,7 +7764,7 @@ func (m *Target) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7792,11 +7778,11 @@ func (m *Target) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7810,7 +7796,7 @@ func (m *Target) UnmarshalVT(dAtA []byte) error {
m.TabletType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7829,7 +7815,7 @@ func (m *Target) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7843,11 +7829,11 @@ func (m *Target) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7856,12 +7842,12 @@ func (m *Target) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -7884,7 +7870,7 @@ func (m *VTGateCallerID) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7912,7 +7898,7 @@ func (m *VTGateCallerID) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7926,11 +7912,11 @@ func (m *VTGateCallerID) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7944,7 +7930,7 @@ func (m *VTGateCallerID) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -7958,11 +7944,11 @@ func (m *VTGateCallerID) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -7971,12 +7957,12 @@ func (m *VTGateCallerID) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -7999,7 +7985,7 @@ func (m *EventToken) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8027,7 +8013,7 @@ func (m *EventToken) UnmarshalVT(dAtA []byte) error {
m.Timestamp = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8046,7 +8032,7 @@ func (m *EventToken) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8060,11 +8046,11 @@ func (m *EventToken) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8078,7 +8064,7 @@ func (m *EventToken) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8092,11 +8078,11 @@ func (m *EventToken) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8105,12 +8091,12 @@ func (m *EventToken) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -8133,7 +8119,7 @@ func (m *Value) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8161,7 +8147,7 @@ func (m *Value) UnmarshalVT(dAtA []byte) error {
m.Type = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8180,7 +8166,7 @@ func (m *Value) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8193,11 +8179,11 @@ func (m *Value) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8209,12 +8195,12 @@ func (m *Value) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -8237,7 +8223,7 @@ func (m *BindVariable) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8265,7 +8251,7 @@ func (m *BindVariable) UnmarshalVT(dAtA []byte) error {
m.Type = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8284,7 +8270,7 @@ func (m *BindVariable) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8297,11 +8283,11 @@ func (m *BindVariable) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8318,7 +8304,7 @@ func (m *BindVariable) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8331,11 +8317,11 @@ func (m *BindVariable) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8347,12 +8333,12 @@ func (m *BindVariable) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -8375,7 +8361,7 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8403,7 +8389,7 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8417,11 +8403,11 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8435,7 +8421,7 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8448,11 +8434,11 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8467,7 +8453,7 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8484,7 +8470,7 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8498,11 +8484,11 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -8513,7 +8499,7 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8526,11 +8512,11 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -8542,12 +8528,12 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -8559,12 +8545,12 @@ func (m *BoundQuery) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -8587,7 +8573,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8615,7 +8601,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
m.IncludedFields = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8634,7 +8620,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8654,7 +8640,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
m.Workload = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8673,7 +8659,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
m.SqlSelectLimit = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8692,7 +8678,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
m.TransactionIsolation = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8711,7 +8697,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8731,7 +8717,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
m.PlannerVersion = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8750,7 +8736,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8770,7 +8756,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
m.Consolidator = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8787,7 +8773,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
var v ExecuteOptions_TransactionAccessMode
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8804,7 +8790,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8817,11 +8803,11 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8834,7 +8820,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
var v ExecuteOptions_TransactionAccessMode
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8858,7 +8844,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8872,11 +8858,11 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -8890,7 +8876,7 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8904,25 +8890,45 @@ func (m *ExecuteOptions) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Priority = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 17:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AuthoritativeTimeout", wireType)
+ }
+ var v int64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Timeout = &ExecuteOptions_AuthoritativeTimeout{AuthoritativeTimeout: v}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -8945,7 +8951,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8973,7 +8979,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -8987,11 +8993,11 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9005,7 +9011,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
m.Type = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9024,7 +9030,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9038,11 +9044,11 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9056,7 +9062,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9070,11 +9076,11 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9088,7 +9094,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9102,11 +9108,11 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9120,7 +9126,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9134,11 +9140,11 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9152,7 +9158,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
m.ColumnLength = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9171,7 +9177,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
m.Charset = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9190,7 +9196,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
m.Decimals = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9209,7 +9215,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
m.Flags = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9228,7 +9234,7 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9242,11 +9248,11 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9255,12 +9261,12 @@ func (m *Field) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -9283,7 +9289,7 @@ func (m *Row) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9309,7 +9315,7 @@ func (m *Row) UnmarshalVT(dAtA []byte) error {
var v uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9327,7 +9333,7 @@ func (m *Row) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9340,11 +9346,11 @@ func (m *Row) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9364,7 +9370,7 @@ func (m *Row) UnmarshalVT(dAtA []byte) error {
var v uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9389,7 +9395,7 @@ func (m *Row) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9402,11 +9408,11 @@ func (m *Row) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9418,12 +9424,12 @@ func (m *Row) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -9446,7 +9452,7 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9474,7 +9480,7 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9487,11 +9493,11 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9508,7 +9514,7 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
m.RowsAffected = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9527,7 +9533,7 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
m.InsertId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9546,7 +9552,7 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9559,11 +9565,11 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9580,7 +9586,7 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9594,11 +9600,11 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9612,7 +9618,7 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9626,11 +9632,11 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9639,12 +9645,12 @@ func (m *QueryResult) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -9667,7 +9673,7 @@ func (m *QueryWarning) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9695,7 +9701,7 @@ func (m *QueryWarning) UnmarshalVT(dAtA []byte) error {
m.Code = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9714,7 +9720,7 @@ func (m *QueryWarning) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9728,11 +9734,11 @@ func (m *QueryWarning) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9741,12 +9747,12 @@ func (m *QueryWarning) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -9769,7 +9775,7 @@ func (m *StreamEvent_Statement) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9797,7 +9803,7 @@ func (m *StreamEvent_Statement) UnmarshalVT(dAtA []byte) error {
m.Category = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9816,7 +9822,7 @@ func (m *StreamEvent_Statement) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9830,11 +9836,11 @@ func (m *StreamEvent_Statement) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9848,7 +9854,7 @@ func (m *StreamEvent_Statement) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9861,11 +9867,11 @@ func (m *StreamEvent_Statement) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9882,7 +9888,7 @@ func (m *StreamEvent_Statement) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9895,11 +9901,11 @@ func (m *StreamEvent_Statement) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9916,7 +9922,7 @@ func (m *StreamEvent_Statement) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -9929,11 +9935,11 @@ func (m *StreamEvent_Statement) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -9945,12 +9951,12 @@ func (m *StreamEvent_Statement) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -9973,7 +9979,7 @@ func (m *StreamEvent) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10001,7 +10007,7 @@ func (m *StreamEvent) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10014,11 +10020,11 @@ func (m *StreamEvent) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10035,7 +10041,7 @@ func (m *StreamEvent) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10048,11 +10054,11 @@ func (m *StreamEvent) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10066,12 +10072,12 @@ func (m *StreamEvent) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -10094,7 +10100,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10122,7 +10128,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10135,11 +10141,11 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10158,7 +10164,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10171,11 +10177,11 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10194,7 +10200,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10207,11 +10213,11 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10230,7 +10236,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10243,11 +10249,11 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10266,7 +10272,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10285,7 +10291,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10298,11 +10304,11 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10321,7 +10327,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10335,12 +10341,12 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -10363,7 +10369,7 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10391,7 +10397,7 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10404,11 +10410,11 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10422,12 +10428,12 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -10450,7 +10456,7 @@ func (m *ResultWithError) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10478,7 +10484,7 @@ func (m *ResultWithError) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10491,11 +10497,11 @@ func (m *ResultWithError) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10514,7 +10520,7 @@ func (m *ResultWithError) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10527,11 +10533,11 @@ func (m *ResultWithError) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10545,12 +10551,12 @@ func (m *ResultWithError) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -10573,7 +10579,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10601,7 +10607,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10614,11 +10620,11 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10637,7 +10643,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10650,11 +10656,11 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10673,7 +10679,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10686,11 +10692,11 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10709,7 +10715,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10722,11 +10728,11 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10745,7 +10751,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10758,11 +10764,11 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10781,7 +10787,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10800,7 +10806,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10814,12 +10820,12 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -10842,7 +10848,7 @@ func (m *StreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10870,7 +10876,7 @@ func (m *StreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10883,11 +10889,11 @@ func (m *StreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10901,12 +10907,12 @@ func (m *StreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -10929,7 +10935,7 @@ func (m *BeginRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10957,7 +10963,7 @@ func (m *BeginRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -10970,11 +10976,11 @@ func (m *BeginRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -10993,7 +10999,7 @@ func (m *BeginRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11006,11 +11012,11 @@ func (m *BeginRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11029,7 +11035,7 @@ func (m *BeginRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11042,11 +11048,11 @@ func (m *BeginRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11065,7 +11071,7 @@ func (m *BeginRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11078,11 +11084,11 @@ func (m *BeginRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11096,12 +11102,12 @@ func (m *BeginRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11124,7 +11130,7 @@ func (m *BeginResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11152,7 +11158,7 @@ func (m *BeginResponse) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11171,7 +11177,7 @@ func (m *BeginResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11184,11 +11190,11 @@ func (m *BeginResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11207,7 +11213,7 @@ func (m *BeginResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11221,11 +11227,11 @@ func (m *BeginResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11234,12 +11240,12 @@ func (m *BeginResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11262,7 +11268,7 @@ func (m *CommitRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11290,7 +11296,7 @@ func (m *CommitRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11303,11 +11309,11 @@ func (m *CommitRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11326,7 +11332,7 @@ func (m *CommitRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11339,11 +11345,11 @@ func (m *CommitRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11362,7 +11368,7 @@ func (m *CommitRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11375,11 +11381,11 @@ func (m *CommitRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11398,7 +11404,7 @@ func (m *CommitRequest) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11412,12 +11418,12 @@ func (m *CommitRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11440,7 +11446,7 @@ func (m *CommitResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11468,7 +11474,7 @@ func (m *CommitResponse) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11482,12 +11488,12 @@ func (m *CommitResponse) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11510,7 +11516,7 @@ func (m *RollbackRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11538,7 +11544,7 @@ func (m *RollbackRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11551,11 +11557,11 @@ func (m *RollbackRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11574,7 +11580,7 @@ func (m *RollbackRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11587,11 +11593,11 @@ func (m *RollbackRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11610,7 +11616,7 @@ func (m *RollbackRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11623,11 +11629,11 @@ func (m *RollbackRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11646,7 +11652,7 @@ func (m *RollbackRequest) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11660,12 +11666,12 @@ func (m *RollbackRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11688,7 +11694,7 @@ func (m *RollbackResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11716,7 +11722,7 @@ func (m *RollbackResponse) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11730,12 +11736,12 @@ func (m *RollbackResponse) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11758,7 +11764,7 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11786,7 +11792,7 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11799,11 +11805,11 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11822,7 +11828,7 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11835,11 +11841,11 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11858,7 +11864,7 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11871,11 +11877,11 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11894,7 +11900,7 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11913,7 +11919,7 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11927,11 +11933,11 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11940,12 +11946,12 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11968,7 +11974,7 @@ func (m *PrepareResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11991,12 +11997,12 @@ func (m *PrepareResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12019,7 +12025,7 @@ func (m *CommitPreparedRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12047,7 +12053,7 @@ func (m *CommitPreparedRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12060,11 +12066,11 @@ func (m *CommitPreparedRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12083,7 +12089,7 @@ func (m *CommitPreparedRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12096,11 +12102,11 @@ func (m *CommitPreparedRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12119,7 +12125,7 @@ func (m *CommitPreparedRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12132,11 +12138,11 @@ func (m *CommitPreparedRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12155,7 +12161,7 @@ func (m *CommitPreparedRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12169,11 +12175,11 @@ func (m *CommitPreparedRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12182,12 +12188,12 @@ func (m *CommitPreparedRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12210,7 +12216,7 @@ func (m *CommitPreparedResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12233,12 +12239,12 @@ func (m *CommitPreparedResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12261,7 +12267,7 @@ func (m *RollbackPreparedRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12289,7 +12295,7 @@ func (m *RollbackPreparedRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12302,11 +12308,11 @@ func (m *RollbackPreparedRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12325,7 +12331,7 @@ func (m *RollbackPreparedRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12338,11 +12344,11 @@ func (m *RollbackPreparedRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12361,7 +12367,7 @@ func (m *RollbackPreparedRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12374,11 +12380,11 @@ func (m *RollbackPreparedRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12397,7 +12403,7 @@ func (m *RollbackPreparedRequest) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12416,7 +12422,7 @@ func (m *RollbackPreparedRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12430,11 +12436,11 @@ func (m *RollbackPreparedRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12443,12 +12449,12 @@ func (m *RollbackPreparedRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12471,7 +12477,7 @@ func (m *RollbackPreparedResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12494,12 +12500,12 @@ func (m *RollbackPreparedResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12522,7 +12528,7 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12550,7 +12556,7 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12563,11 +12569,11 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12586,7 +12592,7 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12599,11 +12605,11 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12622,7 +12628,7 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12635,11 +12641,11 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12658,7 +12664,7 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12672,11 +12678,11 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12690,7 +12696,7 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12703,11 +12709,11 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12719,12 +12725,12 @@ func (m *CreateTransactionRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12747,7 +12753,7 @@ func (m *CreateTransactionResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12770,12 +12776,12 @@ func (m *CreateTransactionResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12798,7 +12804,7 @@ func (m *StartCommitRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12826,7 +12832,7 @@ func (m *StartCommitRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12839,11 +12845,11 @@ func (m *StartCommitRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12862,7 +12868,7 @@ func (m *StartCommitRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12875,11 +12881,11 @@ func (m *StartCommitRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12898,7 +12904,7 @@ func (m *StartCommitRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12911,11 +12917,11 @@ func (m *StartCommitRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12934,7 +12940,7 @@ func (m *StartCommitRequest) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12953,7 +12959,7 @@ func (m *StartCommitRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12967,11 +12973,11 @@ func (m *StartCommitRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12980,12 +12986,12 @@ func (m *StartCommitRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13008,7 +13014,7 @@ func (m *StartCommitResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13031,12 +13037,12 @@ func (m *StartCommitResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13059,7 +13065,7 @@ func (m *SetRollbackRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13087,7 +13093,7 @@ func (m *SetRollbackRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13100,11 +13106,11 @@ func (m *SetRollbackRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13123,7 +13129,7 @@ func (m *SetRollbackRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13136,11 +13142,11 @@ func (m *SetRollbackRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13159,7 +13165,7 @@ func (m *SetRollbackRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13172,11 +13178,11 @@ func (m *SetRollbackRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13195,7 +13201,7 @@ func (m *SetRollbackRequest) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13214,7 +13220,7 @@ func (m *SetRollbackRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13228,11 +13234,11 @@ func (m *SetRollbackRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13241,12 +13247,12 @@ func (m *SetRollbackRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13269,7 +13275,7 @@ func (m *SetRollbackResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13292,12 +13298,12 @@ func (m *SetRollbackResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13320,7 +13326,7 @@ func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13348,7 +13354,7 @@ func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13361,11 +13367,11 @@ func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13384,7 +13390,7 @@ func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13397,11 +13403,11 @@ func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13420,7 +13426,7 @@ func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13433,11 +13439,11 @@ func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13456,7 +13462,7 @@ func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13470,11 +13476,11 @@ func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13483,12 +13489,12 @@ func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13511,7 +13517,7 @@ func (m *ConcludeTransactionResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13534,12 +13540,12 @@ func (m *ConcludeTransactionResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13562,7 +13568,7 @@ func (m *ReadTransactionRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13590,7 +13596,7 @@ func (m *ReadTransactionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13603,11 +13609,11 @@ func (m *ReadTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13626,7 +13632,7 @@ func (m *ReadTransactionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13639,11 +13645,11 @@ func (m *ReadTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13662,7 +13668,7 @@ func (m *ReadTransactionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13675,11 +13681,11 @@ func (m *ReadTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13698,7 +13704,7 @@ func (m *ReadTransactionRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13712,11 +13718,11 @@ func (m *ReadTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13725,12 +13731,12 @@ func (m *ReadTransactionRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13753,7 +13759,7 @@ func (m *ReadTransactionResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13781,7 +13787,7 @@ func (m *ReadTransactionResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13794,11 +13800,11 @@ func (m *ReadTransactionResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13812,12 +13818,12 @@ func (m *ReadTransactionResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13840,7 +13846,7 @@ func (m *UnresolvedTransactionsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13868,7 +13874,7 @@ func (m *UnresolvedTransactionsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13881,11 +13887,11 @@ func (m *UnresolvedTransactionsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13904,7 +13910,7 @@ func (m *UnresolvedTransactionsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13917,11 +13923,11 @@ func (m *UnresolvedTransactionsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13940,7 +13946,7 @@ func (m *UnresolvedTransactionsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13953,11 +13959,11 @@ func (m *UnresolvedTransactionsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13969,14 +13975,33 @@ func (m *UnresolvedTransactionsRequest) UnmarshalVT(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 4:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AbandonAge", wireType)
+ }
+ m.AbandonAge = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.AbandonAge |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13999,7 +14024,7 @@ func (m *UnresolvedTransactionsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14027,7 +14052,7 @@ func (m *UnresolvedTransactionsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14040,11 +14065,11 @@ func (m *UnresolvedTransactionsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14056,12 +14081,12 @@ func (m *UnresolvedTransactionsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14084,7 +14109,7 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14112,7 +14137,7 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14125,11 +14150,11 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14148,7 +14173,7 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14161,11 +14186,11 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14184,7 +14209,7 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14197,11 +14222,11 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14220,7 +14245,7 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14233,11 +14258,11 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14256,7 +14281,7 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14269,11 +14294,11 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14292,7 +14317,7 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14311,7 +14336,7 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14325,11 +14350,11 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14338,12 +14363,12 @@ func (m *BeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14366,7 +14391,7 @@ func (m *BeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14394,7 +14419,7 @@ func (m *BeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14407,11 +14432,11 @@ func (m *BeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14430,7 +14455,7 @@ func (m *BeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14443,11 +14468,11 @@ func (m *BeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14466,7 +14491,7 @@ func (m *BeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14485,7 +14510,7 @@ func (m *BeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14498,11 +14523,11 @@ func (m *BeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14521,7 +14546,7 @@ func (m *BeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14535,11 +14560,11 @@ func (m *BeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14548,12 +14573,12 @@ func (m *BeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14576,7 +14601,7 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14604,7 +14629,7 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14617,11 +14642,11 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14640,7 +14665,7 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14653,11 +14678,11 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14676,7 +14701,7 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14689,11 +14714,11 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14712,7 +14737,7 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14725,11 +14750,11 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14748,7 +14773,7 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14761,11 +14786,11 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14784,7 +14809,7 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14798,11 +14823,11 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14816,7 +14841,7 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14830,12 +14855,12 @@ func (m *BeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14858,7 +14883,7 @@ func (m *BeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14886,7 +14911,7 @@ func (m *BeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14899,11 +14924,11 @@ func (m *BeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14922,7 +14947,7 @@ func (m *BeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14935,11 +14960,11 @@ func (m *BeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14958,7 +14983,7 @@ func (m *BeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14977,7 +15002,7 @@ func (m *BeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14990,11 +15015,11 @@ func (m *BeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15013,7 +15038,7 @@ func (m *BeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15027,11 +15052,11 @@ func (m *BeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15040,12 +15065,12 @@ func (m *BeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15068,7 +15093,7 @@ func (m *MessageStreamRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15096,7 +15121,7 @@ func (m *MessageStreamRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15109,11 +15134,11 @@ func (m *MessageStreamRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15132,7 +15157,7 @@ func (m *MessageStreamRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15145,11 +15170,11 @@ func (m *MessageStreamRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15168,7 +15193,7 @@ func (m *MessageStreamRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15181,11 +15206,11 @@ func (m *MessageStreamRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15204,7 +15229,7 @@ func (m *MessageStreamRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15218,11 +15243,11 @@ func (m *MessageStreamRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15231,12 +15256,12 @@ func (m *MessageStreamRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15259,7 +15284,7 @@ func (m *MessageStreamResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15287,7 +15312,7 @@ func (m *MessageStreamResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15300,11 +15325,11 @@ func (m *MessageStreamResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15318,12 +15343,12 @@ func (m *MessageStreamResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15346,7 +15371,7 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15374,7 +15399,7 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15387,11 +15412,11 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15410,7 +15435,7 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15423,11 +15448,11 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15446,7 +15471,7 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15459,11 +15484,11 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15482,7 +15507,7 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15496,11 +15521,11 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15514,7 +15539,7 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15527,11 +15552,11 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15543,12 +15568,12 @@ func (m *MessageAckRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15571,7 +15596,7 @@ func (m *MessageAckResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15599,7 +15624,7 @@ func (m *MessageAckResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15612,11 +15637,11 @@ func (m *MessageAckResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15630,12 +15655,12 @@ func (m *MessageAckResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15658,7 +15683,7 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15686,7 +15711,7 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15699,11 +15724,11 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15722,7 +15747,7 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15735,11 +15760,11 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15758,7 +15783,7 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15771,11 +15796,11 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15794,7 +15819,7 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15807,11 +15832,11 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15830,7 +15855,7 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15849,7 +15874,7 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15862,11 +15887,11 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15885,7 +15910,7 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15899,11 +15924,11 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15912,12 +15937,12 @@ func (m *ReserveExecuteRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15940,7 +15965,7 @@ func (m *ReserveExecuteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15968,7 +15993,7 @@ func (m *ReserveExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15981,11 +16006,11 @@ func (m *ReserveExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16004,7 +16029,7 @@ func (m *ReserveExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16017,11 +16042,11 @@ func (m *ReserveExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16040,7 +16065,7 @@ func (m *ReserveExecuteResponse) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16059,7 +16084,7 @@ func (m *ReserveExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16072,11 +16097,11 @@ func (m *ReserveExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16090,12 +16115,12 @@ func (m *ReserveExecuteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16118,7 +16143,7 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16146,7 +16171,7 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16159,11 +16184,11 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16182,7 +16207,7 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16195,11 +16220,11 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16218,7 +16243,7 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16231,11 +16256,11 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16254,7 +16279,7 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16267,11 +16292,11 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16290,7 +16315,7 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16303,11 +16328,11 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16326,7 +16351,7 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16345,7 +16370,7 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16359,11 +16384,11 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16372,12 +16397,12 @@ func (m *ReserveStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16400,7 +16425,7 @@ func (m *ReserveStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16428,7 +16453,7 @@ func (m *ReserveStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16441,11 +16466,11 @@ func (m *ReserveStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16464,7 +16489,7 @@ func (m *ReserveStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16477,11 +16502,11 @@ func (m *ReserveStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16500,7 +16525,7 @@ func (m *ReserveStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16519,7 +16544,7 @@ func (m *ReserveStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16532,11 +16557,11 @@ func (m *ReserveStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16550,12 +16575,12 @@ func (m *ReserveStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16578,7 +16603,7 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16606,7 +16631,7 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16619,11 +16644,11 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16642,7 +16667,7 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16655,11 +16680,11 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16678,7 +16703,7 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16691,11 +16716,11 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16714,7 +16739,7 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16727,11 +16752,11 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16750,7 +16775,7 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16763,11 +16788,11 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16786,7 +16811,7 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16800,11 +16825,11 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16818,7 +16843,7 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16832,11 +16857,11 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16845,12 +16870,12 @@ func (m *ReserveBeginExecuteRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16873,7 +16898,7 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16901,7 +16926,7 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16914,11 +16939,11 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16937,7 +16962,7 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16950,11 +16975,11 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16973,7 +16998,7 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16992,7 +17017,7 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17011,7 +17036,7 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17024,11 +17049,11 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17047,7 +17072,7 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17061,11 +17086,11 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17074,12 +17099,12 @@ func (m *ReserveBeginExecuteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17102,7 +17127,7 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17130,7 +17155,7 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17143,11 +17168,11 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17166,7 +17191,7 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17179,11 +17204,11 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17202,7 +17227,7 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17215,11 +17240,11 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17238,7 +17263,7 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17251,11 +17276,11 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17274,7 +17299,7 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17287,11 +17312,11 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17310,7 +17335,7 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17324,11 +17349,11 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17342,7 +17367,7 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17356,11 +17381,11 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17369,12 +17394,12 @@ func (m *ReserveBeginStreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17397,7 +17422,7 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17425,7 +17450,7 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17438,11 +17463,11 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17461,7 +17486,7 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17474,11 +17499,11 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17497,7 +17522,7 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17516,7 +17541,7 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17535,7 +17560,7 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17548,11 +17573,11 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17571,7 +17596,7 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17585,11 +17610,11 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17598,12 +17623,12 @@ func (m *ReserveBeginStreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17626,7 +17651,7 @@ func (m *ReleaseRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17654,7 +17679,7 @@ func (m *ReleaseRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17667,11 +17692,11 @@ func (m *ReleaseRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17690,7 +17715,7 @@ func (m *ReleaseRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17703,11 +17728,11 @@ func (m *ReleaseRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17726,7 +17751,7 @@ func (m *ReleaseRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17739,11 +17764,11 @@ func (m *ReleaseRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17762,7 +17787,7 @@ func (m *ReleaseRequest) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17781,7 +17806,7 @@ func (m *ReleaseRequest) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17795,12 +17820,12 @@ func (m *ReleaseRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17823,7 +17848,7 @@ func (m *ReleaseResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17846,12 +17871,12 @@ func (m *ReleaseResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17874,7 +17899,7 @@ func (m *StreamHealthRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17897,12 +17922,12 @@ func (m *StreamHealthRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17925,7 +17950,7 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17953,7 +17978,7 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17967,11 +17992,11 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17985,7 +18010,7 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
m.ReplicationLagSeconds = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18004,7 +18029,7 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
m.BinlogPlayersCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18023,7 +18048,7 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
m.FilteredReplicationLagSeconds = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18064,7 +18089,7 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18078,11 +18103,11 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18096,7 +18121,7 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18110,11 +18135,11 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18128,7 +18153,7 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18148,7 +18173,7 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18163,12 +18188,12 @@ func (m *RealtimeStats) UnmarshalVT(dAtA []byte) error {
m.TxUnresolved = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18191,7 +18216,7 @@ func (m *AggregateStats) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18219,7 +18244,7 @@ func (m *AggregateStats) UnmarshalVT(dAtA []byte) error {
m.HealthyTabletCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18238,7 +18263,7 @@ func (m *AggregateStats) UnmarshalVT(dAtA []byte) error {
m.UnhealthyTabletCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18257,7 +18282,7 @@ func (m *AggregateStats) UnmarshalVT(dAtA []byte) error {
m.ReplicationLagSecondsMin = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18276,7 +18301,7 @@ func (m *AggregateStats) UnmarshalVT(dAtA []byte) error {
m.ReplicationLagSecondsMax = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18290,12 +18315,12 @@ func (m *AggregateStats) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18318,7 +18343,7 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18346,7 +18371,7 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18359,11 +18384,11 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18382,7 +18407,7 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18402,7 +18427,7 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
m.PrimaryTermStartTimestamp = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18421,7 +18446,7 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18434,11 +18459,11 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18457,7 +18482,7 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18470,11 +18495,11 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18493,7 +18518,7 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18506,11 +18531,11 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18524,12 +18549,12 @@ func (m *StreamHealthResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18552,7 +18577,7 @@ func (m *TransactionMetadata) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18580,7 +18605,7 @@ func (m *TransactionMetadata) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18594,11 +18619,11 @@ func (m *TransactionMetadata) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18612,7 +18637,7 @@ func (m *TransactionMetadata) UnmarshalVT(dAtA []byte) error {
m.State = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18631,7 +18656,7 @@ func (m *TransactionMetadata) UnmarshalVT(dAtA []byte) error {
m.TimeCreated = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18650,7 +18675,7 @@ func (m *TransactionMetadata) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18663,11 +18688,11 @@ func (m *TransactionMetadata) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18679,12 +18704,12 @@ func (m *TransactionMetadata) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18707,7 +18732,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18735,7 +18760,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18748,11 +18773,11 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18771,7 +18796,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
m.TableType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18790,7 +18815,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18804,11 +18829,11 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18817,12 +18842,12 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18845,7 +18870,7 @@ func (m *UDFInfo) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18873,7 +18898,7 @@ func (m *UDFInfo) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18887,11 +18912,11 @@ func (m *UDFInfo) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18905,7 +18930,7 @@ func (m *UDFInfo) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18925,7 +18950,7 @@ func (m *UDFInfo) UnmarshalVT(dAtA []byte) error {
m.ReturnType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18939,12 +18964,12 @@ func (m *UDFInfo) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18967,7 +18992,7 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18995,7 +19020,7 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19008,11 +19033,11 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19029,7 +19054,7 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19042,11 +19067,11 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19061,7 +19086,7 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19078,7 +19103,7 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19092,11 +19117,11 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -19107,7 +19132,7 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19121,11 +19146,11 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
@@ -19134,12 +19159,12 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postStringIndexmapvalue
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -19151,12 +19176,12 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19171,88 +19196,3 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/replicationdata/replicationdata_vtproto.pb.go b/go/vt/proto/replicationdata/replicationdata_vtproto.pb.go
index c5bc6e385fb..35c5db137a0 100644
--- a/go/vt/proto/replicationdata/replicationdata_vtproto.pb.go
+++ b/go/vt/proto/replicationdata/replicationdata_vtproto.pb.go
@@ -1,5 +1,5 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: replicationdata.proto
package replicationdata
@@ -7,11 +7,11 @@ package replicationdata
import (
binary "encoding/binary"
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
math "math"
- bits "math/bits"
)
const (
@@ -25,30 +25,29 @@ func (m *Status) CloneVT() *Status {
if m == nil {
return (*Status)(nil)
}
- r := &Status{
- Position: m.Position,
- ReplicationLagSeconds: m.ReplicationLagSeconds,
- SourceHost: m.SourceHost,
- SourcePort: m.SourcePort,
- ConnectRetry: m.ConnectRetry,
- RelayLogPosition: m.RelayLogPosition,
- FilePosition: m.FilePosition,
- RelayLogSourceBinlogEquivalentPosition: m.RelayLogSourceBinlogEquivalentPosition,
- SourceServerId: m.SourceServerId,
- SourceUuid: m.SourceUuid,
- IoState: m.IoState,
- LastIoError: m.LastIoError,
- SqlState: m.SqlState,
- LastSqlError: m.LastSqlError,
- RelayLogFilePosition: m.RelayLogFilePosition,
- SourceUser: m.SourceUser,
- SqlDelay: m.SqlDelay,
- AutoPosition: m.AutoPosition,
- UsingGtid: m.UsingGtid,
- HasReplicationFilters: m.HasReplicationFilters,
- SslAllowed: m.SslAllowed,
- ReplicationLagUnknown: m.ReplicationLagUnknown,
- }
+ r := new(Status)
+ r.Position = m.Position
+ r.ReplicationLagSeconds = m.ReplicationLagSeconds
+ r.SourceHost = m.SourceHost
+ r.SourcePort = m.SourcePort
+ r.ConnectRetry = m.ConnectRetry
+ r.RelayLogPosition = m.RelayLogPosition
+ r.FilePosition = m.FilePosition
+ r.RelayLogSourceBinlogEquivalentPosition = m.RelayLogSourceBinlogEquivalentPosition
+ r.SourceServerId = m.SourceServerId
+ r.SourceUuid = m.SourceUuid
+ r.IoState = m.IoState
+ r.LastIoError = m.LastIoError
+ r.SqlState = m.SqlState
+ r.LastSqlError = m.LastSqlError
+ r.RelayLogFilePosition = m.RelayLogFilePosition
+ r.SourceUser = m.SourceUser
+ r.SqlDelay = m.SqlDelay
+ r.AutoPosition = m.AutoPosition
+ r.UsingGtid = m.UsingGtid
+ r.HasReplicationFilters = m.HasReplicationFilters
+ r.SslAllowed = m.SslAllowed
+ r.ReplicationLagUnknown = m.ReplicationLagUnknown
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -64,10 +63,9 @@ func (m *Configuration) CloneVT() *Configuration {
if m == nil {
return (*Configuration)(nil)
}
- r := &Configuration{
- HeartbeatInterval: m.HeartbeatInterval,
- ReplicaNetTimeout: m.ReplicaNetTimeout,
- }
+ r := new(Configuration)
+ r.HeartbeatInterval = m.HeartbeatInterval
+ r.ReplicaNetTimeout = m.ReplicaNetTimeout
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -83,10 +81,9 @@ func (m *StopReplicationStatus) CloneVT() *StopReplicationStatus {
if m == nil {
return (*StopReplicationStatus)(nil)
}
- r := &StopReplicationStatus{
- Before: m.Before.CloneVT(),
- After: m.After.CloneVT(),
- }
+ r := new(StopReplicationStatus)
+ r.Before = m.Before.CloneVT()
+ r.After = m.After.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -102,10 +99,9 @@ func (m *PrimaryStatus) CloneVT() *PrimaryStatus {
if m == nil {
return (*PrimaryStatus)(nil)
}
- r := &PrimaryStatus{
- Position: m.Position,
- FilePosition: m.FilePosition,
- }
+ r := new(PrimaryStatus)
+ r.Position = m.Position
+ r.FilePosition = m.FilePosition
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -121,30 +117,29 @@ func (m *FullStatus) CloneVT() *FullStatus {
if m == nil {
return (*FullStatus)(nil)
}
- r := &FullStatus{
- ServerId: m.ServerId,
- ServerUuid: m.ServerUuid,
- ReplicationStatus: m.ReplicationStatus.CloneVT(),
- PrimaryStatus: m.PrimaryStatus.CloneVT(),
- GtidPurged: m.GtidPurged,
- Version: m.Version,
- VersionComment: m.VersionComment,
- ReadOnly: m.ReadOnly,
- GtidMode: m.GtidMode,
- BinlogFormat: m.BinlogFormat,
- BinlogRowImage: m.BinlogRowImage,
- LogBinEnabled: m.LogBinEnabled,
- LogReplicaUpdates: m.LogReplicaUpdates,
- SemiSyncPrimaryEnabled: m.SemiSyncPrimaryEnabled,
- SemiSyncReplicaEnabled: m.SemiSyncReplicaEnabled,
- SemiSyncPrimaryStatus: m.SemiSyncPrimaryStatus,
- SemiSyncReplicaStatus: m.SemiSyncReplicaStatus,
- SemiSyncPrimaryClients: m.SemiSyncPrimaryClients,
- SemiSyncPrimaryTimeout: m.SemiSyncPrimaryTimeout,
- SemiSyncWaitForReplicaCount: m.SemiSyncWaitForReplicaCount,
- SuperReadOnly: m.SuperReadOnly,
- ReplicationConfiguration: m.ReplicationConfiguration.CloneVT(),
- }
+ r := new(FullStatus)
+ r.ServerId = m.ServerId
+ r.ServerUuid = m.ServerUuid
+ r.ReplicationStatus = m.ReplicationStatus.CloneVT()
+ r.PrimaryStatus = m.PrimaryStatus.CloneVT()
+ r.GtidPurged = m.GtidPurged
+ r.Version = m.Version
+ r.VersionComment = m.VersionComment
+ r.ReadOnly = m.ReadOnly
+ r.GtidMode = m.GtidMode
+ r.BinlogFormat = m.BinlogFormat
+ r.BinlogRowImage = m.BinlogRowImage
+ r.LogBinEnabled = m.LogBinEnabled
+ r.LogReplicaUpdates = m.LogReplicaUpdates
+ r.SemiSyncPrimaryEnabled = m.SemiSyncPrimaryEnabled
+ r.SemiSyncReplicaEnabled = m.SemiSyncReplicaEnabled
+ r.SemiSyncPrimaryStatus = m.SemiSyncPrimaryStatus
+ r.SemiSyncReplicaStatus = m.SemiSyncReplicaStatus
+ r.SemiSyncPrimaryClients = m.SemiSyncPrimaryClients
+ r.SemiSyncPrimaryTimeout = m.SemiSyncPrimaryTimeout
+ r.SemiSyncWaitForReplicaCount = m.SemiSyncWaitForReplicaCount
+ r.SuperReadOnly = m.SuperReadOnly
+ r.ReplicationConfiguration = m.ReplicationConfiguration.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -247,7 +242,7 @@ func (m *Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0xa0
}
if m.SqlDelay != 0 {
- i = encodeVarint(dAtA, i, uint64(m.SqlDelay))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SqlDelay))
i--
dAtA[i] = 0x1
i--
@@ -256,7 +251,7 @@ func (m *Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.SourceUser) > 0 {
i -= len(m.SourceUser)
copy(dAtA[i:], m.SourceUser)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceUser)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceUser)))
i--
dAtA[i] = 0x1
i--
@@ -265,7 +260,7 @@ func (m *Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.RelayLogFilePosition) > 0 {
i -= len(m.RelayLogFilePosition)
copy(dAtA[i:], m.RelayLogFilePosition)
- i = encodeVarint(dAtA, i, uint64(len(m.RelayLogFilePosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RelayLogFilePosition)))
i--
dAtA[i] = 0x1
i--
@@ -274,88 +269,88 @@ func (m *Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.LastSqlError) > 0 {
i -= len(m.LastSqlError)
copy(dAtA[i:], m.LastSqlError)
- i = encodeVarint(dAtA, i, uint64(len(m.LastSqlError)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LastSqlError)))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0x82
}
if m.SqlState != 0 {
- i = encodeVarint(dAtA, i, uint64(m.SqlState))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SqlState))
i--
dAtA[i] = 0x78
}
if len(m.LastIoError) > 0 {
i -= len(m.LastIoError)
copy(dAtA[i:], m.LastIoError)
- i = encodeVarint(dAtA, i, uint64(len(m.LastIoError)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LastIoError)))
i--
dAtA[i] = 0x72
}
if m.IoState != 0 {
- i = encodeVarint(dAtA, i, uint64(m.IoState))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.IoState))
i--
dAtA[i] = 0x68
}
if len(m.SourceUuid) > 0 {
i -= len(m.SourceUuid)
copy(dAtA[i:], m.SourceUuid)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceUuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceUuid)))
i--
dAtA[i] = 0x62
}
if m.SourceServerId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.SourceServerId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SourceServerId))
i--
dAtA[i] = 0x58
}
if len(m.RelayLogSourceBinlogEquivalentPosition) > 0 {
i -= len(m.RelayLogSourceBinlogEquivalentPosition)
copy(dAtA[i:], m.RelayLogSourceBinlogEquivalentPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.RelayLogSourceBinlogEquivalentPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RelayLogSourceBinlogEquivalentPosition)))
i--
dAtA[i] = 0x52
}
if len(m.FilePosition) > 0 {
i -= len(m.FilePosition)
copy(dAtA[i:], m.FilePosition)
- i = encodeVarint(dAtA, i, uint64(len(m.FilePosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FilePosition)))
i--
dAtA[i] = 0x4a
}
if len(m.RelayLogPosition) > 0 {
i -= len(m.RelayLogPosition)
copy(dAtA[i:], m.RelayLogPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.RelayLogPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RelayLogPosition)))
i--
dAtA[i] = 0x42
}
if m.ConnectRetry != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ConnectRetry))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ConnectRetry))
i--
dAtA[i] = 0x38
}
if m.SourcePort != 0 {
- i = encodeVarint(dAtA, i, uint64(m.SourcePort))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SourcePort))
i--
dAtA[i] = 0x30
}
if len(m.SourceHost) > 0 {
i -= len(m.SourceHost)
copy(dAtA[i:], m.SourceHost)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceHost)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceHost)))
i--
dAtA[i] = 0x2a
}
if m.ReplicationLagSeconds != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReplicationLagSeconds))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReplicationLagSeconds))
i--
dAtA[i] = 0x20
}
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0xa
}
@@ -393,7 +388,7 @@ func (m *Configuration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.ReplicaNetTimeout != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReplicaNetTimeout))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReplicaNetTimeout))
i--
dAtA[i] = 0x10
}
@@ -442,7 +437,7 @@ func (m *StopReplicationStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -452,7 +447,7 @@ func (m *StopReplicationStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -492,14 +487,14 @@ func (m *PrimaryStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.FilePosition) > 0 {
i -= len(m.FilePosition)
copy(dAtA[i:], m.FilePosition)
- i = encodeVarint(dAtA, i, uint64(len(m.FilePosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FilePosition)))
i--
dAtA[i] = 0x12
}
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0xa
}
@@ -542,7 +537,7 @@ func (m *FullStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1
i--
@@ -561,21 +556,21 @@ func (m *FullStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0xa8
}
if m.SemiSyncWaitForReplicaCount != 0 {
- i = encodeVarint(dAtA, i, uint64(m.SemiSyncWaitForReplicaCount))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SemiSyncWaitForReplicaCount))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0xa0
}
if m.SemiSyncPrimaryTimeout != 0 {
- i = encodeVarint(dAtA, i, uint64(m.SemiSyncPrimaryTimeout))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SemiSyncPrimaryTimeout))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0x98
}
if m.SemiSyncPrimaryClients != 0 {
- i = encodeVarint(dAtA, i, uint64(m.SemiSyncPrimaryClients))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SemiSyncPrimaryClients))
i--
dAtA[i] = 0x1
i--
@@ -648,21 +643,21 @@ func (m *FullStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.BinlogRowImage) > 0 {
i -= len(m.BinlogRowImage)
copy(dAtA[i:], m.BinlogRowImage)
- i = encodeVarint(dAtA, i, uint64(len(m.BinlogRowImage)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BinlogRowImage)))
i--
dAtA[i] = 0x5a
}
if len(m.BinlogFormat) > 0 {
i -= len(m.BinlogFormat)
copy(dAtA[i:], m.BinlogFormat)
- i = encodeVarint(dAtA, i, uint64(len(m.BinlogFormat)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BinlogFormat)))
i--
dAtA[i] = 0x52
}
if len(m.GtidMode) > 0 {
i -= len(m.GtidMode)
copy(dAtA[i:], m.GtidMode)
- i = encodeVarint(dAtA, i, uint64(len(m.GtidMode)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.GtidMode)))
i--
dAtA[i] = 0x4a
}
@@ -679,21 +674,21 @@ func (m *FullStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.VersionComment) > 0 {
i -= len(m.VersionComment)
copy(dAtA[i:], m.VersionComment)
- i = encodeVarint(dAtA, i, uint64(len(m.VersionComment)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.VersionComment)))
i--
dAtA[i] = 0x3a
}
if len(m.Version) > 0 {
i -= len(m.Version)
copy(dAtA[i:], m.Version)
- i = encodeVarint(dAtA, i, uint64(len(m.Version)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Version)))
i--
dAtA[i] = 0x32
}
if len(m.GtidPurged) > 0 {
i -= len(m.GtidPurged)
copy(dAtA[i:], m.GtidPurged)
- i = encodeVarint(dAtA, i, uint64(len(m.GtidPurged)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.GtidPurged)))
i--
dAtA[i] = 0x2a
}
@@ -703,7 +698,7 @@ func (m *FullStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -713,36 +708,25 @@ func (m *FullStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.ServerUuid) > 0 {
i -= len(m.ServerUuid)
copy(dAtA[i:], m.ServerUuid)
- i = encodeVarint(dAtA, i, uint64(len(m.ServerUuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ServerUuid)))
i--
dAtA[i] = 0x12
}
if m.ServerId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ServerId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ServerId))
i--
dAtA[i] = 0x8
}
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *Status) SizeVT() (n int) {
if m == nil {
return 0
@@ -751,64 +735,64 @@ func (m *Status) SizeVT() (n int) {
_ = l
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReplicationLagSeconds != 0 {
- n += 1 + sov(uint64(m.ReplicationLagSeconds))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReplicationLagSeconds))
}
l = len(m.SourceHost)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SourcePort != 0 {
- n += 1 + sov(uint64(m.SourcePort))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.SourcePort))
}
if m.ConnectRetry != 0 {
- n += 1 + sov(uint64(m.ConnectRetry))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ConnectRetry))
}
l = len(m.RelayLogPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.FilePosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.RelayLogSourceBinlogEquivalentPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SourceServerId != 0 {
- n += 1 + sov(uint64(m.SourceServerId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.SourceServerId))
}
l = len(m.SourceUuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.IoState != 0 {
- n += 1 + sov(uint64(m.IoState))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.IoState))
}
l = len(m.LastIoError)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SqlState != 0 {
- n += 1 + sov(uint64(m.SqlState))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.SqlState))
}
l = len(m.LastSqlError)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.RelayLogFilePosition)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SourceUser)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SqlDelay != 0 {
- n += 2 + sov(uint64(m.SqlDelay))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.SqlDelay))
}
if m.AutoPosition {
n += 3
@@ -839,7 +823,7 @@ func (m *Configuration) SizeVT() (n int) {
n += 9
}
if m.ReplicaNetTimeout != 0 {
- n += 1 + sov(uint64(m.ReplicaNetTimeout))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReplicaNetTimeout))
}
n += len(m.unknownFields)
return n
@@ -853,11 +837,11 @@ func (m *StopReplicationStatus) SizeVT() (n int) {
_ = l
if m.Before != nil {
l = m.Before.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.After != nil {
l = m.After.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -871,11 +855,11 @@ func (m *PrimaryStatus) SizeVT() (n int) {
_ = l
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.FilePosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -888,46 +872,46 @@ func (m *FullStatus) SizeVT() (n int) {
var l int
_ = l
if m.ServerId != 0 {
- n += 1 + sov(uint64(m.ServerId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ServerId))
}
l = len(m.ServerUuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReplicationStatus != nil {
l = m.ReplicationStatus.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PrimaryStatus != nil {
l = m.PrimaryStatus.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.GtidPurged)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Version)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.VersionComment)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReadOnly {
n += 2
}
l = len(m.GtidMode)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.BinlogFormat)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.BinlogRowImage)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.LogBinEnabled {
n += 2
@@ -948,31 +932,25 @@ func (m *FullStatus) SizeVT() (n int) {
n += 3
}
if m.SemiSyncPrimaryClients != 0 {
- n += 2 + sov(uint64(m.SemiSyncPrimaryClients))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.SemiSyncPrimaryClients))
}
if m.SemiSyncPrimaryTimeout != 0 {
- n += 2 + sov(uint64(m.SemiSyncPrimaryTimeout))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.SemiSyncPrimaryTimeout))
}
if m.SemiSyncWaitForReplicaCount != 0 {
- n += 2 + sov(uint64(m.SemiSyncWaitForReplicaCount))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.SemiSyncWaitForReplicaCount))
}
if m.SuperReadOnly {
n += 3
}
if m.ReplicationConfiguration != nil {
l = m.ReplicationConfiguration.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *Status) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -981,7 +959,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1009,7 +987,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1023,11 +1001,11 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1041,7 +1019,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
m.ReplicationLagSeconds = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1060,7 +1038,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1074,11 +1052,11 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1092,7 +1070,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
m.SourcePort = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1111,7 +1089,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
m.ConnectRetry = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1130,7 +1108,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1144,11 +1122,11 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1162,7 +1140,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1176,11 +1154,11 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1194,7 +1172,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1208,11 +1186,11 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1226,7 +1204,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
m.SourceServerId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1245,7 +1223,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1259,11 +1237,11 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1277,7 +1255,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
m.IoState = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1296,7 +1274,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1310,11 +1288,11 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1328,7 +1306,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
m.SqlState = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1347,7 +1325,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1361,11 +1339,11 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1379,7 +1357,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1393,11 +1371,11 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1411,7 +1389,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1425,11 +1403,11 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1443,7 +1421,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
m.SqlDelay = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1462,7 +1440,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1482,7 +1460,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1502,7 +1480,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1522,7 +1500,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1542,7 +1520,7 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1557,12 +1535,12 @@ func (m *Status) UnmarshalVT(dAtA []byte) error {
m.ReplicationLagUnknown = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1585,7 +1563,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1624,7 +1602,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.ReplicaNetTimeout = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1638,12 +1616,12 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1666,7 +1644,7 @@ func (m *StopReplicationStatus) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1694,7 +1672,7 @@ func (m *StopReplicationStatus) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1707,11 +1685,11 @@ func (m *StopReplicationStatus) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1730,7 +1708,7 @@ func (m *StopReplicationStatus) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1743,11 +1721,11 @@ func (m *StopReplicationStatus) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1761,12 +1739,12 @@ func (m *StopReplicationStatus) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1789,7 +1767,7 @@ func (m *PrimaryStatus) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1817,7 +1795,7 @@ func (m *PrimaryStatus) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1831,11 +1809,11 @@ func (m *PrimaryStatus) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1849,7 +1827,7 @@ func (m *PrimaryStatus) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1863,11 +1841,11 @@ func (m *PrimaryStatus) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1876,12 +1854,12 @@ func (m *PrimaryStatus) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1904,7 +1882,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1932,7 +1910,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
m.ServerId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1951,7 +1929,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1965,11 +1943,11 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1983,7 +1961,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1996,11 +1974,11 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2019,7 +1997,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2032,11 +2010,11 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2055,7 +2033,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2069,11 +2047,11 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2087,7 +2065,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2101,11 +2079,11 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2119,7 +2097,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2133,11 +2111,11 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2151,7 +2129,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2171,7 +2149,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2185,11 +2163,11 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2203,7 +2181,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2217,11 +2195,11 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2235,7 +2213,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2249,11 +2227,11 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2267,7 +2245,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2287,7 +2265,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2307,7 +2285,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2327,7 +2305,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2347,7 +2325,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2367,7 +2345,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2387,7 +2365,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
m.SemiSyncPrimaryClients = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2406,7 +2384,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
m.SemiSyncPrimaryTimeout = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2425,7 +2403,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
m.SemiSyncWaitForReplicaCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2444,7 +2422,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2464,7 +2442,7 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2477,11 +2455,11 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2495,12 +2473,12 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2515,88 +2493,3 @@ func (m *FullStatus) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/tableacl/tableacl_vtproto.pb.go b/go/vt/proto/tableacl/tableacl_vtproto.pb.go
index 8c9c9a97856..acf8b28b71c 100644
--- a/go/vt/proto/tableacl/tableacl_vtproto.pb.go
+++ b/go/vt/proto/tableacl/tableacl_vtproto.pb.go
@@ -1,15 +1,15 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: tableacl.proto
package tableacl
import (
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
- bits "math/bits"
)
const (
@@ -23,9 +23,8 @@ func (m *TableGroupSpec) CloneVT() *TableGroupSpec {
if m == nil {
return (*TableGroupSpec)(nil)
}
- r := &TableGroupSpec{
- Name: m.Name,
- }
+ r := new(TableGroupSpec)
+ r.Name = m.Name
if rhs := m.TableNamesOrPrefixes; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -61,7 +60,7 @@ func (m *Config) CloneVT() *Config {
if m == nil {
return (*Config)(nil)
}
- r := &Config{}
+ r := new(Config)
if rhs := m.TableGroups; rhs != nil {
tmpContainer := make([]*TableGroupSpec, len(rhs))
for k, v := range rhs {
@@ -114,7 +113,7 @@ func (m *TableGroupSpec) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Admins) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Admins[iNdEx])
copy(dAtA[i:], m.Admins[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Admins[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Admins[iNdEx])))
i--
dAtA[i] = 0x2a
}
@@ -123,7 +122,7 @@ func (m *TableGroupSpec) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Writers) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Writers[iNdEx])
copy(dAtA[i:], m.Writers[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Writers[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Writers[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -132,7 +131,7 @@ func (m *TableGroupSpec) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Readers) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Readers[iNdEx])
copy(dAtA[i:], m.Readers[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Readers[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Readers[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -141,7 +140,7 @@ func (m *TableGroupSpec) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.TableNamesOrPrefixes) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.TableNamesOrPrefixes[iNdEx])
copy(dAtA[i:], m.TableNamesOrPrefixes[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.TableNamesOrPrefixes[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableNamesOrPrefixes[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -149,7 +148,7 @@ func (m *TableGroupSpec) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -193,7 +192,7 @@ func (m *Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -201,17 +200,6 @@ func (m *Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *TableGroupSpec) SizeVT() (n int) {
if m == nil {
return 0
@@ -220,30 +208,30 @@ func (m *TableGroupSpec) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.TableNamesOrPrefixes) > 0 {
for _, s := range m.TableNamesOrPrefixes {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Readers) > 0 {
for _, s := range m.Readers {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Writers) > 0 {
for _, s := range m.Writers {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Admins) > 0 {
for _, s := range m.Admins {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -259,19 +247,13 @@ func (m *Config) SizeVT() (n int) {
if len(m.TableGroups) > 0 {
for _, e := range m.TableGroups {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -280,7 +262,7 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -308,7 +290,7 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -322,11 +304,11 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -340,7 +322,7 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -354,11 +336,11 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -372,7 +354,7 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -386,11 +368,11 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -404,7 +386,7 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -418,11 +400,11 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -436,7 +418,7 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -450,11 +432,11 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -463,12 +445,12 @@ func (m *TableGroupSpec) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -491,7 +473,7 @@ func (m *Config) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -519,7 +501,7 @@ func (m *Config) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -532,11 +514,11 @@ func (m *Config) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -548,12 +530,12 @@ func (m *Config) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -568,88 +550,3 @@ func (m *Config) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go b/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go
index b324845cec1..25e73475688 100644
--- a/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go
+++ b/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go
@@ -2688,6 +2688,287 @@ func (x *ExecuteFetchAsAppResponse) GetResult() *query.QueryResult {
return nil
}
+type GetUnresolvedTransactionsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AbandonAge int64 `protobuf:"varint,1,opt,name=abandon_age,json=abandonAge,proto3" json:"abandon_age,omitempty"`
+}
+
+func (x *GetUnresolvedTransactionsRequest) Reset() {
+ *x = GetUnresolvedTransactionsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_tabletmanagerdata_proto_msgTypes[48]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetUnresolvedTransactionsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetUnresolvedTransactionsRequest) ProtoMessage() {}
+
+func (x *GetUnresolvedTransactionsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_tabletmanagerdata_proto_msgTypes[48]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetUnresolvedTransactionsRequest.ProtoReflect.Descriptor instead.
+func (*GetUnresolvedTransactionsRequest) Descriptor() ([]byte, []int) {
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{48}
+}
+
+func (x *GetUnresolvedTransactionsRequest) GetAbandonAge() int64 {
+ if x != nil {
+ return x.AbandonAge
+ }
+ return 0
+}
+
+type GetUnresolvedTransactionsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Transactions []*query.TransactionMetadata `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"`
+}
+
+func (x *GetUnresolvedTransactionsResponse) Reset() {
+ *x = GetUnresolvedTransactionsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_tabletmanagerdata_proto_msgTypes[49]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetUnresolvedTransactionsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetUnresolvedTransactionsResponse) ProtoMessage() {}
+
+func (x *GetUnresolvedTransactionsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_tabletmanagerdata_proto_msgTypes[49]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetUnresolvedTransactionsResponse.ProtoReflect.Descriptor instead.
+func (*GetUnresolvedTransactionsResponse) Descriptor() ([]byte, []int) {
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{49}
+}
+
+func (x *GetUnresolvedTransactionsResponse) GetTransactions() []*query.TransactionMetadata {
+ if x != nil {
+ return x.Transactions
+ }
+ return nil
+}
+
+type ReadTransactionRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Dtid string `protobuf:"bytes,1,opt,name=dtid,proto3" json:"dtid,omitempty"`
+}
+
+func (x *ReadTransactionRequest) Reset() {
+ *x = ReadTransactionRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_tabletmanagerdata_proto_msgTypes[50]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadTransactionRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadTransactionRequest) ProtoMessage() {}
+
+func (x *ReadTransactionRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_tabletmanagerdata_proto_msgTypes[50]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadTransactionRequest.ProtoReflect.Descriptor instead.
+func (*ReadTransactionRequest) Descriptor() ([]byte, []int) {
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{50}
+}
+
+func (x *ReadTransactionRequest) GetDtid() string {
+ if x != nil {
+ return x.Dtid
+ }
+ return ""
+}
+
+type ReadTransactionResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Transaction *query.TransactionMetadata `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
+}
+
+func (x *ReadTransactionResponse) Reset() {
+ *x = ReadTransactionResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_tabletmanagerdata_proto_msgTypes[51]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadTransactionResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadTransactionResponse) ProtoMessage() {}
+
+func (x *ReadTransactionResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_tabletmanagerdata_proto_msgTypes[51]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadTransactionResponse.ProtoReflect.Descriptor instead.
+func (*ReadTransactionResponse) Descriptor() ([]byte, []int) {
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{51}
+}
+
+func (x *ReadTransactionResponse) GetTransaction() *query.TransactionMetadata {
+ if x != nil {
+ return x.Transaction
+ }
+ return nil
+}
+
+type ConcludeTransactionRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Dtid string `protobuf:"bytes,1,opt,name=dtid,proto3" json:"dtid,omitempty"`
+ Mm bool `protobuf:"varint,2,opt,name=mm,proto3" json:"mm,omitempty"`
+}
+
+func (x *ConcludeTransactionRequest) Reset() {
+ *x = ConcludeTransactionRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_tabletmanagerdata_proto_msgTypes[52]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ConcludeTransactionRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConcludeTransactionRequest) ProtoMessage() {}
+
+func (x *ConcludeTransactionRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_tabletmanagerdata_proto_msgTypes[52]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConcludeTransactionRequest.ProtoReflect.Descriptor instead.
+func (*ConcludeTransactionRequest) Descriptor() ([]byte, []int) {
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{52}
+}
+
+func (x *ConcludeTransactionRequest) GetDtid() string {
+ if x != nil {
+ return x.Dtid
+ }
+ return ""
+}
+
+func (x *ConcludeTransactionRequest) GetMm() bool {
+ if x != nil {
+ return x.Mm
+ }
+ return false
+}
+
+type ConcludeTransactionResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ConcludeTransactionResponse) Reset() {
+ *x = ConcludeTransactionResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_tabletmanagerdata_proto_msgTypes[53]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ConcludeTransactionResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConcludeTransactionResponse) ProtoMessage() {}
+
+func (x *ConcludeTransactionResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_tabletmanagerdata_proto_msgTypes[53]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConcludeTransactionResponse.ProtoReflect.Descriptor instead.
+func (*ConcludeTransactionResponse) Descriptor() ([]byte, []int) {
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{53}
+}
+
type ReplicationStatusRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2697,7 +2978,7 @@ type ReplicationStatusRequest struct {
func (x *ReplicationStatusRequest) Reset() {
*x = ReplicationStatusRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[48]
+ mi := &file_tabletmanagerdata_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2710,7 +2991,7 @@ func (x *ReplicationStatusRequest) String() string {
func (*ReplicationStatusRequest) ProtoMessage() {}
func (x *ReplicationStatusRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[48]
+ mi := &file_tabletmanagerdata_proto_msgTypes[54]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2723,7 +3004,7 @@ func (x *ReplicationStatusRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReplicationStatusRequest.ProtoReflect.Descriptor instead.
func (*ReplicationStatusRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{48}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{54}
}
type ReplicationStatusResponse struct {
@@ -2737,7 +3018,7 @@ type ReplicationStatusResponse struct {
func (x *ReplicationStatusResponse) Reset() {
*x = ReplicationStatusResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[49]
+ mi := &file_tabletmanagerdata_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2750,7 +3031,7 @@ func (x *ReplicationStatusResponse) String() string {
func (*ReplicationStatusResponse) ProtoMessage() {}
func (x *ReplicationStatusResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[49]
+ mi := &file_tabletmanagerdata_proto_msgTypes[55]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2763,7 +3044,7 @@ func (x *ReplicationStatusResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReplicationStatusResponse.ProtoReflect.Descriptor instead.
func (*ReplicationStatusResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{49}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{55}
}
func (x *ReplicationStatusResponse) GetStatus() *replicationdata.Status {
@@ -2782,7 +3063,7 @@ type PrimaryStatusRequest struct {
func (x *PrimaryStatusRequest) Reset() {
*x = PrimaryStatusRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[50]
+ mi := &file_tabletmanagerdata_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2795,7 +3076,7 @@ func (x *PrimaryStatusRequest) String() string {
func (*PrimaryStatusRequest) ProtoMessage() {}
func (x *PrimaryStatusRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[50]
+ mi := &file_tabletmanagerdata_proto_msgTypes[56]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2808,7 +3089,7 @@ func (x *PrimaryStatusRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use PrimaryStatusRequest.ProtoReflect.Descriptor instead.
func (*PrimaryStatusRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{50}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{56}
}
type PrimaryStatusResponse struct {
@@ -2822,7 +3103,7 @@ type PrimaryStatusResponse struct {
func (x *PrimaryStatusResponse) Reset() {
*x = PrimaryStatusResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[51]
+ mi := &file_tabletmanagerdata_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2835,7 +3116,7 @@ func (x *PrimaryStatusResponse) String() string {
func (*PrimaryStatusResponse) ProtoMessage() {}
func (x *PrimaryStatusResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[51]
+ mi := &file_tabletmanagerdata_proto_msgTypes[57]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2848,7 +3129,7 @@ func (x *PrimaryStatusResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use PrimaryStatusResponse.ProtoReflect.Descriptor instead.
func (*PrimaryStatusResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{51}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{57}
}
func (x *PrimaryStatusResponse) GetStatus() *replicationdata.PrimaryStatus {
@@ -2867,7 +3148,7 @@ type PrimaryPositionRequest struct {
func (x *PrimaryPositionRequest) Reset() {
*x = PrimaryPositionRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[52]
+ mi := &file_tabletmanagerdata_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2880,7 +3161,7 @@ func (x *PrimaryPositionRequest) String() string {
func (*PrimaryPositionRequest) ProtoMessage() {}
func (x *PrimaryPositionRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[52]
+ mi := &file_tabletmanagerdata_proto_msgTypes[58]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2893,7 +3174,7 @@ func (x *PrimaryPositionRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use PrimaryPositionRequest.ProtoReflect.Descriptor instead.
func (*PrimaryPositionRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{52}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{58}
}
type PrimaryPositionResponse struct {
@@ -2907,7 +3188,7 @@ type PrimaryPositionResponse struct {
func (x *PrimaryPositionResponse) Reset() {
*x = PrimaryPositionResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[53]
+ mi := &file_tabletmanagerdata_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2920,7 +3201,7 @@ func (x *PrimaryPositionResponse) String() string {
func (*PrimaryPositionResponse) ProtoMessage() {}
func (x *PrimaryPositionResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[53]
+ mi := &file_tabletmanagerdata_proto_msgTypes[59]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2933,7 +3214,7 @@ func (x *PrimaryPositionResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use PrimaryPositionResponse.ProtoReflect.Descriptor instead.
func (*PrimaryPositionResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{53}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{59}
}
func (x *PrimaryPositionResponse) GetPosition() string {
@@ -2954,7 +3235,7 @@ type WaitForPositionRequest struct {
func (x *WaitForPositionRequest) Reset() {
*x = WaitForPositionRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[54]
+ mi := &file_tabletmanagerdata_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2967,7 +3248,7 @@ func (x *WaitForPositionRequest) String() string {
func (*WaitForPositionRequest) ProtoMessage() {}
func (x *WaitForPositionRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[54]
+ mi := &file_tabletmanagerdata_proto_msgTypes[60]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2980,7 +3261,7 @@ func (x *WaitForPositionRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use WaitForPositionRequest.ProtoReflect.Descriptor instead.
func (*WaitForPositionRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{54}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{60}
}
func (x *WaitForPositionRequest) GetPosition() string {
@@ -2999,7 +3280,7 @@ type WaitForPositionResponse struct {
func (x *WaitForPositionResponse) Reset() {
*x = WaitForPositionResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[55]
+ mi := &file_tabletmanagerdata_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3012,7 +3293,7 @@ func (x *WaitForPositionResponse) String() string {
func (*WaitForPositionResponse) ProtoMessage() {}
func (x *WaitForPositionResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[55]
+ mi := &file_tabletmanagerdata_proto_msgTypes[61]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3025,7 +3306,7 @@ func (x *WaitForPositionResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use WaitForPositionResponse.ProtoReflect.Descriptor instead.
func (*WaitForPositionResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{55}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{61}
}
type StopReplicationRequest struct {
@@ -3037,7 +3318,7 @@ type StopReplicationRequest struct {
func (x *StopReplicationRequest) Reset() {
*x = StopReplicationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[56]
+ mi := &file_tabletmanagerdata_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3050,7 +3331,7 @@ func (x *StopReplicationRequest) String() string {
func (*StopReplicationRequest) ProtoMessage() {}
func (x *StopReplicationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[56]
+ mi := &file_tabletmanagerdata_proto_msgTypes[62]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3063,7 +3344,7 @@ func (x *StopReplicationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use StopReplicationRequest.ProtoReflect.Descriptor instead.
func (*StopReplicationRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{56}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{62}
}
type StopReplicationResponse struct {
@@ -3075,7 +3356,7 @@ type StopReplicationResponse struct {
func (x *StopReplicationResponse) Reset() {
*x = StopReplicationResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[57]
+ mi := &file_tabletmanagerdata_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3088,7 +3369,7 @@ func (x *StopReplicationResponse) String() string {
func (*StopReplicationResponse) ProtoMessage() {}
func (x *StopReplicationResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[57]
+ mi := &file_tabletmanagerdata_proto_msgTypes[63]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3101,7 +3382,7 @@ func (x *StopReplicationResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use StopReplicationResponse.ProtoReflect.Descriptor instead.
func (*StopReplicationResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{57}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{63}
}
type StopReplicationMinimumRequest struct {
@@ -3116,7 +3397,7 @@ type StopReplicationMinimumRequest struct {
func (x *StopReplicationMinimumRequest) Reset() {
*x = StopReplicationMinimumRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[58]
+ mi := &file_tabletmanagerdata_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3129,7 +3410,7 @@ func (x *StopReplicationMinimumRequest) String() string {
func (*StopReplicationMinimumRequest) ProtoMessage() {}
func (x *StopReplicationMinimumRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[58]
+ mi := &file_tabletmanagerdata_proto_msgTypes[64]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3142,7 +3423,7 @@ func (x *StopReplicationMinimumRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use StopReplicationMinimumRequest.ProtoReflect.Descriptor instead.
func (*StopReplicationMinimumRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{58}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{64}
}
func (x *StopReplicationMinimumRequest) GetPosition() string {
@@ -3170,7 +3451,7 @@ type StopReplicationMinimumResponse struct {
func (x *StopReplicationMinimumResponse) Reset() {
*x = StopReplicationMinimumResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[59]
+ mi := &file_tabletmanagerdata_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3183,7 +3464,7 @@ func (x *StopReplicationMinimumResponse) String() string {
func (*StopReplicationMinimumResponse) ProtoMessage() {}
func (x *StopReplicationMinimumResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[59]
+ mi := &file_tabletmanagerdata_proto_msgTypes[65]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3196,7 +3477,7 @@ func (x *StopReplicationMinimumResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use StopReplicationMinimumResponse.ProtoReflect.Descriptor instead.
func (*StopReplicationMinimumResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{59}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{65}
}
func (x *StopReplicationMinimumResponse) GetPosition() string {
@@ -3217,7 +3498,7 @@ type StartReplicationRequest struct {
func (x *StartReplicationRequest) Reset() {
*x = StartReplicationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[60]
+ mi := &file_tabletmanagerdata_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3230,7 +3511,7 @@ func (x *StartReplicationRequest) String() string {
func (*StartReplicationRequest) ProtoMessage() {}
func (x *StartReplicationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[60]
+ mi := &file_tabletmanagerdata_proto_msgTypes[66]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3243,7 +3524,7 @@ func (x *StartReplicationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use StartReplicationRequest.ProtoReflect.Descriptor instead.
func (*StartReplicationRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{60}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{66}
}
func (x *StartReplicationRequest) GetSemiSync() bool {
@@ -3262,7 +3543,7 @@ type StartReplicationResponse struct {
func (x *StartReplicationResponse) Reset() {
*x = StartReplicationResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[61]
+ mi := &file_tabletmanagerdata_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3275,7 +3556,7 @@ func (x *StartReplicationResponse) String() string {
func (*StartReplicationResponse) ProtoMessage() {}
func (x *StartReplicationResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[61]
+ mi := &file_tabletmanagerdata_proto_msgTypes[67]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3288,7 +3569,7 @@ func (x *StartReplicationResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use StartReplicationResponse.ProtoReflect.Descriptor instead.
func (*StartReplicationResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{61}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{67}
}
type StartReplicationUntilAfterRequest struct {
@@ -3303,7 +3584,7 @@ type StartReplicationUntilAfterRequest struct {
func (x *StartReplicationUntilAfterRequest) Reset() {
*x = StartReplicationUntilAfterRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[62]
+ mi := &file_tabletmanagerdata_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3316,7 +3597,7 @@ func (x *StartReplicationUntilAfterRequest) String() string {
func (*StartReplicationUntilAfterRequest) ProtoMessage() {}
func (x *StartReplicationUntilAfterRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[62]
+ mi := &file_tabletmanagerdata_proto_msgTypes[68]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3329,7 +3610,7 @@ func (x *StartReplicationUntilAfterRequest) ProtoReflect() protoreflect.Message
// Deprecated: Use StartReplicationUntilAfterRequest.ProtoReflect.Descriptor instead.
func (*StartReplicationUntilAfterRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{62}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{68}
}
func (x *StartReplicationUntilAfterRequest) GetPosition() string {
@@ -3355,7 +3636,7 @@ type StartReplicationUntilAfterResponse struct {
func (x *StartReplicationUntilAfterResponse) Reset() {
*x = StartReplicationUntilAfterResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[63]
+ mi := &file_tabletmanagerdata_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3368,7 +3649,7 @@ func (x *StartReplicationUntilAfterResponse) String() string {
func (*StartReplicationUntilAfterResponse) ProtoMessage() {}
func (x *StartReplicationUntilAfterResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[63]
+ mi := &file_tabletmanagerdata_proto_msgTypes[69]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3381,7 +3662,7 @@ func (x *StartReplicationUntilAfterResponse) ProtoReflect() protoreflect.Message
// Deprecated: Use StartReplicationUntilAfterResponse.ProtoReflect.Descriptor instead.
func (*StartReplicationUntilAfterResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{63}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{69}
}
type GetReplicasRequest struct {
@@ -3393,7 +3674,7 @@ type GetReplicasRequest struct {
func (x *GetReplicasRequest) Reset() {
*x = GetReplicasRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[64]
+ mi := &file_tabletmanagerdata_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3406,7 +3687,7 @@ func (x *GetReplicasRequest) String() string {
func (*GetReplicasRequest) ProtoMessage() {}
func (x *GetReplicasRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[64]
+ mi := &file_tabletmanagerdata_proto_msgTypes[70]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3419,7 +3700,7 @@ func (x *GetReplicasRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetReplicasRequest.ProtoReflect.Descriptor instead.
func (*GetReplicasRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{64}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{70}
}
type GetReplicasResponse struct {
@@ -3433,7 +3714,7 @@ type GetReplicasResponse struct {
func (x *GetReplicasResponse) Reset() {
*x = GetReplicasResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[65]
+ mi := &file_tabletmanagerdata_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3446,7 +3727,7 @@ func (x *GetReplicasResponse) String() string {
func (*GetReplicasResponse) ProtoMessage() {}
func (x *GetReplicasResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[65]
+ mi := &file_tabletmanagerdata_proto_msgTypes[71]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3459,7 +3740,7 @@ func (x *GetReplicasResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetReplicasResponse.ProtoReflect.Descriptor instead.
func (*GetReplicasResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{65}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{71}
}
func (x *GetReplicasResponse) GetAddrs() []string {
@@ -3478,7 +3759,7 @@ type ResetReplicationRequest struct {
func (x *ResetReplicationRequest) Reset() {
*x = ResetReplicationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[66]
+ mi := &file_tabletmanagerdata_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3491,7 +3772,7 @@ func (x *ResetReplicationRequest) String() string {
func (*ResetReplicationRequest) ProtoMessage() {}
func (x *ResetReplicationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[66]
+ mi := &file_tabletmanagerdata_proto_msgTypes[72]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3504,7 +3785,7 @@ func (x *ResetReplicationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ResetReplicationRequest.ProtoReflect.Descriptor instead.
func (*ResetReplicationRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{66}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{72}
}
type ResetReplicationResponse struct {
@@ -3516,7 +3797,7 @@ type ResetReplicationResponse struct {
func (x *ResetReplicationResponse) Reset() {
*x = ResetReplicationResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[67]
+ mi := &file_tabletmanagerdata_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3529,7 +3810,7 @@ func (x *ResetReplicationResponse) String() string {
func (*ResetReplicationResponse) ProtoMessage() {}
func (x *ResetReplicationResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[67]
+ mi := &file_tabletmanagerdata_proto_msgTypes[73]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3542,7 +3823,7 @@ func (x *ResetReplicationResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ResetReplicationResponse.ProtoReflect.Descriptor instead.
func (*ResetReplicationResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{67}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{73}
}
type VReplicationExecRequest struct {
@@ -3556,7 +3837,7 @@ type VReplicationExecRequest struct {
func (x *VReplicationExecRequest) Reset() {
*x = VReplicationExecRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[68]
+ mi := &file_tabletmanagerdata_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3569,7 +3850,7 @@ func (x *VReplicationExecRequest) String() string {
func (*VReplicationExecRequest) ProtoMessage() {}
func (x *VReplicationExecRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[68]
+ mi := &file_tabletmanagerdata_proto_msgTypes[74]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3582,7 +3863,7 @@ func (x *VReplicationExecRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VReplicationExecRequest.ProtoReflect.Descriptor instead.
func (*VReplicationExecRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{68}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{74}
}
func (x *VReplicationExecRequest) GetQuery() string {
@@ -3603,7 +3884,7 @@ type VReplicationExecResponse struct {
func (x *VReplicationExecResponse) Reset() {
*x = VReplicationExecResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[69]
+ mi := &file_tabletmanagerdata_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3616,7 +3897,7 @@ func (x *VReplicationExecResponse) String() string {
func (*VReplicationExecResponse) ProtoMessage() {}
func (x *VReplicationExecResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[69]
+ mi := &file_tabletmanagerdata_proto_msgTypes[75]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3629,7 +3910,7 @@ func (x *VReplicationExecResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VReplicationExecResponse.ProtoReflect.Descriptor instead.
func (*VReplicationExecResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{69}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{75}
}
func (x *VReplicationExecResponse) GetResult() *query.QueryResult {
@@ -3651,7 +3932,7 @@ type VReplicationWaitForPosRequest struct {
func (x *VReplicationWaitForPosRequest) Reset() {
*x = VReplicationWaitForPosRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[70]
+ mi := &file_tabletmanagerdata_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3664,7 +3945,7 @@ func (x *VReplicationWaitForPosRequest) String() string {
func (*VReplicationWaitForPosRequest) ProtoMessage() {}
func (x *VReplicationWaitForPosRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[70]
+ mi := &file_tabletmanagerdata_proto_msgTypes[76]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3677,7 +3958,7 @@ func (x *VReplicationWaitForPosRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VReplicationWaitForPosRequest.ProtoReflect.Descriptor instead.
func (*VReplicationWaitForPosRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{70}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{76}
}
func (x *VReplicationWaitForPosRequest) GetId() int32 {
@@ -3703,7 +3984,7 @@ type VReplicationWaitForPosResponse struct {
func (x *VReplicationWaitForPosResponse) Reset() {
*x = VReplicationWaitForPosResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[71]
+ mi := &file_tabletmanagerdata_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3716,7 +3997,7 @@ func (x *VReplicationWaitForPosResponse) String() string {
func (*VReplicationWaitForPosResponse) ProtoMessage() {}
func (x *VReplicationWaitForPosResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[71]
+ mi := &file_tabletmanagerdata_proto_msgTypes[77]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3729,7 +4010,7 @@ func (x *VReplicationWaitForPosResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VReplicationWaitForPosResponse.ProtoReflect.Descriptor instead.
func (*VReplicationWaitForPosResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{71}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{77}
}
type InitPrimaryRequest struct {
@@ -3743,7 +4024,7 @@ type InitPrimaryRequest struct {
func (x *InitPrimaryRequest) Reset() {
*x = InitPrimaryRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[72]
+ mi := &file_tabletmanagerdata_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3756,7 +4037,7 @@ func (x *InitPrimaryRequest) String() string {
func (*InitPrimaryRequest) ProtoMessage() {}
func (x *InitPrimaryRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[72]
+ mi := &file_tabletmanagerdata_proto_msgTypes[78]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3769,7 +4050,7 @@ func (x *InitPrimaryRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use InitPrimaryRequest.ProtoReflect.Descriptor instead.
func (*InitPrimaryRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{72}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{78}
}
func (x *InitPrimaryRequest) GetSemiSync() bool {
@@ -3790,7 +4071,7 @@ type InitPrimaryResponse struct {
func (x *InitPrimaryResponse) Reset() {
*x = InitPrimaryResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[73]
+ mi := &file_tabletmanagerdata_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3803,7 +4084,7 @@ func (x *InitPrimaryResponse) String() string {
func (*InitPrimaryResponse) ProtoMessage() {}
func (x *InitPrimaryResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[73]
+ mi := &file_tabletmanagerdata_proto_msgTypes[79]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3816,7 +4097,7 @@ func (x *InitPrimaryResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use InitPrimaryResponse.ProtoReflect.Descriptor instead.
func (*InitPrimaryResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{73}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{79}
}
func (x *InitPrimaryResponse) GetPosition() string {
@@ -3840,7 +4121,7 @@ type PopulateReparentJournalRequest struct {
func (x *PopulateReparentJournalRequest) Reset() {
*x = PopulateReparentJournalRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[74]
+ mi := &file_tabletmanagerdata_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3853,7 +4134,7 @@ func (x *PopulateReparentJournalRequest) String() string {
func (*PopulateReparentJournalRequest) ProtoMessage() {}
func (x *PopulateReparentJournalRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[74]
+ mi := &file_tabletmanagerdata_proto_msgTypes[80]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3866,7 +4147,7 @@ func (x *PopulateReparentJournalRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use PopulateReparentJournalRequest.ProtoReflect.Descriptor instead.
func (*PopulateReparentJournalRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{74}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{80}
}
func (x *PopulateReparentJournalRequest) GetTimeCreatedNs() int64 {
@@ -3906,7 +4187,7 @@ type PopulateReparentJournalResponse struct {
func (x *PopulateReparentJournalResponse) Reset() {
*x = PopulateReparentJournalResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[75]
+ mi := &file_tabletmanagerdata_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3919,7 +4200,7 @@ func (x *PopulateReparentJournalResponse) String() string {
func (*PopulateReparentJournalResponse) ProtoMessage() {}
func (x *PopulateReparentJournalResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[75]
+ mi := &file_tabletmanagerdata_proto_msgTypes[81]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3932,7 +4213,7 @@ func (x *PopulateReparentJournalResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use PopulateReparentJournalResponse.ProtoReflect.Descriptor instead.
func (*PopulateReparentJournalResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{75}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{81}
}
type InitReplicaRequest struct {
@@ -3949,7 +4230,7 @@ type InitReplicaRequest struct {
func (x *InitReplicaRequest) Reset() {
*x = InitReplicaRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[76]
+ mi := &file_tabletmanagerdata_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3962,7 +4243,7 @@ func (x *InitReplicaRequest) String() string {
func (*InitReplicaRequest) ProtoMessage() {}
func (x *InitReplicaRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[76]
+ mi := &file_tabletmanagerdata_proto_msgTypes[82]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3975,7 +4256,7 @@ func (x *InitReplicaRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use InitReplicaRequest.ProtoReflect.Descriptor instead.
func (*InitReplicaRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{76}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{82}
}
func (x *InitReplicaRequest) GetParent() *topodata.TabletAlias {
@@ -4015,7 +4296,7 @@ type InitReplicaResponse struct {
func (x *InitReplicaResponse) Reset() {
*x = InitReplicaResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[77]
+ mi := &file_tabletmanagerdata_proto_msgTypes[83]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4028,7 +4309,7 @@ func (x *InitReplicaResponse) String() string {
func (*InitReplicaResponse) ProtoMessage() {}
func (x *InitReplicaResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[77]
+ mi := &file_tabletmanagerdata_proto_msgTypes[83]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4041,7 +4322,7 @@ func (x *InitReplicaResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use InitReplicaResponse.ProtoReflect.Descriptor instead.
func (*InitReplicaResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{77}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{83}
}
type DemotePrimaryRequest struct {
@@ -4053,7 +4334,7 @@ type DemotePrimaryRequest struct {
func (x *DemotePrimaryRequest) Reset() {
*x = DemotePrimaryRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[78]
+ mi := &file_tabletmanagerdata_proto_msgTypes[84]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4066,7 +4347,7 @@ func (x *DemotePrimaryRequest) String() string {
func (*DemotePrimaryRequest) ProtoMessage() {}
func (x *DemotePrimaryRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[78]
+ mi := &file_tabletmanagerdata_proto_msgTypes[84]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4079,7 +4360,7 @@ func (x *DemotePrimaryRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use DemotePrimaryRequest.ProtoReflect.Descriptor instead.
func (*DemotePrimaryRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{78}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{84}
}
type DemotePrimaryResponse struct {
@@ -4094,7 +4375,7 @@ type DemotePrimaryResponse struct {
func (x *DemotePrimaryResponse) Reset() {
*x = DemotePrimaryResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[79]
+ mi := &file_tabletmanagerdata_proto_msgTypes[85]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4107,7 +4388,7 @@ func (x *DemotePrimaryResponse) String() string {
func (*DemotePrimaryResponse) ProtoMessage() {}
func (x *DemotePrimaryResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[79]
+ mi := &file_tabletmanagerdata_proto_msgTypes[85]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4120,7 +4401,7 @@ func (x *DemotePrimaryResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use DemotePrimaryResponse.ProtoReflect.Descriptor instead.
func (*DemotePrimaryResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{79}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{85}
}
func (x *DemotePrimaryResponse) GetPrimaryStatus() *replicationdata.PrimaryStatus {
@@ -4141,7 +4422,7 @@ type UndoDemotePrimaryRequest struct {
func (x *UndoDemotePrimaryRequest) Reset() {
*x = UndoDemotePrimaryRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[80]
+ mi := &file_tabletmanagerdata_proto_msgTypes[86]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4154,7 +4435,7 @@ func (x *UndoDemotePrimaryRequest) String() string {
func (*UndoDemotePrimaryRequest) ProtoMessage() {}
func (x *UndoDemotePrimaryRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[80]
+ mi := &file_tabletmanagerdata_proto_msgTypes[86]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4167,7 +4448,7 @@ func (x *UndoDemotePrimaryRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use UndoDemotePrimaryRequest.ProtoReflect.Descriptor instead.
func (*UndoDemotePrimaryRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{80}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{86}
}
func (x *UndoDemotePrimaryRequest) GetSemiSync() bool {
@@ -4186,7 +4467,7 @@ type UndoDemotePrimaryResponse struct {
func (x *UndoDemotePrimaryResponse) Reset() {
*x = UndoDemotePrimaryResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[81]
+ mi := &file_tabletmanagerdata_proto_msgTypes[87]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4199,7 +4480,7 @@ func (x *UndoDemotePrimaryResponse) String() string {
func (*UndoDemotePrimaryResponse) ProtoMessage() {}
func (x *UndoDemotePrimaryResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[81]
+ mi := &file_tabletmanagerdata_proto_msgTypes[87]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4212,7 +4493,7 @@ func (x *UndoDemotePrimaryResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use UndoDemotePrimaryResponse.ProtoReflect.Descriptor instead.
func (*UndoDemotePrimaryResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{81}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{87}
}
type ReplicaWasPromotedRequest struct {
@@ -4224,7 +4505,7 @@ type ReplicaWasPromotedRequest struct {
func (x *ReplicaWasPromotedRequest) Reset() {
*x = ReplicaWasPromotedRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[82]
+ mi := &file_tabletmanagerdata_proto_msgTypes[88]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4237,7 +4518,7 @@ func (x *ReplicaWasPromotedRequest) String() string {
func (*ReplicaWasPromotedRequest) ProtoMessage() {}
func (x *ReplicaWasPromotedRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[82]
+ mi := &file_tabletmanagerdata_proto_msgTypes[88]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4250,7 +4531,7 @@ func (x *ReplicaWasPromotedRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReplicaWasPromotedRequest.ProtoReflect.Descriptor instead.
func (*ReplicaWasPromotedRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{82}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{88}
}
type ReplicaWasPromotedResponse struct {
@@ -4262,7 +4543,7 @@ type ReplicaWasPromotedResponse struct {
func (x *ReplicaWasPromotedResponse) Reset() {
*x = ReplicaWasPromotedResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[83]
+ mi := &file_tabletmanagerdata_proto_msgTypes[89]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4275,7 +4556,7 @@ func (x *ReplicaWasPromotedResponse) String() string {
func (*ReplicaWasPromotedResponse) ProtoMessage() {}
func (x *ReplicaWasPromotedResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[83]
+ mi := &file_tabletmanagerdata_proto_msgTypes[89]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4288,7 +4569,7 @@ func (x *ReplicaWasPromotedResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReplicaWasPromotedResponse.ProtoReflect.Descriptor instead.
func (*ReplicaWasPromotedResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{83}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{89}
}
type ResetReplicationParametersRequest struct {
@@ -4300,7 +4581,7 @@ type ResetReplicationParametersRequest struct {
func (x *ResetReplicationParametersRequest) Reset() {
*x = ResetReplicationParametersRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[84]
+ mi := &file_tabletmanagerdata_proto_msgTypes[90]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4313,7 +4594,7 @@ func (x *ResetReplicationParametersRequest) String() string {
func (*ResetReplicationParametersRequest) ProtoMessage() {}
func (x *ResetReplicationParametersRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[84]
+ mi := &file_tabletmanagerdata_proto_msgTypes[90]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4326,7 +4607,7 @@ func (x *ResetReplicationParametersRequest) ProtoReflect() protoreflect.Message
// Deprecated: Use ResetReplicationParametersRequest.ProtoReflect.Descriptor instead.
func (*ResetReplicationParametersRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{84}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{90}
}
type ResetReplicationParametersResponse struct {
@@ -4338,7 +4619,7 @@ type ResetReplicationParametersResponse struct {
func (x *ResetReplicationParametersResponse) Reset() {
*x = ResetReplicationParametersResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[85]
+ mi := &file_tabletmanagerdata_proto_msgTypes[91]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4351,7 +4632,7 @@ func (x *ResetReplicationParametersResponse) String() string {
func (*ResetReplicationParametersResponse) ProtoMessage() {}
func (x *ResetReplicationParametersResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[85]
+ mi := &file_tabletmanagerdata_proto_msgTypes[91]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4364,7 +4645,7 @@ func (x *ResetReplicationParametersResponse) ProtoReflect() protoreflect.Message
// Deprecated: Use ResetReplicationParametersResponse.ProtoReflect.Descriptor instead.
func (*ResetReplicationParametersResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{85}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{91}
}
type FullStatusRequest struct {
@@ -4376,7 +4657,7 @@ type FullStatusRequest struct {
func (x *FullStatusRequest) Reset() {
*x = FullStatusRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[86]
+ mi := &file_tabletmanagerdata_proto_msgTypes[92]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4389,7 +4670,7 @@ func (x *FullStatusRequest) String() string {
func (*FullStatusRequest) ProtoMessage() {}
func (x *FullStatusRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[86]
+ mi := &file_tabletmanagerdata_proto_msgTypes[92]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4402,7 +4683,7 @@ func (x *FullStatusRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use FullStatusRequest.ProtoReflect.Descriptor instead.
func (*FullStatusRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{86}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{92}
}
type FullStatusResponse struct {
@@ -4416,7 +4697,7 @@ type FullStatusResponse struct {
func (x *FullStatusResponse) Reset() {
*x = FullStatusResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[87]
+ mi := &file_tabletmanagerdata_proto_msgTypes[93]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4429,7 +4710,7 @@ func (x *FullStatusResponse) String() string {
func (*FullStatusResponse) ProtoMessage() {}
func (x *FullStatusResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[87]
+ mi := &file_tabletmanagerdata_proto_msgTypes[93]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4442,7 +4723,7 @@ func (x *FullStatusResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use FullStatusResponse.ProtoReflect.Descriptor instead.
func (*FullStatusResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{87}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{93}
}
func (x *FullStatusResponse) GetStatus() *replicationdata.FullStatus {
@@ -4468,7 +4749,7 @@ type SetReplicationSourceRequest struct {
func (x *SetReplicationSourceRequest) Reset() {
*x = SetReplicationSourceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[88]
+ mi := &file_tabletmanagerdata_proto_msgTypes[94]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4481,7 +4762,7 @@ func (x *SetReplicationSourceRequest) String() string {
func (*SetReplicationSourceRequest) ProtoMessage() {}
func (x *SetReplicationSourceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[88]
+ mi := &file_tabletmanagerdata_proto_msgTypes[94]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4494,7 +4775,7 @@ func (x *SetReplicationSourceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetReplicationSourceRequest.ProtoReflect.Descriptor instead.
func (*SetReplicationSourceRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{88}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{94}
}
func (x *SetReplicationSourceRequest) GetParent() *topodata.TabletAlias {
@@ -4548,7 +4829,7 @@ type SetReplicationSourceResponse struct {
func (x *SetReplicationSourceResponse) Reset() {
*x = SetReplicationSourceResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[89]
+ mi := &file_tabletmanagerdata_proto_msgTypes[95]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4561,7 +4842,7 @@ func (x *SetReplicationSourceResponse) String() string {
func (*SetReplicationSourceResponse) ProtoMessage() {}
func (x *SetReplicationSourceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[89]
+ mi := &file_tabletmanagerdata_proto_msgTypes[95]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4574,7 +4855,7 @@ func (x *SetReplicationSourceResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetReplicationSourceResponse.ProtoReflect.Descriptor instead.
func (*SetReplicationSourceResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{89}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{95}
}
type ReplicaWasRestartedRequest struct {
@@ -4589,7 +4870,7 @@ type ReplicaWasRestartedRequest struct {
func (x *ReplicaWasRestartedRequest) Reset() {
*x = ReplicaWasRestartedRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[90]
+ mi := &file_tabletmanagerdata_proto_msgTypes[96]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4602,7 +4883,7 @@ func (x *ReplicaWasRestartedRequest) String() string {
func (*ReplicaWasRestartedRequest) ProtoMessage() {}
func (x *ReplicaWasRestartedRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[90]
+ mi := &file_tabletmanagerdata_proto_msgTypes[96]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4615,7 +4896,7 @@ func (x *ReplicaWasRestartedRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReplicaWasRestartedRequest.ProtoReflect.Descriptor instead.
func (*ReplicaWasRestartedRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{90}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{96}
}
func (x *ReplicaWasRestartedRequest) GetParent() *topodata.TabletAlias {
@@ -4634,7 +4915,7 @@ type ReplicaWasRestartedResponse struct {
func (x *ReplicaWasRestartedResponse) Reset() {
*x = ReplicaWasRestartedResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[91]
+ mi := &file_tabletmanagerdata_proto_msgTypes[97]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4647,7 +4928,7 @@ func (x *ReplicaWasRestartedResponse) String() string {
func (*ReplicaWasRestartedResponse) ProtoMessage() {}
func (x *ReplicaWasRestartedResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[91]
+ mi := &file_tabletmanagerdata_proto_msgTypes[97]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4660,7 +4941,7 @@ func (x *ReplicaWasRestartedResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReplicaWasRestartedResponse.ProtoReflect.Descriptor instead.
func (*ReplicaWasRestartedResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{91}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{97}
}
type StopReplicationAndGetStatusRequest struct {
@@ -4674,7 +4955,7 @@ type StopReplicationAndGetStatusRequest struct {
func (x *StopReplicationAndGetStatusRequest) Reset() {
*x = StopReplicationAndGetStatusRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[92]
+ mi := &file_tabletmanagerdata_proto_msgTypes[98]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4687,7 +4968,7 @@ func (x *StopReplicationAndGetStatusRequest) String() string {
func (*StopReplicationAndGetStatusRequest) ProtoMessage() {}
func (x *StopReplicationAndGetStatusRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[92]
+ mi := &file_tabletmanagerdata_proto_msgTypes[98]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4700,7 +4981,7 @@ func (x *StopReplicationAndGetStatusRequest) ProtoReflect() protoreflect.Message
// Deprecated: Use StopReplicationAndGetStatusRequest.ProtoReflect.Descriptor instead.
func (*StopReplicationAndGetStatusRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{92}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{98}
}
func (x *StopReplicationAndGetStatusRequest) GetStopReplicationMode() replicationdata.StopReplicationMode {
@@ -4722,7 +5003,7 @@ type StopReplicationAndGetStatusResponse struct {
func (x *StopReplicationAndGetStatusResponse) Reset() {
*x = StopReplicationAndGetStatusResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[93]
+ mi := &file_tabletmanagerdata_proto_msgTypes[99]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4735,7 +5016,7 @@ func (x *StopReplicationAndGetStatusResponse) String() string {
func (*StopReplicationAndGetStatusResponse) ProtoMessage() {}
func (x *StopReplicationAndGetStatusResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[93]
+ mi := &file_tabletmanagerdata_proto_msgTypes[99]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4748,7 +5029,7 @@ func (x *StopReplicationAndGetStatusResponse) ProtoReflect() protoreflect.Messag
// Deprecated: Use StopReplicationAndGetStatusResponse.ProtoReflect.Descriptor instead.
func (*StopReplicationAndGetStatusResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{93}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{99}
}
func (x *StopReplicationAndGetStatusResponse) GetStatus() *replicationdata.StopReplicationStatus {
@@ -4769,7 +5050,7 @@ type PromoteReplicaRequest struct {
func (x *PromoteReplicaRequest) Reset() {
*x = PromoteReplicaRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[94]
+ mi := &file_tabletmanagerdata_proto_msgTypes[100]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4782,7 +5063,7 @@ func (x *PromoteReplicaRequest) String() string {
func (*PromoteReplicaRequest) ProtoMessage() {}
func (x *PromoteReplicaRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[94]
+ mi := &file_tabletmanagerdata_proto_msgTypes[100]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4795,7 +5076,7 @@ func (x *PromoteReplicaRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use PromoteReplicaRequest.ProtoReflect.Descriptor instead.
func (*PromoteReplicaRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{94}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{100}
}
func (x *PromoteReplicaRequest) GetSemiSync() bool {
@@ -4816,7 +5097,7 @@ type PromoteReplicaResponse struct {
func (x *PromoteReplicaResponse) Reset() {
*x = PromoteReplicaResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[95]
+ mi := &file_tabletmanagerdata_proto_msgTypes[101]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4829,7 +5110,7 @@ func (x *PromoteReplicaResponse) String() string {
func (*PromoteReplicaResponse) ProtoMessage() {}
func (x *PromoteReplicaResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[95]
+ mi := &file_tabletmanagerdata_proto_msgTypes[101]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4842,7 +5123,7 @@ func (x *PromoteReplicaResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use PromoteReplicaResponse.ProtoReflect.Descriptor instead.
func (*PromoteReplicaResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{95}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{101}
}
func (x *PromoteReplicaResponse) GetPosition() string {
@@ -4870,7 +5151,7 @@ type BackupRequest struct {
func (x *BackupRequest) Reset() {
*x = BackupRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[96]
+ mi := &file_tabletmanagerdata_proto_msgTypes[102]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4883,7 +5164,7 @@ func (x *BackupRequest) String() string {
func (*BackupRequest) ProtoMessage() {}
func (x *BackupRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[96]
+ mi := &file_tabletmanagerdata_proto_msgTypes[102]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4896,7 +5177,7 @@ func (x *BackupRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use BackupRequest.ProtoReflect.Descriptor instead.
func (*BackupRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{96}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{102}
}
func (x *BackupRequest) GetConcurrency() int32 {
@@ -4938,7 +5219,7 @@ type BackupResponse struct {
func (x *BackupResponse) Reset() {
*x = BackupResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[97]
+ mi := &file_tabletmanagerdata_proto_msgTypes[103]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4951,7 +5232,7 @@ func (x *BackupResponse) String() string {
func (*BackupResponse) ProtoMessage() {}
func (x *BackupResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[97]
+ mi := &file_tabletmanagerdata_proto_msgTypes[103]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4964,7 +5245,7 @@ func (x *BackupResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use BackupResponse.ProtoReflect.Descriptor instead.
func (*BackupResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{97}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{103}
}
func (x *BackupResponse) GetEvent() *logutil.Event {
@@ -4994,7 +5275,7 @@ type RestoreFromBackupRequest struct {
func (x *RestoreFromBackupRequest) Reset() {
*x = RestoreFromBackupRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[98]
+ mi := &file_tabletmanagerdata_proto_msgTypes[104]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5007,7 +5288,7 @@ func (x *RestoreFromBackupRequest) String() string {
func (*RestoreFromBackupRequest) ProtoMessage() {}
func (x *RestoreFromBackupRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[98]
+ mi := &file_tabletmanagerdata_proto_msgTypes[104]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5020,7 +5301,7 @@ func (x *RestoreFromBackupRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RestoreFromBackupRequest.ProtoReflect.Descriptor instead.
func (*RestoreFromBackupRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{98}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{104}
}
func (x *RestoreFromBackupRequest) GetBackupTime() *vttime.Time {
@@ -5062,7 +5343,7 @@ type RestoreFromBackupResponse struct {
func (x *RestoreFromBackupResponse) Reset() {
*x = RestoreFromBackupResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[99]
+ mi := &file_tabletmanagerdata_proto_msgTypes[105]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5075,7 +5356,7 @@ func (x *RestoreFromBackupResponse) String() string {
func (*RestoreFromBackupResponse) ProtoMessage() {}
func (x *RestoreFromBackupResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[99]
+ mi := &file_tabletmanagerdata_proto_msgTypes[105]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5088,7 +5369,7 @@ func (x *RestoreFromBackupResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RestoreFromBackupResponse.ProtoReflect.Descriptor instead.
func (*RestoreFromBackupResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{99}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{105}
}
func (x *RestoreFromBackupResponse) GetEvent() *logutil.Event {
@@ -5125,7 +5406,7 @@ type CreateVReplicationWorkflowRequest struct {
func (x *CreateVReplicationWorkflowRequest) Reset() {
*x = CreateVReplicationWorkflowRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[100]
+ mi := &file_tabletmanagerdata_proto_msgTypes[106]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5138,7 +5419,7 @@ func (x *CreateVReplicationWorkflowRequest) String() string {
func (*CreateVReplicationWorkflowRequest) ProtoMessage() {}
func (x *CreateVReplicationWorkflowRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[100]
+ mi := &file_tabletmanagerdata_proto_msgTypes[106]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5151,7 +5432,7 @@ func (x *CreateVReplicationWorkflowRequest) ProtoReflect() protoreflect.Message
// Deprecated: Use CreateVReplicationWorkflowRequest.ProtoReflect.Descriptor instead.
func (*CreateVReplicationWorkflowRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{100}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{106}
}
func (x *CreateVReplicationWorkflowRequest) GetWorkflow() string {
@@ -5242,7 +5523,7 @@ type CreateVReplicationWorkflowResponse struct {
func (x *CreateVReplicationWorkflowResponse) Reset() {
*x = CreateVReplicationWorkflowResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[101]
+ mi := &file_tabletmanagerdata_proto_msgTypes[107]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5255,7 +5536,7 @@ func (x *CreateVReplicationWorkflowResponse) String() string {
func (*CreateVReplicationWorkflowResponse) ProtoMessage() {}
func (x *CreateVReplicationWorkflowResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[101]
+ mi := &file_tabletmanagerdata_proto_msgTypes[107]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5268,7 +5549,7 @@ func (x *CreateVReplicationWorkflowResponse) ProtoReflect() protoreflect.Message
// Deprecated: Use CreateVReplicationWorkflowResponse.ProtoReflect.Descriptor instead.
func (*CreateVReplicationWorkflowResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{101}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{107}
}
func (x *CreateVReplicationWorkflowResponse) GetResult() *query.QueryResult {
@@ -5289,7 +5570,7 @@ type DeleteVReplicationWorkflowRequest struct {
func (x *DeleteVReplicationWorkflowRequest) Reset() {
*x = DeleteVReplicationWorkflowRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[102]
+ mi := &file_tabletmanagerdata_proto_msgTypes[108]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5302,7 +5583,7 @@ func (x *DeleteVReplicationWorkflowRequest) String() string {
func (*DeleteVReplicationWorkflowRequest) ProtoMessage() {}
func (x *DeleteVReplicationWorkflowRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[102]
+ mi := &file_tabletmanagerdata_proto_msgTypes[108]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5315,7 +5596,7 @@ func (x *DeleteVReplicationWorkflowRequest) ProtoReflect() protoreflect.Message
// Deprecated: Use DeleteVReplicationWorkflowRequest.ProtoReflect.Descriptor instead.
func (*DeleteVReplicationWorkflowRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{102}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{108}
}
func (x *DeleteVReplicationWorkflowRequest) GetWorkflow() string {
@@ -5336,7 +5617,7 @@ type DeleteVReplicationWorkflowResponse struct {
func (x *DeleteVReplicationWorkflowResponse) Reset() {
*x = DeleteVReplicationWorkflowResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[103]
+ mi := &file_tabletmanagerdata_proto_msgTypes[109]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5349,7 +5630,7 @@ func (x *DeleteVReplicationWorkflowResponse) String() string {
func (*DeleteVReplicationWorkflowResponse) ProtoMessage() {}
func (x *DeleteVReplicationWorkflowResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[103]
+ mi := &file_tabletmanagerdata_proto_msgTypes[109]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5362,7 +5643,7 @@ func (x *DeleteVReplicationWorkflowResponse) ProtoReflect() protoreflect.Message
// Deprecated: Use DeleteVReplicationWorkflowResponse.ProtoReflect.Descriptor instead.
func (*DeleteVReplicationWorkflowResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{103}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{109}
}
func (x *DeleteVReplicationWorkflowResponse) GetResult() *query.QueryResult {
@@ -5381,7 +5662,7 @@ type HasVReplicationWorkflowsRequest struct {
func (x *HasVReplicationWorkflowsRequest) Reset() {
*x = HasVReplicationWorkflowsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[104]
+ mi := &file_tabletmanagerdata_proto_msgTypes[110]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5394,7 +5675,7 @@ func (x *HasVReplicationWorkflowsRequest) String() string {
func (*HasVReplicationWorkflowsRequest) ProtoMessage() {}
func (x *HasVReplicationWorkflowsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[104]
+ mi := &file_tabletmanagerdata_proto_msgTypes[110]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5407,7 +5688,7 @@ func (x *HasVReplicationWorkflowsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use HasVReplicationWorkflowsRequest.ProtoReflect.Descriptor instead.
func (*HasVReplicationWorkflowsRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{104}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{110}
}
type HasVReplicationWorkflowsResponse struct {
@@ -5421,7 +5702,7 @@ type HasVReplicationWorkflowsResponse struct {
func (x *HasVReplicationWorkflowsResponse) Reset() {
*x = HasVReplicationWorkflowsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[105]
+ mi := &file_tabletmanagerdata_proto_msgTypes[111]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5434,7 +5715,7 @@ func (x *HasVReplicationWorkflowsResponse) String() string {
func (*HasVReplicationWorkflowsResponse) ProtoMessage() {}
func (x *HasVReplicationWorkflowsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[105]
+ mi := &file_tabletmanagerdata_proto_msgTypes[111]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5447,7 +5728,7 @@ func (x *HasVReplicationWorkflowsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use HasVReplicationWorkflowsResponse.ProtoReflect.Descriptor instead.
func (*HasVReplicationWorkflowsResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{105}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{111}
}
func (x *HasVReplicationWorkflowsResponse) GetHas() bool {
@@ -5473,7 +5754,7 @@ type ReadVReplicationWorkflowsRequest struct {
func (x *ReadVReplicationWorkflowsRequest) Reset() {
*x = ReadVReplicationWorkflowsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[106]
+ mi := &file_tabletmanagerdata_proto_msgTypes[112]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5486,7 +5767,7 @@ func (x *ReadVReplicationWorkflowsRequest) String() string {
func (*ReadVReplicationWorkflowsRequest) ProtoMessage() {}
func (x *ReadVReplicationWorkflowsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[106]
+ mi := &file_tabletmanagerdata_proto_msgTypes[112]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5499,7 +5780,7 @@ func (x *ReadVReplicationWorkflowsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReadVReplicationWorkflowsRequest.ProtoReflect.Descriptor instead.
func (*ReadVReplicationWorkflowsRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{106}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{112}
}
func (x *ReadVReplicationWorkflowsRequest) GetIncludeIds() []int32 {
@@ -5555,7 +5836,7 @@ type ReadVReplicationWorkflowsResponse struct {
func (x *ReadVReplicationWorkflowsResponse) Reset() {
*x = ReadVReplicationWorkflowsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[107]
+ mi := &file_tabletmanagerdata_proto_msgTypes[113]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5568,7 +5849,7 @@ func (x *ReadVReplicationWorkflowsResponse) String() string {
func (*ReadVReplicationWorkflowsResponse) ProtoMessage() {}
func (x *ReadVReplicationWorkflowsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[107]
+ mi := &file_tabletmanagerdata_proto_msgTypes[113]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5581,7 +5862,7 @@ func (x *ReadVReplicationWorkflowsResponse) ProtoReflect() protoreflect.Message
// Deprecated: Use ReadVReplicationWorkflowsResponse.ProtoReflect.Descriptor instead.
func (*ReadVReplicationWorkflowsResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{107}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{113}
}
func (x *ReadVReplicationWorkflowsResponse) GetWorkflows() []*ReadVReplicationWorkflowResponse {
@@ -5602,7 +5883,7 @@ type ReadVReplicationWorkflowRequest struct {
func (x *ReadVReplicationWorkflowRequest) Reset() {
*x = ReadVReplicationWorkflowRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[108]
+ mi := &file_tabletmanagerdata_proto_msgTypes[114]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5615,7 +5896,7 @@ func (x *ReadVReplicationWorkflowRequest) String() string {
func (*ReadVReplicationWorkflowRequest) ProtoMessage() {}
func (x *ReadVReplicationWorkflowRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[108]
+ mi := &file_tabletmanagerdata_proto_msgTypes[114]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5628,7 +5909,7 @@ func (x *ReadVReplicationWorkflowRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReadVReplicationWorkflowRequest.ProtoReflect.Descriptor instead.
func (*ReadVReplicationWorkflowRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{108}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{114}
}
func (x *ReadVReplicationWorkflowRequest) GetWorkflow() string {
@@ -5654,12 +5935,13 @@ type ReadVReplicationWorkflowResponse struct {
DeferSecondaryKeys bool `protobuf:"varint,10,opt,name=defer_secondary_keys,json=deferSecondaryKeys,proto3" json:"defer_secondary_keys,omitempty"`
Streams []*ReadVReplicationWorkflowResponse_Stream `protobuf:"bytes,11,rep,name=streams,proto3" json:"streams,omitempty"`
Options string `protobuf:"bytes,12,opt,name=options,proto3" json:"options,omitempty"`
+ ConfigOverrides map[string]string `protobuf:"bytes,13,rep,name=config_overrides,json=configOverrides,proto3" json:"config_overrides,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *ReadVReplicationWorkflowResponse) Reset() {
*x = ReadVReplicationWorkflowResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[109]
+ mi := &file_tabletmanagerdata_proto_msgTypes[115]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5672,7 +5954,7 @@ func (x *ReadVReplicationWorkflowResponse) String() string {
func (*ReadVReplicationWorkflowResponse) ProtoMessage() {}
func (x *ReadVReplicationWorkflowResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[109]
+ mi := &file_tabletmanagerdata_proto_msgTypes[115]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5685,7 +5967,7 @@ func (x *ReadVReplicationWorkflowResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReadVReplicationWorkflowResponse.ProtoReflect.Descriptor instead.
func (*ReadVReplicationWorkflowResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{109}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{115}
}
func (x *ReadVReplicationWorkflowResponse) GetWorkflow() string {
@@ -5765,6 +6047,109 @@ func (x *ReadVReplicationWorkflowResponse) GetOptions() string {
return ""
}
+func (x *ReadVReplicationWorkflowResponse) GetConfigOverrides() map[string]string {
+ if x != nil {
+ return x.ConfigOverrides
+ }
+ return nil
+}
+
+type ValidateVReplicationPermissionsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ValidateVReplicationPermissionsRequest) Reset() {
+ *x = ValidateVReplicationPermissionsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_tabletmanagerdata_proto_msgTypes[116]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ValidateVReplicationPermissionsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ValidateVReplicationPermissionsRequest) ProtoMessage() {}
+
+func (x *ValidateVReplicationPermissionsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_tabletmanagerdata_proto_msgTypes[116]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ValidateVReplicationPermissionsRequest.ProtoReflect.Descriptor instead.
+func (*ValidateVReplicationPermissionsRequest) Descriptor() ([]byte, []int) {
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{116}
+}
+
+type ValidateVReplicationPermissionsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The --db_filtered_user on the tablet.
+ User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
+ // Does the user have the minimum privileges needed to manage
+ // vreplication metadata.
+ Ok bool `protobuf:"varint,2,opt,name=ok,proto3" json:"ok,omitempty"`
+}
+
+func (x *ValidateVReplicationPermissionsResponse) Reset() {
+ *x = ValidateVReplicationPermissionsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_tabletmanagerdata_proto_msgTypes[117]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ValidateVReplicationPermissionsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ValidateVReplicationPermissionsResponse) ProtoMessage() {}
+
+func (x *ValidateVReplicationPermissionsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_tabletmanagerdata_proto_msgTypes[117]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ValidateVReplicationPermissionsResponse.ProtoReflect.Descriptor instead.
+func (*ValidateVReplicationPermissionsResponse) Descriptor() ([]byte, []int) {
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{117}
+}
+
+func (x *ValidateVReplicationPermissionsResponse) GetUser() string {
+ if x != nil {
+ return x.User
+ }
+ return ""
+}
+
+func (x *ValidateVReplicationPermissionsResponse) GetOk() bool {
+ if x != nil {
+ return x.Ok
+ }
+ return false
+}
+
type VDiffRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -5781,7 +6166,7 @@ type VDiffRequest struct {
func (x *VDiffRequest) Reset() {
*x = VDiffRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[110]
+ mi := &file_tabletmanagerdata_proto_msgTypes[118]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5794,7 +6179,7 @@ func (x *VDiffRequest) String() string {
func (*VDiffRequest) ProtoMessage() {}
func (x *VDiffRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[110]
+ mi := &file_tabletmanagerdata_proto_msgTypes[118]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5807,7 +6192,7 @@ func (x *VDiffRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffRequest.ProtoReflect.Descriptor instead.
func (*VDiffRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{110}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{118}
}
func (x *VDiffRequest) GetKeyspace() string {
@@ -5865,7 +6250,7 @@ type VDiffResponse struct {
func (x *VDiffResponse) Reset() {
*x = VDiffResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[111]
+ mi := &file_tabletmanagerdata_proto_msgTypes[119]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5878,7 +6263,7 @@ func (x *VDiffResponse) String() string {
func (*VDiffResponse) ProtoMessage() {}
func (x *VDiffResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[111]
+ mi := &file_tabletmanagerdata_proto_msgTypes[119]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5891,7 +6276,7 @@ func (x *VDiffResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffResponse.ProtoReflect.Descriptor instead.
func (*VDiffResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{111}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{119}
}
func (x *VDiffResponse) GetId() int64 {
@@ -5929,7 +6314,7 @@ type VDiffPickerOptions struct {
func (x *VDiffPickerOptions) Reset() {
*x = VDiffPickerOptions{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[112]
+ mi := &file_tabletmanagerdata_proto_msgTypes[120]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5942,7 +6327,7 @@ func (x *VDiffPickerOptions) String() string {
func (*VDiffPickerOptions) ProtoMessage() {}
func (x *VDiffPickerOptions) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[112]
+ mi := &file_tabletmanagerdata_proto_msgTypes[120]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5955,7 +6340,7 @@ func (x *VDiffPickerOptions) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffPickerOptions.ProtoReflect.Descriptor instead.
func (*VDiffPickerOptions) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{112}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{120}
}
func (x *VDiffPickerOptions) GetTabletTypes() string {
@@ -5985,16 +6370,17 @@ type VDiffReportOptions struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- OnlyPks bool `protobuf:"varint,1,opt,name=only_pks,json=onlyPks,proto3" json:"only_pks,omitempty"`
- DebugQuery bool `protobuf:"varint,2,opt,name=debug_query,json=debugQuery,proto3" json:"debug_query,omitempty"`
- Format string `protobuf:"bytes,3,opt,name=format,proto3" json:"format,omitempty"`
- MaxSampleRows int64 `protobuf:"varint,4,opt,name=max_sample_rows,json=maxSampleRows,proto3" json:"max_sample_rows,omitempty"`
+ OnlyPks bool `protobuf:"varint,1,opt,name=only_pks,json=onlyPks,proto3" json:"only_pks,omitempty"`
+ DebugQuery bool `protobuf:"varint,2,opt,name=debug_query,json=debugQuery,proto3" json:"debug_query,omitempty"`
+ Format string `protobuf:"bytes,3,opt,name=format,proto3" json:"format,omitempty"`
+ MaxSampleRows int64 `protobuf:"varint,4,opt,name=max_sample_rows,json=maxSampleRows,proto3" json:"max_sample_rows,omitempty"`
+ RowDiffColumnTruncateAt int64 `protobuf:"varint,5,opt,name=row_diff_column_truncate_at,json=rowDiffColumnTruncateAt,proto3" json:"row_diff_column_truncate_at,omitempty"`
}
func (x *VDiffReportOptions) Reset() {
*x = VDiffReportOptions{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[113]
+ mi := &file_tabletmanagerdata_proto_msgTypes[121]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6007,7 +6393,7 @@ func (x *VDiffReportOptions) String() string {
func (*VDiffReportOptions) ProtoMessage() {}
func (x *VDiffReportOptions) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[113]
+ mi := &file_tabletmanagerdata_proto_msgTypes[121]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6020,7 +6406,7 @@ func (x *VDiffReportOptions) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffReportOptions.ProtoReflect.Descriptor instead.
func (*VDiffReportOptions) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{113}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{121}
}
func (x *VDiffReportOptions) GetOnlyPks() bool {
@@ -6051,6 +6437,13 @@ func (x *VDiffReportOptions) GetMaxSampleRows() int64 {
return 0
}
+func (x *VDiffReportOptions) GetRowDiffColumnTruncateAt() int64 {
+ if x != nil {
+ return x.RowDiffColumnTruncateAt
+ }
+ return 0
+}
+
type VDiffCoreOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -6065,12 +6458,13 @@ type VDiffCoreOptions struct {
MaxExtraRowsToCompare int64 `protobuf:"varint,7,opt,name=max_extra_rows_to_compare,json=maxExtraRowsToCompare,proto3" json:"max_extra_rows_to_compare,omitempty"`
UpdateTableStats bool `protobuf:"varint,8,opt,name=update_table_stats,json=updateTableStats,proto3" json:"update_table_stats,omitempty"`
MaxDiffSeconds int64 `protobuf:"varint,9,opt,name=max_diff_seconds,json=maxDiffSeconds,proto3" json:"max_diff_seconds,omitempty"`
+ AutoStart *bool `protobuf:"varint,10,opt,name=auto_start,json=autoStart,proto3,oneof" json:"auto_start,omitempty"`
}
func (x *VDiffCoreOptions) Reset() {
*x = VDiffCoreOptions{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[114]
+ mi := &file_tabletmanagerdata_proto_msgTypes[122]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6083,7 +6477,7 @@ func (x *VDiffCoreOptions) String() string {
func (*VDiffCoreOptions) ProtoMessage() {}
func (x *VDiffCoreOptions) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[114]
+ mi := &file_tabletmanagerdata_proto_msgTypes[122]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6096,7 +6490,7 @@ func (x *VDiffCoreOptions) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffCoreOptions.ProtoReflect.Descriptor instead.
func (*VDiffCoreOptions) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{114}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{122}
}
func (x *VDiffCoreOptions) GetTables() string {
@@ -6162,6 +6556,13 @@ func (x *VDiffCoreOptions) GetMaxDiffSeconds() int64 {
return 0
}
+func (x *VDiffCoreOptions) GetAutoStart() bool {
+ if x != nil && x.AutoStart != nil {
+ return *x.AutoStart
+ }
+ return false
+}
+
type VDiffOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -6175,7 +6576,7 @@ type VDiffOptions struct {
func (x *VDiffOptions) Reset() {
*x = VDiffOptions{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[115]
+ mi := &file_tabletmanagerdata_proto_msgTypes[123]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6188,7 +6589,7 @@ func (x *VDiffOptions) String() string {
func (*VDiffOptions) ProtoMessage() {}
func (x *VDiffOptions) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[115]
+ mi := &file_tabletmanagerdata_proto_msgTypes[123]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6201,7 +6602,7 @@ func (x *VDiffOptions) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffOptions.ProtoReflect.Descriptor instead.
func (*VDiffOptions) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{115}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{123}
}
func (x *VDiffOptions) GetPickerOptions() *VDiffPickerOptions {
@@ -6236,18 +6637,19 @@ type UpdateVReplicationWorkflowRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Workflow string `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"`
- Cells []string `protobuf:"bytes,2,rep,name=cells,proto3" json:"cells,omitempty"`
- TabletTypes []topodata.TabletType `protobuf:"varint,3,rep,packed,name=tablet_types,json=tabletTypes,proto3,enum=topodata.TabletType" json:"tablet_types,omitempty"`
- TabletSelectionPreference TabletSelectionPreference `protobuf:"varint,4,opt,name=tablet_selection_preference,json=tabletSelectionPreference,proto3,enum=tabletmanagerdata.TabletSelectionPreference" json:"tablet_selection_preference,omitempty"`
- OnDdl binlogdata.OnDDLAction `protobuf:"varint,5,opt,name=on_ddl,json=onDdl,proto3,enum=binlogdata.OnDDLAction" json:"on_ddl,omitempty"`
- State binlogdata.VReplicationWorkflowState `protobuf:"varint,6,opt,name=state,proto3,enum=binlogdata.VReplicationWorkflowState" json:"state,omitempty"`
+ Workflow string `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"`
+ Cells []string `protobuf:"bytes,2,rep,name=cells,proto3" json:"cells,omitempty"`
+ TabletTypes []topodata.TabletType `protobuf:"varint,3,rep,packed,name=tablet_types,json=tabletTypes,proto3,enum=topodata.TabletType" json:"tablet_types,omitempty"`
+ TabletSelectionPreference *TabletSelectionPreference `protobuf:"varint,4,opt,name=tablet_selection_preference,json=tabletSelectionPreference,proto3,enum=tabletmanagerdata.TabletSelectionPreference,oneof" json:"tablet_selection_preference,omitempty"`
+ OnDdl *binlogdata.OnDDLAction `protobuf:"varint,5,opt,name=on_ddl,json=onDdl,proto3,enum=binlogdata.OnDDLAction,oneof" json:"on_ddl,omitempty"`
+ State *binlogdata.VReplicationWorkflowState `protobuf:"varint,6,opt,name=state,proto3,enum=binlogdata.VReplicationWorkflowState,oneof" json:"state,omitempty"`
+ ConfigOverrides map[string]string `protobuf:"bytes,8,rep,name=config_overrides,json=configOverrides,proto3" json:"config_overrides,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *UpdateVReplicationWorkflowRequest) Reset() {
*x = UpdateVReplicationWorkflowRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[116]
+ mi := &file_tabletmanagerdata_proto_msgTypes[124]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6260,7 +6662,7 @@ func (x *UpdateVReplicationWorkflowRequest) String() string {
func (*UpdateVReplicationWorkflowRequest) ProtoMessage() {}
func (x *UpdateVReplicationWorkflowRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[116]
+ mi := &file_tabletmanagerdata_proto_msgTypes[124]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6273,7 +6675,7 @@ func (x *UpdateVReplicationWorkflowRequest) ProtoReflect() protoreflect.Message
// Deprecated: Use UpdateVReplicationWorkflowRequest.ProtoReflect.Descriptor instead.
func (*UpdateVReplicationWorkflowRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{116}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{124}
}
func (x *UpdateVReplicationWorkflowRequest) GetWorkflow() string {
@@ -6298,26 +6700,33 @@ func (x *UpdateVReplicationWorkflowRequest) GetTabletTypes() []topodata.TabletTy
}
func (x *UpdateVReplicationWorkflowRequest) GetTabletSelectionPreference() TabletSelectionPreference {
- if x != nil {
- return x.TabletSelectionPreference
+ if x != nil && x.TabletSelectionPreference != nil {
+ return *x.TabletSelectionPreference
}
return TabletSelectionPreference_ANY
}
func (x *UpdateVReplicationWorkflowRequest) GetOnDdl() binlogdata.OnDDLAction {
- if x != nil {
- return x.OnDdl
+ if x != nil && x.OnDdl != nil {
+ return *x.OnDdl
}
return binlogdata.OnDDLAction(0)
}
func (x *UpdateVReplicationWorkflowRequest) GetState() binlogdata.VReplicationWorkflowState {
- if x != nil {
- return x.State
+ if x != nil && x.State != nil {
+ return *x.State
}
return binlogdata.VReplicationWorkflowState(0)
}
+func (x *UpdateVReplicationWorkflowRequest) GetConfigOverrides() map[string]string {
+ if x != nil {
+ return x.ConfigOverrides
+ }
+ return nil
+}
+
type UpdateVReplicationWorkflowResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -6329,7 +6738,7 @@ type UpdateVReplicationWorkflowResponse struct {
func (x *UpdateVReplicationWorkflowResponse) Reset() {
*x = UpdateVReplicationWorkflowResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[117]
+ mi := &file_tabletmanagerdata_proto_msgTypes[125]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6342,7 +6751,7 @@ func (x *UpdateVReplicationWorkflowResponse) String() string {
func (*UpdateVReplicationWorkflowResponse) ProtoMessage() {}
func (x *UpdateVReplicationWorkflowResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[117]
+ mi := &file_tabletmanagerdata_proto_msgTypes[125]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6355,7 +6764,7 @@ func (x *UpdateVReplicationWorkflowResponse) ProtoReflect() protoreflect.Message
// Deprecated: Use UpdateVReplicationWorkflowResponse.ProtoReflect.Descriptor instead.
func (*UpdateVReplicationWorkflowResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{117}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{125}
}
func (x *UpdateVReplicationWorkflowResponse) GetResult() *query.QueryResult {
@@ -6376,18 +6785,18 @@ type UpdateVReplicationWorkflowsRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- AllWorkflows bool `protobuf:"varint,1,opt,name=all_workflows,json=allWorkflows,proto3" json:"all_workflows,omitempty"`
- IncludeWorkflows []string `protobuf:"bytes,2,rep,name=include_workflows,json=includeWorkflows,proto3" json:"include_workflows,omitempty"`
- ExcludeWorkflows []string `protobuf:"bytes,3,rep,name=exclude_workflows,json=excludeWorkflows,proto3" json:"exclude_workflows,omitempty"`
- State binlogdata.VReplicationWorkflowState `protobuf:"varint,4,opt,name=state,proto3,enum=binlogdata.VReplicationWorkflowState" json:"state,omitempty"`
- Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"`
- StopPosition string `protobuf:"bytes,6,opt,name=stop_position,json=stopPosition,proto3" json:"stop_position,omitempty"`
+ AllWorkflows bool `protobuf:"varint,1,opt,name=all_workflows,json=allWorkflows,proto3" json:"all_workflows,omitempty"`
+ IncludeWorkflows []string `protobuf:"bytes,2,rep,name=include_workflows,json=includeWorkflows,proto3" json:"include_workflows,omitempty"`
+ ExcludeWorkflows []string `protobuf:"bytes,3,rep,name=exclude_workflows,json=excludeWorkflows,proto3" json:"exclude_workflows,omitempty"`
+ State *binlogdata.VReplicationWorkflowState `protobuf:"varint,4,opt,name=state,proto3,enum=binlogdata.VReplicationWorkflowState,oneof" json:"state,omitempty"`
+ Message *string `protobuf:"bytes,5,opt,name=message,proto3,oneof" json:"message,omitempty"`
+ StopPosition *string `protobuf:"bytes,6,opt,name=stop_position,json=stopPosition,proto3,oneof" json:"stop_position,omitempty"`
}
func (x *UpdateVReplicationWorkflowsRequest) Reset() {
*x = UpdateVReplicationWorkflowsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[118]
+ mi := &file_tabletmanagerdata_proto_msgTypes[126]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6400,7 +6809,7 @@ func (x *UpdateVReplicationWorkflowsRequest) String() string {
func (*UpdateVReplicationWorkflowsRequest) ProtoMessage() {}
func (x *UpdateVReplicationWorkflowsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[118]
+ mi := &file_tabletmanagerdata_proto_msgTypes[126]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6413,7 +6822,7 @@ func (x *UpdateVReplicationWorkflowsRequest) ProtoReflect() protoreflect.Message
// Deprecated: Use UpdateVReplicationWorkflowsRequest.ProtoReflect.Descriptor instead.
func (*UpdateVReplicationWorkflowsRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{118}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{126}
}
func (x *UpdateVReplicationWorkflowsRequest) GetAllWorkflows() bool {
@@ -6438,22 +6847,22 @@ func (x *UpdateVReplicationWorkflowsRequest) GetExcludeWorkflows() []string {
}
func (x *UpdateVReplicationWorkflowsRequest) GetState() binlogdata.VReplicationWorkflowState {
- if x != nil {
- return x.State
+ if x != nil && x.State != nil {
+ return *x.State
}
return binlogdata.VReplicationWorkflowState(0)
}
func (x *UpdateVReplicationWorkflowsRequest) GetMessage() string {
- if x != nil {
- return x.Message
+ if x != nil && x.Message != nil {
+ return *x.Message
}
return ""
}
func (x *UpdateVReplicationWorkflowsRequest) GetStopPosition() string {
- if x != nil {
- return x.StopPosition
+ if x != nil && x.StopPosition != nil {
+ return *x.StopPosition
}
return ""
}
@@ -6469,7 +6878,7 @@ type UpdateVReplicationWorkflowsResponse struct {
func (x *UpdateVReplicationWorkflowsResponse) Reset() {
*x = UpdateVReplicationWorkflowsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[119]
+ mi := &file_tabletmanagerdata_proto_msgTypes[127]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6482,7 +6891,7 @@ func (x *UpdateVReplicationWorkflowsResponse) String() string {
func (*UpdateVReplicationWorkflowsResponse) ProtoMessage() {}
func (x *UpdateVReplicationWorkflowsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[119]
+ mi := &file_tabletmanagerdata_proto_msgTypes[127]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6495,7 +6904,7 @@ func (x *UpdateVReplicationWorkflowsResponse) ProtoReflect() protoreflect.Messag
// Deprecated: Use UpdateVReplicationWorkflowsResponse.ProtoReflect.Descriptor instead.
func (*UpdateVReplicationWorkflowsResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{119}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{127}
}
func (x *UpdateVReplicationWorkflowsResponse) GetResult() *query.QueryResult {
@@ -6516,7 +6925,7 @@ type ResetSequencesRequest struct {
func (x *ResetSequencesRequest) Reset() {
*x = ResetSequencesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[120]
+ mi := &file_tabletmanagerdata_proto_msgTypes[128]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6529,7 +6938,7 @@ func (x *ResetSequencesRequest) String() string {
func (*ResetSequencesRequest) ProtoMessage() {}
func (x *ResetSequencesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[120]
+ mi := &file_tabletmanagerdata_proto_msgTypes[128]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6542,7 +6951,7 @@ func (x *ResetSequencesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ResetSequencesRequest.ProtoReflect.Descriptor instead.
func (*ResetSequencesRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{120}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{128}
}
func (x *ResetSequencesRequest) GetTables() []string {
@@ -6561,7 +6970,7 @@ type ResetSequencesResponse struct {
func (x *ResetSequencesResponse) Reset() {
*x = ResetSequencesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[121]
+ mi := &file_tabletmanagerdata_proto_msgTypes[129]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6574,7 +6983,7 @@ func (x *ResetSequencesResponse) String() string {
func (*ResetSequencesResponse) ProtoMessage() {}
func (x *ResetSequencesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[121]
+ mi := &file_tabletmanagerdata_proto_msgTypes[129]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6587,7 +6996,7 @@ func (x *ResetSequencesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ResetSequencesResponse.ProtoReflect.Descriptor instead.
func (*ResetSequencesResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{121}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{129}
}
type CheckThrottlerRequest struct {
@@ -6609,7 +7018,7 @@ type CheckThrottlerRequest struct {
func (x *CheckThrottlerRequest) Reset() {
*x = CheckThrottlerRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[122]
+ mi := &file_tabletmanagerdata_proto_msgTypes[130]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6622,7 +7031,7 @@ func (x *CheckThrottlerRequest) String() string {
func (*CheckThrottlerRequest) ProtoMessage() {}
func (x *CheckThrottlerRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[122]
+ mi := &file_tabletmanagerdata_proto_msgTypes[130]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6635,7 +7044,7 @@ func (x *CheckThrottlerRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use CheckThrottlerRequest.ProtoReflect.Descriptor instead.
func (*CheckThrottlerRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{122}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{130}
}
func (x *CheckThrottlerRequest) GetAppName() string {
@@ -6705,7 +7114,7 @@ type CheckThrottlerResponse struct {
func (x *CheckThrottlerResponse) Reset() {
*x = CheckThrottlerResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[123]
+ mi := &file_tabletmanagerdata_proto_msgTypes[131]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6718,7 +7127,7 @@ func (x *CheckThrottlerResponse) String() string {
func (*CheckThrottlerResponse) ProtoMessage() {}
func (x *CheckThrottlerResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[123]
+ mi := &file_tabletmanagerdata_proto_msgTypes[131]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6731,7 +7140,7 @@ func (x *CheckThrottlerResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use CheckThrottlerResponse.ProtoReflect.Descriptor instead.
func (*CheckThrottlerResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{123}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{131}
}
func (x *CheckThrottlerResponse) GetStatusCode() int32 {
@@ -6813,7 +7222,7 @@ type GetThrottlerStatusRequest struct {
func (x *GetThrottlerStatusRequest) Reset() {
*x = GetThrottlerStatusRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[124]
+ mi := &file_tabletmanagerdata_proto_msgTypes[132]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6826,7 +7235,7 @@ func (x *GetThrottlerStatusRequest) String() string {
func (*GetThrottlerStatusRequest) ProtoMessage() {}
func (x *GetThrottlerStatusRequest) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[124]
+ mi := &file_tabletmanagerdata_proto_msgTypes[132]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6839,7 +7248,7 @@ func (x *GetThrottlerStatusRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetThrottlerStatusRequest.ProtoReflect.Descriptor instead.
func (*GetThrottlerStatusRequest) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{124}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{132}
}
type GetThrottlerStatusResponse struct {
@@ -6888,7 +7297,7 @@ type GetThrottlerStatusResponse struct {
func (x *GetThrottlerStatusResponse) Reset() {
*x = GetThrottlerStatusResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[125]
+ mi := &file_tabletmanagerdata_proto_msgTypes[133]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6901,7 +7310,7 @@ func (x *GetThrottlerStatusResponse) String() string {
func (*GetThrottlerStatusResponse) ProtoMessage() {}
func (x *GetThrottlerStatusResponse) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[125]
+ mi := &file_tabletmanagerdata_proto_msgTypes[133]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6914,7 +7323,7 @@ func (x *GetThrottlerStatusResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetThrottlerStatusResponse.ProtoReflect.Descriptor instead.
func (*GetThrottlerStatusResponse) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{125}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{133}
}
func (x *GetThrottlerStatusResponse) GetTabletAlias() string {
@@ -7067,7 +7476,7 @@ type ReadVReplicationWorkflowResponse_Stream struct {
func (x *ReadVReplicationWorkflowResponse_Stream) Reset() {
*x = ReadVReplicationWorkflowResponse_Stream{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[130]
+ mi := &file_tabletmanagerdata_proto_msgTypes[138]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7080,7 +7489,7 @@ func (x *ReadVReplicationWorkflowResponse_Stream) String() string {
func (*ReadVReplicationWorkflowResponse_Stream) ProtoMessage() {}
func (x *ReadVReplicationWorkflowResponse_Stream) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[130]
+ mi := &file_tabletmanagerdata_proto_msgTypes[138]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7093,7 +7502,7 @@ func (x *ReadVReplicationWorkflowResponse_Stream) ProtoReflect() protoreflect.Me
// Deprecated: Use ReadVReplicationWorkflowResponse_Stream.ProtoReflect.Descriptor instead.
func (*ReadVReplicationWorkflowResponse_Stream) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{109, 0}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{115, 0}
}
func (x *ReadVReplicationWorkflowResponse_Stream) GetId() int32 {
@@ -7220,7 +7629,7 @@ type CheckThrottlerResponse_Metric struct {
func (x *CheckThrottlerResponse_Metric) Reset() {
*x = CheckThrottlerResponse_Metric{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[131]
+ mi := &file_tabletmanagerdata_proto_msgTypes[141]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7233,7 +7642,7 @@ func (x *CheckThrottlerResponse_Metric) String() string {
func (*CheckThrottlerResponse_Metric) ProtoMessage() {}
func (x *CheckThrottlerResponse_Metric) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[131]
+ mi := &file_tabletmanagerdata_proto_msgTypes[141]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7246,7 +7655,7 @@ func (x *CheckThrottlerResponse_Metric) ProtoReflect() protoreflect.Message {
// Deprecated: Use CheckThrottlerResponse_Metric.ProtoReflect.Descriptor instead.
func (*CheckThrottlerResponse_Metric) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{123, 0}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{131, 0}
}
func (x *CheckThrottlerResponse_Metric) GetName() string {
@@ -7317,7 +7726,7 @@ type GetThrottlerStatusResponse_MetricResult struct {
func (x *GetThrottlerStatusResponse_MetricResult) Reset() {
*x = GetThrottlerStatusResponse_MetricResult{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[133]
+ mi := &file_tabletmanagerdata_proto_msgTypes[143]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7330,7 +7739,7 @@ func (x *GetThrottlerStatusResponse_MetricResult) String() string {
func (*GetThrottlerStatusResponse_MetricResult) ProtoMessage() {}
func (x *GetThrottlerStatusResponse_MetricResult) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[133]
+ mi := &file_tabletmanagerdata_proto_msgTypes[143]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7343,7 +7752,7 @@ func (x *GetThrottlerStatusResponse_MetricResult) ProtoReflect() protoreflect.Me
// Deprecated: Use GetThrottlerStatusResponse_MetricResult.ProtoReflect.Descriptor instead.
func (*GetThrottlerStatusResponse_MetricResult) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{125, 0}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{133, 0}
}
func (x *GetThrottlerStatusResponse_MetricResult) GetValue() float64 {
@@ -7372,7 +7781,7 @@ type GetThrottlerStatusResponse_MetricHealth struct {
func (x *GetThrottlerStatusResponse_MetricHealth) Reset() {
*x = GetThrottlerStatusResponse_MetricHealth{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[136]
+ mi := &file_tabletmanagerdata_proto_msgTypes[146]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7385,7 +7794,7 @@ func (x *GetThrottlerStatusResponse_MetricHealth) String() string {
func (*GetThrottlerStatusResponse_MetricHealth) ProtoMessage() {}
func (x *GetThrottlerStatusResponse_MetricHealth) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[136]
+ mi := &file_tabletmanagerdata_proto_msgTypes[146]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7398,7 +7807,7 @@ func (x *GetThrottlerStatusResponse_MetricHealth) ProtoReflect() protoreflect.Me
// Deprecated: Use GetThrottlerStatusResponse_MetricHealth.ProtoReflect.Descriptor instead.
func (*GetThrottlerStatusResponse_MetricHealth) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{125, 3}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{133, 3}
}
func (x *GetThrottlerStatusResponse_MetricHealth) GetLastHealthyAt() *vttime.Time {
@@ -7429,7 +7838,7 @@ type GetThrottlerStatusResponse_RecentApp struct {
func (x *GetThrottlerStatusResponse_RecentApp) Reset() {
*x = GetThrottlerStatusResponse_RecentApp{}
if protoimpl.UnsafeEnabled {
- mi := &file_tabletmanagerdata_proto_msgTypes[140]
+ mi := &file_tabletmanagerdata_proto_msgTypes[150]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7442,7 +7851,7 @@ func (x *GetThrottlerStatusResponse_RecentApp) String() string {
func (*GetThrottlerStatusResponse_RecentApp) ProtoMessage() {}
func (x *GetThrottlerStatusResponse_RecentApp) ProtoReflect() protoreflect.Message {
- mi := &file_tabletmanagerdata_proto_msgTypes[140]
+ mi := &file_tabletmanagerdata_proto_msgTypes[150]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7455,7 +7864,7 @@ func (x *GetThrottlerStatusResponse_RecentApp) ProtoReflect() protoreflect.Messa
// Deprecated: Use GetThrottlerStatusResponse_RecentApp.ProtoReflect.Descriptor instead.
func (*GetThrottlerStatusResponse_RecentApp) Descriptor() ([]byte, []int) {
- return file_tabletmanagerdata_proto_rawDescGZIP(), []int{125, 7}
+ return file_tabletmanagerdata_proto_rawDescGZIP(), []int{133, 7}
}
func (x *GetThrottlerStatusResponse_RecentApp) GetCheckedAt() *vttime.Time {
@@ -7787,734 +8196,804 @@ var file_tabletmanagerdata_proto_rawDesc = []byte{
0x41, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a,
0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4f, 0x0a, 0x15, 0x50,
- 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x18, 0x0a, 0x16,
- 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x35, 0x0a, 0x17, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x34, 0x0a,
- 0x16, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x22, 0x19, 0x0a, 0x17, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f,
- 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18,
- 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x19, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x70,
- 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, 0x1d, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65,
- 0x6f, 0x75, 0x74, 0x22, 0x3c, 0x0a, 0x1e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
- 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
- 0x6e, 0x22, 0x35, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
- 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x21, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x41, 0x66, 0x74,
- 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69,
- 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x77, 0x61, 0x69,
- 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x24, 0x0a, 0x22, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x74, 0x69,
- 0x6c, 0x41, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14,
- 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61,
- 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x64, 0x72,
- 0x73, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1a, 0x0a, 0x18,
- 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x0a, 0x17, 0x56, 0x52, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x46, 0x0a, 0x18, 0x56, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75,
- 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x22, 0x4b, 0x0a, 0x1d, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
- 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20,
- 0x0a, 0x1e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61,
- 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x30, 0x0a, 0x12, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79,
- 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79,
- 0x6e, 0x63, 0x22, 0x31, 0x0a, 0x13, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73,
+ 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x43, 0x0a, 0x20, 0x47, 0x65, 0x74,
+ 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x0a, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x22, 0x63,
+ 0x0a, 0x21, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54,
+ 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
+ 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x22, 0x2c, 0x0a, 0x16, 0x52, 0x65, 0x61, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
+ 0x04, 0x64, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69,
+ 0x64, 0x22, 0x57, 0x0a, 0x17, 0x52, 0x65, 0x61, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0b,
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x40, 0x0a, 0x1a, 0x43, 0x6f,
+ 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02,
+ 0x6d, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6d, 0x6d, 0x22, 0x1d, 0x0a, 0x1b,
+ 0x43, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4f, 0x0a,
+ 0x15, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x18,
+ 0x0a, 0x16, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x35, 0x0a, 0x17, 0x50, 0x72, 0x69, 0x6d,
+ 0x61, 0x72, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22,
+ 0x34, 0x0a, 0x16, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd8, 0x01, 0x0a, 0x1e, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61,
- 0x74, 0x65, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61,
- 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65,
- 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x03, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x73,
- 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d,
- 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x69,
- 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x31, 0x0a,
- 0x14, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x22, 0x21, 0x0a, 0x1f, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x61,
- 0x72, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x61,
- 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x19, 0x0a, 0x17, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72,
+ 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x18, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x19, 0x0a, 0x17, 0x53, 0x74,
+ 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, 0x1d, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f,
+ 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x54, 0x69,
+ 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x3c, 0x0a, 0x1e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x22, 0x35, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
+ 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x21, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x41,
+ 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x77,
+ 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x24, 0x0a, 0x22, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e,
+ 0x74, 0x69, 0x6c, 0x41, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64,
+ 0x64, 0x72, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1a,
+ 0x0a, 0x18, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x0a, 0x17, 0x56, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x46, 0x0a, 0x18, 0x56,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x22, 0x4b, 0x0a, 0x1d, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x22, 0x20, 0x0a, 0x1e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x30, 0x0a, 0x12, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
+ 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69,
+ 0x53, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69,
+ 0x53, 0x79, 0x6e, 0x63, 0x22, 0x31, 0x0a, 0x13, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x6d,
+ 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd8, 0x01, 0x0a, 0x1e, 0x50, 0x6f, 0x70, 0x75,
+ 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x75, 0x72,
+ 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69,
+ 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x4e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x61,
+ 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
- 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f,
- 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x73, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x64, 0x4e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63,
- 0x22, 0x15, 0x0a, 0x13, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6d, 0x6f, 0x74,
- 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22,
- 0x64, 0x0a, 0x15, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d,
- 0x61, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a,
- 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x36, 0x0a, 0x18, 0x55, 0x6e, 0x64, 0x6f, 0x44, 0x65, 0x6d,
+ 0x73, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12,
+ 0x31, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x72,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x22, 0x21, 0x0a, 0x1f, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x72,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26,
+ 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e,
+ 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x64, 0x4e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79,
+ 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79,
+ 0x6e, 0x63, 0x22, 0x15, 0x0a, 0x13, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6d,
0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x22, 0x1b, 0x0a,
- 0x19, 0x55, 0x6e, 0x64, 0x6f, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61,
- 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x0a, 0x21, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
- 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x24, 0x0a, 0x22, 0x52, 0x65,
- 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61,
- 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x13, 0x0a, 0x11, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x12, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x75,
- 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x22, 0x9c, 0x02, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
- 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
- 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x66, 0x6f, 0x72, 0x63, 0x65,
- 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53,
- 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63,
- 0x12, 0x2d, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e,
- 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x68, 0x65,
- 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22,
- 0x1e, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x4b, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73,
- 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a,
- 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x1d, 0x0a, 0x1b,
- 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72,
- 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x22, 0x53,
- 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e,
- 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x58, 0x0a, 0x15, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x24, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x13, 0x73, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x6b, 0x0a, 0x23, 0x53,
- 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e,
- 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x74, 0x22, 0x64, 0x0a, 0x15, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61,
+ 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0e, 0x70, 0x72,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x36, 0x0a, 0x18, 0x55, 0x6e, 0x64, 0x6f, 0x44,
+ 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x22,
+ 0x1b, 0x0a, 0x19, 0x55, 0x6e, 0x64, 0x6f, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69,
+ 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x0a, 0x19,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74,
+ 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x0a, 0x21, 0x52, 0x65, 0x73, 0x65, 0x74,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x24, 0x0a, 0x22,
+ 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x12, 0x46, 0x75, 0x6c, 0x6c, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a,
+ 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x22, 0x9c, 0x02, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x66, 0x6f, 0x72,
+ 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x66, 0x6f, 0x72, 0x63,
+ 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f,
+ 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79,
+ 0x6e, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79,
+ 0x6e, 0x63, 0x12, 0x2d, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11,
+ 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
+ 0x6c, 0x22, 0x1e, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x4b, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x52,
+ 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x2d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x1d,
+ 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a,
+ 0x22, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x41, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x15, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x33, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6d,
- 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x22, 0x34, 0x0a,
- 0x16, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72,
- 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63,
- 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
- 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
- 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x30, 0x0a, 0x14,
- 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x6f, 0x6d,
- 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x72,
- 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6f, 0x73, 0x12, 0x21,
- 0x0a, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x61, 0x66,
- 0x65, 0x22, 0x36, 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x13, 0x73, 0x74, 0x6f, 0x70, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x6b, 0x0a,
+ 0x23, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x41, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x33, 0x0a, 0x15, 0x50, 0x72,
+ 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x22,
+ 0x34, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75,
+ 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f,
+ 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x30,
+ 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x72,
+ 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e,
+ 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6f, 0x73,
+ 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x61, 0x66, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53,
+ 0x61, 0x66, 0x65, 0x22, 0x36, 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xc8, 0x01, 0x0a, 0x18,
+ 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75,
+ 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b,
+ 0x75, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
+ 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63,
+ 0x6b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x6f,
+ 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0c, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x12, 0x17, 0x0a,
+ 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
+ 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
+ 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69,
+ 0x6d, 0x65, 0x52, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x54, 0x69, 0x6d,
+ 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x41, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72,
+ 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65,
- 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xc8, 0x01, 0x0a, 0x18, 0x52, 0x65,
- 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70,
- 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74,
- 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75,
- 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
- 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72,
- 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64,
- 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72,
- 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f,
- 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65,
- 0x52, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73,
- 0x74, 0x61, 0x6d, 0x70, 0x22, 0x41, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46,
- 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
- 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xee, 0x04, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
- 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x3d, 0x0a, 0x0d, 0x62, 0x69, 0x6e,
- 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x18, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69,
- 0x6e, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0c, 0x62, 0x69, 0x6e, 0x6c,
- 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c,
- 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37,
- 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04,
- 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66,
- 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
- 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65,
- 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x62,
- 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79,
- 0x70, 0x65, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65,
- 0x12, 0x53, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x75, 0x62,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x62, 0x69,
- 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62,
- 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75,
- 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73,
- 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x08, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
- 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f,
- 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74,
- 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61,
- 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x18,
- 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x50, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a,
- 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
- 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x3f, 0x0a, 0x21, 0x44, 0x65,
- 0x6c, 0x65, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xee, 0x04, 0x0a, 0x21, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0x50, 0x0a, 0x22, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x21, 0x0a,
- 0x1f, 0x48, 0x61, 0x73, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x22, 0x34, 0x0a, 0x20, 0x48, 0x61, 0x73, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x03, 0x68, 0x61, 0x73, 0x22, 0xe0, 0x02, 0x0a, 0x20, 0x52, 0x65, 0x61, 0x64, 0x56,
- 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x69,
- 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05,
- 0x52, 0x0a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11,
- 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
- 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
- 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x69, 0x6e, 0x63,
- 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
- 0x0e, 0x32, 0x25, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56,
- 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
- 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
- 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x62,
- 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74,
- 0x61, 0x74, 0x65, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74,
- 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x66, 0x72,
- 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c,
- 0x75, 0x64, 0x65, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x22, 0x76, 0x0a, 0x21, 0x52, 0x65, 0x61,
- 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72,
- 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51,
- 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x33, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
- 0x73, 0x22, 0x3d, 0x0a, 0x1f, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
- 0x22, 0xae, 0x09, 0x0a, 0x20, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54,
- 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73,
- 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
- 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
- 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x17,
- 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18,
- 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x77,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x27, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56,
- 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x64,
- 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b,
- 0x65, 0x79, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72,
- 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x54, 0x0a,
- 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a,
+ 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x3d, 0x0a, 0x0d, 0x62,
+ 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0c, 0x62, 0x69,
+ 0x6e, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65,
+ 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73,
+ 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73,
+ 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72,
+ 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c,
0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65,
- 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xc1, 0x04,
- 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x03, 0x62, 0x6c, 0x73, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52,
- 0x03, 0x62, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x70,
- 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f,
- 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x54, 0x70, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x61,
- 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61,
- 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x12, 0x2f, 0x0a, 0x0c, 0x74, 0x69,
- 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0b,
- 0x74, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x41, 0x0a, 0x15, 0x74,
- 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73,
- 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74,
- 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3b,
- 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e,
+ 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65,
+ 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24,
+ 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73,
+ 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e,
0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53,
- 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6f,
- 0x70, 0x69, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x73,
- 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x68,
- 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
- 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x74, 0x69,
- 0x6d, 0x65, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x33, 0x0a, 0x0e, 0x74,
- 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d,
- 0x65, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64,
- 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x68,
- 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63,
- 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
- 0x64, 0x22, 0xd7, 0x01, 0x0a, 0x0c, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a,
- 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x67,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x72,
- 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x64, 0x69, 0x66, 0x66, 0x55, 0x75, 0x69, 0x64,
- 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6a, 0x0a, 0x0d, 0x56,
- 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02,
- 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x06,
- 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x64, 0x69, 0x66,
- 0x66, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x64,
- 0x69, 0x66, 0x66, 0x55, 0x75, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66,
- 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a,
- 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73,
- 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x65, 0x6c,
- 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x6c, 0x6c,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x65,
- 0x6c, 0x6c, 0x22, 0x90, 0x01, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x70, 0x6f,
- 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6e, 0x6c,
- 0x79, 0x5f, 0x70, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x6e, 0x6c,
- 0x79, 0x50, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x71, 0x75,
- 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67,
- 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x26, 0x0a,
- 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x77, 0x73,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c,
- 0x65, 0x52, 0x6f, 0x77, 0x73, 0x22, 0xda, 0x02, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43,
- 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x72,
- 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x1a, 0x0a, 0x08,
- 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
- 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x61, 0x6d, 0x70,
- 0x6c, 0x65, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x61,
- 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f,
- 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
- 0x12, 0x38, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x72, 0x6f,
- 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x18, 0x07, 0x20,
- 0x01, 0x28, 0x03, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x6f, 0x77,
- 0x73, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73,
- 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f,
- 0x64, 0x69, 0x66, 0x66, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01,
- 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x66, 0x66, 0x53, 0x65, 0x63, 0x6f, 0x6e,
- 0x64, 0x73, 0x22, 0xf2, 0x01, 0x0a, 0x0c, 0x56, 0x44, 0x69, 0x66, 0x66, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x6f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x56, 0x44, 0x69, 0x66, 0x66, 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x52, 0x0d, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66,
- 0x66, 0x43, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x63, 0x6f,
- 0x72, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x72, 0x65, 0x70,
- 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72,
- 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74,
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xef, 0x02, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
- 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c,
- 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12,
- 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18,
- 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65,
- 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66,
- 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x6e, 0x44, 0x44, 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
- 0x61, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x22, 0x50, 0x0a, 0x22, 0x55, 0x70, 0x64,
- 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x9f, 0x02, 0x0a, 0x22,
- 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72,
+ 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f,
+ 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74,
+ 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61,
+ 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70,
+ 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79,
+ 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x50, 0x0a, 0x22, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x3f, 0x0a, 0x21,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0x50, 0x0a,
+ 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72,
+ 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22,
+ 0x21, 0x0a, 0x1f, 0x48, 0x61, 0x73, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x57, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
- 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
- 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x25, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18,
- 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x70,
- 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a,
- 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65,
- 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x22, 0x2f, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
- 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x73, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e,
- 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdd, 0x01, 0x0a, 0x15,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65,
- 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74,
- 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x12, 0x27,
- 0x0a, 0x10, 0x6f, 0x6b, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73,
- 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6f, 0x6b, 0x49, 0x66, 0x4e, 0x6f,
- 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x75, 0x6c, 0x74, 0x69,
- 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x4d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x9f, 0x06, 0x0a, 0x16,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a,
- 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01,
- 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65,
- 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
- 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72,
- 0x65, 0x63, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x43,
- 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x50, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
- 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e,
- 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x09,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x52, 0x0a,
- 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
- 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68,
- 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43,
- 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64,
- 0x65, 0x1a, 0x8b, 0x02, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x73, 0x74, 0x22, 0x34, 0x0a, 0x20, 0x48, 0x61, 0x73, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x61, 0x73, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x03, 0x68, 0x61, 0x73, 0x22, 0xe0, 0x02, 0x0a, 0x20, 0x52, 0x65, 0x61,
+ 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x64, 0x73, 0x12, 0x2b,
+ 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75,
+ 0x64, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x69,
+ 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20,
+ 0x03, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c,
+ 0x75, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x63,
+ 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
+ 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x25,
+ 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
+ 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x78,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x22, 0x76, 0x0a, 0x21, 0x52,
+ 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57,
+ 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x51, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x73, 0x22, 0x3d, 0x0a, 0x1f, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x22, 0xe7, 0x0a, 0x0a, 0x20, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32,
+ 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65,
+ 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
+ 0x12, 0x17, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67,
+ 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x49, 0x0a,
+ 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x77, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a,
+ 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79,
+ 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66,
+ 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12,
+ 0x54, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x3a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x73, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
+ 0x73, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69,
+ 0x64, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65,
+ 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x72,
+ 0x69, 0x64, 0x65, 0x73, 0x1a, 0xc1, 0x04, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12,
+ 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12,
+ 0x2a, 0x0a, 0x03, 0x62, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62,
+ 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
+ 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x03, 0x62, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70,
+ 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f,
+ 0x74, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x54, 0x70,
+ 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11,
+ 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61,
+ 0x67, 0x12, 0x2f, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65,
+ 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x64, 0x12, 0x41, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52,
+ 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
+ 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x33, 0x0a,
+ 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54,
+ 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65,
+ 0x61, 0x74, 0x12, 0x33, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74,
+ 0x74, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74,
+ 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x68,
+ 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f,
+ 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x1a, 0x42, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x28, 0x0a, 0x26,
+ 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x27, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65,
+ 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0xd7, 0x01, 0x0a, 0x0c, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x16,
+ 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x75,
+ 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x64, 0x69, 0x66, 0x66,
+ 0x55, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,
+ 0x6a, 0x0a, 0x0d, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64,
+ 0x12, 0x2a, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x76, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x76, 0x64, 0x69, 0x66, 0x66, 0x55, 0x75, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x12, 0x56,
+ 0x44, 0x69, 0x66, 0x66, 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54,
+ 0x79, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63,
+ 0x65, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x22, 0xce, 0x01, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66,
+ 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a,
+ 0x08, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x07, 0x6f, 0x6e, 0x6c, 0x79, 0x50, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75,
+ 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64,
+ 0x65, 0x62, 0x75, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72,
+ 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61,
+ 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f,
+ 0x72, 0x6f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53,
+ 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x72, 0x6f, 0x77,
+ 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x74, 0x72, 0x75,
+ 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17,
+ 0x72, 0x6f, 0x77, 0x44, 0x69, 0x66, 0x66, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x72, 0x75,
+ 0x6e, 0x63, 0x61, 0x74, 0x65, 0x41, 0x74, 0x22, 0x8d, 0x03, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66,
+ 0x66, 0x43, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74,
+ 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65,
+ 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x1a,
+ 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x61,
+ 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
+ 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d,
+ 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x73, 0x12, 0x38, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f,
+ 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52,
+ 0x6f, 0x77, 0x73, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x12,
+ 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61,
+ 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61,
+ 0x78, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x66, 0x66, 0x53, 0x65, 0x63,
+ 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x75, 0x74,
+ 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0xf2, 0x01, 0x0a, 0x0c, 0x56, 0x44, 0x69, 0x66,
+ 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x70, 0x69, 0x63, 0x6b,
+ 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c,
+ 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66,
+ 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x72,
+ 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xed, 0x04, 0x0a,
+ 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x14,
+ 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63,
+ 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65,
+ 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x71, 0x0a,
+ 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67,
+ 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
+ 0x48, 0x00, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01,
+ 0x12, 0x33, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x6e,
+ 0x44, 0x44, 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x05, 0x6f, 0x6e, 0x44,
+ 0x64, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x02, 0x52, 0x05, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x74, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x49, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
+ 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x76,
+ 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x1a, 0x42, 0x0a,
+ 0x14, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
+ 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x42, 0x08, 0x0a, 0x06,
+ 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x22, 0x50, 0x0a, 0x22,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xd6,
+ 0x02, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x5f, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c,
+ 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75,
+ 0x64, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74,
+ 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0c,
+ 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42,
+ 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a,
+ 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
+ 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x2f, 0x0a, 0x15, 0x52, 0x65,
+ 0x73, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x52,
+ 0x65, 0x73, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdd, 0x01, 0x0a, 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63,
+ 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65,
+ 0x12, 0x36, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x15, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65,
+ 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x10, 0x6f, 0x6b, 0x5f, 0x69,
+ 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0d, 0x6f, 0x6b, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74,
+ 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69,
+ 0x63, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e,
+ 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x9f, 0x06, 0x0a, 0x16, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64,
- 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73,
- 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65,
- 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05,
+ 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65,
+ 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x07,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x72,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67,
- 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f,
- 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64,
- 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a,
- 0x6c, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
- 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
- 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x30, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74,
- 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72,
- 0x69, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1b, 0x0a,
- 0x19, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb6, 0x10, 0x0a, 0x1a, 0x47,
- 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1b,
- 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x69,
- 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73,
- 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c,
- 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62,
- 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
- 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x6f, 0x72, 0x6d, 0x61,
- 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61,
- 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x13,
- 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x71, 0x75,
- 0x65, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f,
- 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x11,
- 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
- 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
- 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x1b, 0x6d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x73,
- 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17,
- 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x41, 0x73,
- 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x73, 0x0a, 0x12, 0x61, 0x67, 0x67, 0x72, 0x65,
- 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x0c, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
- 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74,
- 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x61, 0x67, 0x67, 0x72, 0x65,
- 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x70, 0x0a, 0x11,
- 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64,
- 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54,
- 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x68, 0x72,
- 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x65,
- 0x74, 0x72, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x67,
- 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
- 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68,
- 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x67, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x6f, 0x74,
- 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x40, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54,
- 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x0d, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x73,
- 0x12, 0x74, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f,
- 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x6c,
+ 0x79, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64,
+ 0x12, 0x50, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x36, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
+ 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74,
+ 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69,
+ 0x63, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a,
+ 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
+ 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x52, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d,
+ 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
+ 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x8b, 0x02, 0x0a, 0x06,
+ 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12,
+ 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
+ 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x6c, 0x0a, 0x0c, 0x4d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43,
+ 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x68,
+ 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x22, 0xb6, 0x10, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f,
+ 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c,
+ 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c,
+ 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c,
+ 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10,
+ 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69,
+ 0x63, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69,
+ 0x63, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+ 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x01, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68,
+ 0x6f, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x1b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75,
+ 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x4e, 0x61, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x41, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c,
+ 0x74, 0x12, 0x73, 0x0a, 0x12, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e,
0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74,
0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x70, 0x70,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e,
- 0x74, 0x72, 0x79, 0x52, 0x11, 0x61, 0x70, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x4d,
- 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74,
- 0x6c, 0x79, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65,
- 0x64, 0x12, 0x5e, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x73,
- 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68,
- 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x73,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70,
- 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01,
- 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x80, 0x01,
- 0x0a, 0x16, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72,
- 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x74, 0x61, 0x62, 0x6c,
+ 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x67, 0x67,
+ 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x11, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x70, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x43, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
+ 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
+ 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x68,
+ 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x67, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72,
+ 0x69, 0x63, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x40, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
+ 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74,
+ 0x68, 0x12, 0x67, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x61,
+ 0x70, 0x70, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x74, 0x61, 0x62, 0x6c,
0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65,
0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
- 0x1a, 0x43, 0x0a, 0x15, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68,
- 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x81, 0x01, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68,
- 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x6c,
- 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x41, 0x74, 0x12, 0x3b, 0x0a, 0x1a,
- 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61,
- 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x17, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61,
- 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x1a, 0x7c, 0x0a, 0x12, 0x4d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
- 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
- 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x3a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
+ 0x65, 0x64, 0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x74, 0x68, 0x72,
+ 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x73, 0x12, 0x74, 0x0a, 0x13, 0x61, 0x70,
+ 0x70, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65,
+ 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x61,
+ 0x70, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
+ 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x5f, 0x63, 0x68, 0x65,
+ 0x63, 0x6b, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x65,
+ 0x6e, 0x74, 0x6c, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x5e, 0x0a, 0x0b, 0x72,
+ 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x3d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
- 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5c, 0x0a, 0x12, 0x54, 0x68, 0x72, 0x6f, 0x74,
- 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
- 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
- 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
- 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74,
- 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
- 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
- 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xad, 0x01, 0x0a, 0x09,
- 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x12, 0x2b, 0x0a, 0x0a, 0x63, 0x68, 0x65,
- 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
- 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x09, 0x63, 0x68, 0x65,
- 0x63, 0x6b, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d,
- 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
- 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x76, 0x0a, 0x0f, 0x52,
- 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
- 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
- 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x37, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52,
- 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
- 0x02, 0x38, 0x01, 0x2a, 0x3e, 0x0a, 0x19, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c,
- 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
- 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x4f,
- 0x52, 0x44, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
- 0x4e, 0x10, 0x03, 0x2a, 0x83, 0x01, 0x0a, 0x1a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72,
- 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f,
- 0x64, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10,
- 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x48, 0x52,
- 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10,
- 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x50, 0x50, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10,
- 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4d, 0x45, 0x54,
- 0x52, 0x49, 0x43, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41,
- 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, 0x42, 0x30, 0x5a, 0x2e, 0x76, 0x69, 0x74,
- 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f,
- 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
+ 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0a, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x80, 0x01, 0x0a, 0x16, 0x41, 0x67, 0x67, 0x72,
+ 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74,
+ 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x4d, 0x65,
+ 0x74, 0x72, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x81, 0x01, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
+ 0x12, 0x34, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79,
+ 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69,
+ 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61,
+ 0x6c, 0x74, 0x68, 0x79, 0x41, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61,
+ 0x6c, 0x74, 0x68, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x73, 0x65, 0x63, 0x6f,
+ 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c,
+ 0x74, 0x68, 0x79, 0x1a, 0x7c, 0x0a, 0x12, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x65,
+ 0x61, 0x6c, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47,
+ 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0x5c, 0x0a, 0x12, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70,
+ 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70,
+ 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x44, 0x0a, 0x16, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xad, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74,
+ 0x41, 0x70, 0x70, 0x12, 0x2b, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x61,
+ 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65,
+ 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x41, 0x74,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64,
+ 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65,
+ 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x76, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41,
+ 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65,
+ 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41,
+ 0x70, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x3e, 0x0a,
+ 0x19, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e,
+ 0x59, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x01,
+ 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x2a, 0x83, 0x01,
+ 0x0a, 0x1a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0d, 0x0a, 0x09,
+ 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f,
+ 0x4b, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x48, 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44,
+ 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x41,
+ 0x50, 0x50, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x55,
+ 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0x04, 0x12,
+ 0x12, 0x0a, 0x0e, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f,
+ 0x52, 0x10, 0x05, 0x42, 0x30, 0x5a, 0x2e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f,
+ 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
+ 0x72, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -8530,7 +9009,7 @@ func file_tabletmanagerdata_proto_rawDescGZIP() []byte {
}
var file_tabletmanagerdata_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
-var file_tabletmanagerdata_proto_msgTypes = make([]protoimpl.MessageInfo, 142)
+var file_tabletmanagerdata_proto_msgTypes = make([]protoimpl.MessageInfo, 152)
var file_tabletmanagerdata_proto_goTypes = []any{
(TabletSelectionPreference)(0), // 0: tabletmanagerdata.TabletSelectionPreference
(CheckThrottlerResponseCode)(0), // 1: tabletmanagerdata.CheckThrottlerResponseCode
@@ -8582,214 +9061,229 @@ var file_tabletmanagerdata_proto_goTypes = []any{
(*ExecuteFetchAsAllPrivsResponse)(nil), // 47: tabletmanagerdata.ExecuteFetchAsAllPrivsResponse
(*ExecuteFetchAsAppRequest)(nil), // 48: tabletmanagerdata.ExecuteFetchAsAppRequest
(*ExecuteFetchAsAppResponse)(nil), // 49: tabletmanagerdata.ExecuteFetchAsAppResponse
- (*ReplicationStatusRequest)(nil), // 50: tabletmanagerdata.ReplicationStatusRequest
- (*ReplicationStatusResponse)(nil), // 51: tabletmanagerdata.ReplicationStatusResponse
- (*PrimaryStatusRequest)(nil), // 52: tabletmanagerdata.PrimaryStatusRequest
- (*PrimaryStatusResponse)(nil), // 53: tabletmanagerdata.PrimaryStatusResponse
- (*PrimaryPositionRequest)(nil), // 54: tabletmanagerdata.PrimaryPositionRequest
- (*PrimaryPositionResponse)(nil), // 55: tabletmanagerdata.PrimaryPositionResponse
- (*WaitForPositionRequest)(nil), // 56: tabletmanagerdata.WaitForPositionRequest
- (*WaitForPositionResponse)(nil), // 57: tabletmanagerdata.WaitForPositionResponse
- (*StopReplicationRequest)(nil), // 58: tabletmanagerdata.StopReplicationRequest
- (*StopReplicationResponse)(nil), // 59: tabletmanagerdata.StopReplicationResponse
- (*StopReplicationMinimumRequest)(nil), // 60: tabletmanagerdata.StopReplicationMinimumRequest
- (*StopReplicationMinimumResponse)(nil), // 61: tabletmanagerdata.StopReplicationMinimumResponse
- (*StartReplicationRequest)(nil), // 62: tabletmanagerdata.StartReplicationRequest
- (*StartReplicationResponse)(nil), // 63: tabletmanagerdata.StartReplicationResponse
- (*StartReplicationUntilAfterRequest)(nil), // 64: tabletmanagerdata.StartReplicationUntilAfterRequest
- (*StartReplicationUntilAfterResponse)(nil), // 65: tabletmanagerdata.StartReplicationUntilAfterResponse
- (*GetReplicasRequest)(nil), // 66: tabletmanagerdata.GetReplicasRequest
- (*GetReplicasResponse)(nil), // 67: tabletmanagerdata.GetReplicasResponse
- (*ResetReplicationRequest)(nil), // 68: tabletmanagerdata.ResetReplicationRequest
- (*ResetReplicationResponse)(nil), // 69: tabletmanagerdata.ResetReplicationResponse
- (*VReplicationExecRequest)(nil), // 70: tabletmanagerdata.VReplicationExecRequest
- (*VReplicationExecResponse)(nil), // 71: tabletmanagerdata.VReplicationExecResponse
- (*VReplicationWaitForPosRequest)(nil), // 72: tabletmanagerdata.VReplicationWaitForPosRequest
- (*VReplicationWaitForPosResponse)(nil), // 73: tabletmanagerdata.VReplicationWaitForPosResponse
- (*InitPrimaryRequest)(nil), // 74: tabletmanagerdata.InitPrimaryRequest
- (*InitPrimaryResponse)(nil), // 75: tabletmanagerdata.InitPrimaryResponse
- (*PopulateReparentJournalRequest)(nil), // 76: tabletmanagerdata.PopulateReparentJournalRequest
- (*PopulateReparentJournalResponse)(nil), // 77: tabletmanagerdata.PopulateReparentJournalResponse
- (*InitReplicaRequest)(nil), // 78: tabletmanagerdata.InitReplicaRequest
- (*InitReplicaResponse)(nil), // 79: tabletmanagerdata.InitReplicaResponse
- (*DemotePrimaryRequest)(nil), // 80: tabletmanagerdata.DemotePrimaryRequest
- (*DemotePrimaryResponse)(nil), // 81: tabletmanagerdata.DemotePrimaryResponse
- (*UndoDemotePrimaryRequest)(nil), // 82: tabletmanagerdata.UndoDemotePrimaryRequest
- (*UndoDemotePrimaryResponse)(nil), // 83: tabletmanagerdata.UndoDemotePrimaryResponse
- (*ReplicaWasPromotedRequest)(nil), // 84: tabletmanagerdata.ReplicaWasPromotedRequest
- (*ReplicaWasPromotedResponse)(nil), // 85: tabletmanagerdata.ReplicaWasPromotedResponse
- (*ResetReplicationParametersRequest)(nil), // 86: tabletmanagerdata.ResetReplicationParametersRequest
- (*ResetReplicationParametersResponse)(nil), // 87: tabletmanagerdata.ResetReplicationParametersResponse
- (*FullStatusRequest)(nil), // 88: tabletmanagerdata.FullStatusRequest
- (*FullStatusResponse)(nil), // 89: tabletmanagerdata.FullStatusResponse
- (*SetReplicationSourceRequest)(nil), // 90: tabletmanagerdata.SetReplicationSourceRequest
- (*SetReplicationSourceResponse)(nil), // 91: tabletmanagerdata.SetReplicationSourceResponse
- (*ReplicaWasRestartedRequest)(nil), // 92: tabletmanagerdata.ReplicaWasRestartedRequest
- (*ReplicaWasRestartedResponse)(nil), // 93: tabletmanagerdata.ReplicaWasRestartedResponse
- (*StopReplicationAndGetStatusRequest)(nil), // 94: tabletmanagerdata.StopReplicationAndGetStatusRequest
- (*StopReplicationAndGetStatusResponse)(nil), // 95: tabletmanagerdata.StopReplicationAndGetStatusResponse
- (*PromoteReplicaRequest)(nil), // 96: tabletmanagerdata.PromoteReplicaRequest
- (*PromoteReplicaResponse)(nil), // 97: tabletmanagerdata.PromoteReplicaResponse
- (*BackupRequest)(nil), // 98: tabletmanagerdata.BackupRequest
- (*BackupResponse)(nil), // 99: tabletmanagerdata.BackupResponse
- (*RestoreFromBackupRequest)(nil), // 100: tabletmanagerdata.RestoreFromBackupRequest
- (*RestoreFromBackupResponse)(nil), // 101: tabletmanagerdata.RestoreFromBackupResponse
- (*CreateVReplicationWorkflowRequest)(nil), // 102: tabletmanagerdata.CreateVReplicationWorkflowRequest
- (*CreateVReplicationWorkflowResponse)(nil), // 103: tabletmanagerdata.CreateVReplicationWorkflowResponse
- (*DeleteVReplicationWorkflowRequest)(nil), // 104: tabletmanagerdata.DeleteVReplicationWorkflowRequest
- (*DeleteVReplicationWorkflowResponse)(nil), // 105: tabletmanagerdata.DeleteVReplicationWorkflowResponse
- (*HasVReplicationWorkflowsRequest)(nil), // 106: tabletmanagerdata.HasVReplicationWorkflowsRequest
- (*HasVReplicationWorkflowsResponse)(nil), // 107: tabletmanagerdata.HasVReplicationWorkflowsResponse
- (*ReadVReplicationWorkflowsRequest)(nil), // 108: tabletmanagerdata.ReadVReplicationWorkflowsRequest
- (*ReadVReplicationWorkflowsResponse)(nil), // 109: tabletmanagerdata.ReadVReplicationWorkflowsResponse
- (*ReadVReplicationWorkflowRequest)(nil), // 110: tabletmanagerdata.ReadVReplicationWorkflowRequest
- (*ReadVReplicationWorkflowResponse)(nil), // 111: tabletmanagerdata.ReadVReplicationWorkflowResponse
- (*VDiffRequest)(nil), // 112: tabletmanagerdata.VDiffRequest
- (*VDiffResponse)(nil), // 113: tabletmanagerdata.VDiffResponse
- (*VDiffPickerOptions)(nil), // 114: tabletmanagerdata.VDiffPickerOptions
- (*VDiffReportOptions)(nil), // 115: tabletmanagerdata.VDiffReportOptions
- (*VDiffCoreOptions)(nil), // 116: tabletmanagerdata.VDiffCoreOptions
- (*VDiffOptions)(nil), // 117: tabletmanagerdata.VDiffOptions
- (*UpdateVReplicationWorkflowRequest)(nil), // 118: tabletmanagerdata.UpdateVReplicationWorkflowRequest
- (*UpdateVReplicationWorkflowResponse)(nil), // 119: tabletmanagerdata.UpdateVReplicationWorkflowResponse
- (*UpdateVReplicationWorkflowsRequest)(nil), // 120: tabletmanagerdata.UpdateVReplicationWorkflowsRequest
- (*UpdateVReplicationWorkflowsResponse)(nil), // 121: tabletmanagerdata.UpdateVReplicationWorkflowsResponse
- (*ResetSequencesRequest)(nil), // 122: tabletmanagerdata.ResetSequencesRequest
- (*ResetSequencesResponse)(nil), // 123: tabletmanagerdata.ResetSequencesResponse
- (*CheckThrottlerRequest)(nil), // 124: tabletmanagerdata.CheckThrottlerRequest
- (*CheckThrottlerResponse)(nil), // 125: tabletmanagerdata.CheckThrottlerResponse
- (*GetThrottlerStatusRequest)(nil), // 126: tabletmanagerdata.GetThrottlerStatusRequest
- (*GetThrottlerStatusResponse)(nil), // 127: tabletmanagerdata.GetThrottlerStatusResponse
- nil, // 128: tabletmanagerdata.UserPermission.PrivilegesEntry
- nil, // 129: tabletmanagerdata.DbPermission.PrivilegesEntry
- nil, // 130: tabletmanagerdata.ExecuteHookRequest.ExtraEnvEntry
- nil, // 131: tabletmanagerdata.GetGlobalStatusVarsResponse.StatusValuesEntry
- (*ReadVReplicationWorkflowResponse_Stream)(nil), // 132: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream
- (*CheckThrottlerResponse_Metric)(nil), // 133: tabletmanagerdata.CheckThrottlerResponse.Metric
- nil, // 134: tabletmanagerdata.CheckThrottlerResponse.MetricsEntry
- (*GetThrottlerStatusResponse_MetricResult)(nil), // 135: tabletmanagerdata.GetThrottlerStatusResponse.MetricResult
- nil, // 136: tabletmanagerdata.GetThrottlerStatusResponse.AggregatedMetricsEntry
- nil, // 137: tabletmanagerdata.GetThrottlerStatusResponse.MetricThresholdsEntry
- (*GetThrottlerStatusResponse_MetricHealth)(nil), // 138: tabletmanagerdata.GetThrottlerStatusResponse.MetricHealth
- nil, // 139: tabletmanagerdata.GetThrottlerStatusResponse.MetricsHealthEntry
- nil, // 140: tabletmanagerdata.GetThrottlerStatusResponse.ThrottledAppsEntry
- nil, // 141: tabletmanagerdata.GetThrottlerStatusResponse.AppCheckedMetricsEntry
- (*GetThrottlerStatusResponse_RecentApp)(nil), // 142: tabletmanagerdata.GetThrottlerStatusResponse.RecentApp
- nil, // 143: tabletmanagerdata.GetThrottlerStatusResponse.RecentAppsEntry
- (*query.Field)(nil), // 144: query.Field
- (topodata.TabletType)(0), // 145: topodata.TabletType
- (*vtrpc.CallerID)(nil), // 146: vtrpc.CallerID
- (*query.QueryResult)(nil), // 147: query.QueryResult
- (*replicationdata.Status)(nil), // 148: replicationdata.Status
- (*replicationdata.PrimaryStatus)(nil), // 149: replicationdata.PrimaryStatus
- (*topodata.TabletAlias)(nil), // 150: topodata.TabletAlias
- (*replicationdata.FullStatus)(nil), // 151: replicationdata.FullStatus
- (replicationdata.StopReplicationMode)(0), // 152: replicationdata.StopReplicationMode
- (*replicationdata.StopReplicationStatus)(nil), // 153: replicationdata.StopReplicationStatus
- (*logutil.Event)(nil), // 154: logutil.Event
- (*vttime.Time)(nil), // 155: vttime.Time
- (*binlogdata.BinlogSource)(nil), // 156: binlogdata.BinlogSource
- (binlogdata.VReplicationWorkflowType)(0), // 157: binlogdata.VReplicationWorkflowType
- (binlogdata.VReplicationWorkflowSubType)(0), // 158: binlogdata.VReplicationWorkflowSubType
- (binlogdata.VReplicationWorkflowState)(0), // 159: binlogdata.VReplicationWorkflowState
- (binlogdata.OnDDLAction)(0), // 160: binlogdata.OnDDLAction
- (*topodata.ThrottledAppRule)(nil), // 161: topodata.ThrottledAppRule
+ (*GetUnresolvedTransactionsRequest)(nil), // 50: tabletmanagerdata.GetUnresolvedTransactionsRequest
+ (*GetUnresolvedTransactionsResponse)(nil), // 51: tabletmanagerdata.GetUnresolvedTransactionsResponse
+ (*ReadTransactionRequest)(nil), // 52: tabletmanagerdata.ReadTransactionRequest
+ (*ReadTransactionResponse)(nil), // 53: tabletmanagerdata.ReadTransactionResponse
+ (*ConcludeTransactionRequest)(nil), // 54: tabletmanagerdata.ConcludeTransactionRequest
+ (*ConcludeTransactionResponse)(nil), // 55: tabletmanagerdata.ConcludeTransactionResponse
+ (*ReplicationStatusRequest)(nil), // 56: tabletmanagerdata.ReplicationStatusRequest
+ (*ReplicationStatusResponse)(nil), // 57: tabletmanagerdata.ReplicationStatusResponse
+ (*PrimaryStatusRequest)(nil), // 58: tabletmanagerdata.PrimaryStatusRequest
+ (*PrimaryStatusResponse)(nil), // 59: tabletmanagerdata.PrimaryStatusResponse
+ (*PrimaryPositionRequest)(nil), // 60: tabletmanagerdata.PrimaryPositionRequest
+ (*PrimaryPositionResponse)(nil), // 61: tabletmanagerdata.PrimaryPositionResponse
+ (*WaitForPositionRequest)(nil), // 62: tabletmanagerdata.WaitForPositionRequest
+ (*WaitForPositionResponse)(nil), // 63: tabletmanagerdata.WaitForPositionResponse
+ (*StopReplicationRequest)(nil), // 64: tabletmanagerdata.StopReplicationRequest
+ (*StopReplicationResponse)(nil), // 65: tabletmanagerdata.StopReplicationResponse
+ (*StopReplicationMinimumRequest)(nil), // 66: tabletmanagerdata.StopReplicationMinimumRequest
+ (*StopReplicationMinimumResponse)(nil), // 67: tabletmanagerdata.StopReplicationMinimumResponse
+ (*StartReplicationRequest)(nil), // 68: tabletmanagerdata.StartReplicationRequest
+ (*StartReplicationResponse)(nil), // 69: tabletmanagerdata.StartReplicationResponse
+ (*StartReplicationUntilAfterRequest)(nil), // 70: tabletmanagerdata.StartReplicationUntilAfterRequest
+ (*StartReplicationUntilAfterResponse)(nil), // 71: tabletmanagerdata.StartReplicationUntilAfterResponse
+ (*GetReplicasRequest)(nil), // 72: tabletmanagerdata.GetReplicasRequest
+ (*GetReplicasResponse)(nil), // 73: tabletmanagerdata.GetReplicasResponse
+ (*ResetReplicationRequest)(nil), // 74: tabletmanagerdata.ResetReplicationRequest
+ (*ResetReplicationResponse)(nil), // 75: tabletmanagerdata.ResetReplicationResponse
+ (*VReplicationExecRequest)(nil), // 76: tabletmanagerdata.VReplicationExecRequest
+ (*VReplicationExecResponse)(nil), // 77: tabletmanagerdata.VReplicationExecResponse
+ (*VReplicationWaitForPosRequest)(nil), // 78: tabletmanagerdata.VReplicationWaitForPosRequest
+ (*VReplicationWaitForPosResponse)(nil), // 79: tabletmanagerdata.VReplicationWaitForPosResponse
+ (*InitPrimaryRequest)(nil), // 80: tabletmanagerdata.InitPrimaryRequest
+ (*InitPrimaryResponse)(nil), // 81: tabletmanagerdata.InitPrimaryResponse
+ (*PopulateReparentJournalRequest)(nil), // 82: tabletmanagerdata.PopulateReparentJournalRequest
+ (*PopulateReparentJournalResponse)(nil), // 83: tabletmanagerdata.PopulateReparentJournalResponse
+ (*InitReplicaRequest)(nil), // 84: tabletmanagerdata.InitReplicaRequest
+ (*InitReplicaResponse)(nil), // 85: tabletmanagerdata.InitReplicaResponse
+ (*DemotePrimaryRequest)(nil), // 86: tabletmanagerdata.DemotePrimaryRequest
+ (*DemotePrimaryResponse)(nil), // 87: tabletmanagerdata.DemotePrimaryResponse
+ (*UndoDemotePrimaryRequest)(nil), // 88: tabletmanagerdata.UndoDemotePrimaryRequest
+ (*UndoDemotePrimaryResponse)(nil), // 89: tabletmanagerdata.UndoDemotePrimaryResponse
+ (*ReplicaWasPromotedRequest)(nil), // 90: tabletmanagerdata.ReplicaWasPromotedRequest
+ (*ReplicaWasPromotedResponse)(nil), // 91: tabletmanagerdata.ReplicaWasPromotedResponse
+ (*ResetReplicationParametersRequest)(nil), // 92: tabletmanagerdata.ResetReplicationParametersRequest
+ (*ResetReplicationParametersResponse)(nil), // 93: tabletmanagerdata.ResetReplicationParametersResponse
+ (*FullStatusRequest)(nil), // 94: tabletmanagerdata.FullStatusRequest
+ (*FullStatusResponse)(nil), // 95: tabletmanagerdata.FullStatusResponse
+ (*SetReplicationSourceRequest)(nil), // 96: tabletmanagerdata.SetReplicationSourceRequest
+ (*SetReplicationSourceResponse)(nil), // 97: tabletmanagerdata.SetReplicationSourceResponse
+ (*ReplicaWasRestartedRequest)(nil), // 98: tabletmanagerdata.ReplicaWasRestartedRequest
+ (*ReplicaWasRestartedResponse)(nil), // 99: tabletmanagerdata.ReplicaWasRestartedResponse
+ (*StopReplicationAndGetStatusRequest)(nil), // 100: tabletmanagerdata.StopReplicationAndGetStatusRequest
+ (*StopReplicationAndGetStatusResponse)(nil), // 101: tabletmanagerdata.StopReplicationAndGetStatusResponse
+ (*PromoteReplicaRequest)(nil), // 102: tabletmanagerdata.PromoteReplicaRequest
+ (*PromoteReplicaResponse)(nil), // 103: tabletmanagerdata.PromoteReplicaResponse
+ (*BackupRequest)(nil), // 104: tabletmanagerdata.BackupRequest
+ (*BackupResponse)(nil), // 105: tabletmanagerdata.BackupResponse
+ (*RestoreFromBackupRequest)(nil), // 106: tabletmanagerdata.RestoreFromBackupRequest
+ (*RestoreFromBackupResponse)(nil), // 107: tabletmanagerdata.RestoreFromBackupResponse
+ (*CreateVReplicationWorkflowRequest)(nil), // 108: tabletmanagerdata.CreateVReplicationWorkflowRequest
+ (*CreateVReplicationWorkflowResponse)(nil), // 109: tabletmanagerdata.CreateVReplicationWorkflowResponse
+ (*DeleteVReplicationWorkflowRequest)(nil), // 110: tabletmanagerdata.DeleteVReplicationWorkflowRequest
+ (*DeleteVReplicationWorkflowResponse)(nil), // 111: tabletmanagerdata.DeleteVReplicationWorkflowResponse
+ (*HasVReplicationWorkflowsRequest)(nil), // 112: tabletmanagerdata.HasVReplicationWorkflowsRequest
+ (*HasVReplicationWorkflowsResponse)(nil), // 113: tabletmanagerdata.HasVReplicationWorkflowsResponse
+ (*ReadVReplicationWorkflowsRequest)(nil), // 114: tabletmanagerdata.ReadVReplicationWorkflowsRequest
+ (*ReadVReplicationWorkflowsResponse)(nil), // 115: tabletmanagerdata.ReadVReplicationWorkflowsResponse
+ (*ReadVReplicationWorkflowRequest)(nil), // 116: tabletmanagerdata.ReadVReplicationWorkflowRequest
+ (*ReadVReplicationWorkflowResponse)(nil), // 117: tabletmanagerdata.ReadVReplicationWorkflowResponse
+ (*ValidateVReplicationPermissionsRequest)(nil), // 118: tabletmanagerdata.ValidateVReplicationPermissionsRequest
+ (*ValidateVReplicationPermissionsResponse)(nil), // 119: tabletmanagerdata.ValidateVReplicationPermissionsResponse
+ (*VDiffRequest)(nil), // 120: tabletmanagerdata.VDiffRequest
+ (*VDiffResponse)(nil), // 121: tabletmanagerdata.VDiffResponse
+ (*VDiffPickerOptions)(nil), // 122: tabletmanagerdata.VDiffPickerOptions
+ (*VDiffReportOptions)(nil), // 123: tabletmanagerdata.VDiffReportOptions
+ (*VDiffCoreOptions)(nil), // 124: tabletmanagerdata.VDiffCoreOptions
+ (*VDiffOptions)(nil), // 125: tabletmanagerdata.VDiffOptions
+ (*UpdateVReplicationWorkflowRequest)(nil), // 126: tabletmanagerdata.UpdateVReplicationWorkflowRequest
+ (*UpdateVReplicationWorkflowResponse)(nil), // 127: tabletmanagerdata.UpdateVReplicationWorkflowResponse
+ (*UpdateVReplicationWorkflowsRequest)(nil), // 128: tabletmanagerdata.UpdateVReplicationWorkflowsRequest
+ (*UpdateVReplicationWorkflowsResponse)(nil), // 129: tabletmanagerdata.UpdateVReplicationWorkflowsResponse
+ (*ResetSequencesRequest)(nil), // 130: tabletmanagerdata.ResetSequencesRequest
+ (*ResetSequencesResponse)(nil), // 131: tabletmanagerdata.ResetSequencesResponse
+ (*CheckThrottlerRequest)(nil), // 132: tabletmanagerdata.CheckThrottlerRequest
+ (*CheckThrottlerResponse)(nil), // 133: tabletmanagerdata.CheckThrottlerResponse
+ (*GetThrottlerStatusRequest)(nil), // 134: tabletmanagerdata.GetThrottlerStatusRequest
+ (*GetThrottlerStatusResponse)(nil), // 135: tabletmanagerdata.GetThrottlerStatusResponse
+ nil, // 136: tabletmanagerdata.UserPermission.PrivilegesEntry
+ nil, // 137: tabletmanagerdata.DbPermission.PrivilegesEntry
+ nil, // 138: tabletmanagerdata.ExecuteHookRequest.ExtraEnvEntry
+ nil, // 139: tabletmanagerdata.GetGlobalStatusVarsResponse.StatusValuesEntry
+ (*ReadVReplicationWorkflowResponse_Stream)(nil), // 140: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream
+ nil, // 141: tabletmanagerdata.ReadVReplicationWorkflowResponse.ConfigOverridesEntry
+ nil, // 142: tabletmanagerdata.UpdateVReplicationWorkflowRequest.ConfigOverridesEntry
+ (*CheckThrottlerResponse_Metric)(nil), // 143: tabletmanagerdata.CheckThrottlerResponse.Metric
+ nil, // 144: tabletmanagerdata.CheckThrottlerResponse.MetricsEntry
+ (*GetThrottlerStatusResponse_MetricResult)(nil), // 145: tabletmanagerdata.GetThrottlerStatusResponse.MetricResult
+ nil, // 146: tabletmanagerdata.GetThrottlerStatusResponse.AggregatedMetricsEntry
+ nil, // 147: tabletmanagerdata.GetThrottlerStatusResponse.MetricThresholdsEntry
+ (*GetThrottlerStatusResponse_MetricHealth)(nil), // 148: tabletmanagerdata.GetThrottlerStatusResponse.MetricHealth
+ nil, // 149: tabletmanagerdata.GetThrottlerStatusResponse.MetricsHealthEntry
+ nil, // 150: tabletmanagerdata.GetThrottlerStatusResponse.ThrottledAppsEntry
+ nil, // 151: tabletmanagerdata.GetThrottlerStatusResponse.AppCheckedMetricsEntry
+ (*GetThrottlerStatusResponse_RecentApp)(nil), // 152: tabletmanagerdata.GetThrottlerStatusResponse.RecentApp
+ nil, // 153: tabletmanagerdata.GetThrottlerStatusResponse.RecentAppsEntry
+ (*query.Field)(nil), // 154: query.Field
+ (topodata.TabletType)(0), // 155: topodata.TabletType
+ (*vtrpc.CallerID)(nil), // 156: vtrpc.CallerID
+ (*query.QueryResult)(nil), // 157: query.QueryResult
+ (*query.TransactionMetadata)(nil), // 158: query.TransactionMetadata
+ (*replicationdata.Status)(nil), // 159: replicationdata.Status
+ (*replicationdata.PrimaryStatus)(nil), // 160: replicationdata.PrimaryStatus
+ (*topodata.TabletAlias)(nil), // 161: topodata.TabletAlias
+ (*replicationdata.FullStatus)(nil), // 162: replicationdata.FullStatus
+ (replicationdata.StopReplicationMode)(0), // 163: replicationdata.StopReplicationMode
+ (*replicationdata.StopReplicationStatus)(nil), // 164: replicationdata.StopReplicationStatus
+ (*logutil.Event)(nil), // 165: logutil.Event
+ (*vttime.Time)(nil), // 166: vttime.Time
+ (*binlogdata.BinlogSource)(nil), // 167: binlogdata.BinlogSource
+ (binlogdata.VReplicationWorkflowType)(0), // 168: binlogdata.VReplicationWorkflowType
+ (binlogdata.VReplicationWorkflowSubType)(0), // 169: binlogdata.VReplicationWorkflowSubType
+ (binlogdata.VReplicationWorkflowState)(0), // 170: binlogdata.VReplicationWorkflowState
+ (binlogdata.OnDDLAction)(0), // 171: binlogdata.OnDDLAction
+ (*topodata.ThrottledAppRule)(nil), // 172: topodata.ThrottledAppRule
}
var file_tabletmanagerdata_proto_depIdxs = []int32{
- 144, // 0: tabletmanagerdata.TableDefinition.fields:type_name -> query.Field
+ 154, // 0: tabletmanagerdata.TableDefinition.fields:type_name -> query.Field
2, // 1: tabletmanagerdata.SchemaDefinition.table_definitions:type_name -> tabletmanagerdata.TableDefinition
3, // 2: tabletmanagerdata.SchemaChangeResult.before_schema:type_name -> tabletmanagerdata.SchemaDefinition
3, // 3: tabletmanagerdata.SchemaChangeResult.after_schema:type_name -> tabletmanagerdata.SchemaDefinition
- 128, // 4: tabletmanagerdata.UserPermission.privileges:type_name -> tabletmanagerdata.UserPermission.PrivilegesEntry
- 129, // 5: tabletmanagerdata.DbPermission.privileges:type_name -> tabletmanagerdata.DbPermission.PrivilegesEntry
+ 136, // 4: tabletmanagerdata.UserPermission.privileges:type_name -> tabletmanagerdata.UserPermission.PrivilegesEntry
+ 137, // 5: tabletmanagerdata.DbPermission.privileges:type_name -> tabletmanagerdata.DbPermission.PrivilegesEntry
5, // 6: tabletmanagerdata.Permissions.user_permissions:type_name -> tabletmanagerdata.UserPermission
6, // 7: tabletmanagerdata.Permissions.db_permissions:type_name -> tabletmanagerdata.DbPermission
- 130, // 8: tabletmanagerdata.ExecuteHookRequest.extra_env:type_name -> tabletmanagerdata.ExecuteHookRequest.ExtraEnvEntry
+ 138, // 8: tabletmanagerdata.ExecuteHookRequest.extra_env:type_name -> tabletmanagerdata.ExecuteHookRequest.ExtraEnvEntry
3, // 9: tabletmanagerdata.GetSchemaResponse.schema_definition:type_name -> tabletmanagerdata.SchemaDefinition
7, // 10: tabletmanagerdata.GetPermissionsResponse.permissions:type_name -> tabletmanagerdata.Permissions
- 131, // 11: tabletmanagerdata.GetGlobalStatusVarsResponse.status_values:type_name -> tabletmanagerdata.GetGlobalStatusVarsResponse.StatusValuesEntry
- 145, // 12: tabletmanagerdata.ChangeTypeRequest.tablet_type:type_name -> topodata.TabletType
+ 139, // 11: tabletmanagerdata.GetGlobalStatusVarsResponse.status_values:type_name -> tabletmanagerdata.GetGlobalStatusVarsResponse.StatusValuesEntry
+ 155, // 12: tabletmanagerdata.ChangeTypeRequest.tablet_type:type_name -> topodata.TabletType
4, // 13: tabletmanagerdata.PreflightSchemaResponse.change_results:type_name -> tabletmanagerdata.SchemaChangeResult
3, // 14: tabletmanagerdata.ApplySchemaRequest.before_schema:type_name -> tabletmanagerdata.SchemaDefinition
3, // 15: tabletmanagerdata.ApplySchemaRequest.after_schema:type_name -> tabletmanagerdata.SchemaDefinition
3, // 16: tabletmanagerdata.ApplySchemaResponse.before_schema:type_name -> tabletmanagerdata.SchemaDefinition
3, // 17: tabletmanagerdata.ApplySchemaResponse.after_schema:type_name -> tabletmanagerdata.SchemaDefinition
- 146, // 18: tabletmanagerdata.ExecuteQueryRequest.caller_id:type_name -> vtrpc.CallerID
- 147, // 19: tabletmanagerdata.ExecuteQueryResponse.result:type_name -> query.QueryResult
- 147, // 20: tabletmanagerdata.ExecuteFetchAsDbaResponse.result:type_name -> query.QueryResult
- 147, // 21: tabletmanagerdata.ExecuteMultiFetchAsDbaResponse.results:type_name -> query.QueryResult
- 147, // 22: tabletmanagerdata.ExecuteFetchAsAllPrivsResponse.result:type_name -> query.QueryResult
- 147, // 23: tabletmanagerdata.ExecuteFetchAsAppResponse.result:type_name -> query.QueryResult
- 148, // 24: tabletmanagerdata.ReplicationStatusResponse.status:type_name -> replicationdata.Status
- 149, // 25: tabletmanagerdata.PrimaryStatusResponse.status:type_name -> replicationdata.PrimaryStatus
- 147, // 26: tabletmanagerdata.VReplicationExecResponse.result:type_name -> query.QueryResult
- 150, // 27: tabletmanagerdata.PopulateReparentJournalRequest.primary_alias:type_name -> topodata.TabletAlias
- 150, // 28: tabletmanagerdata.InitReplicaRequest.parent:type_name -> topodata.TabletAlias
- 149, // 29: tabletmanagerdata.DemotePrimaryResponse.primary_status:type_name -> replicationdata.PrimaryStatus
- 151, // 30: tabletmanagerdata.FullStatusResponse.status:type_name -> replicationdata.FullStatus
- 150, // 31: tabletmanagerdata.SetReplicationSourceRequest.parent:type_name -> topodata.TabletAlias
- 150, // 32: tabletmanagerdata.ReplicaWasRestartedRequest.parent:type_name -> topodata.TabletAlias
- 152, // 33: tabletmanagerdata.StopReplicationAndGetStatusRequest.stop_replication_mode:type_name -> replicationdata.StopReplicationMode
- 153, // 34: tabletmanagerdata.StopReplicationAndGetStatusResponse.status:type_name -> replicationdata.StopReplicationStatus
- 154, // 35: tabletmanagerdata.BackupResponse.event:type_name -> logutil.Event
- 155, // 36: tabletmanagerdata.RestoreFromBackupRequest.backup_time:type_name -> vttime.Time
- 155, // 37: tabletmanagerdata.RestoreFromBackupRequest.restore_to_timestamp:type_name -> vttime.Time
- 154, // 38: tabletmanagerdata.RestoreFromBackupResponse.event:type_name -> logutil.Event
- 156, // 39: tabletmanagerdata.CreateVReplicationWorkflowRequest.binlog_source:type_name -> binlogdata.BinlogSource
- 145, // 40: tabletmanagerdata.CreateVReplicationWorkflowRequest.tablet_types:type_name -> topodata.TabletType
- 0, // 41: tabletmanagerdata.CreateVReplicationWorkflowRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
- 157, // 42: tabletmanagerdata.CreateVReplicationWorkflowRequest.workflow_type:type_name -> binlogdata.VReplicationWorkflowType
- 158, // 43: tabletmanagerdata.CreateVReplicationWorkflowRequest.workflow_sub_type:type_name -> binlogdata.VReplicationWorkflowSubType
- 147, // 44: tabletmanagerdata.CreateVReplicationWorkflowResponse.result:type_name -> query.QueryResult
- 147, // 45: tabletmanagerdata.DeleteVReplicationWorkflowResponse.result:type_name -> query.QueryResult
- 159, // 46: tabletmanagerdata.ReadVReplicationWorkflowsRequest.include_states:type_name -> binlogdata.VReplicationWorkflowState
- 159, // 47: tabletmanagerdata.ReadVReplicationWorkflowsRequest.exclude_states:type_name -> binlogdata.VReplicationWorkflowState
- 111, // 48: tabletmanagerdata.ReadVReplicationWorkflowsResponse.workflows:type_name -> tabletmanagerdata.ReadVReplicationWorkflowResponse
- 145, // 49: tabletmanagerdata.ReadVReplicationWorkflowResponse.tablet_types:type_name -> topodata.TabletType
- 0, // 50: tabletmanagerdata.ReadVReplicationWorkflowResponse.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
- 157, // 51: tabletmanagerdata.ReadVReplicationWorkflowResponse.workflow_type:type_name -> binlogdata.VReplicationWorkflowType
- 158, // 52: tabletmanagerdata.ReadVReplicationWorkflowResponse.workflow_sub_type:type_name -> binlogdata.VReplicationWorkflowSubType
- 132, // 53: tabletmanagerdata.ReadVReplicationWorkflowResponse.streams:type_name -> tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream
- 117, // 54: tabletmanagerdata.VDiffRequest.options:type_name -> tabletmanagerdata.VDiffOptions
- 147, // 55: tabletmanagerdata.VDiffResponse.output:type_name -> query.QueryResult
- 114, // 56: tabletmanagerdata.VDiffOptions.picker_options:type_name -> tabletmanagerdata.VDiffPickerOptions
- 116, // 57: tabletmanagerdata.VDiffOptions.core_options:type_name -> tabletmanagerdata.VDiffCoreOptions
- 115, // 58: tabletmanagerdata.VDiffOptions.report_options:type_name -> tabletmanagerdata.VDiffReportOptions
- 145, // 59: tabletmanagerdata.UpdateVReplicationWorkflowRequest.tablet_types:type_name -> topodata.TabletType
- 0, // 60: tabletmanagerdata.UpdateVReplicationWorkflowRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
- 160, // 61: tabletmanagerdata.UpdateVReplicationWorkflowRequest.on_ddl:type_name -> binlogdata.OnDDLAction
- 159, // 62: tabletmanagerdata.UpdateVReplicationWorkflowRequest.state:type_name -> binlogdata.VReplicationWorkflowState
- 147, // 63: tabletmanagerdata.UpdateVReplicationWorkflowResponse.result:type_name -> query.QueryResult
- 159, // 64: tabletmanagerdata.UpdateVReplicationWorkflowsRequest.state:type_name -> binlogdata.VReplicationWorkflowState
- 147, // 65: tabletmanagerdata.UpdateVReplicationWorkflowsResponse.result:type_name -> query.QueryResult
- 134, // 66: tabletmanagerdata.CheckThrottlerResponse.metrics:type_name -> tabletmanagerdata.CheckThrottlerResponse.MetricsEntry
- 1, // 67: tabletmanagerdata.CheckThrottlerResponse.response_code:type_name -> tabletmanagerdata.CheckThrottlerResponseCode
- 136, // 68: tabletmanagerdata.GetThrottlerStatusResponse.aggregated_metrics:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.AggregatedMetricsEntry
- 137, // 69: tabletmanagerdata.GetThrottlerStatusResponse.metric_thresholds:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.MetricThresholdsEntry
- 139, // 70: tabletmanagerdata.GetThrottlerStatusResponse.metrics_health:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.MetricsHealthEntry
- 140, // 71: tabletmanagerdata.GetThrottlerStatusResponse.throttled_apps:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.ThrottledAppsEntry
- 141, // 72: tabletmanagerdata.GetThrottlerStatusResponse.app_checked_metrics:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.AppCheckedMetricsEntry
- 143, // 73: tabletmanagerdata.GetThrottlerStatusResponse.recent_apps:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.RecentAppsEntry
- 156, // 74: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.bls:type_name -> binlogdata.BinlogSource
- 155, // 75: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.time_updated:type_name -> vttime.Time
- 155, // 76: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.transaction_timestamp:type_name -> vttime.Time
- 159, // 77: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.state:type_name -> binlogdata.VReplicationWorkflowState
- 155, // 78: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.time_heartbeat:type_name -> vttime.Time
- 155, // 79: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.time_throttled:type_name -> vttime.Time
- 1, // 80: tabletmanagerdata.CheckThrottlerResponse.Metric.response_code:type_name -> tabletmanagerdata.CheckThrottlerResponseCode
- 133, // 81: tabletmanagerdata.CheckThrottlerResponse.MetricsEntry.value:type_name -> tabletmanagerdata.CheckThrottlerResponse.Metric
- 135, // 82: tabletmanagerdata.GetThrottlerStatusResponse.AggregatedMetricsEntry.value:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.MetricResult
- 155, // 83: tabletmanagerdata.GetThrottlerStatusResponse.MetricHealth.last_healthy_at:type_name -> vttime.Time
- 138, // 84: tabletmanagerdata.GetThrottlerStatusResponse.MetricsHealthEntry.value:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.MetricHealth
- 161, // 85: tabletmanagerdata.GetThrottlerStatusResponse.ThrottledAppsEntry.value:type_name -> topodata.ThrottledAppRule
- 155, // 86: tabletmanagerdata.GetThrottlerStatusResponse.RecentApp.checked_at:type_name -> vttime.Time
- 1, // 87: tabletmanagerdata.GetThrottlerStatusResponse.RecentApp.response_code:type_name -> tabletmanagerdata.CheckThrottlerResponseCode
- 142, // 88: tabletmanagerdata.GetThrottlerStatusResponse.RecentAppsEntry.value:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.RecentApp
- 89, // [89:89] is the sub-list for method output_type
- 89, // [89:89] is the sub-list for method input_type
- 89, // [89:89] is the sub-list for extension type_name
- 89, // [89:89] is the sub-list for extension extendee
- 0, // [0:89] is the sub-list for field type_name
+ 156, // 18: tabletmanagerdata.ExecuteQueryRequest.caller_id:type_name -> vtrpc.CallerID
+ 157, // 19: tabletmanagerdata.ExecuteQueryResponse.result:type_name -> query.QueryResult
+ 157, // 20: tabletmanagerdata.ExecuteFetchAsDbaResponse.result:type_name -> query.QueryResult
+ 157, // 21: tabletmanagerdata.ExecuteMultiFetchAsDbaResponse.results:type_name -> query.QueryResult
+ 157, // 22: tabletmanagerdata.ExecuteFetchAsAllPrivsResponse.result:type_name -> query.QueryResult
+ 157, // 23: tabletmanagerdata.ExecuteFetchAsAppResponse.result:type_name -> query.QueryResult
+ 158, // 24: tabletmanagerdata.GetUnresolvedTransactionsResponse.transactions:type_name -> query.TransactionMetadata
+ 158, // 25: tabletmanagerdata.ReadTransactionResponse.transaction:type_name -> query.TransactionMetadata
+ 159, // 26: tabletmanagerdata.ReplicationStatusResponse.status:type_name -> replicationdata.Status
+ 160, // 27: tabletmanagerdata.PrimaryStatusResponse.status:type_name -> replicationdata.PrimaryStatus
+ 157, // 28: tabletmanagerdata.VReplicationExecResponse.result:type_name -> query.QueryResult
+ 161, // 29: tabletmanagerdata.PopulateReparentJournalRequest.primary_alias:type_name -> topodata.TabletAlias
+ 161, // 30: tabletmanagerdata.InitReplicaRequest.parent:type_name -> topodata.TabletAlias
+ 160, // 31: tabletmanagerdata.DemotePrimaryResponse.primary_status:type_name -> replicationdata.PrimaryStatus
+ 162, // 32: tabletmanagerdata.FullStatusResponse.status:type_name -> replicationdata.FullStatus
+ 161, // 33: tabletmanagerdata.SetReplicationSourceRequest.parent:type_name -> topodata.TabletAlias
+ 161, // 34: tabletmanagerdata.ReplicaWasRestartedRequest.parent:type_name -> topodata.TabletAlias
+ 163, // 35: tabletmanagerdata.StopReplicationAndGetStatusRequest.stop_replication_mode:type_name -> replicationdata.StopReplicationMode
+ 164, // 36: tabletmanagerdata.StopReplicationAndGetStatusResponse.status:type_name -> replicationdata.StopReplicationStatus
+ 165, // 37: tabletmanagerdata.BackupResponse.event:type_name -> logutil.Event
+ 166, // 38: tabletmanagerdata.RestoreFromBackupRequest.backup_time:type_name -> vttime.Time
+ 166, // 39: tabletmanagerdata.RestoreFromBackupRequest.restore_to_timestamp:type_name -> vttime.Time
+ 165, // 40: tabletmanagerdata.RestoreFromBackupResponse.event:type_name -> logutil.Event
+ 167, // 41: tabletmanagerdata.CreateVReplicationWorkflowRequest.binlog_source:type_name -> binlogdata.BinlogSource
+ 155, // 42: tabletmanagerdata.CreateVReplicationWorkflowRequest.tablet_types:type_name -> topodata.TabletType
+ 0, // 43: tabletmanagerdata.CreateVReplicationWorkflowRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
+ 168, // 44: tabletmanagerdata.CreateVReplicationWorkflowRequest.workflow_type:type_name -> binlogdata.VReplicationWorkflowType
+ 169, // 45: tabletmanagerdata.CreateVReplicationWorkflowRequest.workflow_sub_type:type_name -> binlogdata.VReplicationWorkflowSubType
+ 157, // 46: tabletmanagerdata.CreateVReplicationWorkflowResponse.result:type_name -> query.QueryResult
+ 157, // 47: tabletmanagerdata.DeleteVReplicationWorkflowResponse.result:type_name -> query.QueryResult
+ 170, // 48: tabletmanagerdata.ReadVReplicationWorkflowsRequest.include_states:type_name -> binlogdata.VReplicationWorkflowState
+ 170, // 49: tabletmanagerdata.ReadVReplicationWorkflowsRequest.exclude_states:type_name -> binlogdata.VReplicationWorkflowState
+ 117, // 50: tabletmanagerdata.ReadVReplicationWorkflowsResponse.workflows:type_name -> tabletmanagerdata.ReadVReplicationWorkflowResponse
+ 155, // 51: tabletmanagerdata.ReadVReplicationWorkflowResponse.tablet_types:type_name -> topodata.TabletType
+ 0, // 52: tabletmanagerdata.ReadVReplicationWorkflowResponse.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
+ 168, // 53: tabletmanagerdata.ReadVReplicationWorkflowResponse.workflow_type:type_name -> binlogdata.VReplicationWorkflowType
+ 169, // 54: tabletmanagerdata.ReadVReplicationWorkflowResponse.workflow_sub_type:type_name -> binlogdata.VReplicationWorkflowSubType
+ 140, // 55: tabletmanagerdata.ReadVReplicationWorkflowResponse.streams:type_name -> tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream
+ 141, // 56: tabletmanagerdata.ReadVReplicationWorkflowResponse.config_overrides:type_name -> tabletmanagerdata.ReadVReplicationWorkflowResponse.ConfigOverridesEntry
+ 125, // 57: tabletmanagerdata.VDiffRequest.options:type_name -> tabletmanagerdata.VDiffOptions
+ 157, // 58: tabletmanagerdata.VDiffResponse.output:type_name -> query.QueryResult
+ 122, // 59: tabletmanagerdata.VDiffOptions.picker_options:type_name -> tabletmanagerdata.VDiffPickerOptions
+ 124, // 60: tabletmanagerdata.VDiffOptions.core_options:type_name -> tabletmanagerdata.VDiffCoreOptions
+ 123, // 61: tabletmanagerdata.VDiffOptions.report_options:type_name -> tabletmanagerdata.VDiffReportOptions
+ 155, // 62: tabletmanagerdata.UpdateVReplicationWorkflowRequest.tablet_types:type_name -> topodata.TabletType
+ 0, // 63: tabletmanagerdata.UpdateVReplicationWorkflowRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
+ 171, // 64: tabletmanagerdata.UpdateVReplicationWorkflowRequest.on_ddl:type_name -> binlogdata.OnDDLAction
+ 170, // 65: tabletmanagerdata.UpdateVReplicationWorkflowRequest.state:type_name -> binlogdata.VReplicationWorkflowState
+ 142, // 66: tabletmanagerdata.UpdateVReplicationWorkflowRequest.config_overrides:type_name -> tabletmanagerdata.UpdateVReplicationWorkflowRequest.ConfigOverridesEntry
+ 157, // 67: tabletmanagerdata.UpdateVReplicationWorkflowResponse.result:type_name -> query.QueryResult
+ 170, // 68: tabletmanagerdata.UpdateVReplicationWorkflowsRequest.state:type_name -> binlogdata.VReplicationWorkflowState
+ 157, // 69: tabletmanagerdata.UpdateVReplicationWorkflowsResponse.result:type_name -> query.QueryResult
+ 144, // 70: tabletmanagerdata.CheckThrottlerResponse.metrics:type_name -> tabletmanagerdata.CheckThrottlerResponse.MetricsEntry
+ 1, // 71: tabletmanagerdata.CheckThrottlerResponse.response_code:type_name -> tabletmanagerdata.CheckThrottlerResponseCode
+ 146, // 72: tabletmanagerdata.GetThrottlerStatusResponse.aggregated_metrics:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.AggregatedMetricsEntry
+ 147, // 73: tabletmanagerdata.GetThrottlerStatusResponse.metric_thresholds:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.MetricThresholdsEntry
+ 149, // 74: tabletmanagerdata.GetThrottlerStatusResponse.metrics_health:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.MetricsHealthEntry
+ 150, // 75: tabletmanagerdata.GetThrottlerStatusResponse.throttled_apps:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.ThrottledAppsEntry
+ 151, // 76: tabletmanagerdata.GetThrottlerStatusResponse.app_checked_metrics:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.AppCheckedMetricsEntry
+ 153, // 77: tabletmanagerdata.GetThrottlerStatusResponse.recent_apps:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.RecentAppsEntry
+ 167, // 78: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.bls:type_name -> binlogdata.BinlogSource
+ 166, // 79: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.time_updated:type_name -> vttime.Time
+ 166, // 80: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.transaction_timestamp:type_name -> vttime.Time
+ 170, // 81: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.state:type_name -> binlogdata.VReplicationWorkflowState
+ 166, // 82: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.time_heartbeat:type_name -> vttime.Time
+ 166, // 83: tabletmanagerdata.ReadVReplicationWorkflowResponse.Stream.time_throttled:type_name -> vttime.Time
+ 1, // 84: tabletmanagerdata.CheckThrottlerResponse.Metric.response_code:type_name -> tabletmanagerdata.CheckThrottlerResponseCode
+ 143, // 85: tabletmanagerdata.CheckThrottlerResponse.MetricsEntry.value:type_name -> tabletmanagerdata.CheckThrottlerResponse.Metric
+ 145, // 86: tabletmanagerdata.GetThrottlerStatusResponse.AggregatedMetricsEntry.value:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.MetricResult
+ 166, // 87: tabletmanagerdata.GetThrottlerStatusResponse.MetricHealth.last_healthy_at:type_name -> vttime.Time
+ 148, // 88: tabletmanagerdata.GetThrottlerStatusResponse.MetricsHealthEntry.value:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.MetricHealth
+ 172, // 89: tabletmanagerdata.GetThrottlerStatusResponse.ThrottledAppsEntry.value:type_name -> topodata.ThrottledAppRule
+ 166, // 90: tabletmanagerdata.GetThrottlerStatusResponse.RecentApp.checked_at:type_name -> vttime.Time
+ 1, // 91: tabletmanagerdata.GetThrottlerStatusResponse.RecentApp.response_code:type_name -> tabletmanagerdata.CheckThrottlerResponseCode
+ 152, // 92: tabletmanagerdata.GetThrottlerStatusResponse.RecentAppsEntry.value:type_name -> tabletmanagerdata.GetThrottlerStatusResponse.RecentApp
+ 93, // [93:93] is the sub-list for method output_type
+ 93, // [93:93] is the sub-list for method input_type
+ 93, // [93:93] is the sub-list for extension type_name
+ 93, // [93:93] is the sub-list for extension extendee
+ 0, // [0:93] is the sub-list for field type_name
}
func init() { file_tabletmanagerdata_proto_init() }
@@ -9375,7 +9869,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[48].Exporter = func(v any, i int) any {
- switch v := v.(*ReplicationStatusRequest); i {
+ switch v := v.(*GetUnresolvedTransactionsRequest); i {
case 0:
return &v.state
case 1:
@@ -9387,7 +9881,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[49].Exporter = func(v any, i int) any {
- switch v := v.(*ReplicationStatusResponse); i {
+ switch v := v.(*GetUnresolvedTransactionsResponse); i {
case 0:
return &v.state
case 1:
@@ -9399,7 +9893,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[50].Exporter = func(v any, i int) any {
- switch v := v.(*PrimaryStatusRequest); i {
+ switch v := v.(*ReadTransactionRequest); i {
case 0:
return &v.state
case 1:
@@ -9411,7 +9905,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[51].Exporter = func(v any, i int) any {
- switch v := v.(*PrimaryStatusResponse); i {
+ switch v := v.(*ReadTransactionResponse); i {
case 0:
return &v.state
case 1:
@@ -9423,7 +9917,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[52].Exporter = func(v any, i int) any {
- switch v := v.(*PrimaryPositionRequest); i {
+ switch v := v.(*ConcludeTransactionRequest); i {
case 0:
return &v.state
case 1:
@@ -9435,7 +9929,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[53].Exporter = func(v any, i int) any {
- switch v := v.(*PrimaryPositionResponse); i {
+ switch v := v.(*ConcludeTransactionResponse); i {
case 0:
return &v.state
case 1:
@@ -9447,7 +9941,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[54].Exporter = func(v any, i int) any {
- switch v := v.(*WaitForPositionRequest); i {
+ switch v := v.(*ReplicationStatusRequest); i {
case 0:
return &v.state
case 1:
@@ -9459,7 +9953,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[55].Exporter = func(v any, i int) any {
- switch v := v.(*WaitForPositionResponse); i {
+ switch v := v.(*ReplicationStatusResponse); i {
case 0:
return &v.state
case 1:
@@ -9471,7 +9965,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[56].Exporter = func(v any, i int) any {
- switch v := v.(*StopReplicationRequest); i {
+ switch v := v.(*PrimaryStatusRequest); i {
case 0:
return &v.state
case 1:
@@ -9483,7 +9977,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[57].Exporter = func(v any, i int) any {
- switch v := v.(*StopReplicationResponse); i {
+ switch v := v.(*PrimaryStatusResponse); i {
case 0:
return &v.state
case 1:
@@ -9495,7 +9989,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[58].Exporter = func(v any, i int) any {
- switch v := v.(*StopReplicationMinimumRequest); i {
+ switch v := v.(*PrimaryPositionRequest); i {
case 0:
return &v.state
case 1:
@@ -9507,7 +10001,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[59].Exporter = func(v any, i int) any {
- switch v := v.(*StopReplicationMinimumResponse); i {
+ switch v := v.(*PrimaryPositionResponse); i {
case 0:
return &v.state
case 1:
@@ -9519,7 +10013,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[60].Exporter = func(v any, i int) any {
- switch v := v.(*StartReplicationRequest); i {
+ switch v := v.(*WaitForPositionRequest); i {
case 0:
return &v.state
case 1:
@@ -9531,7 +10025,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[61].Exporter = func(v any, i int) any {
- switch v := v.(*StartReplicationResponse); i {
+ switch v := v.(*WaitForPositionResponse); i {
case 0:
return &v.state
case 1:
@@ -9543,7 +10037,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[62].Exporter = func(v any, i int) any {
- switch v := v.(*StartReplicationUntilAfterRequest); i {
+ switch v := v.(*StopReplicationRequest); i {
case 0:
return &v.state
case 1:
@@ -9555,7 +10049,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[63].Exporter = func(v any, i int) any {
- switch v := v.(*StartReplicationUntilAfterResponse); i {
+ switch v := v.(*StopReplicationResponse); i {
case 0:
return &v.state
case 1:
@@ -9567,7 +10061,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[64].Exporter = func(v any, i int) any {
- switch v := v.(*GetReplicasRequest); i {
+ switch v := v.(*StopReplicationMinimumRequest); i {
case 0:
return &v.state
case 1:
@@ -9579,7 +10073,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[65].Exporter = func(v any, i int) any {
- switch v := v.(*GetReplicasResponse); i {
+ switch v := v.(*StopReplicationMinimumResponse); i {
case 0:
return &v.state
case 1:
@@ -9591,7 +10085,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[66].Exporter = func(v any, i int) any {
- switch v := v.(*ResetReplicationRequest); i {
+ switch v := v.(*StartReplicationRequest); i {
case 0:
return &v.state
case 1:
@@ -9603,7 +10097,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[67].Exporter = func(v any, i int) any {
- switch v := v.(*ResetReplicationResponse); i {
+ switch v := v.(*StartReplicationResponse); i {
case 0:
return &v.state
case 1:
@@ -9615,7 +10109,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[68].Exporter = func(v any, i int) any {
- switch v := v.(*VReplicationExecRequest); i {
+ switch v := v.(*StartReplicationUntilAfterRequest); i {
case 0:
return &v.state
case 1:
@@ -9627,7 +10121,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[69].Exporter = func(v any, i int) any {
- switch v := v.(*VReplicationExecResponse); i {
+ switch v := v.(*StartReplicationUntilAfterResponse); i {
case 0:
return &v.state
case 1:
@@ -9639,7 +10133,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[70].Exporter = func(v any, i int) any {
- switch v := v.(*VReplicationWaitForPosRequest); i {
+ switch v := v.(*GetReplicasRequest); i {
case 0:
return &v.state
case 1:
@@ -9651,7 +10145,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[71].Exporter = func(v any, i int) any {
- switch v := v.(*VReplicationWaitForPosResponse); i {
+ switch v := v.(*GetReplicasResponse); i {
case 0:
return &v.state
case 1:
@@ -9663,7 +10157,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[72].Exporter = func(v any, i int) any {
- switch v := v.(*InitPrimaryRequest); i {
+ switch v := v.(*ResetReplicationRequest); i {
case 0:
return &v.state
case 1:
@@ -9675,7 +10169,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[73].Exporter = func(v any, i int) any {
- switch v := v.(*InitPrimaryResponse); i {
+ switch v := v.(*ResetReplicationResponse); i {
case 0:
return &v.state
case 1:
@@ -9687,7 +10181,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[74].Exporter = func(v any, i int) any {
- switch v := v.(*PopulateReparentJournalRequest); i {
+ switch v := v.(*VReplicationExecRequest); i {
case 0:
return &v.state
case 1:
@@ -9699,7 +10193,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[75].Exporter = func(v any, i int) any {
- switch v := v.(*PopulateReparentJournalResponse); i {
+ switch v := v.(*VReplicationExecResponse); i {
case 0:
return &v.state
case 1:
@@ -9711,7 +10205,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[76].Exporter = func(v any, i int) any {
- switch v := v.(*InitReplicaRequest); i {
+ switch v := v.(*VReplicationWaitForPosRequest); i {
case 0:
return &v.state
case 1:
@@ -9723,7 +10217,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[77].Exporter = func(v any, i int) any {
- switch v := v.(*InitReplicaResponse); i {
+ switch v := v.(*VReplicationWaitForPosResponse); i {
case 0:
return &v.state
case 1:
@@ -9735,7 +10229,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[78].Exporter = func(v any, i int) any {
- switch v := v.(*DemotePrimaryRequest); i {
+ switch v := v.(*InitPrimaryRequest); i {
case 0:
return &v.state
case 1:
@@ -9747,7 +10241,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[79].Exporter = func(v any, i int) any {
- switch v := v.(*DemotePrimaryResponse); i {
+ switch v := v.(*InitPrimaryResponse); i {
case 0:
return &v.state
case 1:
@@ -9759,7 +10253,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[80].Exporter = func(v any, i int) any {
- switch v := v.(*UndoDemotePrimaryRequest); i {
+ switch v := v.(*PopulateReparentJournalRequest); i {
case 0:
return &v.state
case 1:
@@ -9771,7 +10265,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[81].Exporter = func(v any, i int) any {
- switch v := v.(*UndoDemotePrimaryResponse); i {
+ switch v := v.(*PopulateReparentJournalResponse); i {
case 0:
return &v.state
case 1:
@@ -9783,7 +10277,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[82].Exporter = func(v any, i int) any {
- switch v := v.(*ReplicaWasPromotedRequest); i {
+ switch v := v.(*InitReplicaRequest); i {
case 0:
return &v.state
case 1:
@@ -9795,7 +10289,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[83].Exporter = func(v any, i int) any {
- switch v := v.(*ReplicaWasPromotedResponse); i {
+ switch v := v.(*InitReplicaResponse); i {
case 0:
return &v.state
case 1:
@@ -9807,7 +10301,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[84].Exporter = func(v any, i int) any {
- switch v := v.(*ResetReplicationParametersRequest); i {
+ switch v := v.(*DemotePrimaryRequest); i {
case 0:
return &v.state
case 1:
@@ -9819,7 +10313,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[85].Exporter = func(v any, i int) any {
- switch v := v.(*ResetReplicationParametersResponse); i {
+ switch v := v.(*DemotePrimaryResponse); i {
case 0:
return &v.state
case 1:
@@ -9831,7 +10325,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[86].Exporter = func(v any, i int) any {
- switch v := v.(*FullStatusRequest); i {
+ switch v := v.(*UndoDemotePrimaryRequest); i {
case 0:
return &v.state
case 1:
@@ -9843,7 +10337,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[87].Exporter = func(v any, i int) any {
- switch v := v.(*FullStatusResponse); i {
+ switch v := v.(*UndoDemotePrimaryResponse); i {
case 0:
return &v.state
case 1:
@@ -9855,7 +10349,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[88].Exporter = func(v any, i int) any {
- switch v := v.(*SetReplicationSourceRequest); i {
+ switch v := v.(*ReplicaWasPromotedRequest); i {
case 0:
return &v.state
case 1:
@@ -9867,7 +10361,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[89].Exporter = func(v any, i int) any {
- switch v := v.(*SetReplicationSourceResponse); i {
+ switch v := v.(*ReplicaWasPromotedResponse); i {
case 0:
return &v.state
case 1:
@@ -9879,7 +10373,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[90].Exporter = func(v any, i int) any {
- switch v := v.(*ReplicaWasRestartedRequest); i {
+ switch v := v.(*ResetReplicationParametersRequest); i {
case 0:
return &v.state
case 1:
@@ -9891,7 +10385,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[91].Exporter = func(v any, i int) any {
- switch v := v.(*ReplicaWasRestartedResponse); i {
+ switch v := v.(*ResetReplicationParametersResponse); i {
case 0:
return &v.state
case 1:
@@ -9903,7 +10397,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[92].Exporter = func(v any, i int) any {
- switch v := v.(*StopReplicationAndGetStatusRequest); i {
+ switch v := v.(*FullStatusRequest); i {
case 0:
return &v.state
case 1:
@@ -9915,7 +10409,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[93].Exporter = func(v any, i int) any {
- switch v := v.(*StopReplicationAndGetStatusResponse); i {
+ switch v := v.(*FullStatusResponse); i {
case 0:
return &v.state
case 1:
@@ -9927,7 +10421,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[94].Exporter = func(v any, i int) any {
- switch v := v.(*PromoteReplicaRequest); i {
+ switch v := v.(*SetReplicationSourceRequest); i {
case 0:
return &v.state
case 1:
@@ -9939,7 +10433,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[95].Exporter = func(v any, i int) any {
- switch v := v.(*PromoteReplicaResponse); i {
+ switch v := v.(*SetReplicationSourceResponse); i {
case 0:
return &v.state
case 1:
@@ -9951,7 +10445,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[96].Exporter = func(v any, i int) any {
- switch v := v.(*BackupRequest); i {
+ switch v := v.(*ReplicaWasRestartedRequest); i {
case 0:
return &v.state
case 1:
@@ -9963,7 +10457,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[97].Exporter = func(v any, i int) any {
- switch v := v.(*BackupResponse); i {
+ switch v := v.(*ReplicaWasRestartedResponse); i {
case 0:
return &v.state
case 1:
@@ -9975,7 +10469,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[98].Exporter = func(v any, i int) any {
- switch v := v.(*RestoreFromBackupRequest); i {
+ switch v := v.(*StopReplicationAndGetStatusRequest); i {
case 0:
return &v.state
case 1:
@@ -9987,7 +10481,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[99].Exporter = func(v any, i int) any {
- switch v := v.(*RestoreFromBackupResponse); i {
+ switch v := v.(*StopReplicationAndGetStatusResponse); i {
case 0:
return &v.state
case 1:
@@ -9999,7 +10493,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[100].Exporter = func(v any, i int) any {
- switch v := v.(*CreateVReplicationWorkflowRequest); i {
+ switch v := v.(*PromoteReplicaRequest); i {
case 0:
return &v.state
case 1:
@@ -10011,7 +10505,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[101].Exporter = func(v any, i int) any {
- switch v := v.(*CreateVReplicationWorkflowResponse); i {
+ switch v := v.(*PromoteReplicaResponse); i {
case 0:
return &v.state
case 1:
@@ -10023,7 +10517,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[102].Exporter = func(v any, i int) any {
- switch v := v.(*DeleteVReplicationWorkflowRequest); i {
+ switch v := v.(*BackupRequest); i {
case 0:
return &v.state
case 1:
@@ -10035,7 +10529,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[103].Exporter = func(v any, i int) any {
- switch v := v.(*DeleteVReplicationWorkflowResponse); i {
+ switch v := v.(*BackupResponse); i {
case 0:
return &v.state
case 1:
@@ -10047,7 +10541,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[104].Exporter = func(v any, i int) any {
- switch v := v.(*HasVReplicationWorkflowsRequest); i {
+ switch v := v.(*RestoreFromBackupRequest); i {
case 0:
return &v.state
case 1:
@@ -10059,7 +10553,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[105].Exporter = func(v any, i int) any {
- switch v := v.(*HasVReplicationWorkflowsResponse); i {
+ switch v := v.(*RestoreFromBackupResponse); i {
case 0:
return &v.state
case 1:
@@ -10071,7 +10565,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[106].Exporter = func(v any, i int) any {
- switch v := v.(*ReadVReplicationWorkflowsRequest); i {
+ switch v := v.(*CreateVReplicationWorkflowRequest); i {
case 0:
return &v.state
case 1:
@@ -10083,7 +10577,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[107].Exporter = func(v any, i int) any {
- switch v := v.(*ReadVReplicationWorkflowsResponse); i {
+ switch v := v.(*CreateVReplicationWorkflowResponse); i {
case 0:
return &v.state
case 1:
@@ -10095,7 +10589,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[108].Exporter = func(v any, i int) any {
- switch v := v.(*ReadVReplicationWorkflowRequest); i {
+ switch v := v.(*DeleteVReplicationWorkflowRequest); i {
case 0:
return &v.state
case 1:
@@ -10107,7 +10601,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[109].Exporter = func(v any, i int) any {
- switch v := v.(*ReadVReplicationWorkflowResponse); i {
+ switch v := v.(*DeleteVReplicationWorkflowResponse); i {
case 0:
return &v.state
case 1:
@@ -10119,7 +10613,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[110].Exporter = func(v any, i int) any {
- switch v := v.(*VDiffRequest); i {
+ switch v := v.(*HasVReplicationWorkflowsRequest); i {
case 0:
return &v.state
case 1:
@@ -10131,7 +10625,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[111].Exporter = func(v any, i int) any {
- switch v := v.(*VDiffResponse); i {
+ switch v := v.(*HasVReplicationWorkflowsResponse); i {
case 0:
return &v.state
case 1:
@@ -10143,7 +10637,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[112].Exporter = func(v any, i int) any {
- switch v := v.(*VDiffPickerOptions); i {
+ switch v := v.(*ReadVReplicationWorkflowsRequest); i {
case 0:
return &v.state
case 1:
@@ -10155,7 +10649,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[113].Exporter = func(v any, i int) any {
- switch v := v.(*VDiffReportOptions); i {
+ switch v := v.(*ReadVReplicationWorkflowsResponse); i {
case 0:
return &v.state
case 1:
@@ -10167,7 +10661,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[114].Exporter = func(v any, i int) any {
- switch v := v.(*VDiffCoreOptions); i {
+ switch v := v.(*ReadVReplicationWorkflowRequest); i {
case 0:
return &v.state
case 1:
@@ -10179,7 +10673,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[115].Exporter = func(v any, i int) any {
- switch v := v.(*VDiffOptions); i {
+ switch v := v.(*ReadVReplicationWorkflowResponse); i {
case 0:
return &v.state
case 1:
@@ -10191,7 +10685,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[116].Exporter = func(v any, i int) any {
- switch v := v.(*UpdateVReplicationWorkflowRequest); i {
+ switch v := v.(*ValidateVReplicationPermissionsRequest); i {
case 0:
return &v.state
case 1:
@@ -10203,7 +10697,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[117].Exporter = func(v any, i int) any {
- switch v := v.(*UpdateVReplicationWorkflowResponse); i {
+ switch v := v.(*ValidateVReplicationPermissionsResponse); i {
case 0:
return &v.state
case 1:
@@ -10215,7 +10709,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[118].Exporter = func(v any, i int) any {
- switch v := v.(*UpdateVReplicationWorkflowsRequest); i {
+ switch v := v.(*VDiffRequest); i {
case 0:
return &v.state
case 1:
@@ -10227,7 +10721,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[119].Exporter = func(v any, i int) any {
- switch v := v.(*UpdateVReplicationWorkflowsResponse); i {
+ switch v := v.(*VDiffResponse); i {
case 0:
return &v.state
case 1:
@@ -10239,7 +10733,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[120].Exporter = func(v any, i int) any {
- switch v := v.(*ResetSequencesRequest); i {
+ switch v := v.(*VDiffPickerOptions); i {
case 0:
return &v.state
case 1:
@@ -10251,7 +10745,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[121].Exporter = func(v any, i int) any {
- switch v := v.(*ResetSequencesResponse); i {
+ switch v := v.(*VDiffReportOptions); i {
case 0:
return &v.state
case 1:
@@ -10263,7 +10757,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[122].Exporter = func(v any, i int) any {
- switch v := v.(*CheckThrottlerRequest); i {
+ switch v := v.(*VDiffCoreOptions); i {
case 0:
return &v.state
case 1:
@@ -10275,7 +10769,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[123].Exporter = func(v any, i int) any {
- switch v := v.(*CheckThrottlerResponse); i {
+ switch v := v.(*VDiffOptions); i {
case 0:
return &v.state
case 1:
@@ -10287,7 +10781,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[124].Exporter = func(v any, i int) any {
- switch v := v.(*GetThrottlerStatusRequest); i {
+ switch v := v.(*UpdateVReplicationWorkflowRequest); i {
case 0:
return &v.state
case 1:
@@ -10299,7 +10793,55 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[125].Exporter = func(v any, i int) any {
- switch v := v.(*GetThrottlerStatusResponse); i {
+ switch v := v.(*UpdateVReplicationWorkflowResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_tabletmanagerdata_proto_msgTypes[126].Exporter = func(v any, i int) any {
+ switch v := v.(*UpdateVReplicationWorkflowsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_tabletmanagerdata_proto_msgTypes[127].Exporter = func(v any, i int) any {
+ switch v := v.(*UpdateVReplicationWorkflowsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_tabletmanagerdata_proto_msgTypes[128].Exporter = func(v any, i int) any {
+ switch v := v.(*ResetSequencesRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_tabletmanagerdata_proto_msgTypes[129].Exporter = func(v any, i int) any {
+ switch v := v.(*ResetSequencesResponse); i {
case 0:
return &v.state
case 1:
@@ -10311,7 +10853,7 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[130].Exporter = func(v any, i int) any {
- switch v := v.(*ReadVReplicationWorkflowResponse_Stream); i {
+ switch v := v.(*CheckThrottlerRequest); i {
case 0:
return &v.state
case 1:
@@ -10323,7 +10865,19 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[131].Exporter = func(v any, i int) any {
- switch v := v.(*CheckThrottlerResponse_Metric); i {
+ switch v := v.(*CheckThrottlerResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_tabletmanagerdata_proto_msgTypes[132].Exporter = func(v any, i int) any {
+ switch v := v.(*GetThrottlerStatusRequest); i {
case 0:
return &v.state
case 1:
@@ -10335,6 +10889,42 @@ func file_tabletmanagerdata_proto_init() {
}
}
file_tabletmanagerdata_proto_msgTypes[133].Exporter = func(v any, i int) any {
+ switch v := v.(*GetThrottlerStatusResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_tabletmanagerdata_proto_msgTypes[138].Exporter = func(v any, i int) any {
+ switch v := v.(*ReadVReplicationWorkflowResponse_Stream); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_tabletmanagerdata_proto_msgTypes[141].Exporter = func(v any, i int) any {
+ switch v := v.(*CheckThrottlerResponse_Metric); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_tabletmanagerdata_proto_msgTypes[143].Exporter = func(v any, i int) any {
switch v := v.(*GetThrottlerStatusResponse_MetricResult); i {
case 0:
return &v.state
@@ -10346,7 +10936,7 @@ func file_tabletmanagerdata_proto_init() {
return nil
}
}
- file_tabletmanagerdata_proto_msgTypes[136].Exporter = func(v any, i int) any {
+ file_tabletmanagerdata_proto_msgTypes[146].Exporter = func(v any, i int) any {
switch v := v.(*GetThrottlerStatusResponse_MetricHealth); i {
case 0:
return &v.state
@@ -10358,7 +10948,7 @@ func file_tabletmanagerdata_proto_init() {
return nil
}
}
- file_tabletmanagerdata_proto_msgTypes[140].Exporter = func(v any, i int) any {
+ file_tabletmanagerdata_proto_msgTypes[150].Exporter = func(v any, i int) any {
switch v := v.(*GetThrottlerStatusResponse_RecentApp); i {
case 0:
return &v.state
@@ -10371,13 +10961,16 @@ func file_tabletmanagerdata_proto_init() {
}
}
}
+ file_tabletmanagerdata_proto_msgTypes[122].OneofWrappers = []any{}
+ file_tabletmanagerdata_proto_msgTypes[124].OneofWrappers = []any{}
+ file_tabletmanagerdata_proto_msgTypes[126].OneofWrappers = []any{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_tabletmanagerdata_proto_rawDesc,
NumEnums: 2,
- NumMessages: 142,
+ NumMessages: 152,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go b/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go
index 343e96b59b5..4905ac65c1a 100644
--- a/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go
+++ b/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go
@@ -1,5 +1,5 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: tabletmanagerdata.proto
package tabletmanagerdata
@@ -7,11 +7,11 @@ package tabletmanagerdata
import (
binary "encoding/binary"
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
math "math"
- bits "math/bits"
binlogdata "vitess.io/vitess/go/vt/proto/binlogdata"
logutil "vitess.io/vitess/go/vt/proto/logutil"
query "vitess.io/vitess/go/vt/proto/query"
@@ -32,13 +32,12 @@ func (m *TableDefinition) CloneVT() *TableDefinition {
if m == nil {
return (*TableDefinition)(nil)
}
- r := &TableDefinition{
- Name: m.Name,
- Schema: m.Schema,
- Type: m.Type,
- DataLength: m.DataLength,
- RowCount: m.RowCount,
- }
+ r := new(TableDefinition)
+ r.Name = m.Name
+ r.Schema = m.Schema
+ r.Type = m.Type
+ r.DataLength = m.DataLength
+ r.RowCount = m.RowCount
if rhs := m.Columns; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -71,9 +70,8 @@ func (m *SchemaDefinition) CloneVT() *SchemaDefinition {
if m == nil {
return (*SchemaDefinition)(nil)
}
- r := &SchemaDefinition{
- DatabaseSchema: m.DatabaseSchema,
- }
+ r := new(SchemaDefinition)
+ r.DatabaseSchema = m.DatabaseSchema
if rhs := m.TableDefinitions; rhs != nil {
tmpContainer := make([]*TableDefinition, len(rhs))
for k, v := range rhs {
@@ -96,10 +94,9 @@ func (m *SchemaChangeResult) CloneVT() *SchemaChangeResult {
if m == nil {
return (*SchemaChangeResult)(nil)
}
- r := &SchemaChangeResult{
- BeforeSchema: m.BeforeSchema.CloneVT(),
- AfterSchema: m.AfterSchema.CloneVT(),
- }
+ r := new(SchemaChangeResult)
+ r.BeforeSchema = m.BeforeSchema.CloneVT()
+ r.AfterSchema = m.AfterSchema.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -115,11 +112,10 @@ func (m *UserPermission) CloneVT() *UserPermission {
if m == nil {
return (*UserPermission)(nil)
}
- r := &UserPermission{
- Host: m.Host,
- User: m.User,
- PasswordChecksum: m.PasswordChecksum,
- }
+ r := new(UserPermission)
+ r.Host = m.Host
+ r.User = m.User
+ r.PasswordChecksum = m.PasswordChecksum
if rhs := m.Privileges; rhs != nil {
tmpContainer := make(map[string]string, len(rhs))
for k, v := range rhs {
@@ -142,11 +138,10 @@ func (m *DbPermission) CloneVT() *DbPermission {
if m == nil {
return (*DbPermission)(nil)
}
- r := &DbPermission{
- Host: m.Host,
- Db: m.Db,
- User: m.User,
- }
+ r := new(DbPermission)
+ r.Host = m.Host
+ r.Db = m.Db
+ r.User = m.User
if rhs := m.Privileges; rhs != nil {
tmpContainer := make(map[string]string, len(rhs))
for k, v := range rhs {
@@ -169,7 +164,7 @@ func (m *Permissions) CloneVT() *Permissions {
if m == nil {
return (*Permissions)(nil)
}
- r := &Permissions{}
+ r := new(Permissions)
if rhs := m.UserPermissions; rhs != nil {
tmpContainer := make([]*UserPermission, len(rhs))
for k, v := range rhs {
@@ -199,9 +194,8 @@ func (m *PingRequest) CloneVT() *PingRequest {
if m == nil {
return (*PingRequest)(nil)
}
- r := &PingRequest{
- Payload: m.Payload,
- }
+ r := new(PingRequest)
+ r.Payload = m.Payload
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -217,9 +211,8 @@ func (m *PingResponse) CloneVT() *PingResponse {
if m == nil {
return (*PingResponse)(nil)
}
- r := &PingResponse{
- Payload: m.Payload,
- }
+ r := new(PingResponse)
+ r.Payload = m.Payload
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -235,9 +228,8 @@ func (m *SleepRequest) CloneVT() *SleepRequest {
if m == nil {
return (*SleepRequest)(nil)
}
- r := &SleepRequest{
- Duration: m.Duration,
- }
+ r := new(SleepRequest)
+ r.Duration = m.Duration
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -253,7 +245,7 @@ func (m *SleepResponse) CloneVT() *SleepResponse {
if m == nil {
return (*SleepResponse)(nil)
}
- r := &SleepResponse{}
+ r := new(SleepResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -269,9 +261,8 @@ func (m *ExecuteHookRequest) CloneVT() *ExecuteHookRequest {
if m == nil {
return (*ExecuteHookRequest)(nil)
}
- r := &ExecuteHookRequest{
- Name: m.Name,
- }
+ r := new(ExecuteHookRequest)
+ r.Name = m.Name
if rhs := m.Parameters; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -299,11 +290,10 @@ func (m *ExecuteHookResponse) CloneVT() *ExecuteHookResponse {
if m == nil {
return (*ExecuteHookResponse)(nil)
}
- r := &ExecuteHookResponse{
- ExitStatus: m.ExitStatus,
- Stdout: m.Stdout,
- Stderr: m.Stderr,
- }
+ r := new(ExecuteHookResponse)
+ r.ExitStatus = m.ExitStatus
+ r.Stdout = m.Stdout
+ r.Stderr = m.Stderr
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -319,10 +309,9 @@ func (m *GetSchemaRequest) CloneVT() *GetSchemaRequest {
if m == nil {
return (*GetSchemaRequest)(nil)
}
- r := &GetSchemaRequest{
- IncludeViews: m.IncludeViews,
- TableSchemaOnly: m.TableSchemaOnly,
- }
+ r := new(GetSchemaRequest)
+ r.IncludeViews = m.IncludeViews
+ r.TableSchemaOnly = m.TableSchemaOnly
if rhs := m.Tables; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -348,9 +337,8 @@ func (m *GetSchemaResponse) CloneVT() *GetSchemaResponse {
if m == nil {
return (*GetSchemaResponse)(nil)
}
- r := &GetSchemaResponse{
- SchemaDefinition: m.SchemaDefinition.CloneVT(),
- }
+ r := new(GetSchemaResponse)
+ r.SchemaDefinition = m.SchemaDefinition.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -366,7 +354,7 @@ func (m *GetPermissionsRequest) CloneVT() *GetPermissionsRequest {
if m == nil {
return (*GetPermissionsRequest)(nil)
}
- r := &GetPermissionsRequest{}
+ r := new(GetPermissionsRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -382,9 +370,8 @@ func (m *GetPermissionsResponse) CloneVT() *GetPermissionsResponse {
if m == nil {
return (*GetPermissionsResponse)(nil)
}
- r := &GetPermissionsResponse{
- Permissions: m.Permissions.CloneVT(),
- }
+ r := new(GetPermissionsResponse)
+ r.Permissions = m.Permissions.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -400,7 +387,7 @@ func (m *GetGlobalStatusVarsRequest) CloneVT() *GetGlobalStatusVarsRequest {
if m == nil {
return (*GetGlobalStatusVarsRequest)(nil)
}
- r := &GetGlobalStatusVarsRequest{}
+ r := new(GetGlobalStatusVarsRequest)
if rhs := m.Variables; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -421,7 +408,7 @@ func (m *GetGlobalStatusVarsResponse) CloneVT() *GetGlobalStatusVarsResponse {
if m == nil {
return (*GetGlobalStatusVarsResponse)(nil)
}
- r := &GetGlobalStatusVarsResponse{}
+ r := new(GetGlobalStatusVarsResponse)
if rhs := m.StatusValues; rhs != nil {
tmpContainer := make(map[string]string, len(rhs))
for k, v := range rhs {
@@ -444,7 +431,7 @@ func (m *SetReadOnlyRequest) CloneVT() *SetReadOnlyRequest {
if m == nil {
return (*SetReadOnlyRequest)(nil)
}
- r := &SetReadOnlyRequest{}
+ r := new(SetReadOnlyRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -460,7 +447,7 @@ func (m *SetReadOnlyResponse) CloneVT() *SetReadOnlyResponse {
if m == nil {
return (*SetReadOnlyResponse)(nil)
}
- r := &SetReadOnlyResponse{}
+ r := new(SetReadOnlyResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -476,7 +463,7 @@ func (m *SetReadWriteRequest) CloneVT() *SetReadWriteRequest {
if m == nil {
return (*SetReadWriteRequest)(nil)
}
- r := &SetReadWriteRequest{}
+ r := new(SetReadWriteRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -492,7 +479,7 @@ func (m *SetReadWriteResponse) CloneVT() *SetReadWriteResponse {
if m == nil {
return (*SetReadWriteResponse)(nil)
}
- r := &SetReadWriteResponse{}
+ r := new(SetReadWriteResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -508,10 +495,9 @@ func (m *ChangeTypeRequest) CloneVT() *ChangeTypeRequest {
if m == nil {
return (*ChangeTypeRequest)(nil)
}
- r := &ChangeTypeRequest{
- TabletType: m.TabletType,
- SemiSync: m.SemiSync,
- }
+ r := new(ChangeTypeRequest)
+ r.TabletType = m.TabletType
+ r.SemiSync = m.SemiSync
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -527,7 +513,7 @@ func (m *ChangeTypeResponse) CloneVT() *ChangeTypeResponse {
if m == nil {
return (*ChangeTypeResponse)(nil)
}
- r := &ChangeTypeResponse{}
+ r := new(ChangeTypeResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -543,7 +529,7 @@ func (m *RefreshStateRequest) CloneVT() *RefreshStateRequest {
if m == nil {
return (*RefreshStateRequest)(nil)
}
- r := &RefreshStateRequest{}
+ r := new(RefreshStateRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -559,7 +545,7 @@ func (m *RefreshStateResponse) CloneVT() *RefreshStateResponse {
if m == nil {
return (*RefreshStateResponse)(nil)
}
- r := &RefreshStateResponse{}
+ r := new(RefreshStateResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -575,7 +561,7 @@ func (m *RunHealthCheckRequest) CloneVT() *RunHealthCheckRequest {
if m == nil {
return (*RunHealthCheckRequest)(nil)
}
- r := &RunHealthCheckRequest{}
+ r := new(RunHealthCheckRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -591,7 +577,7 @@ func (m *RunHealthCheckResponse) CloneVT() *RunHealthCheckResponse {
if m == nil {
return (*RunHealthCheckResponse)(nil)
}
- r := &RunHealthCheckResponse{}
+ r := new(RunHealthCheckResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -607,9 +593,8 @@ func (m *ReloadSchemaRequest) CloneVT() *ReloadSchemaRequest {
if m == nil {
return (*ReloadSchemaRequest)(nil)
}
- r := &ReloadSchemaRequest{
- WaitPosition: m.WaitPosition,
- }
+ r := new(ReloadSchemaRequest)
+ r.WaitPosition = m.WaitPosition
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -625,7 +610,7 @@ func (m *ReloadSchemaResponse) CloneVT() *ReloadSchemaResponse {
if m == nil {
return (*ReloadSchemaResponse)(nil)
}
- r := &ReloadSchemaResponse{}
+ r := new(ReloadSchemaResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -641,7 +626,7 @@ func (m *PreflightSchemaRequest) CloneVT() *PreflightSchemaRequest {
if m == nil {
return (*PreflightSchemaRequest)(nil)
}
- r := &PreflightSchemaRequest{}
+ r := new(PreflightSchemaRequest)
if rhs := m.Changes; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -662,7 +647,7 @@ func (m *PreflightSchemaResponse) CloneVT() *PreflightSchemaResponse {
if m == nil {
return (*PreflightSchemaResponse)(nil)
}
- r := &PreflightSchemaResponse{}
+ r := new(PreflightSchemaResponse)
if rhs := m.ChangeResults; rhs != nil {
tmpContainer := make([]*SchemaChangeResult, len(rhs))
for k, v := range rhs {
@@ -685,16 +670,15 @@ func (m *ApplySchemaRequest) CloneVT() *ApplySchemaRequest {
if m == nil {
return (*ApplySchemaRequest)(nil)
}
- r := &ApplySchemaRequest{
- Sql: m.Sql,
- Force: m.Force,
- AllowReplication: m.AllowReplication,
- BeforeSchema: m.BeforeSchema.CloneVT(),
- AfterSchema: m.AfterSchema.CloneVT(),
- SqlMode: m.SqlMode,
- BatchSize: m.BatchSize,
- DisableForeignKeyChecks: m.DisableForeignKeyChecks,
- }
+ r := new(ApplySchemaRequest)
+ r.Sql = m.Sql
+ r.Force = m.Force
+ r.AllowReplication = m.AllowReplication
+ r.BeforeSchema = m.BeforeSchema.CloneVT()
+ r.AfterSchema = m.AfterSchema.CloneVT()
+ r.SqlMode = m.SqlMode
+ r.BatchSize = m.BatchSize
+ r.DisableForeignKeyChecks = m.DisableForeignKeyChecks
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -710,10 +694,9 @@ func (m *ApplySchemaResponse) CloneVT() *ApplySchemaResponse {
if m == nil {
return (*ApplySchemaResponse)(nil)
}
- r := &ApplySchemaResponse{
- BeforeSchema: m.BeforeSchema.CloneVT(),
- AfterSchema: m.AfterSchema.CloneVT(),
- }
+ r := new(ApplySchemaResponse)
+ r.BeforeSchema = m.BeforeSchema.CloneVT()
+ r.AfterSchema = m.AfterSchema.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -729,7 +712,7 @@ func (m *LockTablesRequest) CloneVT() *LockTablesRequest {
if m == nil {
return (*LockTablesRequest)(nil)
}
- r := &LockTablesRequest{}
+ r := new(LockTablesRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -745,7 +728,7 @@ func (m *LockTablesResponse) CloneVT() *LockTablesResponse {
if m == nil {
return (*LockTablesResponse)(nil)
}
- r := &LockTablesResponse{}
+ r := new(LockTablesResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -761,7 +744,7 @@ func (m *UnlockTablesRequest) CloneVT() *UnlockTablesRequest {
if m == nil {
return (*UnlockTablesRequest)(nil)
}
- r := &UnlockTablesRequest{}
+ r := new(UnlockTablesRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -777,7 +760,7 @@ func (m *UnlockTablesResponse) CloneVT() *UnlockTablesResponse {
if m == nil {
return (*UnlockTablesResponse)(nil)
}
- r := &UnlockTablesResponse{}
+ r := new(UnlockTablesResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -793,11 +776,10 @@ func (m *ExecuteQueryRequest) CloneVT() *ExecuteQueryRequest {
if m == nil {
return (*ExecuteQueryRequest)(nil)
}
- r := &ExecuteQueryRequest{
- DbName: m.DbName,
- MaxRows: m.MaxRows,
- CallerId: m.CallerId.CloneVT(),
- }
+ r := new(ExecuteQueryRequest)
+ r.DbName = m.DbName
+ r.MaxRows = m.MaxRows
+ r.CallerId = m.CallerId.CloneVT()
if rhs := m.Query; rhs != nil {
tmpBytes := make([]byte, len(rhs))
copy(tmpBytes, rhs)
@@ -818,9 +800,8 @@ func (m *ExecuteQueryResponse) CloneVT() *ExecuteQueryResponse {
if m == nil {
return (*ExecuteQueryResponse)(nil)
}
- r := &ExecuteQueryResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(ExecuteQueryResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -836,13 +817,12 @@ func (m *ExecuteFetchAsDbaRequest) CloneVT() *ExecuteFetchAsDbaRequest {
if m == nil {
return (*ExecuteFetchAsDbaRequest)(nil)
}
- r := &ExecuteFetchAsDbaRequest{
- DbName: m.DbName,
- MaxRows: m.MaxRows,
- DisableBinlogs: m.DisableBinlogs,
- ReloadSchema: m.ReloadSchema,
- DisableForeignKeyChecks: m.DisableForeignKeyChecks,
- }
+ r := new(ExecuteFetchAsDbaRequest)
+ r.DbName = m.DbName
+ r.MaxRows = m.MaxRows
+ r.DisableBinlogs = m.DisableBinlogs
+ r.ReloadSchema = m.ReloadSchema
+ r.DisableForeignKeyChecks = m.DisableForeignKeyChecks
if rhs := m.Query; rhs != nil {
tmpBytes := make([]byte, len(rhs))
copy(tmpBytes, rhs)
@@ -863,9 +843,8 @@ func (m *ExecuteFetchAsDbaResponse) CloneVT() *ExecuteFetchAsDbaResponse {
if m == nil {
return (*ExecuteFetchAsDbaResponse)(nil)
}
- r := &ExecuteFetchAsDbaResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(ExecuteFetchAsDbaResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -881,13 +860,12 @@ func (m *ExecuteMultiFetchAsDbaRequest) CloneVT() *ExecuteMultiFetchAsDbaRequest
if m == nil {
return (*ExecuteMultiFetchAsDbaRequest)(nil)
}
- r := &ExecuteMultiFetchAsDbaRequest{
- DbName: m.DbName,
- MaxRows: m.MaxRows,
- DisableBinlogs: m.DisableBinlogs,
- ReloadSchema: m.ReloadSchema,
- DisableForeignKeyChecks: m.DisableForeignKeyChecks,
- }
+ r := new(ExecuteMultiFetchAsDbaRequest)
+ r.DbName = m.DbName
+ r.MaxRows = m.MaxRows
+ r.DisableBinlogs = m.DisableBinlogs
+ r.ReloadSchema = m.ReloadSchema
+ r.DisableForeignKeyChecks = m.DisableForeignKeyChecks
if rhs := m.Sql; rhs != nil {
tmpBytes := make([]byte, len(rhs))
copy(tmpBytes, rhs)
@@ -908,7 +886,7 @@ func (m *ExecuteMultiFetchAsDbaResponse) CloneVT() *ExecuteMultiFetchAsDbaRespon
if m == nil {
return (*ExecuteMultiFetchAsDbaResponse)(nil)
}
- r := &ExecuteMultiFetchAsDbaResponse{}
+ r := new(ExecuteMultiFetchAsDbaResponse)
if rhs := m.Results; rhs != nil {
tmpContainer := make([]*query.QueryResult, len(rhs))
for k, v := range rhs {
@@ -931,11 +909,10 @@ func (m *ExecuteFetchAsAllPrivsRequest) CloneVT() *ExecuteFetchAsAllPrivsRequest
if m == nil {
return (*ExecuteFetchAsAllPrivsRequest)(nil)
}
- r := &ExecuteFetchAsAllPrivsRequest{
- DbName: m.DbName,
- MaxRows: m.MaxRows,
- ReloadSchema: m.ReloadSchema,
- }
+ r := new(ExecuteFetchAsAllPrivsRequest)
+ r.DbName = m.DbName
+ r.MaxRows = m.MaxRows
+ r.ReloadSchema = m.ReloadSchema
if rhs := m.Query; rhs != nil {
tmpBytes := make([]byte, len(rhs))
copy(tmpBytes, rhs)
@@ -956,9 +933,8 @@ func (m *ExecuteFetchAsAllPrivsResponse) CloneVT() *ExecuteFetchAsAllPrivsRespon
if m == nil {
return (*ExecuteFetchAsAllPrivsResponse)(nil)
}
- r := &ExecuteFetchAsAllPrivsResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(ExecuteFetchAsAllPrivsResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -974,9 +950,8 @@ func (m *ExecuteFetchAsAppRequest) CloneVT() *ExecuteFetchAsAppRequest {
if m == nil {
return (*ExecuteFetchAsAppRequest)(nil)
}
- r := &ExecuteFetchAsAppRequest{
- MaxRows: m.MaxRows,
- }
+ r := new(ExecuteFetchAsAppRequest)
+ r.MaxRows = m.MaxRows
if rhs := m.Query; rhs != nil {
tmpBytes := make([]byte, len(rhs))
copy(tmpBytes, rhs)
@@ -997,9 +972,8 @@ func (m *ExecuteFetchAsAppResponse) CloneVT() *ExecuteFetchAsAppResponse {
if m == nil {
return (*ExecuteFetchAsAppResponse)(nil)
}
- r := &ExecuteFetchAsAppResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(ExecuteFetchAsAppResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1011,11 +985,119 @@ func (m *ExecuteFetchAsAppResponse) CloneMessageVT() proto.Message {
return m.CloneVT()
}
+func (m *GetUnresolvedTransactionsRequest) CloneVT() *GetUnresolvedTransactionsRequest {
+ if m == nil {
+ return (*GetUnresolvedTransactionsRequest)(nil)
+ }
+ r := new(GetUnresolvedTransactionsRequest)
+ r.AbandonAge = m.AbandonAge
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *GetUnresolvedTransactionsRequest) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
+func (m *GetUnresolvedTransactionsResponse) CloneVT() *GetUnresolvedTransactionsResponse {
+ if m == nil {
+ return (*GetUnresolvedTransactionsResponse)(nil)
+ }
+ r := new(GetUnresolvedTransactionsResponse)
+ if rhs := m.Transactions; rhs != nil {
+ tmpContainer := make([]*query.TransactionMetadata, len(rhs))
+ for k, v := range rhs {
+ tmpContainer[k] = v.CloneVT()
+ }
+ r.Transactions = tmpContainer
+ }
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *GetUnresolvedTransactionsResponse) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
+func (m *ReadTransactionRequest) CloneVT() *ReadTransactionRequest {
+ if m == nil {
+ return (*ReadTransactionRequest)(nil)
+ }
+ r := new(ReadTransactionRequest)
+ r.Dtid = m.Dtid
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *ReadTransactionRequest) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
+func (m *ReadTransactionResponse) CloneVT() *ReadTransactionResponse {
+ if m == nil {
+ return (*ReadTransactionResponse)(nil)
+ }
+ r := new(ReadTransactionResponse)
+ r.Transaction = m.Transaction.CloneVT()
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *ReadTransactionResponse) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
+func (m *ConcludeTransactionRequest) CloneVT() *ConcludeTransactionRequest {
+ if m == nil {
+ return (*ConcludeTransactionRequest)(nil)
+ }
+ r := new(ConcludeTransactionRequest)
+ r.Dtid = m.Dtid
+ r.Mm = m.Mm
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *ConcludeTransactionRequest) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
+func (m *ConcludeTransactionResponse) CloneVT() *ConcludeTransactionResponse {
+ if m == nil {
+ return (*ConcludeTransactionResponse)(nil)
+ }
+ r := new(ConcludeTransactionResponse)
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *ConcludeTransactionResponse) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
func (m *ReplicationStatusRequest) CloneVT() *ReplicationStatusRequest {
if m == nil {
return (*ReplicationStatusRequest)(nil)
}
- r := &ReplicationStatusRequest{}
+ r := new(ReplicationStatusRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1031,9 +1113,8 @@ func (m *ReplicationStatusResponse) CloneVT() *ReplicationStatusResponse {
if m == nil {
return (*ReplicationStatusResponse)(nil)
}
- r := &ReplicationStatusResponse{
- Status: m.Status.CloneVT(),
- }
+ r := new(ReplicationStatusResponse)
+ r.Status = m.Status.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1049,7 +1130,7 @@ func (m *PrimaryStatusRequest) CloneVT() *PrimaryStatusRequest {
if m == nil {
return (*PrimaryStatusRequest)(nil)
}
- r := &PrimaryStatusRequest{}
+ r := new(PrimaryStatusRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1065,9 +1146,8 @@ func (m *PrimaryStatusResponse) CloneVT() *PrimaryStatusResponse {
if m == nil {
return (*PrimaryStatusResponse)(nil)
}
- r := &PrimaryStatusResponse{
- Status: m.Status.CloneVT(),
- }
+ r := new(PrimaryStatusResponse)
+ r.Status = m.Status.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1083,7 +1163,7 @@ func (m *PrimaryPositionRequest) CloneVT() *PrimaryPositionRequest {
if m == nil {
return (*PrimaryPositionRequest)(nil)
}
- r := &PrimaryPositionRequest{}
+ r := new(PrimaryPositionRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1099,9 +1179,8 @@ func (m *PrimaryPositionResponse) CloneVT() *PrimaryPositionResponse {
if m == nil {
return (*PrimaryPositionResponse)(nil)
}
- r := &PrimaryPositionResponse{
- Position: m.Position,
- }
+ r := new(PrimaryPositionResponse)
+ r.Position = m.Position
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1117,9 +1196,8 @@ func (m *WaitForPositionRequest) CloneVT() *WaitForPositionRequest {
if m == nil {
return (*WaitForPositionRequest)(nil)
}
- r := &WaitForPositionRequest{
- Position: m.Position,
- }
+ r := new(WaitForPositionRequest)
+ r.Position = m.Position
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1135,7 +1213,7 @@ func (m *WaitForPositionResponse) CloneVT() *WaitForPositionResponse {
if m == nil {
return (*WaitForPositionResponse)(nil)
}
- r := &WaitForPositionResponse{}
+ r := new(WaitForPositionResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1151,7 +1229,7 @@ func (m *StopReplicationRequest) CloneVT() *StopReplicationRequest {
if m == nil {
return (*StopReplicationRequest)(nil)
}
- r := &StopReplicationRequest{}
+ r := new(StopReplicationRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1167,7 +1245,7 @@ func (m *StopReplicationResponse) CloneVT() *StopReplicationResponse {
if m == nil {
return (*StopReplicationResponse)(nil)
}
- r := &StopReplicationResponse{}
+ r := new(StopReplicationResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1183,10 +1261,9 @@ func (m *StopReplicationMinimumRequest) CloneVT() *StopReplicationMinimumRequest
if m == nil {
return (*StopReplicationMinimumRequest)(nil)
}
- r := &StopReplicationMinimumRequest{
- Position: m.Position,
- WaitTimeout: m.WaitTimeout,
- }
+ r := new(StopReplicationMinimumRequest)
+ r.Position = m.Position
+ r.WaitTimeout = m.WaitTimeout
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1202,9 +1279,8 @@ func (m *StopReplicationMinimumResponse) CloneVT() *StopReplicationMinimumRespon
if m == nil {
return (*StopReplicationMinimumResponse)(nil)
}
- r := &StopReplicationMinimumResponse{
- Position: m.Position,
- }
+ r := new(StopReplicationMinimumResponse)
+ r.Position = m.Position
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1220,9 +1296,8 @@ func (m *StartReplicationRequest) CloneVT() *StartReplicationRequest {
if m == nil {
return (*StartReplicationRequest)(nil)
}
- r := &StartReplicationRequest{
- SemiSync: m.SemiSync,
- }
+ r := new(StartReplicationRequest)
+ r.SemiSync = m.SemiSync
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1238,7 +1313,7 @@ func (m *StartReplicationResponse) CloneVT() *StartReplicationResponse {
if m == nil {
return (*StartReplicationResponse)(nil)
}
- r := &StartReplicationResponse{}
+ r := new(StartReplicationResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1254,10 +1329,9 @@ func (m *StartReplicationUntilAfterRequest) CloneVT() *StartReplicationUntilAfte
if m == nil {
return (*StartReplicationUntilAfterRequest)(nil)
}
- r := &StartReplicationUntilAfterRequest{
- Position: m.Position,
- WaitTimeout: m.WaitTimeout,
- }
+ r := new(StartReplicationUntilAfterRequest)
+ r.Position = m.Position
+ r.WaitTimeout = m.WaitTimeout
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1273,7 +1347,7 @@ func (m *StartReplicationUntilAfterResponse) CloneVT() *StartReplicationUntilAft
if m == nil {
return (*StartReplicationUntilAfterResponse)(nil)
}
- r := &StartReplicationUntilAfterResponse{}
+ r := new(StartReplicationUntilAfterResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1289,7 +1363,7 @@ func (m *GetReplicasRequest) CloneVT() *GetReplicasRequest {
if m == nil {
return (*GetReplicasRequest)(nil)
}
- r := &GetReplicasRequest{}
+ r := new(GetReplicasRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1305,7 +1379,7 @@ func (m *GetReplicasResponse) CloneVT() *GetReplicasResponse {
if m == nil {
return (*GetReplicasResponse)(nil)
}
- r := &GetReplicasResponse{}
+ r := new(GetReplicasResponse)
if rhs := m.Addrs; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1326,7 +1400,7 @@ func (m *ResetReplicationRequest) CloneVT() *ResetReplicationRequest {
if m == nil {
return (*ResetReplicationRequest)(nil)
}
- r := &ResetReplicationRequest{}
+ r := new(ResetReplicationRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1342,7 +1416,7 @@ func (m *ResetReplicationResponse) CloneVT() *ResetReplicationResponse {
if m == nil {
return (*ResetReplicationResponse)(nil)
}
- r := &ResetReplicationResponse{}
+ r := new(ResetReplicationResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1358,9 +1432,8 @@ func (m *VReplicationExecRequest) CloneVT() *VReplicationExecRequest {
if m == nil {
return (*VReplicationExecRequest)(nil)
}
- r := &VReplicationExecRequest{
- Query: m.Query,
- }
+ r := new(VReplicationExecRequest)
+ r.Query = m.Query
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1376,9 +1449,8 @@ func (m *VReplicationExecResponse) CloneVT() *VReplicationExecResponse {
if m == nil {
return (*VReplicationExecResponse)(nil)
}
- r := &VReplicationExecResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(VReplicationExecResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1394,10 +1466,9 @@ func (m *VReplicationWaitForPosRequest) CloneVT() *VReplicationWaitForPosRequest
if m == nil {
return (*VReplicationWaitForPosRequest)(nil)
}
- r := &VReplicationWaitForPosRequest{
- Id: m.Id,
- Position: m.Position,
- }
+ r := new(VReplicationWaitForPosRequest)
+ r.Id = m.Id
+ r.Position = m.Position
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1413,7 +1484,7 @@ func (m *VReplicationWaitForPosResponse) CloneVT() *VReplicationWaitForPosRespon
if m == nil {
return (*VReplicationWaitForPosResponse)(nil)
}
- r := &VReplicationWaitForPosResponse{}
+ r := new(VReplicationWaitForPosResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1429,9 +1500,8 @@ func (m *InitPrimaryRequest) CloneVT() *InitPrimaryRequest {
if m == nil {
return (*InitPrimaryRequest)(nil)
}
- r := &InitPrimaryRequest{
- SemiSync: m.SemiSync,
- }
+ r := new(InitPrimaryRequest)
+ r.SemiSync = m.SemiSync
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1447,9 +1517,8 @@ func (m *InitPrimaryResponse) CloneVT() *InitPrimaryResponse {
if m == nil {
return (*InitPrimaryResponse)(nil)
}
- r := &InitPrimaryResponse{
- Position: m.Position,
- }
+ r := new(InitPrimaryResponse)
+ r.Position = m.Position
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1465,12 +1534,11 @@ func (m *PopulateReparentJournalRequest) CloneVT() *PopulateReparentJournalReque
if m == nil {
return (*PopulateReparentJournalRequest)(nil)
}
- r := &PopulateReparentJournalRequest{
- TimeCreatedNs: m.TimeCreatedNs,
- ActionName: m.ActionName,
- PrimaryAlias: m.PrimaryAlias.CloneVT(),
- ReplicationPosition: m.ReplicationPosition,
- }
+ r := new(PopulateReparentJournalRequest)
+ r.TimeCreatedNs = m.TimeCreatedNs
+ r.ActionName = m.ActionName
+ r.PrimaryAlias = m.PrimaryAlias.CloneVT()
+ r.ReplicationPosition = m.ReplicationPosition
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1486,7 +1554,7 @@ func (m *PopulateReparentJournalResponse) CloneVT() *PopulateReparentJournalResp
if m == nil {
return (*PopulateReparentJournalResponse)(nil)
}
- r := &PopulateReparentJournalResponse{}
+ r := new(PopulateReparentJournalResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1502,12 +1570,11 @@ func (m *InitReplicaRequest) CloneVT() *InitReplicaRequest {
if m == nil {
return (*InitReplicaRequest)(nil)
}
- r := &InitReplicaRequest{
- Parent: m.Parent.CloneVT(),
- ReplicationPosition: m.ReplicationPosition,
- TimeCreatedNs: m.TimeCreatedNs,
- SemiSync: m.SemiSync,
- }
+ r := new(InitReplicaRequest)
+ r.Parent = m.Parent.CloneVT()
+ r.ReplicationPosition = m.ReplicationPosition
+ r.TimeCreatedNs = m.TimeCreatedNs
+ r.SemiSync = m.SemiSync
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1523,7 +1590,7 @@ func (m *InitReplicaResponse) CloneVT() *InitReplicaResponse {
if m == nil {
return (*InitReplicaResponse)(nil)
}
- r := &InitReplicaResponse{}
+ r := new(InitReplicaResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1539,7 +1606,7 @@ func (m *DemotePrimaryRequest) CloneVT() *DemotePrimaryRequest {
if m == nil {
return (*DemotePrimaryRequest)(nil)
}
- r := &DemotePrimaryRequest{}
+ r := new(DemotePrimaryRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1555,9 +1622,8 @@ func (m *DemotePrimaryResponse) CloneVT() *DemotePrimaryResponse {
if m == nil {
return (*DemotePrimaryResponse)(nil)
}
- r := &DemotePrimaryResponse{
- PrimaryStatus: m.PrimaryStatus.CloneVT(),
- }
+ r := new(DemotePrimaryResponse)
+ r.PrimaryStatus = m.PrimaryStatus.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1573,9 +1639,8 @@ func (m *UndoDemotePrimaryRequest) CloneVT() *UndoDemotePrimaryRequest {
if m == nil {
return (*UndoDemotePrimaryRequest)(nil)
}
- r := &UndoDemotePrimaryRequest{
- SemiSync: m.SemiSync,
- }
+ r := new(UndoDemotePrimaryRequest)
+ r.SemiSync = m.SemiSync
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1591,7 +1656,7 @@ func (m *UndoDemotePrimaryResponse) CloneVT() *UndoDemotePrimaryResponse {
if m == nil {
return (*UndoDemotePrimaryResponse)(nil)
}
- r := &UndoDemotePrimaryResponse{}
+ r := new(UndoDemotePrimaryResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1607,7 +1672,7 @@ func (m *ReplicaWasPromotedRequest) CloneVT() *ReplicaWasPromotedRequest {
if m == nil {
return (*ReplicaWasPromotedRequest)(nil)
}
- r := &ReplicaWasPromotedRequest{}
+ r := new(ReplicaWasPromotedRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1623,7 +1688,7 @@ func (m *ReplicaWasPromotedResponse) CloneVT() *ReplicaWasPromotedResponse {
if m == nil {
return (*ReplicaWasPromotedResponse)(nil)
}
- r := &ReplicaWasPromotedResponse{}
+ r := new(ReplicaWasPromotedResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1639,7 +1704,7 @@ func (m *ResetReplicationParametersRequest) CloneVT() *ResetReplicationParameter
if m == nil {
return (*ResetReplicationParametersRequest)(nil)
}
- r := &ResetReplicationParametersRequest{}
+ r := new(ResetReplicationParametersRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1655,7 +1720,7 @@ func (m *ResetReplicationParametersResponse) CloneVT() *ResetReplicationParamete
if m == nil {
return (*ResetReplicationParametersResponse)(nil)
}
- r := &ResetReplicationParametersResponse{}
+ r := new(ResetReplicationParametersResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1671,7 +1736,7 @@ func (m *FullStatusRequest) CloneVT() *FullStatusRequest {
if m == nil {
return (*FullStatusRequest)(nil)
}
- r := &FullStatusRequest{}
+ r := new(FullStatusRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1687,9 +1752,8 @@ func (m *FullStatusResponse) CloneVT() *FullStatusResponse {
if m == nil {
return (*FullStatusResponse)(nil)
}
- r := &FullStatusResponse{
- Status: m.Status.CloneVT(),
- }
+ r := new(FullStatusResponse)
+ r.Status = m.Status.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1705,14 +1769,13 @@ func (m *SetReplicationSourceRequest) CloneVT() *SetReplicationSourceRequest {
if m == nil {
return (*SetReplicationSourceRequest)(nil)
}
- r := &SetReplicationSourceRequest{
- Parent: m.Parent.CloneVT(),
- TimeCreatedNs: m.TimeCreatedNs,
- ForceStartReplication: m.ForceStartReplication,
- WaitPosition: m.WaitPosition,
- SemiSync: m.SemiSync,
- HeartbeatInterval: m.HeartbeatInterval,
- }
+ r := new(SetReplicationSourceRequest)
+ r.Parent = m.Parent.CloneVT()
+ r.TimeCreatedNs = m.TimeCreatedNs
+ r.ForceStartReplication = m.ForceStartReplication
+ r.WaitPosition = m.WaitPosition
+ r.SemiSync = m.SemiSync
+ r.HeartbeatInterval = m.HeartbeatInterval
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1728,7 +1791,7 @@ func (m *SetReplicationSourceResponse) CloneVT() *SetReplicationSourceResponse {
if m == nil {
return (*SetReplicationSourceResponse)(nil)
}
- r := &SetReplicationSourceResponse{}
+ r := new(SetReplicationSourceResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1744,9 +1807,8 @@ func (m *ReplicaWasRestartedRequest) CloneVT() *ReplicaWasRestartedRequest {
if m == nil {
return (*ReplicaWasRestartedRequest)(nil)
}
- r := &ReplicaWasRestartedRequest{
- Parent: m.Parent.CloneVT(),
- }
+ r := new(ReplicaWasRestartedRequest)
+ r.Parent = m.Parent.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1762,7 +1824,7 @@ func (m *ReplicaWasRestartedResponse) CloneVT() *ReplicaWasRestartedResponse {
if m == nil {
return (*ReplicaWasRestartedResponse)(nil)
}
- r := &ReplicaWasRestartedResponse{}
+ r := new(ReplicaWasRestartedResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1778,9 +1840,8 @@ func (m *StopReplicationAndGetStatusRequest) CloneVT() *StopReplicationAndGetSta
if m == nil {
return (*StopReplicationAndGetStatusRequest)(nil)
}
- r := &StopReplicationAndGetStatusRequest{
- StopReplicationMode: m.StopReplicationMode,
- }
+ r := new(StopReplicationAndGetStatusRequest)
+ r.StopReplicationMode = m.StopReplicationMode
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1796,9 +1857,8 @@ func (m *StopReplicationAndGetStatusResponse) CloneVT() *StopReplicationAndGetSt
if m == nil {
return (*StopReplicationAndGetStatusResponse)(nil)
}
- r := &StopReplicationAndGetStatusResponse{
- Status: m.Status.CloneVT(),
- }
+ r := new(StopReplicationAndGetStatusResponse)
+ r.Status = m.Status.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1814,9 +1874,8 @@ func (m *PromoteReplicaRequest) CloneVT() *PromoteReplicaRequest {
if m == nil {
return (*PromoteReplicaRequest)(nil)
}
- r := &PromoteReplicaRequest{
- SemiSync: m.SemiSync,
- }
+ r := new(PromoteReplicaRequest)
+ r.SemiSync = m.SemiSync
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1832,9 +1891,8 @@ func (m *PromoteReplicaResponse) CloneVT() *PromoteReplicaResponse {
if m == nil {
return (*PromoteReplicaResponse)(nil)
}
- r := &PromoteReplicaResponse{
- Position: m.Position,
- }
+ r := new(PromoteReplicaResponse)
+ r.Position = m.Position
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1850,12 +1908,11 @@ func (m *BackupRequest) CloneVT() *BackupRequest {
if m == nil {
return (*BackupRequest)(nil)
}
- r := &BackupRequest{
- Concurrency: m.Concurrency,
- AllowPrimary: m.AllowPrimary,
- IncrementalFromPos: m.IncrementalFromPos,
- UpgradeSafe: m.UpgradeSafe,
- }
+ r := new(BackupRequest)
+ r.Concurrency = m.Concurrency
+ r.AllowPrimary = m.AllowPrimary
+ r.IncrementalFromPos = m.IncrementalFromPos
+ r.UpgradeSafe = m.UpgradeSafe
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1871,9 +1928,8 @@ func (m *BackupResponse) CloneVT() *BackupResponse {
if m == nil {
return (*BackupResponse)(nil)
}
- r := &BackupResponse{
- Event: m.Event.CloneVT(),
- }
+ r := new(BackupResponse)
+ r.Event = m.Event.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1889,12 +1945,11 @@ func (m *RestoreFromBackupRequest) CloneVT() *RestoreFromBackupRequest {
if m == nil {
return (*RestoreFromBackupRequest)(nil)
}
- r := &RestoreFromBackupRequest{
- BackupTime: m.BackupTime.CloneVT(),
- RestoreToPos: m.RestoreToPos,
- DryRun: m.DryRun,
- RestoreToTimestamp: m.RestoreToTimestamp.CloneVT(),
- }
+ r := new(RestoreFromBackupRequest)
+ r.BackupTime = m.BackupTime.CloneVT()
+ r.RestoreToPos = m.RestoreToPos
+ r.DryRun = m.DryRun
+ r.RestoreToTimestamp = m.RestoreToTimestamp.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1910,9 +1965,8 @@ func (m *RestoreFromBackupResponse) CloneVT() *RestoreFromBackupResponse {
if m == nil {
return (*RestoreFromBackupResponse)(nil)
}
- r := &RestoreFromBackupResponse{
- Event: m.Event.CloneVT(),
- }
+ r := new(RestoreFromBackupResponse)
+ r.Event = m.Event.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1928,16 +1982,15 @@ func (m *CreateVReplicationWorkflowRequest) CloneVT() *CreateVReplicationWorkflo
if m == nil {
return (*CreateVReplicationWorkflowRequest)(nil)
}
- r := &CreateVReplicationWorkflowRequest{
- Workflow: m.Workflow,
- TabletSelectionPreference: m.TabletSelectionPreference,
- WorkflowType: m.WorkflowType,
- WorkflowSubType: m.WorkflowSubType,
- DeferSecondaryKeys: m.DeferSecondaryKeys,
- AutoStart: m.AutoStart,
- StopAfterCopy: m.StopAfterCopy,
- Options: m.Options,
- }
+ r := new(CreateVReplicationWorkflowRequest)
+ r.Workflow = m.Workflow
+ r.TabletSelectionPreference = m.TabletSelectionPreference
+ r.WorkflowType = m.WorkflowType
+ r.WorkflowSubType = m.WorkflowSubType
+ r.DeferSecondaryKeys = m.DeferSecondaryKeys
+ r.AutoStart = m.AutoStart
+ r.StopAfterCopy = m.StopAfterCopy
+ r.Options = m.Options
if rhs := m.BinlogSource; rhs != nil {
tmpContainer := make([]*binlogdata.BinlogSource, len(rhs))
for k, v := range rhs {
@@ -1970,9 +2023,8 @@ func (m *CreateVReplicationWorkflowResponse) CloneVT() *CreateVReplicationWorkfl
if m == nil {
return (*CreateVReplicationWorkflowResponse)(nil)
}
- r := &CreateVReplicationWorkflowResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(CreateVReplicationWorkflowResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1988,9 +2040,8 @@ func (m *DeleteVReplicationWorkflowRequest) CloneVT() *DeleteVReplicationWorkflo
if m == nil {
return (*DeleteVReplicationWorkflowRequest)(nil)
}
- r := &DeleteVReplicationWorkflowRequest{
- Workflow: m.Workflow,
- }
+ r := new(DeleteVReplicationWorkflowRequest)
+ r.Workflow = m.Workflow
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2006,9 +2057,8 @@ func (m *DeleteVReplicationWorkflowResponse) CloneVT() *DeleteVReplicationWorkfl
if m == nil {
return (*DeleteVReplicationWorkflowResponse)(nil)
}
- r := &DeleteVReplicationWorkflowResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(DeleteVReplicationWorkflowResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2024,7 +2074,7 @@ func (m *HasVReplicationWorkflowsRequest) CloneVT() *HasVReplicationWorkflowsReq
if m == nil {
return (*HasVReplicationWorkflowsRequest)(nil)
}
- r := &HasVReplicationWorkflowsRequest{}
+ r := new(HasVReplicationWorkflowsRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2040,9 +2090,8 @@ func (m *HasVReplicationWorkflowsResponse) CloneVT() *HasVReplicationWorkflowsRe
if m == nil {
return (*HasVReplicationWorkflowsResponse)(nil)
}
- r := &HasVReplicationWorkflowsResponse{
- Has: m.Has,
- }
+ r := new(HasVReplicationWorkflowsResponse)
+ r.Has = m.Has
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2058,9 +2107,8 @@ func (m *ReadVReplicationWorkflowsRequest) CloneVT() *ReadVReplicationWorkflowsR
if m == nil {
return (*ReadVReplicationWorkflowsRequest)(nil)
}
- r := &ReadVReplicationWorkflowsRequest{
- ExcludeFrozen: m.ExcludeFrozen,
- }
+ r := new(ReadVReplicationWorkflowsRequest)
+ r.ExcludeFrozen = m.ExcludeFrozen
if rhs := m.IncludeIds; rhs != nil {
tmpContainer := make([]int32, len(rhs))
copy(tmpContainer, rhs)
@@ -2101,7 +2149,7 @@ func (m *ReadVReplicationWorkflowsResponse) CloneVT() *ReadVReplicationWorkflows
if m == nil {
return (*ReadVReplicationWorkflowsResponse)(nil)
}
- r := &ReadVReplicationWorkflowsResponse{}
+ r := new(ReadVReplicationWorkflowsResponse)
if rhs := m.Workflows; rhs != nil {
tmpContainer := make([]*ReadVReplicationWorkflowResponse, len(rhs))
for k, v := range rhs {
@@ -2124,9 +2172,8 @@ func (m *ReadVReplicationWorkflowRequest) CloneVT() *ReadVReplicationWorkflowReq
if m == nil {
return (*ReadVReplicationWorkflowRequest)(nil)
}
- r := &ReadVReplicationWorkflowRequest{
- Workflow: m.Workflow,
- }
+ r := new(ReadVReplicationWorkflowRequest)
+ r.Workflow = m.Workflow
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2142,22 +2189,21 @@ func (m *ReadVReplicationWorkflowResponse_Stream) CloneVT() *ReadVReplicationWor
if m == nil {
return (*ReadVReplicationWorkflowResponse_Stream)(nil)
}
- r := &ReadVReplicationWorkflowResponse_Stream{
- Id: m.Id,
- Bls: m.Bls.CloneVT(),
- Pos: m.Pos,
- StopPos: m.StopPos,
- MaxTps: m.MaxTps,
- MaxReplicationLag: m.MaxReplicationLag,
- TimeUpdated: m.TimeUpdated.CloneVT(),
- TransactionTimestamp: m.TransactionTimestamp.CloneVT(),
- State: m.State,
- Message: m.Message,
- RowsCopied: m.RowsCopied,
- TimeHeartbeat: m.TimeHeartbeat.CloneVT(),
- TimeThrottled: m.TimeThrottled.CloneVT(),
- ComponentThrottled: m.ComponentThrottled,
- }
+ r := new(ReadVReplicationWorkflowResponse_Stream)
+ r.Id = m.Id
+ r.Bls = m.Bls.CloneVT()
+ r.Pos = m.Pos
+ r.StopPos = m.StopPos
+ r.MaxTps = m.MaxTps
+ r.MaxReplicationLag = m.MaxReplicationLag
+ r.TimeUpdated = m.TimeUpdated.CloneVT()
+ r.TransactionTimestamp = m.TransactionTimestamp.CloneVT()
+ r.State = m.State
+ r.Message = m.Message
+ r.RowsCopied = m.RowsCopied
+ r.TimeHeartbeat = m.TimeHeartbeat.CloneVT()
+ r.TimeThrottled = m.TimeThrottled.CloneVT()
+ r.ComponentThrottled = m.ComponentThrottled
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2173,17 +2219,16 @@ func (m *ReadVReplicationWorkflowResponse) CloneVT() *ReadVReplicationWorkflowRe
if m == nil {
return (*ReadVReplicationWorkflowResponse)(nil)
}
- r := &ReadVReplicationWorkflowResponse{
- Workflow: m.Workflow,
- Cells: m.Cells,
- TabletSelectionPreference: m.TabletSelectionPreference,
- DbName: m.DbName,
- Tags: m.Tags,
- WorkflowType: m.WorkflowType,
- WorkflowSubType: m.WorkflowSubType,
- DeferSecondaryKeys: m.DeferSecondaryKeys,
- Options: m.Options,
- }
+ r := new(ReadVReplicationWorkflowResponse)
+ r.Workflow = m.Workflow
+ r.Cells = m.Cells
+ r.TabletSelectionPreference = m.TabletSelectionPreference
+ r.DbName = m.DbName
+ r.Tags = m.Tags
+ r.WorkflowType = m.WorkflowType
+ r.WorkflowSubType = m.WorkflowSubType
+ r.DeferSecondaryKeys = m.DeferSecondaryKeys
+ r.Options = m.Options
if rhs := m.TabletTypes; rhs != nil {
tmpContainer := make([]topodata.TabletType, len(rhs))
copy(tmpContainer, rhs)
@@ -2196,6 +2241,13 @@ func (m *ReadVReplicationWorkflowResponse) CloneVT() *ReadVReplicationWorkflowRe
}
r.Streams = tmpContainer
}
+ if rhs := m.ConfigOverrides; rhs != nil {
+ tmpContainer := make(map[string]string, len(rhs))
+ for k, v := range rhs {
+ tmpContainer[k] = v
+ }
+ r.ConfigOverrides = tmpContainer
+ }
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2207,18 +2259,51 @@ func (m *ReadVReplicationWorkflowResponse) CloneMessageVT() proto.Message {
return m.CloneVT()
}
+func (m *ValidateVReplicationPermissionsRequest) CloneVT() *ValidateVReplicationPermissionsRequest {
+ if m == nil {
+ return (*ValidateVReplicationPermissionsRequest)(nil)
+ }
+ r := new(ValidateVReplicationPermissionsRequest)
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *ValidateVReplicationPermissionsRequest) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
+func (m *ValidateVReplicationPermissionsResponse) CloneVT() *ValidateVReplicationPermissionsResponse {
+ if m == nil {
+ return (*ValidateVReplicationPermissionsResponse)(nil)
+ }
+ r := new(ValidateVReplicationPermissionsResponse)
+ r.User = m.User
+ r.Ok = m.Ok
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *ValidateVReplicationPermissionsResponse) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
func (m *VDiffRequest) CloneVT() *VDiffRequest {
if m == nil {
return (*VDiffRequest)(nil)
}
- r := &VDiffRequest{
- Keyspace: m.Keyspace,
- Workflow: m.Workflow,
- Action: m.Action,
- ActionArg: m.ActionArg,
- VdiffUuid: m.VdiffUuid,
- Options: m.Options.CloneVT(),
- }
+ r := new(VDiffRequest)
+ r.Keyspace = m.Keyspace
+ r.Workflow = m.Workflow
+ r.Action = m.Action
+ r.ActionArg = m.ActionArg
+ r.VdiffUuid = m.VdiffUuid
+ r.Options = m.Options.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2234,11 +2319,10 @@ func (m *VDiffResponse) CloneVT() *VDiffResponse {
if m == nil {
return (*VDiffResponse)(nil)
}
- r := &VDiffResponse{
- Id: m.Id,
- Output: m.Output.CloneVT(),
- VdiffUuid: m.VdiffUuid,
- }
+ r := new(VDiffResponse)
+ r.Id = m.Id
+ r.Output = m.Output.CloneVT()
+ r.VdiffUuid = m.VdiffUuid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2254,11 +2338,10 @@ func (m *VDiffPickerOptions) CloneVT() *VDiffPickerOptions {
if m == nil {
return (*VDiffPickerOptions)(nil)
}
- r := &VDiffPickerOptions{
- TabletTypes: m.TabletTypes,
- SourceCell: m.SourceCell,
- TargetCell: m.TargetCell,
- }
+ r := new(VDiffPickerOptions)
+ r.TabletTypes = m.TabletTypes
+ r.SourceCell = m.SourceCell
+ r.TargetCell = m.TargetCell
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2274,12 +2357,12 @@ func (m *VDiffReportOptions) CloneVT() *VDiffReportOptions {
if m == nil {
return (*VDiffReportOptions)(nil)
}
- r := &VDiffReportOptions{
- OnlyPks: m.OnlyPks,
- DebugQuery: m.DebugQuery,
- Format: m.Format,
- MaxSampleRows: m.MaxSampleRows,
- }
+ r := new(VDiffReportOptions)
+ r.OnlyPks = m.OnlyPks
+ r.DebugQuery = m.DebugQuery
+ r.Format = m.Format
+ r.MaxSampleRows = m.MaxSampleRows
+ r.RowDiffColumnTruncateAt = m.RowDiffColumnTruncateAt
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2295,16 +2378,19 @@ func (m *VDiffCoreOptions) CloneVT() *VDiffCoreOptions {
if m == nil {
return (*VDiffCoreOptions)(nil)
}
- r := &VDiffCoreOptions{
- Tables: m.Tables,
- AutoRetry: m.AutoRetry,
- MaxRows: m.MaxRows,
- Checksum: m.Checksum,
- SamplePct: m.SamplePct,
- TimeoutSeconds: m.TimeoutSeconds,
- MaxExtraRowsToCompare: m.MaxExtraRowsToCompare,
- UpdateTableStats: m.UpdateTableStats,
- MaxDiffSeconds: m.MaxDiffSeconds,
+ r := new(VDiffCoreOptions)
+ r.Tables = m.Tables
+ r.AutoRetry = m.AutoRetry
+ r.MaxRows = m.MaxRows
+ r.Checksum = m.Checksum
+ r.SamplePct = m.SamplePct
+ r.TimeoutSeconds = m.TimeoutSeconds
+ r.MaxExtraRowsToCompare = m.MaxExtraRowsToCompare
+ r.UpdateTableStats = m.UpdateTableStats
+ r.MaxDiffSeconds = m.MaxDiffSeconds
+ if rhs := m.AutoStart; rhs != nil {
+ tmpVal := *rhs
+ r.AutoStart = &tmpVal
}
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
@@ -2321,11 +2407,10 @@ func (m *VDiffOptions) CloneVT() *VDiffOptions {
if m == nil {
return (*VDiffOptions)(nil)
}
- r := &VDiffOptions{
- PickerOptions: m.PickerOptions.CloneVT(),
- CoreOptions: m.CoreOptions.CloneVT(),
- ReportOptions: m.ReportOptions.CloneVT(),
- }
+ r := new(VDiffOptions)
+ r.PickerOptions = m.PickerOptions.CloneVT()
+ r.CoreOptions = m.CoreOptions.CloneVT()
+ r.ReportOptions = m.ReportOptions.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2341,12 +2426,8 @@ func (m *UpdateVReplicationWorkflowRequest) CloneVT() *UpdateVReplicationWorkflo
if m == nil {
return (*UpdateVReplicationWorkflowRequest)(nil)
}
- r := &UpdateVReplicationWorkflowRequest{
- Workflow: m.Workflow,
- TabletSelectionPreference: m.TabletSelectionPreference,
- OnDdl: m.OnDdl,
- State: m.State,
- }
+ r := new(UpdateVReplicationWorkflowRequest)
+ r.Workflow = m.Workflow
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2357,6 +2438,25 @@ func (m *UpdateVReplicationWorkflowRequest) CloneVT() *UpdateVReplicationWorkflo
copy(tmpContainer, rhs)
r.TabletTypes = tmpContainer
}
+ if rhs := m.TabletSelectionPreference; rhs != nil {
+ tmpVal := *rhs
+ r.TabletSelectionPreference = &tmpVal
+ }
+ if rhs := m.OnDdl; rhs != nil {
+ tmpVal := *rhs
+ r.OnDdl = &tmpVal
+ }
+ if rhs := m.State; rhs != nil {
+ tmpVal := *rhs
+ r.State = &tmpVal
+ }
+ if rhs := m.ConfigOverrides; rhs != nil {
+ tmpContainer := make(map[string]string, len(rhs))
+ for k, v := range rhs {
+ tmpContainer[k] = v
+ }
+ r.ConfigOverrides = tmpContainer
+ }
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2372,9 +2472,8 @@ func (m *UpdateVReplicationWorkflowResponse) CloneVT() *UpdateVReplicationWorkfl
if m == nil {
return (*UpdateVReplicationWorkflowResponse)(nil)
}
- r := &UpdateVReplicationWorkflowResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(UpdateVReplicationWorkflowResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2390,12 +2489,8 @@ func (m *UpdateVReplicationWorkflowsRequest) CloneVT() *UpdateVReplicationWorkfl
if m == nil {
return (*UpdateVReplicationWorkflowsRequest)(nil)
}
- r := &UpdateVReplicationWorkflowsRequest{
- AllWorkflows: m.AllWorkflows,
- State: m.State,
- Message: m.Message,
- StopPosition: m.StopPosition,
- }
+ r := new(UpdateVReplicationWorkflowsRequest)
+ r.AllWorkflows = m.AllWorkflows
if rhs := m.IncludeWorkflows; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2406,6 +2501,18 @@ func (m *UpdateVReplicationWorkflowsRequest) CloneVT() *UpdateVReplicationWorkfl
copy(tmpContainer, rhs)
r.ExcludeWorkflows = tmpContainer
}
+ if rhs := m.State; rhs != nil {
+ tmpVal := *rhs
+ r.State = &tmpVal
+ }
+ if rhs := m.Message; rhs != nil {
+ tmpVal := *rhs
+ r.Message = &tmpVal
+ }
+ if rhs := m.StopPosition; rhs != nil {
+ tmpVal := *rhs
+ r.StopPosition = &tmpVal
+ }
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2421,9 +2528,8 @@ func (m *UpdateVReplicationWorkflowsResponse) CloneVT() *UpdateVReplicationWorkf
if m == nil {
return (*UpdateVReplicationWorkflowsResponse)(nil)
}
- r := &UpdateVReplicationWorkflowsResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(UpdateVReplicationWorkflowsResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2439,7 +2545,7 @@ func (m *ResetSequencesRequest) CloneVT() *ResetSequencesRequest {
if m == nil {
return (*ResetSequencesRequest)(nil)
}
- r := &ResetSequencesRequest{}
+ r := new(ResetSequencesRequest)
if rhs := m.Tables; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2460,7 +2566,7 @@ func (m *ResetSequencesResponse) CloneVT() *ResetSequencesResponse {
if m == nil {
return (*ResetSequencesResponse)(nil)
}
- r := &ResetSequencesResponse{}
+ r := new(ResetSequencesResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2476,13 +2582,12 @@ func (m *CheckThrottlerRequest) CloneVT() *CheckThrottlerRequest {
if m == nil {
return (*CheckThrottlerRequest)(nil)
}
- r := &CheckThrottlerRequest{
- AppName: m.AppName,
- Scope: m.Scope,
- SkipRequestHeartbeats: m.SkipRequestHeartbeats,
- OkIfNotExists: m.OkIfNotExists,
- MultiMetricsEnabled: m.MultiMetricsEnabled,
- }
+ r := new(CheckThrottlerRequest)
+ r.AppName = m.AppName
+ r.Scope = m.Scope
+ r.SkipRequestHeartbeats = m.SkipRequestHeartbeats
+ r.OkIfNotExists = m.OkIfNotExists
+ r.MultiMetricsEnabled = m.MultiMetricsEnabled
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2498,16 +2603,15 @@ func (m *CheckThrottlerResponse_Metric) CloneVT() *CheckThrottlerResponse_Metric
if m == nil {
return (*CheckThrottlerResponse_Metric)(nil)
}
- r := &CheckThrottlerResponse_Metric{
- Name: m.Name,
- StatusCode: m.StatusCode,
- Value: m.Value,
- Threshold: m.Threshold,
- Error: m.Error,
- Message: m.Message,
- Scope: m.Scope,
- ResponseCode: m.ResponseCode,
- }
+ r := new(CheckThrottlerResponse_Metric)
+ r.Name = m.Name
+ r.StatusCode = m.StatusCode
+ r.Value = m.Value
+ r.Threshold = m.Threshold
+ r.Error = m.Error
+ r.Message = m.Message
+ r.Scope = m.Scope
+ r.ResponseCode = m.ResponseCode
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2523,17 +2627,16 @@ func (m *CheckThrottlerResponse) CloneVT() *CheckThrottlerResponse {
if m == nil {
return (*CheckThrottlerResponse)(nil)
}
- r := &CheckThrottlerResponse{
- StatusCode: m.StatusCode,
- Value: m.Value,
- Threshold: m.Threshold,
- Error: m.Error,
- Message: m.Message,
- RecentlyChecked: m.RecentlyChecked,
- AppName: m.AppName,
- Summary: m.Summary,
- ResponseCode: m.ResponseCode,
- }
+ r := new(CheckThrottlerResponse)
+ r.StatusCode = m.StatusCode
+ r.Value = m.Value
+ r.Threshold = m.Threshold
+ r.Error = m.Error
+ r.Message = m.Message
+ r.RecentlyChecked = m.RecentlyChecked
+ r.AppName = m.AppName
+ r.Summary = m.Summary
+ r.ResponseCode = m.ResponseCode
if rhs := m.Metrics; rhs != nil {
tmpContainer := make(map[string]*CheckThrottlerResponse_Metric, len(rhs))
for k, v := range rhs {
@@ -2556,7 +2659,7 @@ func (m *GetThrottlerStatusRequest) CloneVT() *GetThrottlerStatusRequest {
if m == nil {
return (*GetThrottlerStatusRequest)(nil)
}
- r := &GetThrottlerStatusRequest{}
+ r := new(GetThrottlerStatusRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2572,10 +2675,9 @@ func (m *GetThrottlerStatusResponse_MetricResult) CloneVT() *GetThrottlerStatusR
if m == nil {
return (*GetThrottlerStatusResponse_MetricResult)(nil)
}
- r := &GetThrottlerStatusResponse_MetricResult{
- Value: m.Value,
- Error: m.Error,
- }
+ r := new(GetThrottlerStatusResponse_MetricResult)
+ r.Value = m.Value
+ r.Error = m.Error
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2591,10 +2693,9 @@ func (m *GetThrottlerStatusResponse_MetricHealth) CloneVT() *GetThrottlerStatusR
if m == nil {
return (*GetThrottlerStatusResponse_MetricHealth)(nil)
}
- r := &GetThrottlerStatusResponse_MetricHealth{
- LastHealthyAt: m.LastHealthyAt.CloneVT(),
- SecondsSinceLastHealthy: m.SecondsSinceLastHealthy,
- }
+ r := new(GetThrottlerStatusResponse_MetricHealth)
+ r.LastHealthyAt = m.LastHealthyAt.CloneVT()
+ r.SecondsSinceLastHealthy = m.SecondsSinceLastHealthy
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2610,11 +2711,10 @@ func (m *GetThrottlerStatusResponse_RecentApp) CloneVT() *GetThrottlerStatusResp
if m == nil {
return (*GetThrottlerStatusResponse_RecentApp)(nil)
}
- r := &GetThrottlerStatusResponse_RecentApp{
- CheckedAt: m.CheckedAt.CloneVT(),
- StatusCode: m.StatusCode,
- ResponseCode: m.ResponseCode,
- }
+ r := new(GetThrottlerStatusResponse_RecentApp)
+ r.CheckedAt = m.CheckedAt.CloneVT()
+ r.StatusCode = m.StatusCode
+ r.ResponseCode = m.ResponseCode
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2630,20 +2730,19 @@ func (m *GetThrottlerStatusResponse) CloneVT() *GetThrottlerStatusResponse {
if m == nil {
return (*GetThrottlerStatusResponse)(nil)
}
- r := &GetThrottlerStatusResponse{
- TabletAlias: m.TabletAlias,
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- IsLeader: m.IsLeader,
- IsOpen: m.IsOpen,
- IsEnabled: m.IsEnabled,
- IsDormant: m.IsDormant,
- LagMetricQuery: m.LagMetricQuery,
- CustomMetricQuery: m.CustomMetricQuery,
- DefaultThreshold: m.DefaultThreshold,
- MetricNameUsedAsDefault: m.MetricNameUsedAsDefault,
- RecentlyChecked: m.RecentlyChecked,
- }
+ r := new(GetThrottlerStatusResponse)
+ r.TabletAlias = m.TabletAlias
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.IsLeader = m.IsLeader
+ r.IsOpen = m.IsOpen
+ r.IsEnabled = m.IsEnabled
+ r.IsDormant = m.IsDormant
+ r.LagMetricQuery = m.LagMetricQuery
+ r.CustomMetricQuery = m.CustomMetricQuery
+ r.DefaultThreshold = m.DefaultThreshold
+ r.MetricNameUsedAsDefault = m.MetricNameUsedAsDefault
+ r.RecentlyChecked = m.RecentlyChecked
if rhs := m.AggregatedMetrics; rhs != nil {
tmpContainer := make(map[string]*GetThrottlerStatusResponse_MetricResult, len(rhs))
for k, v := range rhs {
@@ -2734,25 +2833,25 @@ func (m *TableDefinition) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x42
}
}
if m.RowCount != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RowCount))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowCount))
i--
dAtA[i] = 0x38
}
if m.DataLength != 0 {
- i = encodeVarint(dAtA, i, uint64(m.DataLength))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DataLength))
i--
dAtA[i] = 0x30
}
if len(m.Type) > 0 {
i -= len(m.Type)
copy(dAtA[i:], m.Type)
- i = encodeVarint(dAtA, i, uint64(len(m.Type)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Type)))
i--
dAtA[i] = 0x2a
}
@@ -2760,7 +2859,7 @@ func (m *TableDefinition) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.PrimaryKeyColumns) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.PrimaryKeyColumns[iNdEx])
copy(dAtA[i:], m.PrimaryKeyColumns[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.PrimaryKeyColumns[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PrimaryKeyColumns[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -2769,7 +2868,7 @@ func (m *TableDefinition) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Columns) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Columns[iNdEx])
copy(dAtA[i:], m.Columns[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Columns[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Columns[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -2777,14 +2876,14 @@ func (m *TableDefinition) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Schema) > 0 {
i -= len(m.Schema)
copy(dAtA[i:], m.Schema)
- i = encodeVarint(dAtA, i, uint64(len(m.Schema)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Schema)))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -2828,7 +2927,7 @@ func (m *SchemaDefinition) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2836,7 +2935,7 @@ func (m *SchemaDefinition) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.DatabaseSchema) > 0 {
i -= len(m.DatabaseSchema)
copy(dAtA[i:], m.DatabaseSchema)
- i = encodeVarint(dAtA, i, uint64(len(m.DatabaseSchema)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DatabaseSchema)))
i--
dAtA[i] = 0xa
}
@@ -2879,7 +2978,7 @@ func (m *SchemaChangeResult) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2889,7 +2988,7 @@ func (m *SchemaChangeResult) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2932,35 +3031,35 @@ func (m *UserPermission) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
baseI := i
i -= len(v)
copy(dAtA[i:], v)
- i = encodeVarint(dAtA, i, uint64(len(v)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x22
}
}
if m.PasswordChecksum != 0 {
- i = encodeVarint(dAtA, i, uint64(m.PasswordChecksum))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PasswordChecksum))
i--
dAtA[i] = 0x18
}
if len(m.User) > 0 {
i -= len(m.User)
copy(dAtA[i:], m.User)
- i = encodeVarint(dAtA, i, uint64(len(m.User)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.User)))
i--
dAtA[i] = 0x12
}
if len(m.Host) > 0 {
i -= len(m.Host)
copy(dAtA[i:], m.Host)
- i = encodeVarint(dAtA, i, uint64(len(m.Host)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Host)))
i--
dAtA[i] = 0xa
}
@@ -3003,15 +3102,15 @@ func (m *DbPermission) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
baseI := i
i -= len(v)
copy(dAtA[i:], v)
- i = encodeVarint(dAtA, i, uint64(len(v)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x22
}
@@ -3019,21 +3118,21 @@ func (m *DbPermission) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.User) > 0 {
i -= len(m.User)
copy(dAtA[i:], m.User)
- i = encodeVarint(dAtA, i, uint64(len(m.User)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.User)))
i--
dAtA[i] = 0x1a
}
if len(m.Db) > 0 {
i -= len(m.Db)
copy(dAtA[i:], m.Db)
- i = encodeVarint(dAtA, i, uint64(len(m.Db)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Db)))
i--
dAtA[i] = 0x12
}
if len(m.Host) > 0 {
i -= len(m.Host)
copy(dAtA[i:], m.Host)
- i = encodeVarint(dAtA, i, uint64(len(m.Host)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Host)))
i--
dAtA[i] = 0xa
}
@@ -3077,7 +3176,7 @@ func (m *Permissions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3089,7 +3188,7 @@ func (m *Permissions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3130,7 +3229,7 @@ func (m *PingRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Payload) > 0 {
i -= len(m.Payload)
copy(dAtA[i:], m.Payload)
- i = encodeVarint(dAtA, i, uint64(len(m.Payload)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Payload)))
i--
dAtA[i] = 0xa
}
@@ -3170,7 +3269,7 @@ func (m *PingResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Payload) > 0 {
i -= len(m.Payload)
copy(dAtA[i:], m.Payload)
- i = encodeVarint(dAtA, i, uint64(len(m.Payload)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Payload)))
i--
dAtA[i] = 0xa
}
@@ -3208,7 +3307,7 @@ func (m *SleepRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.Duration != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Duration))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Duration))
i--
dAtA[i] = 0x8
}
@@ -3284,15 +3383,15 @@ func (m *ExecuteHookRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
baseI := i
i -= len(v)
copy(dAtA[i:], v)
- i = encodeVarint(dAtA, i, uint64(len(v)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x1a
}
@@ -3301,7 +3400,7 @@ func (m *ExecuteHookRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Parameters) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Parameters[iNdEx])
copy(dAtA[i:], m.Parameters[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Parameters[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Parameters[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -3309,7 +3408,7 @@ func (m *ExecuteHookRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -3349,19 +3448,19 @@ func (m *ExecuteHookResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Stderr) > 0 {
i -= len(m.Stderr)
copy(dAtA[i:], m.Stderr)
- i = encodeVarint(dAtA, i, uint64(len(m.Stderr)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Stderr)))
i--
dAtA[i] = 0x1a
}
if len(m.Stdout) > 0 {
i -= len(m.Stdout)
copy(dAtA[i:], m.Stdout)
- i = encodeVarint(dAtA, i, uint64(len(m.Stdout)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Stdout)))
i--
dAtA[i] = 0x12
}
if m.ExitStatus != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ExitStatus))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ExitStatus))
i--
dAtA[i] = 0x8
}
@@ -3412,7 +3511,7 @@ func (m *GetSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ExcludeTables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ExcludeTables[iNdEx])
copy(dAtA[i:], m.ExcludeTables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -3431,7 +3530,7 @@ func (m *GetSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Tables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Tables[iNdEx])
copy(dAtA[i:], m.Tables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -3475,7 +3574,7 @@ func (m *GetSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3551,7 +3650,7 @@ func (m *GetPermissionsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3592,7 +3691,7 @@ func (m *GetGlobalStatusVarsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
for iNdEx := len(m.Variables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Variables[iNdEx])
copy(dAtA[i:], m.Variables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Variables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Variables[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -3636,15 +3735,15 @@ func (m *GetGlobalStatusVarsResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
baseI := i
i -= len(v)
copy(dAtA[i:], v)
- i = encodeVarint(dAtA, i, uint64(len(v)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -3825,7 +3924,7 @@ func (m *ChangeTypeRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x10
}
if m.TabletType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletType))
i--
dAtA[i] = 0x8
}
@@ -4030,7 +4129,7 @@ func (m *ReloadSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.WaitPosition) > 0 {
i -= len(m.WaitPosition)
copy(dAtA[i:], m.WaitPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
i--
dAtA[i] = 0xa
}
@@ -4104,7 +4203,7 @@ func (m *PreflightSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
for iNdEx := len(m.Changes) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Changes[iNdEx])
copy(dAtA[i:], m.Changes[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Changes[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Changes[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -4149,7 +4248,7 @@ func (m *PreflightSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4198,14 +4297,14 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x40
}
if m.BatchSize != 0 {
- i = encodeVarint(dAtA, i, uint64(m.BatchSize))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BatchSize))
i--
dAtA[i] = 0x38
}
if len(m.SqlMode) > 0 {
i -= len(m.SqlMode)
copy(dAtA[i:], m.SqlMode)
- i = encodeVarint(dAtA, i, uint64(len(m.SqlMode)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SqlMode)))
i--
dAtA[i] = 0x32
}
@@ -4215,7 +4314,7 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -4225,7 +4324,7 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -4252,7 +4351,7 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Sql) > 0 {
i -= len(m.Sql)
copy(dAtA[i:], m.Sql)
- i = encodeVarint(dAtA, i, uint64(len(m.Sql)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Sql)))
i--
dAtA[i] = 0xa
}
@@ -4295,7 +4394,7 @@ func (m *ApplySchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -4305,7 +4404,7 @@ func (m *ApplySchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4480,26 +4579,26 @@ func (m *ExecuteQueryRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if m.MaxRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxRows))
i--
dAtA[i] = 0x18
}
if len(m.DbName) > 0 {
i -= len(m.DbName)
copy(dAtA[i:], m.DbName)
- i = encodeVarint(dAtA, i, uint64(len(m.DbName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DbName)))
i--
dAtA[i] = 0x12
}
if len(m.Query) > 0 {
i -= len(m.Query)
copy(dAtA[i:], m.Query)
- i = encodeVarint(dAtA, i, uint64(len(m.Query)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Query)))
i--
dAtA[i] = 0xa
}
@@ -4542,7 +4641,7 @@ func (m *ExecuteQueryResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4610,21 +4709,21 @@ func (m *ExecuteFetchAsDbaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
dAtA[i] = 0x20
}
if m.MaxRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxRows))
i--
dAtA[i] = 0x18
}
if len(m.DbName) > 0 {
i -= len(m.DbName)
copy(dAtA[i:], m.DbName)
- i = encodeVarint(dAtA, i, uint64(len(m.DbName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DbName)))
i--
dAtA[i] = 0x12
}
if len(m.Query) > 0 {
i -= len(m.Query)
copy(dAtA[i:], m.Query)
- i = encodeVarint(dAtA, i, uint64(len(m.Query)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Query)))
i--
dAtA[i] = 0xa
}
@@ -4667,7 +4766,7 @@ func (m *ExecuteFetchAsDbaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4735,21 +4834,21 @@ func (m *ExecuteMultiFetchAsDbaRequest) MarshalToSizedBufferVT(dAtA []byte) (int
dAtA[i] = 0x20
}
if m.MaxRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxRows))
i--
dAtA[i] = 0x18
}
if len(m.DbName) > 0 {
i -= len(m.DbName)
copy(dAtA[i:], m.DbName)
- i = encodeVarint(dAtA, i, uint64(len(m.DbName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DbName)))
i--
dAtA[i] = 0x12
}
if len(m.Sql) > 0 {
i -= len(m.Sql)
copy(dAtA[i:], m.Sql)
- i = encodeVarint(dAtA, i, uint64(len(m.Sql)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Sql)))
i--
dAtA[i] = 0xa
}
@@ -4793,7 +4892,7 @@ func (m *ExecuteMultiFetchAsDbaResponse) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4842,21 +4941,21 @@ func (m *ExecuteFetchAsAllPrivsRequest) MarshalToSizedBufferVT(dAtA []byte) (int
dAtA[i] = 0x20
}
if m.MaxRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxRows))
i--
dAtA[i] = 0x18
}
if len(m.DbName) > 0 {
i -= len(m.DbName)
copy(dAtA[i:], m.DbName)
- i = encodeVarint(dAtA, i, uint64(len(m.DbName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DbName)))
i--
dAtA[i] = 0x12
}
if len(m.Query) > 0 {
i -= len(m.Query)
copy(dAtA[i:], m.Query)
- i = encodeVarint(dAtA, i, uint64(len(m.Query)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Query)))
i--
dAtA[i] = 0xa
}
@@ -4899,7 +4998,7 @@ func (m *ExecuteFetchAsAllPrivsResponse) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4937,14 +5036,14 @@ func (m *ExecuteFetchAsAppRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
copy(dAtA[i:], m.unknownFields)
}
if m.MaxRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxRows))
i--
dAtA[i] = 0x10
}
if len(m.Query) > 0 {
i -= len(m.Query)
copy(dAtA[i:], m.Query)
- i = encodeVarint(dAtA, i, uint64(len(m.Query)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Query)))
i--
dAtA[i] = 0xa
}
@@ -4987,14 +5086,14 @@ func (m *ExecuteFetchAsAppResponse) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func (m *ReplicationStatusRequest) MarshalVT() (dAtA []byte, err error) {
+func (m *GetUnresolvedTransactionsRequest) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
@@ -5007,12 +5106,12 @@ func (m *ReplicationStatusRequest) MarshalVT() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ReplicationStatusRequest) MarshalToVT(dAtA []byte) (int, error) {
+func (m *GetUnresolvedTransactionsRequest) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
-func (m *ReplicationStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+func (m *GetUnresolvedTransactionsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
@@ -5024,10 +5123,15 @@ func (m *ReplicationStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.AbandonAge != 0 {
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AbandonAge))
+ i--
+ dAtA[i] = 0x8
+ }
return len(dAtA) - i, nil
}
-func (m *ReplicationStatusResponse) MarshalVT() (dAtA []byte, err error) {
+func (m *GetUnresolvedTransactionsResponse) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
@@ -5040,12 +5144,12 @@ func (m *ReplicationStatusResponse) MarshalVT() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *ReplicationStatusResponse) MarshalToVT(dAtA []byte) (int, error) {
+func (m *GetUnresolvedTransactionsResponse) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
-func (m *ReplicationStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+func (m *GetUnresolvedTransactionsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
@@ -5057,20 +5161,22 @@ func (m *ReplicationStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, er
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
- if m.Status != nil {
- size, err := m.Status.MarshalToSizedBufferVT(dAtA[:i])
- if err != nil {
- return 0, err
+ if len(m.Transactions) > 0 {
+ for iNdEx := len(m.Transactions) - 1; iNdEx >= 0; iNdEx-- {
+ size, err := m.Transactions[iNdEx].MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0xa
}
- i -= size
- i = encodeVarint(dAtA, i, uint64(size))
- i--
- dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func (m *PrimaryStatusRequest) MarshalVT() (dAtA []byte, err error) {
+func (m *ReadTransactionRequest) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
@@ -5083,12 +5189,12 @@ func (m *PrimaryStatusRequest) MarshalVT() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *PrimaryStatusRequest) MarshalToVT(dAtA []byte) (int, error) {
+func (m *ReadTransactionRequest) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
-func (m *PrimaryStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+func (m *ReadTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
@@ -5100,10 +5206,17 @@ func (m *PrimaryStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if len(m.Dtid) > 0 {
+ i -= len(m.Dtid)
+ copy(dAtA[i:], m.Dtid)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i--
+ dAtA[i] = 0xa
+ }
return len(dAtA) - i, nil
}
-func (m *PrimaryStatusResponse) MarshalVT() (dAtA []byte, err error) {
+func (m *ReadTransactionResponse) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
@@ -5116,12 +5229,12 @@ func (m *PrimaryStatusResponse) MarshalVT() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *PrimaryStatusResponse) MarshalToVT(dAtA []byte) (int, error) {
+func (m *ReadTransactionResponse) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
-func (m *PrimaryStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+func (m *ReadTransactionResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
@@ -5133,20 +5246,20 @@ func (m *PrimaryStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
- if m.Status != nil {
- size, err := m.Status.MarshalToSizedBufferVT(dAtA[:i])
+ if m.Transaction != nil {
+ size, err := m.Transaction.MarshalToSizedBufferVT(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func (m *PrimaryPositionRequest) MarshalVT() (dAtA []byte, err error) {
+func (m *ConcludeTransactionRequest) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
@@ -5159,12 +5272,12 @@ func (m *PrimaryPositionRequest) MarshalVT() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *PrimaryPositionRequest) MarshalToVT(dAtA []byte) (int, error) {
+func (m *ConcludeTransactionRequest) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
-func (m *PrimaryPositionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+func (m *ConcludeTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
@@ -5176,10 +5289,27 @@ func (m *PrimaryPositionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.Mm {
+ i--
+ if m.Mm {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x10
+ }
+ if len(m.Dtid) > 0 {
+ i -= len(m.Dtid)
+ copy(dAtA[i:], m.Dtid)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i--
+ dAtA[i] = 0xa
+ }
return len(dAtA) - i, nil
}
-func (m *PrimaryPositionResponse) MarshalVT() (dAtA []byte, err error) {
+func (m *ConcludeTransactionResponse) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
@@ -5192,12 +5322,12 @@ func (m *PrimaryPositionResponse) MarshalVT() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *PrimaryPositionResponse) MarshalToVT(dAtA []byte) (int, error) {
+func (m *ConcludeTransactionResponse) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
-func (m *PrimaryPositionResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+func (m *ConcludeTransactionResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
@@ -5209,17 +5339,10 @@ func (m *PrimaryPositionResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
- if len(m.Position) > 0 {
- i -= len(m.Position)
- copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
- i--
- dAtA[i] = 0xa
- }
return len(dAtA) - i, nil
}
-func (m *WaitForPositionRequest) MarshalVT() (dAtA []byte, err error) {
+func (m *ReplicationStatusRequest) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
@@ -5232,12 +5355,237 @@ func (m *WaitForPositionRequest) MarshalVT() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *WaitForPositionRequest) MarshalToVT(dAtA []byte) (int, error) {
+func (m *ReplicationStatusRequest) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
-func (m *WaitForPositionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+func (m *ReplicationStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *ReplicationStatusResponse) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ReplicationStatusResponse) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *ReplicationStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if m.Status != nil {
+ size, err := m.Status.MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *PrimaryStatusRequest) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *PrimaryStatusRequest) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *PrimaryStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *PrimaryStatusResponse) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *PrimaryStatusResponse) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *PrimaryStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if m.Status != nil {
+ size, err := m.Status.MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *PrimaryPositionRequest) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *PrimaryPositionRequest) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *PrimaryPositionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *PrimaryPositionResponse) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *PrimaryPositionResponse) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *PrimaryPositionResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if len(m.Position) > 0 {
+ i -= len(m.Position)
+ copy(dAtA[i:], m.Position)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *WaitForPositionRequest) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *WaitForPositionRequest) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *WaitForPositionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
@@ -5252,7 +5600,7 @@ func (m *WaitForPositionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0xa
}
@@ -5389,14 +5737,14 @@ func (m *StopReplicationMinimumRequest) MarshalToSizedBufferVT(dAtA []byte) (int
copy(dAtA[i:], m.unknownFields)
}
if m.WaitTimeout != 0 {
- i = encodeVarint(dAtA, i, uint64(m.WaitTimeout))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WaitTimeout))
i--
dAtA[i] = 0x10
}
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0xa
}
@@ -5436,7 +5784,7 @@ func (m *StopReplicationMinimumResponse) MarshalToSizedBufferVT(dAtA []byte) (in
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0xa
}
@@ -5550,14 +5898,14 @@ func (m *StartReplicationUntilAfterRequest) MarshalToSizedBufferVT(dAtA []byte)
copy(dAtA[i:], m.unknownFields)
}
if m.WaitTimeout != 0 {
- i = encodeVarint(dAtA, i, uint64(m.WaitTimeout))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WaitTimeout))
i--
dAtA[i] = 0x10
}
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0xa
}
@@ -5664,7 +6012,7 @@ func (m *GetReplicasResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Addrs) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Addrs[iNdEx])
copy(dAtA[i:], m.Addrs[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Addrs[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Addrs[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -5771,7 +6119,7 @@ func (m *VReplicationExecRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
if len(m.Query) > 0 {
i -= len(m.Query)
copy(dAtA[i:], m.Query)
- i = encodeVarint(dAtA, i, uint64(len(m.Query)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Query)))
i--
dAtA[i] = 0xa
}
@@ -5814,7 +6162,7 @@ func (m *VReplicationExecResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5854,12 +6202,12 @@ func (m *VReplicationWaitForPosRequest) MarshalToSizedBufferVT(dAtA []byte) (int
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0x12
}
if m.Id != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Id))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Id))
i--
dAtA[i] = 0x8
}
@@ -5975,7 +6323,7 @@ func (m *InitPrimaryResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0xa
}
@@ -6015,7 +6363,7 @@ func (m *PopulateReparentJournalRequest) MarshalToSizedBufferVT(dAtA []byte) (in
if len(m.ReplicationPosition) > 0 {
i -= len(m.ReplicationPosition)
copy(dAtA[i:], m.ReplicationPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.ReplicationPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ReplicationPosition)))
i--
dAtA[i] = 0x22
}
@@ -6025,19 +6373,19 @@ func (m *PopulateReparentJournalRequest) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.ActionName) > 0 {
i -= len(m.ActionName)
copy(dAtA[i:], m.ActionName)
- i = encodeVarint(dAtA, i, uint64(len(m.ActionName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ActionName)))
i--
dAtA[i] = 0x12
}
if m.TimeCreatedNs != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TimeCreatedNs))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TimeCreatedNs))
i--
dAtA[i] = 0x8
}
@@ -6118,14 +6466,14 @@ func (m *InitReplicaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x20
}
if m.TimeCreatedNs != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TimeCreatedNs))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TimeCreatedNs))
i--
dAtA[i] = 0x18
}
if len(m.ReplicationPosition) > 0 {
i -= len(m.ReplicationPosition)
copy(dAtA[i:], m.ReplicationPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.ReplicationPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ReplicationPosition)))
i--
dAtA[i] = 0x12
}
@@ -6135,7 +6483,7 @@ func (m *InitReplicaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -6244,7 +6592,7 @@ func (m *DemotePrimaryResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -6528,7 +6876,7 @@ func (m *FullStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -6584,7 +6932,7 @@ func (m *SetReplicationSourceRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.WaitPosition) > 0 {
i -= len(m.WaitPosition)
copy(dAtA[i:], m.WaitPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
i--
dAtA[i] = 0x22
}
@@ -6599,7 +6947,7 @@ func (m *SetReplicationSourceRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
dAtA[i] = 0x18
}
if m.TimeCreatedNs != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TimeCreatedNs))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TimeCreatedNs))
i--
dAtA[i] = 0x10
}
@@ -6609,7 +6957,7 @@ func (m *SetReplicationSourceRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -6685,7 +7033,7 @@ func (m *ReplicaWasRestartedRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -6756,7 +7104,7 @@ func (m *StopReplicationAndGetStatusRequest) MarshalToSizedBufferVT(dAtA []byte)
copy(dAtA[i:], m.unknownFields)
}
if m.StopReplicationMode != 0 {
- i = encodeVarint(dAtA, i, uint64(m.StopReplicationMode))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.StopReplicationMode))
i--
dAtA[i] = 0x8
}
@@ -6799,7 +7147,7 @@ func (m *StopReplicationAndGetStatusResponse) MarshalToSizedBufferVT(dAtA []byte
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -6882,7 +7230,7 @@ func (m *PromoteReplicaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0xa
}
@@ -6932,7 +7280,7 @@ func (m *BackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.IncrementalFromPos) > 0 {
i -= len(m.IncrementalFromPos)
copy(dAtA[i:], m.IncrementalFromPos)
- i = encodeVarint(dAtA, i, uint64(len(m.IncrementalFromPos)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.IncrementalFromPos)))
i--
dAtA[i] = 0x1a
}
@@ -6947,7 +7295,7 @@ func (m *BackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x10
}
if m.Concurrency != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Concurrency))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Concurrency))
i--
dAtA[i] = 0x8
}
@@ -6990,7 +7338,7 @@ func (m *BackupResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7033,7 +7381,7 @@ func (m *RestoreFromBackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -7050,7 +7398,7 @@ func (m *RestoreFromBackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
if len(m.RestoreToPos) > 0 {
i -= len(m.RestoreToPos)
copy(dAtA[i:], m.RestoreToPos)
- i = encodeVarint(dAtA, i, uint64(len(m.RestoreToPos)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RestoreToPos)))
i--
dAtA[i] = 0x12
}
@@ -7060,7 +7408,7 @@ func (m *RestoreFromBackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7103,7 +7451,7 @@ func (m *RestoreFromBackupResponse) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7143,7 +7491,7 @@ func (m *CreateVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte)
if len(m.Options) > 0 {
i -= len(m.Options)
copy(dAtA[i:], m.Options)
- i = encodeVarint(dAtA, i, uint64(len(m.Options)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Options)))
i--
dAtA[i] = 0x5a
}
@@ -7178,24 +7526,24 @@ func (m *CreateVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte)
dAtA[i] = 0x40
}
if m.WorkflowSubType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.WorkflowSubType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WorkflowSubType))
i--
dAtA[i] = 0x38
}
if m.WorkflowType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.WorkflowType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WorkflowType))
i--
dAtA[i] = 0x30
}
if m.TabletSelectionPreference != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
i--
dAtA[i] = 0x28
}
if len(m.TabletTypes) > 0 {
var pksize2 int
for _, num := range m.TabletTypes {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -7209,7 +7557,7 @@ func (m *CreateVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte)
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x22
}
@@ -7217,7 +7565,7 @@ func (m *CreateVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte)
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -7229,7 +7577,7 @@ func (m *CreateVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -7237,7 +7585,7 @@ func (m *CreateVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte)
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -7280,7 +7628,7 @@ func (m *CreateVReplicationWorkflowResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7320,7 +7668,7 @@ func (m *DeleteVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte)
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -7363,7 +7711,7 @@ func (m *DeleteVReplicationWorkflowResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7489,7 +7837,7 @@ func (m *ReadVReplicationWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (
if len(m.ExcludeStates) > 0 {
var pksize2 int
for _, num := range m.ExcludeStates {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -7503,7 +7851,7 @@ func (m *ReadVReplicationWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x2a
}
@@ -7511,7 +7859,7 @@ func (m *ReadVReplicationWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (
for iNdEx := len(m.ExcludeWorkflows) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ExcludeWorkflows[iNdEx])
copy(dAtA[i:], m.ExcludeWorkflows[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ExcludeWorkflows[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExcludeWorkflows[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -7519,7 +7867,7 @@ func (m *ReadVReplicationWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (
if len(m.IncludeStates) > 0 {
var pksize4 int
for _, num := range m.IncludeStates {
- pksize4 += sov(uint64(num))
+ pksize4 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize4
j3 := i
@@ -7533,7 +7881,7 @@ func (m *ReadVReplicationWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (
dAtA[j3] = uint8(num)
j3++
}
- i = encodeVarint(dAtA, i, uint64(pksize4))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize4))
i--
dAtA[i] = 0x1a
}
@@ -7541,7 +7889,7 @@ func (m *ReadVReplicationWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (
for iNdEx := len(m.IncludeWorkflows) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.IncludeWorkflows[iNdEx])
copy(dAtA[i:], m.IncludeWorkflows[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.IncludeWorkflows[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.IncludeWorkflows[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -7549,7 +7897,7 @@ func (m *ReadVReplicationWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (
if len(m.IncludeIds) > 0 {
var pksize6 int
for _, num := range m.IncludeIds {
- pksize6 += sov(uint64(num))
+ pksize6 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize6
j5 := i
@@ -7563,7 +7911,7 @@ func (m *ReadVReplicationWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (
dAtA[j5] = uint8(num)
j5++
}
- i = encodeVarint(dAtA, i, uint64(pksize6))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize6))
i--
dAtA[i] = 0xa
}
@@ -7607,7 +7955,7 @@ func (m *ReadVReplicationWorkflowsResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7648,7 +7996,7 @@ func (m *ReadVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte) (i
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -7688,7 +8036,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) MarshalToSizedBufferVT(dAtA []
if len(m.ComponentThrottled) > 0 {
i -= len(m.ComponentThrottled)
copy(dAtA[i:], m.ComponentThrottled)
- i = encodeVarint(dAtA, i, uint64(len(m.ComponentThrottled)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ComponentThrottled)))
i--
dAtA[i] = 0x72
}
@@ -7698,7 +8046,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) MarshalToSizedBufferVT(dAtA []
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x6a
}
@@ -7708,24 +8056,24 @@ func (m *ReadVReplicationWorkflowResponse_Stream) MarshalToSizedBufferVT(dAtA []
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x62
}
if m.RowsCopied != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RowsCopied))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowsCopied))
i--
dAtA[i] = 0x58
}
if len(m.Message) > 0 {
i -= len(m.Message)
copy(dAtA[i:], m.Message)
- i = encodeVarint(dAtA, i, uint64(len(m.Message)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Message)))
i--
dAtA[i] = 0x52
}
if m.State != 0 {
- i = encodeVarint(dAtA, i, uint64(m.State))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.State))
i--
dAtA[i] = 0x48
}
@@ -7735,7 +8083,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) MarshalToSizedBufferVT(dAtA []
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x42
}
@@ -7745,31 +8093,31 @@ func (m *ReadVReplicationWorkflowResponse_Stream) MarshalToSizedBufferVT(dAtA []
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x3a
}
if m.MaxReplicationLag != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxReplicationLag))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxReplicationLag))
i--
dAtA[i] = 0x30
}
if m.MaxTps != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxTps))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxTps))
i--
dAtA[i] = 0x28
}
if len(m.StopPos) > 0 {
i -= len(m.StopPos)
copy(dAtA[i:], m.StopPos)
- i = encodeVarint(dAtA, i, uint64(len(m.StopPos)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StopPos)))
i--
dAtA[i] = 0x22
}
if len(m.Pos) > 0 {
i -= len(m.Pos)
copy(dAtA[i:], m.Pos)
- i = encodeVarint(dAtA, i, uint64(len(m.Pos)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Pos)))
i--
dAtA[i] = 0x1a
}
@@ -7779,12 +8127,12 @@ func (m *ReadVReplicationWorkflowResponse_Stream) MarshalToSizedBufferVT(dAtA []
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if m.Id != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Id))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Id))
i--
dAtA[i] = 0x8
}
@@ -7821,10 +8169,29 @@ func (m *ReadVReplicationWorkflowResponse) MarshalToSizedBufferVT(dAtA []byte) (
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if len(m.ConfigOverrides) > 0 {
+ for k := range m.ConfigOverrides {
+ v := m.ConfigOverrides[k]
+ baseI := i
+ i -= len(v)
+ copy(dAtA[i:], v)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(k)
+ copy(dAtA[i:], k)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
+ i--
+ dAtA[i] = 0xa
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
+ i--
+ dAtA[i] = 0x6a
+ }
+ }
if len(m.Options) > 0 {
i -= len(m.Options)
copy(dAtA[i:], m.Options)
- i = encodeVarint(dAtA, i, uint64(len(m.Options)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Options)))
i--
dAtA[i] = 0x62
}
@@ -7835,7 +8202,7 @@ func (m *ReadVReplicationWorkflowResponse) MarshalToSizedBufferVT(dAtA []byte) (
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x5a
}
@@ -7851,38 +8218,38 @@ func (m *ReadVReplicationWorkflowResponse) MarshalToSizedBufferVT(dAtA []byte) (
dAtA[i] = 0x50
}
if m.WorkflowSubType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.WorkflowSubType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WorkflowSubType))
i--
dAtA[i] = 0x48
}
if m.WorkflowType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.WorkflowType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WorkflowType))
i--
dAtA[i] = 0x40
}
if len(m.Tags) > 0 {
i -= len(m.Tags)
copy(dAtA[i:], m.Tags)
- i = encodeVarint(dAtA, i, uint64(len(m.Tags)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tags)))
i--
dAtA[i] = 0x3a
}
if len(m.DbName) > 0 {
i -= len(m.DbName)
copy(dAtA[i:], m.DbName)
- i = encodeVarint(dAtA, i, uint64(len(m.DbName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DbName)))
i--
dAtA[i] = 0x32
}
if m.TabletSelectionPreference != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
i--
dAtA[i] = 0x28
}
if len(m.TabletTypes) > 0 {
var pksize2 int
for _, num := range m.TabletTypes {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -7896,28 +8263,28 @@ func (m *ReadVReplicationWorkflowResponse) MarshalToSizedBufferVT(dAtA []byte) (
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x22
}
if len(m.Cells) > 0 {
i -= len(m.Cells)
copy(dAtA[i:], m.Cells)
- i = encodeVarint(dAtA, i, uint64(len(m.Cells)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells)))
i--
dAtA[i] = 0x1a
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0x12
}
return len(dAtA) - i, nil
}
-func (m *VDiffRequest) MarshalVT() (dAtA []byte, err error) {
+func (m *ValidateVReplicationPermissionsRequest) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
@@ -7930,12 +8297,12 @@ func (m *VDiffRequest) MarshalVT() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *VDiffRequest) MarshalToVT(dAtA []byte) (int, error) {
+func (m *ValidateVReplicationPermissionsRequest) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
-func (m *VDiffRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+func (m *ValidateVReplicationPermissionsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
@@ -7947,48 +8314,131 @@ func (m *VDiffRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
- if m.Options != nil {
- size, err := m.Options.MarshalToSizedBufferVT(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarint(dAtA, i, uint64(size))
- i--
- dAtA[i] = 0x32
+ return len(dAtA) - i, nil
+}
+
+func (m *ValidateVReplicationPermissionsResponse) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
}
- if len(m.VdiffUuid) > 0 {
- i -= len(m.VdiffUuid)
- copy(dAtA[i:], m.VdiffUuid)
- i = encodeVarint(dAtA, i, uint64(len(m.VdiffUuid)))
- i--
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ValidateVReplicationPermissionsResponse) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *ValidateVReplicationPermissionsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if m.Ok {
+ i--
+ if m.Ok {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x10
+ }
+ if len(m.User) > 0 {
+ i -= len(m.User)
+ copy(dAtA[i:], m.User)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.User)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *VDiffRequest) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *VDiffRequest) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *VDiffRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if m.Options != nil {
+ size, err := m.Options.MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x32
+ }
+ if len(m.VdiffUuid) > 0 {
+ i -= len(m.VdiffUuid)
+ copy(dAtA[i:], m.VdiffUuid)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.VdiffUuid)))
+ i--
dAtA[i] = 0x2a
}
if len(m.ActionArg) > 0 {
i -= len(m.ActionArg)
copy(dAtA[i:], m.ActionArg)
- i = encodeVarint(dAtA, i, uint64(len(m.ActionArg)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ActionArg)))
i--
dAtA[i] = 0x22
}
if len(m.Action) > 0 {
i -= len(m.Action)
copy(dAtA[i:], m.Action)
- i = encodeVarint(dAtA, i, uint64(len(m.Action)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Action)))
i--
dAtA[i] = 0x1a
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -8028,7 +8478,7 @@ func (m *VDiffResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.VdiffUuid) > 0 {
i -= len(m.VdiffUuid)
copy(dAtA[i:], m.VdiffUuid)
- i = encodeVarint(dAtA, i, uint64(len(m.VdiffUuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.VdiffUuid)))
i--
dAtA[i] = 0x1a
}
@@ -8038,12 +8488,12 @@ func (m *VDiffResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if m.Id != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Id))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Id))
i--
dAtA[i] = 0x8
}
@@ -8083,21 +8533,21 @@ func (m *VDiffPickerOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.TargetCell) > 0 {
i -= len(m.TargetCell)
copy(dAtA[i:], m.TargetCell)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetCell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetCell)))
i--
dAtA[i] = 0x1a
}
if len(m.SourceCell) > 0 {
i -= len(m.SourceCell)
copy(dAtA[i:], m.SourceCell)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceCell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceCell)))
i--
dAtA[i] = 0x12
}
if len(m.TabletTypes) > 0 {
i -= len(m.TabletTypes)
copy(dAtA[i:], m.TabletTypes)
- i = encodeVarint(dAtA, i, uint64(len(m.TabletTypes)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TabletTypes)))
i--
dAtA[i] = 0xa
}
@@ -8134,15 +8584,20 @@ func (m *VDiffReportOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.RowDiffColumnTruncateAt != 0 {
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowDiffColumnTruncateAt))
+ i--
+ dAtA[i] = 0x28
+ }
if m.MaxSampleRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxSampleRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxSampleRows))
i--
dAtA[i] = 0x20
}
if len(m.Format) > 0 {
i -= len(m.Format)
copy(dAtA[i:], m.Format)
- i = encodeVarint(dAtA, i, uint64(len(m.Format)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Format)))
i--
dAtA[i] = 0x1a
}
@@ -8199,8 +8654,18 @@ func (m *VDiffCoreOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.AutoStart != nil {
+ i--
+ if *m.AutoStart {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x50
+ }
if m.MaxDiffSeconds != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxDiffSeconds))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxDiffSeconds))
i--
dAtA[i] = 0x48
}
@@ -8215,17 +8680,17 @@ func (m *VDiffCoreOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x40
}
if m.MaxExtraRowsToCompare != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxExtraRowsToCompare))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxExtraRowsToCompare))
i--
dAtA[i] = 0x38
}
if m.TimeoutSeconds != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TimeoutSeconds))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TimeoutSeconds))
i--
dAtA[i] = 0x30
}
if m.SamplePct != 0 {
- i = encodeVarint(dAtA, i, uint64(m.SamplePct))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SamplePct))
i--
dAtA[i] = 0x28
}
@@ -8240,7 +8705,7 @@ func (m *VDiffCoreOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x20
}
if m.MaxRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxRows))
i--
dAtA[i] = 0x18
}
@@ -8257,7 +8722,7 @@ func (m *VDiffCoreOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Tables) > 0 {
i -= len(m.Tables)
copy(dAtA[i:], m.Tables)
- i = encodeVarint(dAtA, i, uint64(len(m.Tables)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tables)))
i--
dAtA[i] = 0xa
}
@@ -8300,7 +8765,7 @@ func (m *VDiffOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -8310,7 +8775,7 @@ func (m *VDiffOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -8320,7 +8785,7 @@ func (m *VDiffOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8357,25 +8822,44 @@ func (m *UpdateVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte)
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
- if m.State != 0 {
- i = encodeVarint(dAtA, i, uint64(m.State))
+ if len(m.ConfigOverrides) > 0 {
+ for k := range m.ConfigOverrides {
+ v := m.ConfigOverrides[k]
+ baseI := i
+ i -= len(v)
+ copy(dAtA[i:], v)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(k)
+ copy(dAtA[i:], k)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
+ i--
+ dAtA[i] = 0xa
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
+ i--
+ dAtA[i] = 0x42
+ }
+ }
+ if m.State != nil {
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.State))
i--
dAtA[i] = 0x30
}
- if m.OnDdl != 0 {
- i = encodeVarint(dAtA, i, uint64(m.OnDdl))
+ if m.OnDdl != nil {
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.OnDdl))
i--
dAtA[i] = 0x28
}
- if m.TabletSelectionPreference != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
+ if m.TabletSelectionPreference != nil {
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.TabletSelectionPreference))
i--
dAtA[i] = 0x20
}
if len(m.TabletTypes) > 0 {
var pksize2 int
for _, num := range m.TabletTypes {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -8389,7 +8873,7 @@ func (m *UpdateVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte)
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x1a
}
@@ -8397,7 +8881,7 @@ func (m *UpdateVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte)
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -8405,7 +8889,7 @@ func (m *UpdateVReplicationWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte)
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -8448,7 +8932,7 @@ func (m *UpdateVReplicationWorkflowResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8485,22 +8969,22 @@ func (m *UpdateVReplicationWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte)
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
- if len(m.StopPosition) > 0 {
- i -= len(m.StopPosition)
- copy(dAtA[i:], m.StopPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.StopPosition)))
+ if m.StopPosition != nil {
+ i -= len(*m.StopPosition)
+ copy(dAtA[i:], *m.StopPosition)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.StopPosition)))
i--
dAtA[i] = 0x32
}
- if len(m.Message) > 0 {
- i -= len(m.Message)
- copy(dAtA[i:], m.Message)
- i = encodeVarint(dAtA, i, uint64(len(m.Message)))
+ if m.Message != nil {
+ i -= len(*m.Message)
+ copy(dAtA[i:], *m.Message)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.Message)))
i--
dAtA[i] = 0x2a
}
- if m.State != 0 {
- i = encodeVarint(dAtA, i, uint64(m.State))
+ if m.State != nil {
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.State))
i--
dAtA[i] = 0x20
}
@@ -8508,7 +8992,7 @@ func (m *UpdateVReplicationWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte)
for iNdEx := len(m.ExcludeWorkflows) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ExcludeWorkflows[iNdEx])
copy(dAtA[i:], m.ExcludeWorkflows[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ExcludeWorkflows[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExcludeWorkflows[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -8517,7 +9001,7 @@ func (m *UpdateVReplicationWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte)
for iNdEx := len(m.IncludeWorkflows) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.IncludeWorkflows[iNdEx])
copy(dAtA[i:], m.IncludeWorkflows[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.IncludeWorkflows[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.IncludeWorkflows[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -8571,7 +9055,7 @@ func (m *UpdateVReplicationWorkflowsResponse) MarshalToSizedBufferVT(dAtA []byte
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8612,7 +9096,7 @@ func (m *ResetSequencesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Tables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Tables[iNdEx])
copy(dAtA[i:], m.Tables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -8716,14 +9200,14 @@ func (m *CheckThrottlerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Scope) > 0 {
i -= len(m.Scope)
copy(dAtA[i:], m.Scope)
- i = encodeVarint(dAtA, i, uint64(len(m.Scope)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Scope)))
i--
dAtA[i] = 0x12
}
if len(m.AppName) > 0 {
i -= len(m.AppName)
copy(dAtA[i:], m.AppName)
- i = encodeVarint(dAtA, i, uint64(len(m.AppName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AppName)))
i--
dAtA[i] = 0xa
}
@@ -8761,28 +9245,28 @@ func (m *CheckThrottlerResponse_Metric) MarshalToSizedBufferVT(dAtA []byte) (int
copy(dAtA[i:], m.unknownFields)
}
if m.ResponseCode != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ResponseCode))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ResponseCode))
i--
dAtA[i] = 0x40
}
if len(m.Scope) > 0 {
i -= len(m.Scope)
copy(dAtA[i:], m.Scope)
- i = encodeVarint(dAtA, i, uint64(len(m.Scope)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Scope)))
i--
dAtA[i] = 0x3a
}
if len(m.Message) > 0 {
i -= len(m.Message)
copy(dAtA[i:], m.Message)
- i = encodeVarint(dAtA, i, uint64(len(m.Message)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Message)))
i--
dAtA[i] = 0x32
}
if len(m.Error) > 0 {
i -= len(m.Error)
copy(dAtA[i:], m.Error)
- i = encodeVarint(dAtA, i, uint64(len(m.Error)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Error)))
i--
dAtA[i] = 0x2a
}
@@ -8799,14 +9283,14 @@ func (m *CheckThrottlerResponse_Metric) MarshalToSizedBufferVT(dAtA []byte) (int
dAtA[i] = 0x19
}
if m.StatusCode != 0 {
- i = encodeVarint(dAtA, i, uint64(m.StatusCode))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.StatusCode))
i--
dAtA[i] = 0x10
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -8844,21 +9328,21 @@ func (m *CheckThrottlerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
copy(dAtA[i:], m.unknownFields)
}
if m.ResponseCode != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ResponseCode))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ResponseCode))
i--
dAtA[i] = 0x50
}
if len(m.Summary) > 0 {
i -= len(m.Summary)
copy(dAtA[i:], m.Summary)
- i = encodeVarint(dAtA, i, uint64(len(m.Summary)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Summary)))
i--
dAtA[i] = 0x4a
}
if len(m.AppName) > 0 {
i -= len(m.AppName)
copy(dAtA[i:], m.AppName)
- i = encodeVarint(dAtA, i, uint64(len(m.AppName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AppName)))
i--
dAtA[i] = 0x42
}
@@ -8871,15 +9355,15 @@ func (m *CheckThrottlerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x3a
}
@@ -8897,14 +9381,14 @@ func (m *CheckThrottlerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Message) > 0 {
i -= len(m.Message)
copy(dAtA[i:], m.Message)
- i = encodeVarint(dAtA, i, uint64(len(m.Message)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Message)))
i--
dAtA[i] = 0x2a
}
if len(m.Error) > 0 {
i -= len(m.Error)
copy(dAtA[i:], m.Error)
- i = encodeVarint(dAtA, i, uint64(len(m.Error)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Error)))
i--
dAtA[i] = 0x22
}
@@ -8921,7 +9405,7 @@ func (m *CheckThrottlerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
dAtA[i] = 0x11
}
if m.StatusCode != 0 {
- i = encodeVarint(dAtA, i, uint64(m.StatusCode))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.StatusCode))
i--
dAtA[i] = 0x8
}
@@ -8994,7 +9478,7 @@ func (m *GetThrottlerStatusResponse_MetricResult) MarshalToSizedBufferVT(dAtA []
if len(m.Error) > 0 {
i -= len(m.Error)
copy(dAtA[i:], m.Error)
- i = encodeVarint(dAtA, i, uint64(len(m.Error)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Error)))
i--
dAtA[i] = 0x12
}
@@ -9038,7 +9522,7 @@ func (m *GetThrottlerStatusResponse_MetricHealth) MarshalToSizedBufferVT(dAtA []
copy(dAtA[i:], m.unknownFields)
}
if m.SecondsSinceLastHealthy != 0 {
- i = encodeVarint(dAtA, i, uint64(m.SecondsSinceLastHealthy))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SecondsSinceLastHealthy))
i--
dAtA[i] = 0x10
}
@@ -9048,7 +9532,7 @@ func (m *GetThrottlerStatusResponse_MetricHealth) MarshalToSizedBufferVT(dAtA []
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -9086,12 +9570,12 @@ func (m *GetThrottlerStatusResponse_RecentApp) MarshalToSizedBufferVT(dAtA []byt
copy(dAtA[i:], m.unknownFields)
}
if m.ResponseCode != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ResponseCode))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ResponseCode))
i--
dAtA[i] = 0x18
}
if m.StatusCode != 0 {
- i = encodeVarint(dAtA, i, uint64(m.StatusCode))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.StatusCode))
i--
dAtA[i] = 0x10
}
@@ -9101,7 +9585,7 @@ func (m *GetThrottlerStatusResponse_RecentApp) MarshalToSizedBufferVT(dAtA []byt
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -9147,15 +9631,15 @@ func (m *GetThrottlerStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x1
i--
@@ -9180,15 +9664,15 @@ func (m *GetThrottlerStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
baseI := i
i -= len(v)
copy(dAtA[i:], v)
- i = encodeVarint(dAtA, i, uint64(len(v)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x1
i--
@@ -9204,15 +9688,15 @@ func (m *GetThrottlerStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x7a
}
@@ -9226,15 +9710,15 @@ func (m *GetThrottlerStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x72
}
@@ -9249,10 +9733,10 @@ func (m *GetThrottlerStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
dAtA[i] = 0x11
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x6a
}
@@ -9266,15 +9750,15 @@ func (m *GetThrottlerStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x62
}
@@ -9282,7 +9766,7 @@ func (m *GetThrottlerStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
if len(m.MetricNameUsedAsDefault) > 0 {
i -= len(m.MetricNameUsedAsDefault)
copy(dAtA[i:], m.MetricNameUsedAsDefault)
- i = encodeVarint(dAtA, i, uint64(len(m.MetricNameUsedAsDefault)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.MetricNameUsedAsDefault)))
i--
dAtA[i] = 0x5a
}
@@ -9295,14 +9779,14 @@ func (m *GetThrottlerStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
if len(m.CustomMetricQuery) > 0 {
i -= len(m.CustomMetricQuery)
copy(dAtA[i:], m.CustomMetricQuery)
- i = encodeVarint(dAtA, i, uint64(len(m.CustomMetricQuery)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CustomMetricQuery)))
i--
dAtA[i] = 0x4a
}
if len(m.LagMetricQuery) > 0 {
i -= len(m.LagMetricQuery)
copy(dAtA[i:], m.LagMetricQuery)
- i = encodeVarint(dAtA, i, uint64(len(m.LagMetricQuery)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LagMetricQuery)))
i--
dAtA[i] = 0x42
}
@@ -9349,38 +9833,27 @@ func (m *GetThrottlerStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.TabletAlias) > 0 {
i -= len(m.TabletAlias)
copy(dAtA[i:], m.TabletAlias)
- i = encodeVarint(dAtA, i, uint64(len(m.TabletAlias)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TabletAlias)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *TableDefinition) SizeVT() (n int) {
if m == nil {
return 0
@@ -9389,38 +9862,38 @@ func (m *TableDefinition) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Schema)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Columns) > 0 {
for _, s := range m.Columns {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.PrimaryKeyColumns) > 0 {
for _, s := range m.PrimaryKeyColumns {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.Type)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.DataLength != 0 {
- n += 1 + sov(uint64(m.DataLength))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.DataLength))
}
if m.RowCount != 0 {
- n += 1 + sov(uint64(m.RowCount))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.RowCount))
}
if len(m.Fields) > 0 {
for _, e := range m.Fields {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9435,12 +9908,12 @@ func (m *SchemaDefinition) SizeVT() (n int) {
_ = l
l = len(m.DatabaseSchema)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.TableDefinitions) > 0 {
for _, e := range m.TableDefinitions {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9455,11 +9928,11 @@ func (m *SchemaChangeResult) SizeVT() (n int) {
_ = l
if m.BeforeSchema != nil {
l = m.BeforeSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AfterSchema != nil {
l = m.AfterSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9473,21 +9946,21 @@ func (m *UserPermission) SizeVT() (n int) {
_ = l
l = len(m.Host)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.User)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PasswordChecksum != 0 {
- n += 1 + sov(uint64(m.PasswordChecksum))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.PasswordChecksum))
}
if len(m.Privileges) > 0 {
for k, v := range m.Privileges {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v)))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -9502,22 +9975,22 @@ func (m *DbPermission) SizeVT() (n int) {
_ = l
l = len(m.Host)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Db)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.User)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Privileges) > 0 {
for k, v := range m.Privileges {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v)))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -9533,13 +10006,13 @@ func (m *Permissions) SizeVT() (n int) {
if len(m.UserPermissions) > 0 {
for _, e := range m.UserPermissions {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.DbPermissions) > 0 {
for _, e := range m.DbPermissions {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9554,7 +10027,7 @@ func (m *PingRequest) SizeVT() (n int) {
_ = l
l = len(m.Payload)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9568,7 +10041,7 @@ func (m *PingResponse) SizeVT() (n int) {
_ = l
l = len(m.Payload)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9581,7 +10054,7 @@ func (m *SleepRequest) SizeVT() (n int) {
var l int
_ = l
if m.Duration != 0 {
- n += 1 + sov(uint64(m.Duration))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Duration))
}
n += len(m.unknownFields)
return n
@@ -9605,20 +10078,20 @@ func (m *ExecuteHookRequest) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Parameters) > 0 {
for _, s := range m.Parameters {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ExtraEnv) > 0 {
for k, v := range m.ExtraEnv {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v)))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -9632,15 +10105,15 @@ func (m *ExecuteHookResponse) SizeVT() (n int) {
var l int
_ = l
if m.ExitStatus != 0 {
- n += 1 + sov(uint64(m.ExitStatus))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ExitStatus))
}
l = len(m.Stdout)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Stderr)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9655,7 +10128,7 @@ func (m *GetSchemaRequest) SizeVT() (n int) {
if len(m.Tables) > 0 {
for _, s := range m.Tables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.IncludeViews {
@@ -9664,7 +10137,7 @@ func (m *GetSchemaRequest) SizeVT() (n int) {
if len(m.ExcludeTables) > 0 {
for _, s := range m.ExcludeTables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.TableSchemaOnly {
@@ -9682,7 +10155,7 @@ func (m *GetSchemaResponse) SizeVT() (n int) {
_ = l
if m.SchemaDefinition != nil {
l = m.SchemaDefinition.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9706,7 +10179,7 @@ func (m *GetPermissionsResponse) SizeVT() (n int) {
_ = l
if m.Permissions != nil {
l = m.Permissions.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9721,7 +10194,7 @@ func (m *GetGlobalStatusVarsRequest) SizeVT() (n int) {
if len(m.Variables) > 0 {
for _, s := range m.Variables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9738,8 +10211,8 @@ func (m *GetGlobalStatusVarsResponse) SizeVT() (n int) {
for k, v := range m.StatusValues {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v)))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -9793,7 +10266,7 @@ func (m *ChangeTypeRequest) SizeVT() (n int) {
var l int
_ = l
if m.TabletType != 0 {
- n += 1 + sov(uint64(m.TabletType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletType))
}
if m.SemiSync {
n += 2
@@ -9860,7 +10333,7 @@ func (m *ReloadSchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.WaitPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9885,7 +10358,7 @@ func (m *PreflightSchemaRequest) SizeVT() (n int) {
if len(m.Changes) > 0 {
for _, s := range m.Changes {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9901,7 +10374,7 @@ func (m *PreflightSchemaResponse) SizeVT() (n int) {
if len(m.ChangeResults) > 0 {
for _, e := range m.ChangeResults {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9916,7 +10389,7 @@ func (m *ApplySchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.Sql)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Force {
n += 2
@@ -9926,18 +10399,18 @@ func (m *ApplySchemaRequest) SizeVT() (n int) {
}
if m.BeforeSchema != nil {
l = m.BeforeSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AfterSchema != nil {
l = m.AfterSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SqlMode)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.BatchSize != 0 {
- n += 1 + sov(uint64(m.BatchSize))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.BatchSize))
}
if m.DisableForeignKeyChecks {
n += 2
@@ -9954,11 +10427,11 @@ func (m *ApplySchemaResponse) SizeVT() (n int) {
_ = l
if m.BeforeSchema != nil {
l = m.BeforeSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AfterSchema != nil {
l = m.AfterSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10012,18 +10485,18 @@ func (m *ExecuteQueryRequest) SizeVT() (n int) {
_ = l
l = len(m.Query)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DbName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxRows != 0 {
- n += 1 + sov(uint64(m.MaxRows))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxRows))
}
if m.CallerId != nil {
l = m.CallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10037,7 +10510,7 @@ func (m *ExecuteQueryResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10051,14 +10524,14 @@ func (m *ExecuteFetchAsDbaRequest) SizeVT() (n int) {
_ = l
l = len(m.Query)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DbName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxRows != 0 {
- n += 1 + sov(uint64(m.MaxRows))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxRows))
}
if m.DisableBinlogs {
n += 2
@@ -10081,7 +10554,7 @@ func (m *ExecuteFetchAsDbaResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10095,14 +10568,14 @@ func (m *ExecuteMultiFetchAsDbaRequest) SizeVT() (n int) {
_ = l
l = len(m.Sql)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DbName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxRows != 0 {
- n += 1 + sov(uint64(m.MaxRows))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxRows))
}
if m.DisableBinlogs {
n += 2
@@ -10126,7 +10599,7 @@ func (m *ExecuteMultiFetchAsDbaResponse) SizeVT() (n int) {
if len(m.Results) > 0 {
for _, e := range m.Results {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10141,14 +10614,14 @@ func (m *ExecuteFetchAsAllPrivsRequest) SizeVT() (n int) {
_ = l
l = len(m.Query)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DbName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxRows != 0 {
- n += 1 + sov(uint64(m.MaxRows))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxRows))
}
if m.ReloadSchema {
n += 2
@@ -10165,7 +10638,7 @@ func (m *ExecuteFetchAsAllPrivsResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10179,10 +10652,10 @@ func (m *ExecuteFetchAsAppRequest) SizeVT() (n int) {
_ = l
l = len(m.Query)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxRows != 0 {
- n += 1 + sov(uint64(m.MaxRows))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxRows))
}
n += len(m.unknownFields)
return n
@@ -10196,8 +10669,92 @@ func (m *ExecuteFetchAsAppResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *GetUnresolvedTransactionsRequest) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.AbandonAge != 0 {
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.AbandonAge))
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *GetUnresolvedTransactionsResponse) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.Transactions) > 0 {
+ for _, e := range m.Transactions {
+ l = e.SizeVT()
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *ReadTransactionRequest) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Dtid)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *ReadTransactionResponse) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.Transaction != nil {
+ l = m.Transaction.SizeVT()
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *ConcludeTransactionRequest) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Dtid)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if m.Mm {
+ n += 2
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *ConcludeTransactionResponse) SizeVT() (n int) {
+ if m == nil {
+ return 0
}
+ var l int
+ _ = l
n += len(m.unknownFields)
return n
}
@@ -10220,7 +10777,7 @@ func (m *ReplicationStatusResponse) SizeVT() (n int) {
_ = l
if m.Status != nil {
l = m.Status.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10244,7 +10801,7 @@ func (m *PrimaryStatusResponse) SizeVT() (n int) {
_ = l
if m.Status != nil {
l = m.Status.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10268,7 +10825,7 @@ func (m *PrimaryPositionResponse) SizeVT() (n int) {
_ = l
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10282,7 +10839,7 @@ func (m *WaitForPositionRequest) SizeVT() (n int) {
_ = l
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10326,10 +10883,10 @@ func (m *StopReplicationMinimumRequest) SizeVT() (n int) {
_ = l
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.WaitTimeout != 0 {
- n += 1 + sov(uint64(m.WaitTimeout))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.WaitTimeout))
}
n += len(m.unknownFields)
return n
@@ -10343,7 +10900,7 @@ func (m *StopReplicationMinimumResponse) SizeVT() (n int) {
_ = l
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10380,10 +10937,10 @@ func (m *StartReplicationUntilAfterRequest) SizeVT() (n int) {
_ = l
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.WaitTimeout != 0 {
- n += 1 + sov(uint64(m.WaitTimeout))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.WaitTimeout))
}
n += len(m.unknownFields)
return n
@@ -10418,7 +10975,7 @@ func (m *GetReplicasResponse) SizeVT() (n int) {
if len(m.Addrs) > 0 {
for _, s := range m.Addrs {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10453,7 +11010,7 @@ func (m *VReplicationExecRequest) SizeVT() (n int) {
_ = l
l = len(m.Query)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10467,7 +11024,7 @@ func (m *VReplicationExecResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10480,11 +11037,11 @@ func (m *VReplicationWaitForPosRequest) SizeVT() (n int) {
var l int
_ = l
if m.Id != 0 {
- n += 1 + sov(uint64(m.Id))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Id))
}
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10521,7 +11078,7 @@ func (m *InitPrimaryResponse) SizeVT() (n int) {
_ = l
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10534,19 +11091,19 @@ func (m *PopulateReparentJournalRequest) SizeVT() (n int) {
var l int
_ = l
if m.TimeCreatedNs != 0 {
- n += 1 + sov(uint64(m.TimeCreatedNs))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TimeCreatedNs))
}
l = len(m.ActionName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PrimaryAlias != nil {
l = m.PrimaryAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ReplicationPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10570,14 +11127,14 @@ func (m *InitReplicaRequest) SizeVT() (n int) {
_ = l
if m.Parent != nil {
l = m.Parent.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ReplicationPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TimeCreatedNs != 0 {
- n += 1 + sov(uint64(m.TimeCreatedNs))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TimeCreatedNs))
}
if m.SemiSync {
n += 2
@@ -10614,7 +11171,7 @@ func (m *DemotePrimaryResponse) SizeVT() (n int) {
_ = l
if m.PrimaryStatus != nil {
l = m.PrimaryStatus.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10701,7 +11258,7 @@ func (m *FullStatusResponse) SizeVT() (n int) {
_ = l
if m.Status != nil {
l = m.Status.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10715,17 +11272,17 @@ func (m *SetReplicationSourceRequest) SizeVT() (n int) {
_ = l
if m.Parent != nil {
l = m.Parent.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TimeCreatedNs != 0 {
- n += 1 + sov(uint64(m.TimeCreatedNs))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TimeCreatedNs))
}
if m.ForceStartReplication {
n += 2
}
l = len(m.WaitPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SemiSync {
n += 2
@@ -10755,7 +11312,7 @@ func (m *ReplicaWasRestartedRequest) SizeVT() (n int) {
_ = l
if m.Parent != nil {
l = m.Parent.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10778,7 +11335,7 @@ func (m *StopReplicationAndGetStatusRequest) SizeVT() (n int) {
var l int
_ = l
if m.StopReplicationMode != 0 {
- n += 1 + sov(uint64(m.StopReplicationMode))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.StopReplicationMode))
}
n += len(m.unknownFields)
return n
@@ -10792,7 +11349,7 @@ func (m *StopReplicationAndGetStatusResponse) SizeVT() (n int) {
_ = l
if m.Status != nil {
l = m.Status.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10819,7 +11376,7 @@ func (m *PromoteReplicaResponse) SizeVT() (n int) {
_ = l
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10832,14 +11389,14 @@ func (m *BackupRequest) SizeVT() (n int) {
var l int
_ = l
if m.Concurrency != 0 {
- n += 1 + sov(uint64(m.Concurrency))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Concurrency))
}
if m.AllowPrimary {
n += 2
}
l = len(m.IncrementalFromPos)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.UpgradeSafe {
n += 2
@@ -10856,7 +11413,7 @@ func (m *BackupResponse) SizeVT() (n int) {
_ = l
if m.Event != nil {
l = m.Event.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10870,18 +11427,18 @@ func (m *RestoreFromBackupRequest) SizeVT() (n int) {
_ = l
if m.BackupTime != nil {
l = m.BackupTime.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.RestoreToPos)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.DryRun {
n += 2
}
if m.RestoreToTimestamp != nil {
l = m.RestoreToTimestamp.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10895,7 +11452,7 @@ func (m *RestoreFromBackupResponse) SizeVT() (n int) {
_ = l
if m.Event != nil {
l = m.Event.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10909,35 +11466,35 @@ func (m *CreateVReplicationWorkflowRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.BinlogSource) > 0 {
for _, e := range m.BinlogSource {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TabletTypes) > 0 {
l = 0
for _, e := range m.TabletTypes {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if m.TabletSelectionPreference != 0 {
- n += 1 + sov(uint64(m.TabletSelectionPreference))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletSelectionPreference))
}
if m.WorkflowType != 0 {
- n += 1 + sov(uint64(m.WorkflowType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.WorkflowType))
}
if m.WorkflowSubType != 0 {
- n += 1 + sov(uint64(m.WorkflowSubType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.WorkflowSubType))
}
if m.DeferSecondaryKeys {
n += 2
@@ -10950,7 +11507,7 @@ func (m *CreateVReplicationWorkflowRequest) SizeVT() (n int) {
}
l = len(m.Options)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10964,7 +11521,7 @@ func (m *CreateVReplicationWorkflowResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10978,7 +11535,7 @@ func (m *DeleteVReplicationWorkflowRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10992,7 +11549,7 @@ func (m *DeleteVReplicationWorkflowResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11030,35 +11587,35 @@ func (m *ReadVReplicationWorkflowsRequest) SizeVT() (n int) {
if len(m.IncludeIds) > 0 {
l = 0
for _, e := range m.IncludeIds {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if len(m.IncludeWorkflows) > 0 {
for _, s := range m.IncludeWorkflows {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.IncludeStates) > 0 {
l = 0
for _, e := range m.IncludeStates {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if len(m.ExcludeWorkflows) > 0 {
for _, s := range m.ExcludeWorkflows {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ExcludeStates) > 0 {
l = 0
for _, e := range m.ExcludeStates {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if m.ExcludeFrozen {
n += 2
@@ -11076,7 +11633,7 @@ func (m *ReadVReplicationWorkflowsResponse) SizeVT() (n int) {
if len(m.Workflows) > 0 {
for _, e := range m.Workflows {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -11091,7 +11648,7 @@ func (m *ReadVReplicationWorkflowRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11104,55 +11661,55 @@ func (m *ReadVReplicationWorkflowResponse_Stream) SizeVT() (n int) {
var l int
_ = l
if m.Id != 0 {
- n += 1 + sov(uint64(m.Id))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Id))
}
if m.Bls != nil {
l = m.Bls.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Pos)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.StopPos)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxTps != 0 {
- n += 1 + sov(uint64(m.MaxTps))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxTps))
}
if m.MaxReplicationLag != 0 {
- n += 1 + sov(uint64(m.MaxReplicationLag))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxReplicationLag))
}
if m.TimeUpdated != nil {
l = m.TimeUpdated.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionTimestamp != nil {
l = m.TransactionTimestamp.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.State != 0 {
- n += 1 + sov(uint64(m.State))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.State))
}
l = len(m.Message)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.RowsCopied != 0 {
- n += 1 + sov(uint64(m.RowsCopied))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.RowsCopied))
}
if m.TimeHeartbeat != nil {
l = m.TimeHeartbeat.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TimeThrottled != nil {
l = m.TimeThrottled.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ComponentThrottled)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11166,35 +11723,35 @@ func (m *ReadVReplicationWorkflowResponse) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Cells)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.TabletTypes) > 0 {
l = 0
for _, e := range m.TabletTypes {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if m.TabletSelectionPreference != 0 {
- n += 1 + sov(uint64(m.TabletSelectionPreference))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletSelectionPreference))
}
l = len(m.DbName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Tags)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.WorkflowType != 0 {
- n += 1 + sov(uint64(m.WorkflowType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.WorkflowType))
}
if m.WorkflowSubType != 0 {
- n += 1 + sov(uint64(m.WorkflowSubType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.WorkflowSubType))
}
if m.DeferSecondaryKeys {
n += 2
@@ -11202,12 +11759,47 @@ func (m *ReadVReplicationWorkflowResponse) SizeVT() (n int) {
if len(m.Streams) > 0 {
for _, e := range m.Streams {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.Options)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if len(m.ConfigOverrides) > 0 {
+ for k, v := range m.ConfigOverrides {
+ _ = k
+ _ = v
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
+ }
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *ValidateVReplicationPermissionsRequest) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *ValidateVReplicationPermissionsResponse) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.User)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if m.Ok {
+ n += 2
}
n += len(m.unknownFields)
return n
@@ -11221,27 +11813,27 @@ func (m *VDiffRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Action)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ActionArg)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.VdiffUuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11254,15 +11846,15 @@ func (m *VDiffResponse) SizeVT() (n int) {
var l int
_ = l
if m.Id != 0 {
- n += 1 + sov(uint64(m.Id))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Id))
}
if m.Output != nil {
l = m.Output.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.VdiffUuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11276,15 +11868,15 @@ func (m *VDiffPickerOptions) SizeVT() (n int) {
_ = l
l = len(m.TabletTypes)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SourceCell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetCell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11304,10 +11896,13 @@ func (m *VDiffReportOptions) SizeVT() (n int) {
}
l = len(m.Format)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxSampleRows != 0 {
- n += 1 + sov(uint64(m.MaxSampleRows))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxSampleRows))
+ }
+ if m.RowDiffColumnTruncateAt != 0 {
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.RowDiffColumnTruncateAt))
}
n += len(m.unknownFields)
return n
@@ -11321,31 +11916,34 @@ func (m *VDiffCoreOptions) SizeVT() (n int) {
_ = l
l = len(m.Tables)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AutoRetry {
n += 2
}
if m.MaxRows != 0 {
- n += 1 + sov(uint64(m.MaxRows))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxRows))
}
if m.Checksum {
n += 2
}
if m.SamplePct != 0 {
- n += 1 + sov(uint64(m.SamplePct))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.SamplePct))
}
if m.TimeoutSeconds != 0 {
- n += 1 + sov(uint64(m.TimeoutSeconds))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TimeoutSeconds))
}
if m.MaxExtraRowsToCompare != 0 {
- n += 1 + sov(uint64(m.MaxExtraRowsToCompare))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxExtraRowsToCompare))
}
if m.UpdateTableStats {
n += 2
}
if m.MaxDiffSeconds != 0 {
- n += 1 + sov(uint64(m.MaxDiffSeconds))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxDiffSeconds))
+ }
+ if m.AutoStart != nil {
+ n += 2
}
n += len(m.unknownFields)
return n
@@ -11359,15 +11957,15 @@ func (m *VDiffOptions) SizeVT() (n int) {
_ = l
if m.PickerOptions != nil {
l = m.PickerOptions.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CoreOptions != nil {
l = m.CoreOptions.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReportOptions != nil {
l = m.ReportOptions.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11381,29 +11979,37 @@ func (m *UpdateVReplicationWorkflowRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TabletTypes) > 0 {
l = 0
for _, e := range m.TabletTypes {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
- if m.TabletSelectionPreference != 0 {
- n += 1 + sov(uint64(m.TabletSelectionPreference))
+ if m.TabletSelectionPreference != nil {
+ n += 1 + protohelpers.SizeOfVarint(uint64(*m.TabletSelectionPreference))
}
- if m.OnDdl != 0 {
- n += 1 + sov(uint64(m.OnDdl))
+ if m.OnDdl != nil {
+ n += 1 + protohelpers.SizeOfVarint(uint64(*m.OnDdl))
}
- if m.State != 0 {
- n += 1 + sov(uint64(m.State))
+ if m.State != nil {
+ n += 1 + protohelpers.SizeOfVarint(uint64(*m.State))
+ }
+ if len(m.ConfigOverrides) > 0 {
+ for k, v := range m.ConfigOverrides {
+ _ = k
+ _ = v
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
+ }
}
n += len(m.unknownFields)
return n
@@ -11417,7 +12023,7 @@ func (m *UpdateVReplicationWorkflowResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11435,25 +12041,25 @@ func (m *UpdateVReplicationWorkflowsRequest) SizeVT() (n int) {
if len(m.IncludeWorkflows) > 0 {
for _, s := range m.IncludeWorkflows {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ExcludeWorkflows) > 0 {
for _, s := range m.ExcludeWorkflows {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
- if m.State != 0 {
- n += 1 + sov(uint64(m.State))
+ if m.State != nil {
+ n += 1 + protohelpers.SizeOfVarint(uint64(*m.State))
}
- l = len(m.Message)
- if l > 0 {
- n += 1 + l + sov(uint64(l))
+ if m.Message != nil {
+ l = len(*m.Message)
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
- l = len(m.StopPosition)
- if l > 0 {
- n += 1 + l + sov(uint64(l))
+ if m.StopPosition != nil {
+ l = len(*m.StopPosition)
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11467,7 +12073,7 @@ func (m *UpdateVReplicationWorkflowsResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11482,7 +12088,7 @@ func (m *ResetSequencesRequest) SizeVT() (n int) {
if len(m.Tables) > 0 {
for _, s := range m.Tables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -11507,11 +12113,11 @@ func (m *CheckThrottlerRequest) SizeVT() (n int) {
_ = l
l = len(m.AppName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Scope)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SkipRequestHeartbeats {
n += 2
@@ -11534,10 +12140,10 @@ func (m *CheckThrottlerResponse_Metric) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.StatusCode != 0 {
- n += 1 + sov(uint64(m.StatusCode))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.StatusCode))
}
if m.Value != 0 {
n += 9
@@ -11547,18 +12153,18 @@ func (m *CheckThrottlerResponse_Metric) SizeVT() (n int) {
}
l = len(m.Error)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Message)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Scope)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ResponseCode != 0 {
- n += 1 + sov(uint64(m.ResponseCode))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ResponseCode))
}
n += len(m.unknownFields)
return n
@@ -11571,7 +12177,7 @@ func (m *CheckThrottlerResponse) SizeVT() (n int) {
var l int
_ = l
if m.StatusCode != 0 {
- n += 1 + sov(uint64(m.StatusCode))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.StatusCode))
}
if m.Value != 0 {
n += 9
@@ -11581,11 +12187,11 @@ func (m *CheckThrottlerResponse) SizeVT() (n int) {
}
l = len(m.Error)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Message)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.RecentlyChecked {
n += 2
@@ -11598,21 +12204,21 @@ func (m *CheckThrottlerResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
l = len(m.AppName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Summary)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ResponseCode != 0 {
- n += 1 + sov(uint64(m.ResponseCode))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ResponseCode))
}
n += len(m.unknownFields)
return n
@@ -11639,7 +12245,7 @@ func (m *GetThrottlerStatusResponse_MetricResult) SizeVT() (n int) {
}
l = len(m.Error)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11653,10 +12259,10 @@ func (m *GetThrottlerStatusResponse_MetricHealth) SizeVT() (n int) {
_ = l
if m.LastHealthyAt != nil {
l = m.LastHealthyAt.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SecondsSinceLastHealthy != 0 {
- n += 1 + sov(uint64(m.SecondsSinceLastHealthy))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.SecondsSinceLastHealthy))
}
n += len(m.unknownFields)
return n
@@ -11670,13 +12276,13 @@ func (m *GetThrottlerStatusResponse_RecentApp) SizeVT() (n int) {
_ = l
if m.CheckedAt != nil {
l = m.CheckedAt.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.StatusCode != 0 {
- n += 1 + sov(uint64(m.StatusCode))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.StatusCode))
}
if m.ResponseCode != 0 {
- n += 1 + sov(uint64(m.ResponseCode))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ResponseCode))
}
n += len(m.unknownFields)
return n
@@ -11690,15 +12296,15 @@ func (m *GetThrottlerStatusResponse) SizeVT() (n int) {
_ = l
l = len(m.TabletAlias)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.IsLeader {
n += 2
@@ -11714,18 +12320,18 @@ func (m *GetThrottlerStatusResponse) SizeVT() (n int) {
}
l = len(m.LagMetricQuery)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.CustomMetricQuery)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.DefaultThreshold != 0 {
n += 9
}
l = len(m.MetricNameUsedAsDefault)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.AggregatedMetrics) > 0 {
for k, v := range m.AggregatedMetrics {
@@ -11735,17 +12341,17 @@ func (m *GetThrottlerStatusResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if len(m.MetricThresholds) > 0 {
for k, v := range m.MetricThresholds {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + 8
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + 8
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if len(m.MetricsHealth) > 0 {
@@ -11756,9 +12362,9 @@ func (m *GetThrottlerStatusResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if len(m.ThrottledApps) > 0 {
@@ -11769,17 +12375,17 @@ func (m *GetThrottlerStatusResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if len(m.AppCheckedMetrics) > 0 {
for k, v := range m.AppCheckedMetrics {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v)))
- n += mapEntrySize + 2 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 2 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if m.RecentlyChecked {
@@ -11793,21 +12399,15 @@ func (m *GetThrottlerStatusResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 2 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 2 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -11816,7 +12416,7 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11844,7 +12444,7 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11858,11 +12458,11 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11876,7 +12476,7 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11890,11 +12490,11 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11908,7 +12508,7 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11922,11 +12522,11 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11940,7 +12540,7 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11954,11 +12554,11 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11972,7 +12572,7 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11986,11 +12586,11 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12004,7 +12604,7 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
m.DataLength = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12023,7 +12623,7 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
m.RowCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12042,7 +12642,7 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12055,11 +12655,11 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12071,12 +12671,12 @@ func (m *TableDefinition) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12099,7 +12699,7 @@ func (m *SchemaDefinition) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12127,7 +12727,7 @@ func (m *SchemaDefinition) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12141,11 +12741,11 @@ func (m *SchemaDefinition) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12159,7 +12759,7 @@ func (m *SchemaDefinition) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12172,11 +12772,11 @@ func (m *SchemaDefinition) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12188,12 +12788,12 @@ func (m *SchemaDefinition) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12216,7 +12816,7 @@ func (m *SchemaChangeResult) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12244,7 +12844,7 @@ func (m *SchemaChangeResult) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12257,11 +12857,11 @@ func (m *SchemaChangeResult) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12280,7 +12880,7 @@ func (m *SchemaChangeResult) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12293,11 +12893,11 @@ func (m *SchemaChangeResult) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12311,12 +12911,12 @@ func (m *SchemaChangeResult) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12339,7 +12939,7 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12367,7 +12967,7 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12381,11 +12981,11 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12399,7 +12999,7 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12413,11 +13013,11 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12431,7 +13031,7 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
m.PasswordChecksum = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12450,7 +13050,7 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12463,11 +13063,11 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12482,7 +13082,7 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12499,7 +13099,7 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12513,11 +13113,11 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -12528,7 +13128,7 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12542,11 +13142,11 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
@@ -12555,12 +13155,12 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
iNdEx = postStringIndexmapvalue
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -12572,12 +13172,12 @@ func (m *UserPermission) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12600,7 +13200,7 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12628,7 +13228,7 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12642,11 +13242,11 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12660,7 +13260,7 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12674,11 +13274,11 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12692,7 +13292,7 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12706,11 +13306,11 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12724,7 +13324,7 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12737,11 +13337,11 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12756,7 +13356,7 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12773,7 +13373,7 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12787,11 +13387,11 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -12802,7 +13402,7 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12816,11 +13416,11 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
@@ -12829,12 +13429,12 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
iNdEx = postStringIndexmapvalue
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -12846,12 +13446,12 @@ func (m *DbPermission) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12874,7 +13474,7 @@ func (m *Permissions) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12902,7 +13502,7 @@ func (m *Permissions) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12915,11 +13515,11 @@ func (m *Permissions) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12936,7 +13536,7 @@ func (m *Permissions) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12949,11 +13549,11 @@ func (m *Permissions) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12965,12 +13565,12 @@ func (m *Permissions) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12993,7 +13593,7 @@ func (m *PingRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13021,7 +13621,7 @@ func (m *PingRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13035,11 +13635,11 @@ func (m *PingRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13048,12 +13648,12 @@ func (m *PingRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13076,7 +13676,7 @@ func (m *PingResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13104,7 +13704,7 @@ func (m *PingResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13118,11 +13718,11 @@ func (m *PingResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13131,12 +13731,12 @@ func (m *PingResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13159,7 +13759,7 @@ func (m *SleepRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13187,7 +13787,7 @@ func (m *SleepRequest) UnmarshalVT(dAtA []byte) error {
m.Duration = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13201,12 +13801,12 @@ func (m *SleepRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13229,7 +13829,7 @@ func (m *SleepResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13252,12 +13852,12 @@ func (m *SleepResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13280,7 +13880,7 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13308,7 +13908,7 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13322,11 +13922,11 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13340,7 +13940,7 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13354,11 +13954,11 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13372,7 +13972,7 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13385,11 +13985,11 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13404,7 +14004,7 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13421,7 +14021,7 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13435,11 +14035,11 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -13450,7 +14050,7 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13464,11 +14064,11 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
@@ -13477,12 +14077,12 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postStringIndexmapvalue
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -13494,12 +14094,12 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13522,7 +14122,7 @@ func (m *ExecuteHookResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13550,7 +14150,7 @@ func (m *ExecuteHookResponse) UnmarshalVT(dAtA []byte) error {
m.ExitStatus = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13569,7 +14169,7 @@ func (m *ExecuteHookResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13583,11 +14183,11 @@ func (m *ExecuteHookResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13601,7 +14201,7 @@ func (m *ExecuteHookResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13615,11 +14215,11 @@ func (m *ExecuteHookResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13628,12 +14228,12 @@ func (m *ExecuteHookResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13656,7 +14256,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13684,7 +14284,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13698,11 +14298,11 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13716,7 +14316,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13736,7 +14336,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13750,11 +14350,11 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13768,7 +14368,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13783,12 +14383,12 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
m.TableSchemaOnly = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13811,7 +14411,7 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13839,7 +14439,7 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13852,11 +14452,11 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13870,12 +14470,12 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13898,7 +14498,7 @@ func (m *GetPermissionsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13921,12 +14521,12 @@ func (m *GetPermissionsRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13949,7 +14549,7 @@ func (m *GetPermissionsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13977,7 +14577,7 @@ func (m *GetPermissionsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13990,11 +14590,11 @@ func (m *GetPermissionsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14008,12 +14608,12 @@ func (m *GetPermissionsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14036,7 +14636,7 @@ func (m *GetGlobalStatusVarsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14064,7 +14664,7 @@ func (m *GetGlobalStatusVarsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14078,11 +14678,11 @@ func (m *GetGlobalStatusVarsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14091,12 +14691,12 @@ func (m *GetGlobalStatusVarsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14119,7 +14719,7 @@ func (m *GetGlobalStatusVarsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14147,7 +14747,7 @@ func (m *GetGlobalStatusVarsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14160,11 +14760,11 @@ func (m *GetGlobalStatusVarsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14179,7 +14779,7 @@ func (m *GetGlobalStatusVarsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14196,7 +14796,7 @@ func (m *GetGlobalStatusVarsResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14210,11 +14810,11 @@ func (m *GetGlobalStatusVarsResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -14225,7 +14825,7 @@ func (m *GetGlobalStatusVarsResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14239,11 +14839,11 @@ func (m *GetGlobalStatusVarsResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
@@ -14252,12 +14852,12 @@ func (m *GetGlobalStatusVarsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postStringIndexmapvalue
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -14269,12 +14869,12 @@ func (m *GetGlobalStatusVarsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14297,7 +14897,7 @@ func (m *SetReadOnlyRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14320,12 +14920,12 @@ func (m *SetReadOnlyRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14348,7 +14948,7 @@ func (m *SetReadOnlyResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14371,12 +14971,12 @@ func (m *SetReadOnlyResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14399,7 +14999,7 @@ func (m *SetReadWriteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14422,12 +15022,12 @@ func (m *SetReadWriteRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14450,7 +15050,7 @@ func (m *SetReadWriteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14473,12 +15073,12 @@ func (m *SetReadWriteResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14501,7 +15101,7 @@ func (m *ChangeTypeRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14529,7 +15129,7 @@ func (m *ChangeTypeRequest) UnmarshalVT(dAtA []byte) error {
m.TabletType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14548,7 +15148,7 @@ func (m *ChangeTypeRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14563,12 +15163,12 @@ func (m *ChangeTypeRequest) UnmarshalVT(dAtA []byte) error {
m.SemiSync = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14591,7 +15191,7 @@ func (m *ChangeTypeResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14614,12 +15214,12 @@ func (m *ChangeTypeResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14642,7 +15242,7 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14665,12 +15265,12 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14693,7 +15293,7 @@ func (m *RefreshStateResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14716,12 +15316,12 @@ func (m *RefreshStateResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14744,7 +15344,7 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14767,12 +15367,12 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14795,7 +15395,7 @@ func (m *RunHealthCheckResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14818,12 +15418,12 @@ func (m *RunHealthCheckResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14846,7 +15446,7 @@ func (m *ReloadSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14874,7 +15474,7 @@ func (m *ReloadSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14888,11 +15488,11 @@ func (m *ReloadSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14901,12 +15501,12 @@ func (m *ReloadSchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14929,7 +15529,7 @@ func (m *ReloadSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14952,12 +15552,12 @@ func (m *ReloadSchemaResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14980,7 +15580,7 @@ func (m *PreflightSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15008,7 +15608,7 @@ func (m *PreflightSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15022,11 +15622,11 @@ func (m *PreflightSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15035,12 +15635,12 @@ func (m *PreflightSchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15063,7 +15663,7 @@ func (m *PreflightSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15091,7 +15691,7 @@ func (m *PreflightSchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15104,11 +15704,11 @@ func (m *PreflightSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15120,12 +15720,12 @@ func (m *PreflightSchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15148,7 +15748,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15176,7 +15776,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15190,11 +15790,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15208,7 +15808,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15228,7 +15828,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15248,7 +15848,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15261,11 +15861,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15284,7 +15884,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15297,11 +15897,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15320,7 +15920,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15334,11 +15934,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15352,7 +15952,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
m.BatchSize = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15371,7 +15971,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15386,12 +15986,12 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
m.DisableForeignKeyChecks = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15414,7 +16014,7 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15442,7 +16042,7 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15455,11 +16055,11 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15478,7 +16078,7 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15491,11 +16091,11 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15509,12 +16109,12 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15537,7 +16137,7 @@ func (m *LockTablesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15560,12 +16160,12 @@ func (m *LockTablesRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15588,7 +16188,7 @@ func (m *LockTablesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15611,12 +16211,12 @@ func (m *LockTablesResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15639,7 +16239,7 @@ func (m *UnlockTablesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15662,12 +16262,12 @@ func (m *UnlockTablesRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15690,7 +16290,7 @@ func (m *UnlockTablesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15713,12 +16313,12 @@ func (m *UnlockTablesResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15741,7 +16341,7 @@ func (m *ExecuteQueryRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15769,7 +16369,7 @@ func (m *ExecuteQueryRequest) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15782,11 +16382,11 @@ func (m *ExecuteQueryRequest) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15803,7 +16403,7 @@ func (m *ExecuteQueryRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15817,11 +16417,11 @@ func (m *ExecuteQueryRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15835,7 +16435,7 @@ func (m *ExecuteQueryRequest) UnmarshalVT(dAtA []byte) error {
m.MaxRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15854,7 +16454,7 @@ func (m *ExecuteQueryRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15867,11 +16467,11 @@ func (m *ExecuteQueryRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15885,12 +16485,12 @@ func (m *ExecuteQueryRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15913,7 +16513,7 @@ func (m *ExecuteQueryResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15941,7 +16541,7 @@ func (m *ExecuteQueryResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15954,11 +16554,11 @@ func (m *ExecuteQueryResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15972,12 +16572,12 @@ func (m *ExecuteQueryResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16000,7 +16600,7 @@ func (m *ExecuteFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16028,7 +16628,7 @@ func (m *ExecuteFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16041,11 +16641,11 @@ func (m *ExecuteFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16062,7 +16662,7 @@ func (m *ExecuteFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16076,11 +16676,11 @@ func (m *ExecuteFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16094,7 +16694,7 @@ func (m *ExecuteFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
m.MaxRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16113,7 +16713,7 @@ func (m *ExecuteFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16133,7 +16733,7 @@ func (m *ExecuteFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16153,7 +16753,7 @@ func (m *ExecuteFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16168,12 +16768,12 @@ func (m *ExecuteFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
m.DisableForeignKeyChecks = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16196,7 +16796,7 @@ func (m *ExecuteFetchAsDbaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16224,7 +16824,7 @@ func (m *ExecuteFetchAsDbaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16237,11 +16837,11 @@ func (m *ExecuteFetchAsDbaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16255,12 +16855,12 @@ func (m *ExecuteFetchAsDbaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16283,7 +16883,7 @@ func (m *ExecuteMultiFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16311,7 +16911,7 @@ func (m *ExecuteMultiFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16324,11 +16924,11 @@ func (m *ExecuteMultiFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16345,7 +16945,7 @@ func (m *ExecuteMultiFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16359,11 +16959,11 @@ func (m *ExecuteMultiFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16377,7 +16977,7 @@ func (m *ExecuteMultiFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
m.MaxRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16396,7 +16996,7 @@ func (m *ExecuteMultiFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16416,7 +17016,7 @@ func (m *ExecuteMultiFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16436,7 +17036,7 @@ func (m *ExecuteMultiFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16451,12 +17051,12 @@ func (m *ExecuteMultiFetchAsDbaRequest) UnmarshalVT(dAtA []byte) error {
m.DisableForeignKeyChecks = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16479,7 +17079,7 @@ func (m *ExecuteMultiFetchAsDbaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16507,7 +17107,7 @@ func (m *ExecuteMultiFetchAsDbaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16520,11 +17120,11 @@ func (m *ExecuteMultiFetchAsDbaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16536,12 +17136,12 @@ func (m *ExecuteMultiFetchAsDbaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16564,7 +17164,7 @@ func (m *ExecuteFetchAsAllPrivsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16592,7 +17192,7 @@ func (m *ExecuteFetchAsAllPrivsRequest) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16605,11 +17205,11 @@ func (m *ExecuteFetchAsAllPrivsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16626,7 +17226,7 @@ func (m *ExecuteFetchAsAllPrivsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16640,11 +17240,11 @@ func (m *ExecuteFetchAsAllPrivsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16658,7 +17258,7 @@ func (m *ExecuteFetchAsAllPrivsRequest) UnmarshalVT(dAtA []byte) error {
m.MaxRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16677,7 +17277,7 @@ func (m *ExecuteFetchAsAllPrivsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16692,12 +17292,12 @@ func (m *ExecuteFetchAsAllPrivsRequest) UnmarshalVT(dAtA []byte) error {
m.ReloadSchema = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16720,7 +17320,7 @@ func (m *ExecuteFetchAsAllPrivsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16748,7 +17348,7 @@ func (m *ExecuteFetchAsAllPrivsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16761,11 +17361,11 @@ func (m *ExecuteFetchAsAllPrivsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16779,12 +17379,12 @@ func (m *ExecuteFetchAsAllPrivsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16807,7 +17407,7 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16835,7 +17435,7 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16848,11 +17448,11 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16869,7 +17469,7 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
m.MaxRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16883,12 +17483,12 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16911,7 +17511,7 @@ func (m *ExecuteFetchAsAppResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16939,7 +17539,7 @@ func (m *ExecuteFetchAsAppResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16952,11 +17552,11 @@ func (m *ExecuteFetchAsAppResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16970,12 +17570,491 @@ func (m *ExecuteFetchAsAppResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *GetUnresolvedTransactionsRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: GetUnresolvedTransactionsRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: GetUnresolvedTransactionsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AbandonAge", wireType)
+ }
+ m.AbandonAge = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.AbandonAge |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *GetUnresolvedTransactionsResponse) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: GetUnresolvedTransactionsResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: GetUnresolvedTransactionsResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Transactions", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Transactions = append(m.Transactions, &query.TransactionMetadata{})
+ if err := m.Transactions[len(m.Transactions)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ReadTransactionRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ReadTransactionRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ReadTransactionRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Dtid", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Dtid = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ReadTransactionResponse) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ReadTransactionResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ReadTransactionResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Transaction", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Transaction == nil {
+ m.Transaction = &query.TransactionMetadata{}
+ }
+ if err := m.Transaction.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ConcludeTransactionRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ConcludeTransactionRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Dtid", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Dtid = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Mm", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Mm = bool(v != 0)
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ConcludeTransactionResponse) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ConcludeTransactionResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ConcludeTransactionResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16998,7 +18077,7 @@ func (m *ReplicationStatusRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17021,12 +18100,12 @@ func (m *ReplicationStatusRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17049,7 +18128,7 @@ func (m *ReplicationStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17077,7 +18156,7 @@ func (m *ReplicationStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17090,11 +18169,11 @@ func (m *ReplicationStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17108,12 +18187,12 @@ func (m *ReplicationStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17136,7 +18215,7 @@ func (m *PrimaryStatusRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17159,12 +18238,12 @@ func (m *PrimaryStatusRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17187,7 +18266,7 @@ func (m *PrimaryStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17215,7 +18294,7 @@ func (m *PrimaryStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17228,11 +18307,11 @@ func (m *PrimaryStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17246,12 +18325,12 @@ func (m *PrimaryStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17274,7 +18353,7 @@ func (m *PrimaryPositionRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17297,12 +18376,12 @@ func (m *PrimaryPositionRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17325,7 +18404,7 @@ func (m *PrimaryPositionResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17353,7 +18432,7 @@ func (m *PrimaryPositionResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17367,11 +18446,11 @@ func (m *PrimaryPositionResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17380,12 +18459,12 @@ func (m *PrimaryPositionResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17408,7 +18487,7 @@ func (m *WaitForPositionRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17436,7 +18515,7 @@ func (m *WaitForPositionRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17450,11 +18529,11 @@ func (m *WaitForPositionRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17463,12 +18542,12 @@ func (m *WaitForPositionRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17491,7 +18570,7 @@ func (m *WaitForPositionResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17514,12 +18593,12 @@ func (m *WaitForPositionResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17542,7 +18621,7 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17565,12 +18644,12 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17593,7 +18672,7 @@ func (m *StopReplicationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17616,12 +18695,12 @@ func (m *StopReplicationResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17644,7 +18723,7 @@ func (m *StopReplicationMinimumRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17672,7 +18751,7 @@ func (m *StopReplicationMinimumRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17686,11 +18765,11 @@ func (m *StopReplicationMinimumRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17704,7 +18783,7 @@ func (m *StopReplicationMinimumRequest) UnmarshalVT(dAtA []byte) error {
m.WaitTimeout = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17718,12 +18797,12 @@ func (m *StopReplicationMinimumRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17746,7 +18825,7 @@ func (m *StopReplicationMinimumResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17774,7 +18853,7 @@ func (m *StopReplicationMinimumResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17788,11 +18867,11 @@ func (m *StopReplicationMinimumResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17801,12 +18880,12 @@ func (m *StopReplicationMinimumResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17829,7 +18908,7 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17857,7 +18936,7 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17872,12 +18951,12 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
m.SemiSync = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17900,7 +18979,7 @@ func (m *StartReplicationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17923,12 +19002,12 @@ func (m *StartReplicationResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17951,7 +19030,7 @@ func (m *StartReplicationUntilAfterRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17979,7 +19058,7 @@ func (m *StartReplicationUntilAfterRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17993,11 +19072,11 @@ func (m *StartReplicationUntilAfterRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18011,7 +19090,7 @@ func (m *StartReplicationUntilAfterRequest) UnmarshalVT(dAtA []byte) error {
m.WaitTimeout = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18025,12 +19104,12 @@ func (m *StartReplicationUntilAfterRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18053,7 +19132,7 @@ func (m *StartReplicationUntilAfterResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18076,12 +19155,12 @@ func (m *StartReplicationUntilAfterResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18104,7 +19183,7 @@ func (m *GetReplicasRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18127,12 +19206,12 @@ func (m *GetReplicasRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18155,7 +19234,7 @@ func (m *GetReplicasResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18183,7 +19262,7 @@ func (m *GetReplicasResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18197,11 +19276,11 @@ func (m *GetReplicasResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18210,12 +19289,12 @@ func (m *GetReplicasResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18238,7 +19317,7 @@ func (m *ResetReplicationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18261,12 +19340,12 @@ func (m *ResetReplicationRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18289,7 +19368,7 @@ func (m *ResetReplicationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18312,12 +19391,12 @@ func (m *ResetReplicationResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18340,7 +19419,7 @@ func (m *VReplicationExecRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18368,7 +19447,7 @@ func (m *VReplicationExecRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18382,11 +19461,11 @@ func (m *VReplicationExecRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18395,12 +19474,12 @@ func (m *VReplicationExecRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18423,7 +19502,7 @@ func (m *VReplicationExecResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18451,7 +19530,7 @@ func (m *VReplicationExecResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18464,11 +19543,11 @@ func (m *VReplicationExecResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18482,12 +19561,12 @@ func (m *VReplicationExecResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18510,7 +19589,7 @@ func (m *VReplicationWaitForPosRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18538,7 +19617,7 @@ func (m *VReplicationWaitForPosRequest) UnmarshalVT(dAtA []byte) error {
m.Id = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18557,7 +19636,7 @@ func (m *VReplicationWaitForPosRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18571,11 +19650,11 @@ func (m *VReplicationWaitForPosRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18584,12 +19663,12 @@ func (m *VReplicationWaitForPosRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18612,7 +19691,7 @@ func (m *VReplicationWaitForPosResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18635,12 +19714,12 @@ func (m *VReplicationWaitForPosResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18663,7 +19742,7 @@ func (m *InitPrimaryRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18691,7 +19770,7 @@ func (m *InitPrimaryRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18706,12 +19785,12 @@ func (m *InitPrimaryRequest) UnmarshalVT(dAtA []byte) error {
m.SemiSync = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18734,7 +19813,7 @@ func (m *InitPrimaryResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18762,7 +19841,7 @@ func (m *InitPrimaryResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18776,11 +19855,11 @@ func (m *InitPrimaryResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18789,12 +19868,12 @@ func (m *InitPrimaryResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18817,7 +19896,7 @@ func (m *PopulateReparentJournalRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18845,7 +19924,7 @@ func (m *PopulateReparentJournalRequest) UnmarshalVT(dAtA []byte) error {
m.TimeCreatedNs = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18864,7 +19943,7 @@ func (m *PopulateReparentJournalRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18878,11 +19957,11 @@ func (m *PopulateReparentJournalRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18896,7 +19975,7 @@ func (m *PopulateReparentJournalRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18909,11 +19988,11 @@ func (m *PopulateReparentJournalRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18932,7 +20011,7 @@ func (m *PopulateReparentJournalRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18946,11 +20025,11 @@ func (m *PopulateReparentJournalRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18959,12 +20038,12 @@ func (m *PopulateReparentJournalRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18987,7 +20066,7 @@ func (m *PopulateReparentJournalResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19010,12 +20089,12 @@ func (m *PopulateReparentJournalResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19038,7 +20117,7 @@ func (m *InitReplicaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19066,7 +20145,7 @@ func (m *InitReplicaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19079,11 +20158,11 @@ func (m *InitReplicaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19102,7 +20181,7 @@ func (m *InitReplicaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19116,11 +20195,11 @@ func (m *InitReplicaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19134,7 +20213,7 @@ func (m *InitReplicaRequest) UnmarshalVT(dAtA []byte) error {
m.TimeCreatedNs = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19153,7 +20232,7 @@ func (m *InitReplicaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19168,12 +20247,12 @@ func (m *InitReplicaRequest) UnmarshalVT(dAtA []byte) error {
m.SemiSync = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19196,7 +20275,7 @@ func (m *InitReplicaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19219,12 +20298,12 @@ func (m *InitReplicaResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19247,7 +20326,7 @@ func (m *DemotePrimaryRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19270,12 +20349,12 @@ func (m *DemotePrimaryRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19298,7 +20377,7 @@ func (m *DemotePrimaryResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19326,7 +20405,7 @@ func (m *DemotePrimaryResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19339,11 +20418,11 @@ func (m *DemotePrimaryResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19357,12 +20436,12 @@ func (m *DemotePrimaryResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19385,7 +20464,7 @@ func (m *UndoDemotePrimaryRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19413,7 +20492,7 @@ func (m *UndoDemotePrimaryRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19428,12 +20507,12 @@ func (m *UndoDemotePrimaryRequest) UnmarshalVT(dAtA []byte) error {
m.SemiSync = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19456,7 +20535,7 @@ func (m *UndoDemotePrimaryResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19479,12 +20558,12 @@ func (m *UndoDemotePrimaryResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19507,7 +20586,7 @@ func (m *ReplicaWasPromotedRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19530,12 +20609,12 @@ func (m *ReplicaWasPromotedRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19558,7 +20637,7 @@ func (m *ReplicaWasPromotedResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19581,12 +20660,12 @@ func (m *ReplicaWasPromotedResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19609,7 +20688,7 @@ func (m *ResetReplicationParametersRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19632,12 +20711,12 @@ func (m *ResetReplicationParametersRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19660,7 +20739,7 @@ func (m *ResetReplicationParametersResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19683,12 +20762,12 @@ func (m *ResetReplicationParametersResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19711,7 +20790,7 @@ func (m *FullStatusRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19734,12 +20813,12 @@ func (m *FullStatusRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19762,7 +20841,7 @@ func (m *FullStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19790,7 +20869,7 @@ func (m *FullStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19803,11 +20882,11 @@ func (m *FullStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19821,12 +20900,12 @@ func (m *FullStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19849,7 +20928,7 @@ func (m *SetReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19877,7 +20956,7 @@ func (m *SetReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19890,11 +20969,11 @@ func (m *SetReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19913,7 +20992,7 @@ func (m *SetReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
m.TimeCreatedNs = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19932,7 +21011,7 @@ func (m *SetReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19952,7 +21031,7 @@ func (m *SetReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19966,11 +21045,11 @@ func (m *SetReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19984,7 +21063,7 @@ func (m *SetReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20010,12 +21089,12 @@ func (m *SetReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
m.HeartbeatInterval = float64(math.Float64frombits(v))
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20038,7 +21117,7 @@ func (m *SetReplicationSourceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20061,12 +21140,12 @@ func (m *SetReplicationSourceResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20089,7 +21168,7 @@ func (m *ReplicaWasRestartedRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20117,7 +21196,7 @@ func (m *ReplicaWasRestartedRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20130,11 +21209,11 @@ func (m *ReplicaWasRestartedRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20148,12 +21227,12 @@ func (m *ReplicaWasRestartedRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20176,7 +21255,7 @@ func (m *ReplicaWasRestartedResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20199,12 +21278,12 @@ func (m *ReplicaWasRestartedResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20227,7 +21306,7 @@ func (m *StopReplicationAndGetStatusRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20255,7 +21334,7 @@ func (m *StopReplicationAndGetStatusRequest) UnmarshalVT(dAtA []byte) error {
m.StopReplicationMode = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20269,12 +21348,12 @@ func (m *StopReplicationAndGetStatusRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20297,7 +21376,7 @@ func (m *StopReplicationAndGetStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20325,7 +21404,7 @@ func (m *StopReplicationAndGetStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20338,11 +21417,11 @@ func (m *StopReplicationAndGetStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20356,12 +21435,12 @@ func (m *StopReplicationAndGetStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20384,7 +21463,7 @@ func (m *PromoteReplicaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20412,7 +21491,7 @@ func (m *PromoteReplicaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20427,12 +21506,12 @@ func (m *PromoteReplicaRequest) UnmarshalVT(dAtA []byte) error {
m.SemiSync = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20455,7 +21534,7 @@ func (m *PromoteReplicaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20483,7 +21562,7 @@ func (m *PromoteReplicaResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20497,11 +21576,11 @@ func (m *PromoteReplicaResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20510,12 +21589,12 @@ func (m *PromoteReplicaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20538,7 +21617,7 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20566,7 +21645,7 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
m.Concurrency = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20585,7 +21664,7 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20605,7 +21684,7 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20619,11 +21698,11 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20637,7 +21716,7 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20652,12 +21731,12 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
m.UpgradeSafe = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20680,7 +21759,7 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20708,7 +21787,7 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20721,11 +21800,11 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20739,12 +21818,12 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20767,7 +21846,7 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20795,7 +21874,7 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20808,11 +21887,11 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20831,7 +21910,7 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20845,11 +21924,11 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20863,7 +21942,7 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20883,7 +21962,7 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20896,11 +21975,11 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20914,12 +21993,12 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20942,7 +22021,7 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20970,7 +22049,7 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20983,11 +22062,11 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21001,12 +22080,12 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21029,7 +22108,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21057,7 +22136,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21071,11 +22150,11 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21089,7 +22168,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21102,11 +22181,11 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21123,7 +22202,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21137,11 +22216,11 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21153,7 +22232,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21170,7 +22249,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21183,11 +22262,11 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21200,7 +22279,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21224,7 +22303,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
m.TabletSelectionPreference = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21243,7 +22322,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
m.WorkflowType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21262,7 +22341,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
m.WorkflowSubType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21281,7 +22360,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21301,7 +22380,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21321,7 +22400,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21341,7 +22420,7 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21355,11 +22434,11 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21368,12 +22447,12 @@ func (m *CreateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21396,7 +22475,7 @@ func (m *CreateVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21424,7 +22503,7 @@ func (m *CreateVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21437,11 +22516,11 @@ func (m *CreateVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21455,12 +22534,12 @@ func (m *CreateVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21483,7 +22562,7 @@ func (m *DeleteVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21511,7 +22590,7 @@ func (m *DeleteVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21525,11 +22604,11 @@ func (m *DeleteVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21538,12 +22617,12 @@ func (m *DeleteVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21566,7 +22645,7 @@ func (m *DeleteVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21594,7 +22673,7 @@ func (m *DeleteVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21607,11 +22686,11 @@ func (m *DeleteVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21625,12 +22704,12 @@ func (m *DeleteVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21653,7 +22732,7 @@ func (m *HasVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21676,12 +22755,12 @@ func (m *HasVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21704,7 +22783,7 @@ func (m *HasVReplicationWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21732,7 +22811,7 @@ func (m *HasVReplicationWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21747,12 +22826,12 @@ func (m *HasVReplicationWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
m.Has = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21775,7 +22854,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21801,7 +22880,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v int32
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21818,7 +22897,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21831,11 +22910,11 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21855,7 +22934,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v int32
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21879,7 +22958,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21893,11 +22972,11 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21909,7 +22988,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v binlogdata.VReplicationWorkflowState
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21926,7 +23005,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21939,11 +23018,11 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21956,7 +23035,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v binlogdata.VReplicationWorkflowState
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21980,7 +23059,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21994,11 +23073,11 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22010,7 +23089,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v binlogdata.VReplicationWorkflowState
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22027,7 +23106,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22040,11 +23119,11 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22057,7 +23136,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v binlogdata.VReplicationWorkflowState
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22081,7 +23160,7 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22096,12 +23175,12 @@ func (m *ReadVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
m.ExcludeFrozen = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -22124,7 +23203,7 @@ func (m *ReadVReplicationWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22152,7 +23231,7 @@ func (m *ReadVReplicationWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22165,11 +23244,11 @@ func (m *ReadVReplicationWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22181,12 +23260,12 @@ func (m *ReadVReplicationWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -22209,7 +23288,7 @@ func (m *ReadVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22237,7 +23316,7 @@ func (m *ReadVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22251,11 +23330,11 @@ func (m *ReadVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22264,12 +23343,12 @@ func (m *ReadVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -22292,7 +23371,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22320,7 +23399,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
m.Id = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22339,7 +23418,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22352,11 +23431,11 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22375,7 +23454,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22389,11 +23468,11 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22407,7 +23486,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22421,11 +23500,11 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22439,7 +23518,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
m.MaxTps = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22458,7 +23537,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
m.MaxReplicationLag = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22477,7 +23556,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22490,11 +23569,11 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22513,7 +23592,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22526,11 +23605,11 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22549,7 +23628,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
m.State = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22568,7 +23647,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22582,11 +23661,11 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22600,7 +23679,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
m.RowsCopied = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22619,7 +23698,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22632,11 +23711,11 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22655,7 +23734,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22668,11 +23747,11 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22691,7 +23770,7 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22705,11 +23784,11 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22718,12 +23797,12 @@ func (m *ReadVReplicationWorkflowResponse_Stream) UnmarshalVT(dAtA []byte) error
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -22746,7 +23825,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22774,7 +23853,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22788,11 +23867,11 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22806,7 +23885,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22820,11 +23899,11 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22836,7 +23915,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22853,7 +23932,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22866,11 +23945,11 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22883,7 +23962,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22907,7 +23986,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
m.TabletSelectionPreference = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22926,7 +24005,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22940,11 +24019,11 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22958,7 +24037,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22972,11 +24051,11 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22990,7 +24069,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
m.WorkflowType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23009,7 +24088,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
m.WorkflowSubType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23028,7 +24107,7 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23040,81 +24119,362 @@ func (m *ReadVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
break
}
}
- m.DeferSecondaryKeys = bool(v != 0)
- case 11:
+ m.DeferSecondaryKeys = bool(v != 0)
+ case 11:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Streams", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Streams = append(m.Streams, &ReadVReplicationWorkflowResponse_Stream{})
+ if err := m.Streams[len(m.Streams)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 12:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Options = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 13:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ConfigOverrides", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.ConfigOverrides == nil {
+ m.ConfigOverrides = make(map[string]string)
+ }
+ var mapkey string
+ var mapvalue string
+ for iNdEx < postIndex {
+ entryPreIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ if fieldNum == 1 {
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ } else if fieldNum == 2 {
+ var stringLenmapvalue uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapvalue |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapvalue := int(stringLenmapvalue)
+ if intStringLenmapvalue < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postStringIndexmapvalue := iNdEx + intStringLenmapvalue
+ if postStringIndexmapvalue < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postStringIndexmapvalue > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
+ iNdEx = postStringIndexmapvalue
+ } else {
+ iNdEx = entryPreIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > postIndex {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+ m.ConfigOverrides[mapkey] = mapvalue
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ValidateVReplicationPermissionsRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ValidateVReplicationPermissionsRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ValidateVReplicationPermissionsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ValidateVReplicationPermissionsResponse) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ValidateVReplicationPermissionsResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ValidateVReplicationPermissionsResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Streams", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field User", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
- return ErrInvalidLength
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Streams = append(m.Streams, &ReadVReplicationWorkflowResponse_Stream{})
- if err := m.Streams[len(m.Streams)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
+ m.User = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 12:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Ok", wireType)
}
- var stringLen uint64
+ var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
- stringLen |= uint64(b&0x7F) << shift
+ v |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLength
- }
- postIndex := iNdEx + intStringLen
- if postIndex < 0 {
- return ErrInvalidLength
- }
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Options = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
+ m.Ok = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23137,7 +24497,7 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23165,7 +24525,7 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23179,11 +24539,11 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23197,7 +24557,7 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23211,11 +24571,11 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23229,7 +24589,7 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23243,11 +24603,11 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23261,7 +24621,7 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23275,11 +24635,11 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23293,7 +24653,7 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23307,11 +24667,11 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23325,7 +24685,7 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23338,11 +24698,11 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23356,12 +24716,12 @@ func (m *VDiffRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23384,7 +24744,7 @@ func (m *VDiffResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23412,7 +24772,7 @@ func (m *VDiffResponse) UnmarshalVT(dAtA []byte) error {
m.Id = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23431,7 +24791,7 @@ func (m *VDiffResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23444,11 +24804,11 @@ func (m *VDiffResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23467,7 +24827,7 @@ func (m *VDiffResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23481,11 +24841,11 @@ func (m *VDiffResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23494,12 +24854,12 @@ func (m *VDiffResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23522,7 +24882,7 @@ func (m *VDiffPickerOptions) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23550,7 +24910,7 @@ func (m *VDiffPickerOptions) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23564,11 +24924,11 @@ func (m *VDiffPickerOptions) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23582,7 +24942,7 @@ func (m *VDiffPickerOptions) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23596,11 +24956,11 @@ func (m *VDiffPickerOptions) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23614,7 +24974,7 @@ func (m *VDiffPickerOptions) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23628,11 +24988,11 @@ func (m *VDiffPickerOptions) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23641,12 +25001,12 @@ func (m *VDiffPickerOptions) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23669,7 +25029,7 @@ func (m *VDiffReportOptions) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23697,7 +25057,7 @@ func (m *VDiffReportOptions) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23717,7 +25077,7 @@ func (m *VDiffReportOptions) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23737,7 +25097,7 @@ func (m *VDiffReportOptions) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23751,11 +25111,11 @@ func (m *VDiffReportOptions) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23769,7 +25129,7 @@ func (m *VDiffReportOptions) UnmarshalVT(dAtA []byte) error {
m.MaxSampleRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23781,14 +25141,33 @@ func (m *VDiffReportOptions) UnmarshalVT(dAtA []byte) error {
break
}
}
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field RowDiffColumnTruncateAt", wireType)
+ }
+ m.RowDiffColumnTruncateAt = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.RowDiffColumnTruncateAt |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23811,7 +25190,7 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23839,7 +25218,7 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23853,11 +25232,11 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23871,7 +25250,7 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23891,7 +25270,7 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
m.MaxRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23910,7 +25289,7 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23930,7 +25309,7 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
m.SamplePct = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23949,7 +25328,7 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
m.TimeoutSeconds = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23968,7 +25347,7 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
m.MaxExtraRowsToCompare = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23987,7 +25366,7 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24007,7 +25386,7 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
m.MaxDiffSeconds = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24019,14 +25398,35 @@ func (m *VDiffCoreOptions) UnmarshalVT(dAtA []byte) error {
break
}
}
+ case 10:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AutoStart", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ b := bool(v != 0)
+ m.AutoStart = &b
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24049,7 +25449,7 @@ func (m *VDiffOptions) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24077,7 +25477,7 @@ func (m *VDiffOptions) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24090,11 +25490,11 @@ func (m *VDiffOptions) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24113,7 +25513,7 @@ func (m *VDiffOptions) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24126,11 +25526,11 @@ func (m *VDiffOptions) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24149,7 +25549,7 @@ func (m *VDiffOptions) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24162,11 +25562,11 @@ func (m *VDiffOptions) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24180,12 +25580,12 @@ func (m *VDiffOptions) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24208,7 +25608,7 @@ func (m *UpdateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24236,7 +25636,7 @@ func (m *UpdateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24250,11 +25650,11 @@ func (m *UpdateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24268,7 +25668,7 @@ func (m *UpdateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24282,11 +25682,11 @@ func (m *UpdateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24298,7 +25698,7 @@ func (m *UpdateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24315,7 +25715,7 @@ func (m *UpdateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24328,11 +25728,11 @@ func (m *UpdateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24345,7 +25745,7 @@ func (m *UpdateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24366,67 +25766,197 @@ func (m *UpdateVReplicationWorkflowRequest) UnmarshalVT(dAtA []byte) error {
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field TabletSelectionPreference", wireType)
}
- m.TabletSelectionPreference = 0
+ var v TabletSelectionPreference
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
- m.TabletSelectionPreference |= TabletSelectionPreference(b&0x7F) << shift
+ v |= TabletSelectionPreference(b&0x7F) << shift
if b < 0x80 {
break
}
}
+ m.TabletSelectionPreference = &v
case 5:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field OnDdl", wireType)
}
- m.OnDdl = 0
+ var v binlogdata.OnDDLAction
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
- m.OnDdl |= binlogdata.OnDDLAction(b&0x7F) << shift
+ v |= binlogdata.OnDDLAction(b&0x7F) << shift
if b < 0x80 {
break
}
}
+ m.OnDdl = &v
case 6:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field State", wireType)
}
- m.State = 0
+ var v binlogdata.VReplicationWorkflowState
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
- m.State |= binlogdata.VReplicationWorkflowState(b&0x7F) << shift
+ v |= binlogdata.VReplicationWorkflowState(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.State = &v
+ case 8:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ConfigOverrides", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.ConfigOverrides == nil {
+ m.ConfigOverrides = make(map[string]string)
+ }
+ var mapkey string
+ var mapvalue string
+ for iNdEx < postIndex {
+ entryPreIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ if fieldNum == 1 {
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ } else if fieldNum == 2 {
+ var stringLenmapvalue uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapvalue |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapvalue := int(stringLenmapvalue)
+ if intStringLenmapvalue < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postStringIndexmapvalue := iNdEx + intStringLenmapvalue
+ if postStringIndexmapvalue < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postStringIndexmapvalue > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
+ iNdEx = postStringIndexmapvalue
+ } else {
+ iNdEx = entryPreIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > postIndex {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+ m.ConfigOverrides[mapkey] = mapvalue
+ iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24449,7 +25979,7 @@ func (m *UpdateVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24477,7 +26007,7 @@ func (m *UpdateVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24490,11 +26020,11 @@ func (m *UpdateVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24508,12 +26038,12 @@ func (m *UpdateVReplicationWorkflowResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24536,7 +26066,7 @@ func (m *UpdateVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24564,7 +26094,7 @@ func (m *UpdateVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24584,7 +26114,7 @@ func (m *UpdateVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24598,11 +26128,11 @@ func (m *UpdateVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24616,7 +26146,7 @@ func (m *UpdateVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24630,11 +26160,11 @@ func (m *UpdateVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24645,21 +26175,22 @@ func (m *UpdateVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field State", wireType)
}
- m.State = 0
+ var v binlogdata.VReplicationWorkflowState
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
- m.State |= binlogdata.VReplicationWorkflowState(b&0x7F) << shift
+ v |= binlogdata.VReplicationWorkflowState(b&0x7F) << shift
if b < 0x80 {
break
}
}
+ m.State = &v
case 5:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
@@ -24667,7 +26198,7 @@ func (m *UpdateVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24681,16 +26212,17 @@ func (m *UpdateVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Message = string(dAtA[iNdEx:postIndex])
+ s := string(dAtA[iNdEx:postIndex])
+ m.Message = &s
iNdEx = postIndex
case 6:
if wireType != 2 {
@@ -24699,7 +26231,7 @@ func (m *UpdateVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24713,25 +26245,26 @@ func (m *UpdateVReplicationWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.StopPosition = string(dAtA[iNdEx:postIndex])
+ s := string(dAtA[iNdEx:postIndex])
+ m.StopPosition = &s
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24754,7 +26287,7 @@ func (m *UpdateVReplicationWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24782,7 +26315,7 @@ func (m *UpdateVReplicationWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24795,11 +26328,11 @@ func (m *UpdateVReplicationWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24813,12 +26346,12 @@ func (m *UpdateVReplicationWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24841,7 +26374,7 @@ func (m *ResetSequencesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24869,7 +26402,7 @@ func (m *ResetSequencesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24883,11 +26416,11 @@ func (m *ResetSequencesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24896,12 +26429,12 @@ func (m *ResetSequencesRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24924,7 +26457,7 @@ func (m *ResetSequencesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24947,12 +26480,12 @@ func (m *ResetSequencesResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24975,7 +26508,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25003,7 +26536,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25017,11 +26550,11 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25035,7 +26568,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25049,11 +26582,11 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25067,7 +26600,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25087,7 +26620,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25107,7 +26640,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25122,12 +26655,12 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
m.MultiMetricsEnabled = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25150,7 +26683,7 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25178,7 +26711,7 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25192,11 +26725,11 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25210,7 +26743,7 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
m.StatusCode = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25251,7 +26784,7 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25265,11 +26798,11 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25283,7 +26816,7 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25297,11 +26830,11 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25315,7 +26848,7 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25329,11 +26862,11 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25347,7 +26880,7 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
m.ResponseCode = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25361,12 +26894,12 @@ func (m *CheckThrottlerResponse_Metric) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25389,7 +26922,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25417,7 +26950,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
m.StatusCode = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25458,7 +26991,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25472,11 +27005,11 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25490,7 +27023,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25504,11 +27037,11 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25522,7 +27055,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25542,7 +27075,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25555,11 +27088,11 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25574,7 +27107,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25591,7 +27124,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25605,11 +27138,11 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -25620,7 +27153,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25633,11 +27166,11 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -25649,12 +27182,12 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -25671,7 +27204,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25685,11 +27218,11 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25703,7 +27236,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25717,11 +27250,11 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25735,7 +27268,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
m.ResponseCode = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25749,12 +27282,12 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25777,7 +27310,7 @@ func (m *GetThrottlerStatusRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25800,12 +27333,12 @@ func (m *GetThrottlerStatusRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25828,7 +27361,7 @@ func (m *GetThrottlerStatusResponse_MetricResult) UnmarshalVT(dAtA []byte) error
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25867,7 +27400,7 @@ func (m *GetThrottlerStatusResponse_MetricResult) UnmarshalVT(dAtA []byte) error
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25881,11 +27414,11 @@ func (m *GetThrottlerStatusResponse_MetricResult) UnmarshalVT(dAtA []byte) error
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25894,12 +27427,12 @@ func (m *GetThrottlerStatusResponse_MetricResult) UnmarshalVT(dAtA []byte) error
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25922,7 +27455,7 @@ func (m *GetThrottlerStatusResponse_MetricHealth) UnmarshalVT(dAtA []byte) error
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25950,7 +27483,7 @@ func (m *GetThrottlerStatusResponse_MetricHealth) UnmarshalVT(dAtA []byte) error
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25963,11 +27496,11 @@ func (m *GetThrottlerStatusResponse_MetricHealth) UnmarshalVT(dAtA []byte) error
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25986,7 +27519,7 @@ func (m *GetThrottlerStatusResponse_MetricHealth) UnmarshalVT(dAtA []byte) error
m.SecondsSinceLastHealthy = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26000,12 +27533,12 @@ func (m *GetThrottlerStatusResponse_MetricHealth) UnmarshalVT(dAtA []byte) error
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -26028,7 +27561,7 @@ func (m *GetThrottlerStatusResponse_RecentApp) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26056,7 +27589,7 @@ func (m *GetThrottlerStatusResponse_RecentApp) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26069,11 +27602,11 @@ func (m *GetThrottlerStatusResponse_RecentApp) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26092,7 +27625,7 @@ func (m *GetThrottlerStatusResponse_RecentApp) UnmarshalVT(dAtA []byte) error {
m.StatusCode = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26111,7 +27644,7 @@ func (m *GetThrottlerStatusResponse_RecentApp) UnmarshalVT(dAtA []byte) error {
m.ResponseCode = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26125,12 +27658,12 @@ func (m *GetThrottlerStatusResponse_RecentApp) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -26153,7 +27686,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26181,7 +27714,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26195,11 +27728,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26213,7 +27746,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26227,11 +27760,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26245,7 +27778,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26259,11 +27792,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26277,7 +27810,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26297,7 +27830,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26317,7 +27850,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26337,7 +27870,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26357,7 +27890,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26371,11 +27904,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26389,7 +27922,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26403,11 +27936,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26432,7 +27965,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26446,11 +27979,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26464,7 +27997,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26477,11 +28010,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26496,7 +28029,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26513,7 +28046,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26527,11 +28060,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -26542,7 +28075,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26555,11 +28088,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -26571,12 +28104,12 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -26593,7 +28126,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26606,11 +28139,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26625,7 +28158,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26642,7 +28175,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26656,11 +28189,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -26677,12 +28210,12 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
mapvalue = math.Float64frombits(mapvaluetemp)
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -26699,7 +28232,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26712,11 +28245,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26731,7 +28264,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26748,7 +28281,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26762,11 +28295,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -26777,7 +28310,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26790,11 +28323,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -26806,12 +28339,12 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -26828,7 +28361,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26841,11 +28374,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26860,7 +28393,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26877,7 +28410,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26891,11 +28424,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -26906,7 +28439,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26919,11 +28452,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -26935,12 +28468,12 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -26957,7 +28490,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26970,11 +28503,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26989,7 +28522,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27006,7 +28539,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27020,11 +28553,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -27035,7 +28568,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27049,11 +28582,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
@@ -27062,12 +28595,12 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postStringIndexmapvalue
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -27084,7 +28617,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27104,7 +28637,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27117,11 +28650,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27136,7 +28669,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27153,7 +28686,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27167,11 +28700,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -27182,7 +28715,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27195,11 +28728,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -27211,12 +28744,12 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -27228,12 +28761,12 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -27248,88 +28781,3 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go b/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go
index 20901efac86..ce68c6f4b96 100644
--- a/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go
+++ b/go/vt/proto/tabletmanagerservice/tabletmanagerservice.pb.go
@@ -45,7 +45,7 @@ var file_tabletmanagerservice_proto_rawDesc = []byte{
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x74, 0x61,
0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x1a, 0x17, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xdc, 0x32, 0x0a, 0x0d,
+ 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xe8, 0x36, 0x0a, 0x0d,
0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x49, 0x0a,
0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65,
@@ -186,395 +186,436 @@ var file_tabletmanagerservice_proto_rawDesc = []byte{
0x63, 0x68, 0x41, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c,
0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41,
- 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70,
- 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x12, 0x2b, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
- 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
- 0x12, 0x64, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x12, 0x27, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50,
- 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72,
- 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
- 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
- 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x0f, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73,
- 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
- 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f,
- 0x72, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x2a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a,
- 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x12, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x74,
+ 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88,
+ 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x74,
0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x16, 0x53, 0x74,
- 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e,
- 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x30, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
- 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75,
- 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x10, 0x53,
- 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x2e, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72,
+ 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
+ 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c,
+ 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x0f, 0x52, 0x65, 0x61,
+ 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x64,
+ 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x43, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x43, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a,
+ 0x11, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x12, 0x2b, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67,
+ 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x64, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x27, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
+ 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69,
+ 0x6d, 0x61, 0x72, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x6a, 0x0a, 0x0f, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72,
+ 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x2a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x61,
+ 0x61, 0x74, 0x61, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a,
+ 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x74, 0x61,
0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x53,
- 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55,
- 0x6e, 0x74, 0x69, 0x6c, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74,
+ 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x16, 0x53, 0x74, 0x6f,
+ 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69,
+ 0x6d, 0x75, 0x6d, 0x12, 0x30, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x10, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a,
+ 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x53, 0x74,
0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e,
- 0x74, 0x69, 0x6c, 0x41, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x35, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x41, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26,
+ 0x74, 0x69, 0x6c, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x74,
+ 0x69, 0x6c, 0x41, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35,
0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e,
+ 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x41, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x61, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72,
- 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
- 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x18, 0x48, 0x61, 0x73, 0x56, 0x52, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
- 0x73, 0x12, 0x32, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x61, 0x73, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
- 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x61, 0x73, 0x56, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x85, 0x01, 0x0a,
- 0x18, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x32, 0x2e, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65,
- 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x73, 0x12, 0x33, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67,
- 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c,
+ 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x18, 0x48, 0x61, 0x73, 0x56, 0x52, 0x65, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64,
- 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x6d, 0x0a, 0x10, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
- 0x78, 0x65, 0x63, 0x12, 0x2a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
- 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x2b, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f,
- 0x0a, 0x16, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61,
- 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x12, 0x30, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72,
- 0x50, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56,
- 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x69, 0x74, 0x46,
- 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x8b, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x34,
- 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
- 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56,
+ 0x12, 0x32, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x61, 0x73, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x61, 0x73, 0x56, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x18,
+ 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x32, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61,
+ 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x73, 0x12, 0x33, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
+ 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x56,
0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01,
- 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x35, 0x2e,
+ 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b,
+ 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x34, 0x2e,
0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74,
0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
- 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56,
- 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c,
- 0x0a, 0x05, 0x56, 0x44, 0x69, 0x66, 0x66, 0x12, 0x1f, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66,
- 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69,
- 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x10,
- 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x2a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74,
+ 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a,
+ 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x35, 0x2e, 0x74,
0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x0b, 0x49,
- 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49,
- 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x26, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x17,
- 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
- 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x31, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x70, 0x75,
- 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x75, 0x72,
- 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50,
- 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4a,
- 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
- 0x12, 0x5e, 0x0a, 0x0b, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12,
- 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
- 0x12, 0x64, 0x0a, 0x0d, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x12, 0x27, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d,
- 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44,
- 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x11, 0x55, 0x6e, 0x64, 0x6f, 0x44, 0x65,
- 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2b, 0x2e, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x55, 0x6e, 0x64, 0x6f, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x6e, 0x64,
- 0x6f, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x12, 0x2c,
- 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f,
- 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x74,
+ 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9a, 0x01,
+ 0x0a, 0x1f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x73, 0x12, 0x39, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
+ 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x74,
0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f,
- 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01,
- 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x74,
+ 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x10, 0x56, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x12, 0x2a,
+ 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
+ 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x16, 0x56, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72,
+ 0x50, 0x6f, 0x73, 0x12, 0x30, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x6f, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x05, 0x56, 0x44,
+ 0x69, 0x66, 0x66, 0x12, 0x1f, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x65,
+ 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x74,
0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67,
- 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0a, 0x46,
- 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x2e, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x75,
- 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x12, 0x2e, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x2f, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61,
- 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x2d, 0x2e, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
- 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65,
- 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x1b,
- 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41,
- 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x2e, 0x74, 0x61,
+ 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73,
+ 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x0b, 0x49, 0x6e, 0x69, 0x74, 0x50,
+ 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x50,
+ 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x17, 0x50, 0x6f, 0x70, 0x75,
+ 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x75, 0x72,
+ 0x6e, 0x61, 0x6c, 0x12, 0x31, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65,
+ 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x70, 0x75, 0x6c,
+ 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x75, 0x72, 0x6e,
+ 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x0b,
+ 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x25, 0x2e, 0x74, 0x61,
0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41,
- 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67,
- 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0e,
- 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x28,
- 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f,
- 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12,
- 0x20, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x21, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74,
- 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2b, 0x2e,
+ 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67,
+ 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0d,
+ 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x2e,
0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63,
- 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x61, 0x62,
+ 0x61, 0x2e, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6d, 0x6f, 0x74,
+ 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x70, 0x0a, 0x11, 0x55, 0x6e, 0x64, 0x6f, 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65,
+ 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2b, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x6e, 0x64, 0x6f,
+ 0x44, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x6e, 0x64, 0x6f, 0x44, 0x65, 0x6d,
+ 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57,
+ 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x2e, 0x74, 0x61, 0x62,
0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52,
- 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x67, 0x0a, 0x0e,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x12, 0x28,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65,
+ 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x1a, 0x52, 0x65,
+ 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73,
+ 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35,
0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
- 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65,
- 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f,
- 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x2e, 0x74, 0x61,
+ 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0a, 0x46, 0x75, 0x6c, 0x6c, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x61,
0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65,
- 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x33, 0x5a, 0x31, 0x76, 0x69,
- 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67,
- 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62,
- 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x76, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x2d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x57, 0x61, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x6f, 0x70,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, 0x65,
+ 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, 0x65,
+ 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36,
+ 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d,
+ 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x28, 0x2e, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50,
+ 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x51, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x20, 0x2e, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x30, 0x01, 0x12, 0x72, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46,
+ 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65,
+ 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f,
+ 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x67, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x63,
+ 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43,
+ 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68,
+ 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x73, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72,
+ 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x33, 0x5a, 0x31, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73,
+ 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74,
+ 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
}
var file_tabletmanagerservice_proto_goTypes = []any{
- (*tabletmanagerdata.PingRequest)(nil), // 0: tabletmanagerdata.PingRequest
- (*tabletmanagerdata.SleepRequest)(nil), // 1: tabletmanagerdata.SleepRequest
- (*tabletmanagerdata.ExecuteHookRequest)(nil), // 2: tabletmanagerdata.ExecuteHookRequest
- (*tabletmanagerdata.GetSchemaRequest)(nil), // 3: tabletmanagerdata.GetSchemaRequest
- (*tabletmanagerdata.GetPermissionsRequest)(nil), // 4: tabletmanagerdata.GetPermissionsRequest
- (*tabletmanagerdata.GetGlobalStatusVarsRequest)(nil), // 5: tabletmanagerdata.GetGlobalStatusVarsRequest
- (*tabletmanagerdata.SetReadOnlyRequest)(nil), // 6: tabletmanagerdata.SetReadOnlyRequest
- (*tabletmanagerdata.SetReadWriteRequest)(nil), // 7: tabletmanagerdata.SetReadWriteRequest
- (*tabletmanagerdata.ChangeTypeRequest)(nil), // 8: tabletmanagerdata.ChangeTypeRequest
- (*tabletmanagerdata.RefreshStateRequest)(nil), // 9: tabletmanagerdata.RefreshStateRequest
- (*tabletmanagerdata.RunHealthCheckRequest)(nil), // 10: tabletmanagerdata.RunHealthCheckRequest
- (*tabletmanagerdata.ReloadSchemaRequest)(nil), // 11: tabletmanagerdata.ReloadSchemaRequest
- (*tabletmanagerdata.PreflightSchemaRequest)(nil), // 12: tabletmanagerdata.PreflightSchemaRequest
- (*tabletmanagerdata.ApplySchemaRequest)(nil), // 13: tabletmanagerdata.ApplySchemaRequest
- (*tabletmanagerdata.ResetSequencesRequest)(nil), // 14: tabletmanagerdata.ResetSequencesRequest
- (*tabletmanagerdata.LockTablesRequest)(nil), // 15: tabletmanagerdata.LockTablesRequest
- (*tabletmanagerdata.UnlockTablesRequest)(nil), // 16: tabletmanagerdata.UnlockTablesRequest
- (*tabletmanagerdata.ExecuteQueryRequest)(nil), // 17: tabletmanagerdata.ExecuteQueryRequest
- (*tabletmanagerdata.ExecuteFetchAsDbaRequest)(nil), // 18: tabletmanagerdata.ExecuteFetchAsDbaRequest
- (*tabletmanagerdata.ExecuteMultiFetchAsDbaRequest)(nil), // 19: tabletmanagerdata.ExecuteMultiFetchAsDbaRequest
- (*tabletmanagerdata.ExecuteFetchAsAllPrivsRequest)(nil), // 20: tabletmanagerdata.ExecuteFetchAsAllPrivsRequest
- (*tabletmanagerdata.ExecuteFetchAsAppRequest)(nil), // 21: tabletmanagerdata.ExecuteFetchAsAppRequest
- (*tabletmanagerdata.ReplicationStatusRequest)(nil), // 22: tabletmanagerdata.ReplicationStatusRequest
- (*tabletmanagerdata.PrimaryStatusRequest)(nil), // 23: tabletmanagerdata.PrimaryStatusRequest
- (*tabletmanagerdata.PrimaryPositionRequest)(nil), // 24: tabletmanagerdata.PrimaryPositionRequest
- (*tabletmanagerdata.WaitForPositionRequest)(nil), // 25: tabletmanagerdata.WaitForPositionRequest
- (*tabletmanagerdata.StopReplicationRequest)(nil), // 26: tabletmanagerdata.StopReplicationRequest
- (*tabletmanagerdata.StopReplicationMinimumRequest)(nil), // 27: tabletmanagerdata.StopReplicationMinimumRequest
- (*tabletmanagerdata.StartReplicationRequest)(nil), // 28: tabletmanagerdata.StartReplicationRequest
- (*tabletmanagerdata.StartReplicationUntilAfterRequest)(nil), // 29: tabletmanagerdata.StartReplicationUntilAfterRequest
- (*tabletmanagerdata.GetReplicasRequest)(nil), // 30: tabletmanagerdata.GetReplicasRequest
- (*tabletmanagerdata.CreateVReplicationWorkflowRequest)(nil), // 31: tabletmanagerdata.CreateVReplicationWorkflowRequest
- (*tabletmanagerdata.DeleteVReplicationWorkflowRequest)(nil), // 32: tabletmanagerdata.DeleteVReplicationWorkflowRequest
- (*tabletmanagerdata.HasVReplicationWorkflowsRequest)(nil), // 33: tabletmanagerdata.HasVReplicationWorkflowsRequest
- (*tabletmanagerdata.ReadVReplicationWorkflowRequest)(nil), // 34: tabletmanagerdata.ReadVReplicationWorkflowRequest
- (*tabletmanagerdata.ReadVReplicationWorkflowsRequest)(nil), // 35: tabletmanagerdata.ReadVReplicationWorkflowsRequest
- (*tabletmanagerdata.VReplicationExecRequest)(nil), // 36: tabletmanagerdata.VReplicationExecRequest
- (*tabletmanagerdata.VReplicationWaitForPosRequest)(nil), // 37: tabletmanagerdata.VReplicationWaitForPosRequest
- (*tabletmanagerdata.UpdateVReplicationWorkflowRequest)(nil), // 38: tabletmanagerdata.UpdateVReplicationWorkflowRequest
- (*tabletmanagerdata.UpdateVReplicationWorkflowsRequest)(nil), // 39: tabletmanagerdata.UpdateVReplicationWorkflowsRequest
- (*tabletmanagerdata.VDiffRequest)(nil), // 40: tabletmanagerdata.VDiffRequest
- (*tabletmanagerdata.ResetReplicationRequest)(nil), // 41: tabletmanagerdata.ResetReplicationRequest
- (*tabletmanagerdata.InitPrimaryRequest)(nil), // 42: tabletmanagerdata.InitPrimaryRequest
- (*tabletmanagerdata.PopulateReparentJournalRequest)(nil), // 43: tabletmanagerdata.PopulateReparentJournalRequest
- (*tabletmanagerdata.InitReplicaRequest)(nil), // 44: tabletmanagerdata.InitReplicaRequest
- (*tabletmanagerdata.DemotePrimaryRequest)(nil), // 45: tabletmanagerdata.DemotePrimaryRequest
- (*tabletmanagerdata.UndoDemotePrimaryRequest)(nil), // 46: tabletmanagerdata.UndoDemotePrimaryRequest
- (*tabletmanagerdata.ReplicaWasPromotedRequest)(nil), // 47: tabletmanagerdata.ReplicaWasPromotedRequest
- (*tabletmanagerdata.ResetReplicationParametersRequest)(nil), // 48: tabletmanagerdata.ResetReplicationParametersRequest
- (*tabletmanagerdata.FullStatusRequest)(nil), // 49: tabletmanagerdata.FullStatusRequest
- (*tabletmanagerdata.SetReplicationSourceRequest)(nil), // 50: tabletmanagerdata.SetReplicationSourceRequest
- (*tabletmanagerdata.ReplicaWasRestartedRequest)(nil), // 51: tabletmanagerdata.ReplicaWasRestartedRequest
- (*tabletmanagerdata.StopReplicationAndGetStatusRequest)(nil), // 52: tabletmanagerdata.StopReplicationAndGetStatusRequest
- (*tabletmanagerdata.PromoteReplicaRequest)(nil), // 53: tabletmanagerdata.PromoteReplicaRequest
- (*tabletmanagerdata.BackupRequest)(nil), // 54: tabletmanagerdata.BackupRequest
- (*tabletmanagerdata.RestoreFromBackupRequest)(nil), // 55: tabletmanagerdata.RestoreFromBackupRequest
- (*tabletmanagerdata.CheckThrottlerRequest)(nil), // 56: tabletmanagerdata.CheckThrottlerRequest
- (*tabletmanagerdata.GetThrottlerStatusRequest)(nil), // 57: tabletmanagerdata.GetThrottlerStatusRequest
- (*tabletmanagerdata.PingResponse)(nil), // 58: tabletmanagerdata.PingResponse
- (*tabletmanagerdata.SleepResponse)(nil), // 59: tabletmanagerdata.SleepResponse
- (*tabletmanagerdata.ExecuteHookResponse)(nil), // 60: tabletmanagerdata.ExecuteHookResponse
- (*tabletmanagerdata.GetSchemaResponse)(nil), // 61: tabletmanagerdata.GetSchemaResponse
- (*tabletmanagerdata.GetPermissionsResponse)(nil), // 62: tabletmanagerdata.GetPermissionsResponse
- (*tabletmanagerdata.GetGlobalStatusVarsResponse)(nil), // 63: tabletmanagerdata.GetGlobalStatusVarsResponse
- (*tabletmanagerdata.SetReadOnlyResponse)(nil), // 64: tabletmanagerdata.SetReadOnlyResponse
- (*tabletmanagerdata.SetReadWriteResponse)(nil), // 65: tabletmanagerdata.SetReadWriteResponse
- (*tabletmanagerdata.ChangeTypeResponse)(nil), // 66: tabletmanagerdata.ChangeTypeResponse
- (*tabletmanagerdata.RefreshStateResponse)(nil), // 67: tabletmanagerdata.RefreshStateResponse
- (*tabletmanagerdata.RunHealthCheckResponse)(nil), // 68: tabletmanagerdata.RunHealthCheckResponse
- (*tabletmanagerdata.ReloadSchemaResponse)(nil), // 69: tabletmanagerdata.ReloadSchemaResponse
- (*tabletmanagerdata.PreflightSchemaResponse)(nil), // 70: tabletmanagerdata.PreflightSchemaResponse
- (*tabletmanagerdata.ApplySchemaResponse)(nil), // 71: tabletmanagerdata.ApplySchemaResponse
- (*tabletmanagerdata.ResetSequencesResponse)(nil), // 72: tabletmanagerdata.ResetSequencesResponse
- (*tabletmanagerdata.LockTablesResponse)(nil), // 73: tabletmanagerdata.LockTablesResponse
- (*tabletmanagerdata.UnlockTablesResponse)(nil), // 74: tabletmanagerdata.UnlockTablesResponse
- (*tabletmanagerdata.ExecuteQueryResponse)(nil), // 75: tabletmanagerdata.ExecuteQueryResponse
- (*tabletmanagerdata.ExecuteFetchAsDbaResponse)(nil), // 76: tabletmanagerdata.ExecuteFetchAsDbaResponse
- (*tabletmanagerdata.ExecuteMultiFetchAsDbaResponse)(nil), // 77: tabletmanagerdata.ExecuteMultiFetchAsDbaResponse
- (*tabletmanagerdata.ExecuteFetchAsAllPrivsResponse)(nil), // 78: tabletmanagerdata.ExecuteFetchAsAllPrivsResponse
- (*tabletmanagerdata.ExecuteFetchAsAppResponse)(nil), // 79: tabletmanagerdata.ExecuteFetchAsAppResponse
- (*tabletmanagerdata.ReplicationStatusResponse)(nil), // 80: tabletmanagerdata.ReplicationStatusResponse
- (*tabletmanagerdata.PrimaryStatusResponse)(nil), // 81: tabletmanagerdata.PrimaryStatusResponse
- (*tabletmanagerdata.PrimaryPositionResponse)(nil), // 82: tabletmanagerdata.PrimaryPositionResponse
- (*tabletmanagerdata.WaitForPositionResponse)(nil), // 83: tabletmanagerdata.WaitForPositionResponse
- (*tabletmanagerdata.StopReplicationResponse)(nil), // 84: tabletmanagerdata.StopReplicationResponse
- (*tabletmanagerdata.StopReplicationMinimumResponse)(nil), // 85: tabletmanagerdata.StopReplicationMinimumResponse
- (*tabletmanagerdata.StartReplicationResponse)(nil), // 86: tabletmanagerdata.StartReplicationResponse
- (*tabletmanagerdata.StartReplicationUntilAfterResponse)(nil), // 87: tabletmanagerdata.StartReplicationUntilAfterResponse
- (*tabletmanagerdata.GetReplicasResponse)(nil), // 88: tabletmanagerdata.GetReplicasResponse
- (*tabletmanagerdata.CreateVReplicationWorkflowResponse)(nil), // 89: tabletmanagerdata.CreateVReplicationWorkflowResponse
- (*tabletmanagerdata.DeleteVReplicationWorkflowResponse)(nil), // 90: tabletmanagerdata.DeleteVReplicationWorkflowResponse
- (*tabletmanagerdata.HasVReplicationWorkflowsResponse)(nil), // 91: tabletmanagerdata.HasVReplicationWorkflowsResponse
- (*tabletmanagerdata.ReadVReplicationWorkflowResponse)(nil), // 92: tabletmanagerdata.ReadVReplicationWorkflowResponse
- (*tabletmanagerdata.ReadVReplicationWorkflowsResponse)(nil), // 93: tabletmanagerdata.ReadVReplicationWorkflowsResponse
- (*tabletmanagerdata.VReplicationExecResponse)(nil), // 94: tabletmanagerdata.VReplicationExecResponse
- (*tabletmanagerdata.VReplicationWaitForPosResponse)(nil), // 95: tabletmanagerdata.VReplicationWaitForPosResponse
- (*tabletmanagerdata.UpdateVReplicationWorkflowResponse)(nil), // 96: tabletmanagerdata.UpdateVReplicationWorkflowResponse
- (*tabletmanagerdata.UpdateVReplicationWorkflowsResponse)(nil), // 97: tabletmanagerdata.UpdateVReplicationWorkflowsResponse
- (*tabletmanagerdata.VDiffResponse)(nil), // 98: tabletmanagerdata.VDiffResponse
- (*tabletmanagerdata.ResetReplicationResponse)(nil), // 99: tabletmanagerdata.ResetReplicationResponse
- (*tabletmanagerdata.InitPrimaryResponse)(nil), // 100: tabletmanagerdata.InitPrimaryResponse
- (*tabletmanagerdata.PopulateReparentJournalResponse)(nil), // 101: tabletmanagerdata.PopulateReparentJournalResponse
- (*tabletmanagerdata.InitReplicaResponse)(nil), // 102: tabletmanagerdata.InitReplicaResponse
- (*tabletmanagerdata.DemotePrimaryResponse)(nil), // 103: tabletmanagerdata.DemotePrimaryResponse
- (*tabletmanagerdata.UndoDemotePrimaryResponse)(nil), // 104: tabletmanagerdata.UndoDemotePrimaryResponse
- (*tabletmanagerdata.ReplicaWasPromotedResponse)(nil), // 105: tabletmanagerdata.ReplicaWasPromotedResponse
- (*tabletmanagerdata.ResetReplicationParametersResponse)(nil), // 106: tabletmanagerdata.ResetReplicationParametersResponse
- (*tabletmanagerdata.FullStatusResponse)(nil), // 107: tabletmanagerdata.FullStatusResponse
- (*tabletmanagerdata.SetReplicationSourceResponse)(nil), // 108: tabletmanagerdata.SetReplicationSourceResponse
- (*tabletmanagerdata.ReplicaWasRestartedResponse)(nil), // 109: tabletmanagerdata.ReplicaWasRestartedResponse
- (*tabletmanagerdata.StopReplicationAndGetStatusResponse)(nil), // 110: tabletmanagerdata.StopReplicationAndGetStatusResponse
- (*tabletmanagerdata.PromoteReplicaResponse)(nil), // 111: tabletmanagerdata.PromoteReplicaResponse
- (*tabletmanagerdata.BackupResponse)(nil), // 112: tabletmanagerdata.BackupResponse
- (*tabletmanagerdata.RestoreFromBackupResponse)(nil), // 113: tabletmanagerdata.RestoreFromBackupResponse
- (*tabletmanagerdata.CheckThrottlerResponse)(nil), // 114: tabletmanagerdata.CheckThrottlerResponse
- (*tabletmanagerdata.GetThrottlerStatusResponse)(nil), // 115: tabletmanagerdata.GetThrottlerStatusResponse
+ (*tabletmanagerdata.PingRequest)(nil), // 0: tabletmanagerdata.PingRequest
+ (*tabletmanagerdata.SleepRequest)(nil), // 1: tabletmanagerdata.SleepRequest
+ (*tabletmanagerdata.ExecuteHookRequest)(nil), // 2: tabletmanagerdata.ExecuteHookRequest
+ (*tabletmanagerdata.GetSchemaRequest)(nil), // 3: tabletmanagerdata.GetSchemaRequest
+ (*tabletmanagerdata.GetPermissionsRequest)(nil), // 4: tabletmanagerdata.GetPermissionsRequest
+ (*tabletmanagerdata.GetGlobalStatusVarsRequest)(nil), // 5: tabletmanagerdata.GetGlobalStatusVarsRequest
+ (*tabletmanagerdata.SetReadOnlyRequest)(nil), // 6: tabletmanagerdata.SetReadOnlyRequest
+ (*tabletmanagerdata.SetReadWriteRequest)(nil), // 7: tabletmanagerdata.SetReadWriteRequest
+ (*tabletmanagerdata.ChangeTypeRequest)(nil), // 8: tabletmanagerdata.ChangeTypeRequest
+ (*tabletmanagerdata.RefreshStateRequest)(nil), // 9: tabletmanagerdata.RefreshStateRequest
+ (*tabletmanagerdata.RunHealthCheckRequest)(nil), // 10: tabletmanagerdata.RunHealthCheckRequest
+ (*tabletmanagerdata.ReloadSchemaRequest)(nil), // 11: tabletmanagerdata.ReloadSchemaRequest
+ (*tabletmanagerdata.PreflightSchemaRequest)(nil), // 12: tabletmanagerdata.PreflightSchemaRequest
+ (*tabletmanagerdata.ApplySchemaRequest)(nil), // 13: tabletmanagerdata.ApplySchemaRequest
+ (*tabletmanagerdata.ResetSequencesRequest)(nil), // 14: tabletmanagerdata.ResetSequencesRequest
+ (*tabletmanagerdata.LockTablesRequest)(nil), // 15: tabletmanagerdata.LockTablesRequest
+ (*tabletmanagerdata.UnlockTablesRequest)(nil), // 16: tabletmanagerdata.UnlockTablesRequest
+ (*tabletmanagerdata.ExecuteQueryRequest)(nil), // 17: tabletmanagerdata.ExecuteQueryRequest
+ (*tabletmanagerdata.ExecuteFetchAsDbaRequest)(nil), // 18: tabletmanagerdata.ExecuteFetchAsDbaRequest
+ (*tabletmanagerdata.ExecuteMultiFetchAsDbaRequest)(nil), // 19: tabletmanagerdata.ExecuteMultiFetchAsDbaRequest
+ (*tabletmanagerdata.ExecuteFetchAsAllPrivsRequest)(nil), // 20: tabletmanagerdata.ExecuteFetchAsAllPrivsRequest
+ (*tabletmanagerdata.ExecuteFetchAsAppRequest)(nil), // 21: tabletmanagerdata.ExecuteFetchAsAppRequest
+ (*tabletmanagerdata.GetUnresolvedTransactionsRequest)(nil), // 22: tabletmanagerdata.GetUnresolvedTransactionsRequest
+ (*tabletmanagerdata.ReadTransactionRequest)(nil), // 23: tabletmanagerdata.ReadTransactionRequest
+ (*tabletmanagerdata.ConcludeTransactionRequest)(nil), // 24: tabletmanagerdata.ConcludeTransactionRequest
+ (*tabletmanagerdata.ReplicationStatusRequest)(nil), // 25: tabletmanagerdata.ReplicationStatusRequest
+ (*tabletmanagerdata.PrimaryStatusRequest)(nil), // 26: tabletmanagerdata.PrimaryStatusRequest
+ (*tabletmanagerdata.PrimaryPositionRequest)(nil), // 27: tabletmanagerdata.PrimaryPositionRequest
+ (*tabletmanagerdata.WaitForPositionRequest)(nil), // 28: tabletmanagerdata.WaitForPositionRequest
+ (*tabletmanagerdata.StopReplicationRequest)(nil), // 29: tabletmanagerdata.StopReplicationRequest
+ (*tabletmanagerdata.StopReplicationMinimumRequest)(nil), // 30: tabletmanagerdata.StopReplicationMinimumRequest
+ (*tabletmanagerdata.StartReplicationRequest)(nil), // 31: tabletmanagerdata.StartReplicationRequest
+ (*tabletmanagerdata.StartReplicationUntilAfterRequest)(nil), // 32: tabletmanagerdata.StartReplicationUntilAfterRequest
+ (*tabletmanagerdata.GetReplicasRequest)(nil), // 33: tabletmanagerdata.GetReplicasRequest
+ (*tabletmanagerdata.CreateVReplicationWorkflowRequest)(nil), // 34: tabletmanagerdata.CreateVReplicationWorkflowRequest
+ (*tabletmanagerdata.DeleteVReplicationWorkflowRequest)(nil), // 35: tabletmanagerdata.DeleteVReplicationWorkflowRequest
+ (*tabletmanagerdata.HasVReplicationWorkflowsRequest)(nil), // 36: tabletmanagerdata.HasVReplicationWorkflowsRequest
+ (*tabletmanagerdata.ReadVReplicationWorkflowRequest)(nil), // 37: tabletmanagerdata.ReadVReplicationWorkflowRequest
+ (*tabletmanagerdata.ReadVReplicationWorkflowsRequest)(nil), // 38: tabletmanagerdata.ReadVReplicationWorkflowsRequest
+ (*tabletmanagerdata.UpdateVReplicationWorkflowRequest)(nil), // 39: tabletmanagerdata.UpdateVReplicationWorkflowRequest
+ (*tabletmanagerdata.UpdateVReplicationWorkflowsRequest)(nil), // 40: tabletmanagerdata.UpdateVReplicationWorkflowsRequest
+ (*tabletmanagerdata.ValidateVReplicationPermissionsRequest)(nil), // 41: tabletmanagerdata.ValidateVReplicationPermissionsRequest
+ (*tabletmanagerdata.VReplicationExecRequest)(nil), // 42: tabletmanagerdata.VReplicationExecRequest
+ (*tabletmanagerdata.VReplicationWaitForPosRequest)(nil), // 43: tabletmanagerdata.VReplicationWaitForPosRequest
+ (*tabletmanagerdata.VDiffRequest)(nil), // 44: tabletmanagerdata.VDiffRequest
+ (*tabletmanagerdata.ResetReplicationRequest)(nil), // 45: tabletmanagerdata.ResetReplicationRequest
+ (*tabletmanagerdata.InitPrimaryRequest)(nil), // 46: tabletmanagerdata.InitPrimaryRequest
+ (*tabletmanagerdata.PopulateReparentJournalRequest)(nil), // 47: tabletmanagerdata.PopulateReparentJournalRequest
+ (*tabletmanagerdata.InitReplicaRequest)(nil), // 48: tabletmanagerdata.InitReplicaRequest
+ (*tabletmanagerdata.DemotePrimaryRequest)(nil), // 49: tabletmanagerdata.DemotePrimaryRequest
+ (*tabletmanagerdata.UndoDemotePrimaryRequest)(nil), // 50: tabletmanagerdata.UndoDemotePrimaryRequest
+ (*tabletmanagerdata.ReplicaWasPromotedRequest)(nil), // 51: tabletmanagerdata.ReplicaWasPromotedRequest
+ (*tabletmanagerdata.ResetReplicationParametersRequest)(nil), // 52: tabletmanagerdata.ResetReplicationParametersRequest
+ (*tabletmanagerdata.FullStatusRequest)(nil), // 53: tabletmanagerdata.FullStatusRequest
+ (*tabletmanagerdata.SetReplicationSourceRequest)(nil), // 54: tabletmanagerdata.SetReplicationSourceRequest
+ (*tabletmanagerdata.ReplicaWasRestartedRequest)(nil), // 55: tabletmanagerdata.ReplicaWasRestartedRequest
+ (*tabletmanagerdata.StopReplicationAndGetStatusRequest)(nil), // 56: tabletmanagerdata.StopReplicationAndGetStatusRequest
+ (*tabletmanagerdata.PromoteReplicaRequest)(nil), // 57: tabletmanagerdata.PromoteReplicaRequest
+ (*tabletmanagerdata.BackupRequest)(nil), // 58: tabletmanagerdata.BackupRequest
+ (*tabletmanagerdata.RestoreFromBackupRequest)(nil), // 59: tabletmanagerdata.RestoreFromBackupRequest
+ (*tabletmanagerdata.CheckThrottlerRequest)(nil), // 60: tabletmanagerdata.CheckThrottlerRequest
+ (*tabletmanagerdata.GetThrottlerStatusRequest)(nil), // 61: tabletmanagerdata.GetThrottlerStatusRequest
+ (*tabletmanagerdata.PingResponse)(nil), // 62: tabletmanagerdata.PingResponse
+ (*tabletmanagerdata.SleepResponse)(nil), // 63: tabletmanagerdata.SleepResponse
+ (*tabletmanagerdata.ExecuteHookResponse)(nil), // 64: tabletmanagerdata.ExecuteHookResponse
+ (*tabletmanagerdata.GetSchemaResponse)(nil), // 65: tabletmanagerdata.GetSchemaResponse
+ (*tabletmanagerdata.GetPermissionsResponse)(nil), // 66: tabletmanagerdata.GetPermissionsResponse
+ (*tabletmanagerdata.GetGlobalStatusVarsResponse)(nil), // 67: tabletmanagerdata.GetGlobalStatusVarsResponse
+ (*tabletmanagerdata.SetReadOnlyResponse)(nil), // 68: tabletmanagerdata.SetReadOnlyResponse
+ (*tabletmanagerdata.SetReadWriteResponse)(nil), // 69: tabletmanagerdata.SetReadWriteResponse
+ (*tabletmanagerdata.ChangeTypeResponse)(nil), // 70: tabletmanagerdata.ChangeTypeResponse
+ (*tabletmanagerdata.RefreshStateResponse)(nil), // 71: tabletmanagerdata.RefreshStateResponse
+ (*tabletmanagerdata.RunHealthCheckResponse)(nil), // 72: tabletmanagerdata.RunHealthCheckResponse
+ (*tabletmanagerdata.ReloadSchemaResponse)(nil), // 73: tabletmanagerdata.ReloadSchemaResponse
+ (*tabletmanagerdata.PreflightSchemaResponse)(nil), // 74: tabletmanagerdata.PreflightSchemaResponse
+ (*tabletmanagerdata.ApplySchemaResponse)(nil), // 75: tabletmanagerdata.ApplySchemaResponse
+ (*tabletmanagerdata.ResetSequencesResponse)(nil), // 76: tabletmanagerdata.ResetSequencesResponse
+ (*tabletmanagerdata.LockTablesResponse)(nil), // 77: tabletmanagerdata.LockTablesResponse
+ (*tabletmanagerdata.UnlockTablesResponse)(nil), // 78: tabletmanagerdata.UnlockTablesResponse
+ (*tabletmanagerdata.ExecuteQueryResponse)(nil), // 79: tabletmanagerdata.ExecuteQueryResponse
+ (*tabletmanagerdata.ExecuteFetchAsDbaResponse)(nil), // 80: tabletmanagerdata.ExecuteFetchAsDbaResponse
+ (*tabletmanagerdata.ExecuteMultiFetchAsDbaResponse)(nil), // 81: tabletmanagerdata.ExecuteMultiFetchAsDbaResponse
+ (*tabletmanagerdata.ExecuteFetchAsAllPrivsResponse)(nil), // 82: tabletmanagerdata.ExecuteFetchAsAllPrivsResponse
+ (*tabletmanagerdata.ExecuteFetchAsAppResponse)(nil), // 83: tabletmanagerdata.ExecuteFetchAsAppResponse
+ (*tabletmanagerdata.GetUnresolvedTransactionsResponse)(nil), // 84: tabletmanagerdata.GetUnresolvedTransactionsResponse
+ (*tabletmanagerdata.ReadTransactionResponse)(nil), // 85: tabletmanagerdata.ReadTransactionResponse
+ (*tabletmanagerdata.ConcludeTransactionResponse)(nil), // 86: tabletmanagerdata.ConcludeTransactionResponse
+ (*tabletmanagerdata.ReplicationStatusResponse)(nil), // 87: tabletmanagerdata.ReplicationStatusResponse
+ (*tabletmanagerdata.PrimaryStatusResponse)(nil), // 88: tabletmanagerdata.PrimaryStatusResponse
+ (*tabletmanagerdata.PrimaryPositionResponse)(nil), // 89: tabletmanagerdata.PrimaryPositionResponse
+ (*tabletmanagerdata.WaitForPositionResponse)(nil), // 90: tabletmanagerdata.WaitForPositionResponse
+ (*tabletmanagerdata.StopReplicationResponse)(nil), // 91: tabletmanagerdata.StopReplicationResponse
+ (*tabletmanagerdata.StopReplicationMinimumResponse)(nil), // 92: tabletmanagerdata.StopReplicationMinimumResponse
+ (*tabletmanagerdata.StartReplicationResponse)(nil), // 93: tabletmanagerdata.StartReplicationResponse
+ (*tabletmanagerdata.StartReplicationUntilAfterResponse)(nil), // 94: tabletmanagerdata.StartReplicationUntilAfterResponse
+ (*tabletmanagerdata.GetReplicasResponse)(nil), // 95: tabletmanagerdata.GetReplicasResponse
+ (*tabletmanagerdata.CreateVReplicationWorkflowResponse)(nil), // 96: tabletmanagerdata.CreateVReplicationWorkflowResponse
+ (*tabletmanagerdata.DeleteVReplicationWorkflowResponse)(nil), // 97: tabletmanagerdata.DeleteVReplicationWorkflowResponse
+ (*tabletmanagerdata.HasVReplicationWorkflowsResponse)(nil), // 98: tabletmanagerdata.HasVReplicationWorkflowsResponse
+ (*tabletmanagerdata.ReadVReplicationWorkflowResponse)(nil), // 99: tabletmanagerdata.ReadVReplicationWorkflowResponse
+ (*tabletmanagerdata.ReadVReplicationWorkflowsResponse)(nil), // 100: tabletmanagerdata.ReadVReplicationWorkflowsResponse
+ (*tabletmanagerdata.UpdateVReplicationWorkflowResponse)(nil), // 101: tabletmanagerdata.UpdateVReplicationWorkflowResponse
+ (*tabletmanagerdata.UpdateVReplicationWorkflowsResponse)(nil), // 102: tabletmanagerdata.UpdateVReplicationWorkflowsResponse
+ (*tabletmanagerdata.ValidateVReplicationPermissionsResponse)(nil), // 103: tabletmanagerdata.ValidateVReplicationPermissionsResponse
+ (*tabletmanagerdata.VReplicationExecResponse)(nil), // 104: tabletmanagerdata.VReplicationExecResponse
+ (*tabletmanagerdata.VReplicationWaitForPosResponse)(nil), // 105: tabletmanagerdata.VReplicationWaitForPosResponse
+ (*tabletmanagerdata.VDiffResponse)(nil), // 106: tabletmanagerdata.VDiffResponse
+ (*tabletmanagerdata.ResetReplicationResponse)(nil), // 107: tabletmanagerdata.ResetReplicationResponse
+ (*tabletmanagerdata.InitPrimaryResponse)(nil), // 108: tabletmanagerdata.InitPrimaryResponse
+ (*tabletmanagerdata.PopulateReparentJournalResponse)(nil), // 109: tabletmanagerdata.PopulateReparentJournalResponse
+ (*tabletmanagerdata.InitReplicaResponse)(nil), // 110: tabletmanagerdata.InitReplicaResponse
+ (*tabletmanagerdata.DemotePrimaryResponse)(nil), // 111: tabletmanagerdata.DemotePrimaryResponse
+ (*tabletmanagerdata.UndoDemotePrimaryResponse)(nil), // 112: tabletmanagerdata.UndoDemotePrimaryResponse
+ (*tabletmanagerdata.ReplicaWasPromotedResponse)(nil), // 113: tabletmanagerdata.ReplicaWasPromotedResponse
+ (*tabletmanagerdata.ResetReplicationParametersResponse)(nil), // 114: tabletmanagerdata.ResetReplicationParametersResponse
+ (*tabletmanagerdata.FullStatusResponse)(nil), // 115: tabletmanagerdata.FullStatusResponse
+ (*tabletmanagerdata.SetReplicationSourceResponse)(nil), // 116: tabletmanagerdata.SetReplicationSourceResponse
+ (*tabletmanagerdata.ReplicaWasRestartedResponse)(nil), // 117: tabletmanagerdata.ReplicaWasRestartedResponse
+ (*tabletmanagerdata.StopReplicationAndGetStatusResponse)(nil), // 118: tabletmanagerdata.StopReplicationAndGetStatusResponse
+ (*tabletmanagerdata.PromoteReplicaResponse)(nil), // 119: tabletmanagerdata.PromoteReplicaResponse
+ (*tabletmanagerdata.BackupResponse)(nil), // 120: tabletmanagerdata.BackupResponse
+ (*tabletmanagerdata.RestoreFromBackupResponse)(nil), // 121: tabletmanagerdata.RestoreFromBackupResponse
+ (*tabletmanagerdata.CheckThrottlerResponse)(nil), // 122: tabletmanagerdata.CheckThrottlerResponse
+ (*tabletmanagerdata.GetThrottlerStatusResponse)(nil), // 123: tabletmanagerdata.GetThrottlerStatusResponse
}
var file_tabletmanagerservice_proto_depIdxs = []int32{
0, // 0: tabletmanagerservice.TabletManager.Ping:input_type -> tabletmanagerdata.PingRequest
@@ -599,102 +640,110 @@ var file_tabletmanagerservice_proto_depIdxs = []int32{
19, // 19: tabletmanagerservice.TabletManager.ExecuteMultiFetchAsDba:input_type -> tabletmanagerdata.ExecuteMultiFetchAsDbaRequest
20, // 20: tabletmanagerservice.TabletManager.ExecuteFetchAsAllPrivs:input_type -> tabletmanagerdata.ExecuteFetchAsAllPrivsRequest
21, // 21: tabletmanagerservice.TabletManager.ExecuteFetchAsApp:input_type -> tabletmanagerdata.ExecuteFetchAsAppRequest
- 22, // 22: tabletmanagerservice.TabletManager.ReplicationStatus:input_type -> tabletmanagerdata.ReplicationStatusRequest
- 23, // 23: tabletmanagerservice.TabletManager.PrimaryStatus:input_type -> tabletmanagerdata.PrimaryStatusRequest
- 24, // 24: tabletmanagerservice.TabletManager.PrimaryPosition:input_type -> tabletmanagerdata.PrimaryPositionRequest
- 25, // 25: tabletmanagerservice.TabletManager.WaitForPosition:input_type -> tabletmanagerdata.WaitForPositionRequest
- 26, // 26: tabletmanagerservice.TabletManager.StopReplication:input_type -> tabletmanagerdata.StopReplicationRequest
- 27, // 27: tabletmanagerservice.TabletManager.StopReplicationMinimum:input_type -> tabletmanagerdata.StopReplicationMinimumRequest
- 28, // 28: tabletmanagerservice.TabletManager.StartReplication:input_type -> tabletmanagerdata.StartReplicationRequest
- 29, // 29: tabletmanagerservice.TabletManager.StartReplicationUntilAfter:input_type -> tabletmanagerdata.StartReplicationUntilAfterRequest
- 30, // 30: tabletmanagerservice.TabletManager.GetReplicas:input_type -> tabletmanagerdata.GetReplicasRequest
- 31, // 31: tabletmanagerservice.TabletManager.CreateVReplicationWorkflow:input_type -> tabletmanagerdata.CreateVReplicationWorkflowRequest
- 32, // 32: tabletmanagerservice.TabletManager.DeleteVReplicationWorkflow:input_type -> tabletmanagerdata.DeleteVReplicationWorkflowRequest
- 33, // 33: tabletmanagerservice.TabletManager.HasVReplicationWorkflows:input_type -> tabletmanagerdata.HasVReplicationWorkflowsRequest
- 34, // 34: tabletmanagerservice.TabletManager.ReadVReplicationWorkflow:input_type -> tabletmanagerdata.ReadVReplicationWorkflowRequest
- 35, // 35: tabletmanagerservice.TabletManager.ReadVReplicationWorkflows:input_type -> tabletmanagerdata.ReadVReplicationWorkflowsRequest
- 36, // 36: tabletmanagerservice.TabletManager.VReplicationExec:input_type -> tabletmanagerdata.VReplicationExecRequest
- 37, // 37: tabletmanagerservice.TabletManager.VReplicationWaitForPos:input_type -> tabletmanagerdata.VReplicationWaitForPosRequest
- 38, // 38: tabletmanagerservice.TabletManager.UpdateVReplicationWorkflow:input_type -> tabletmanagerdata.UpdateVReplicationWorkflowRequest
- 39, // 39: tabletmanagerservice.TabletManager.UpdateVReplicationWorkflows:input_type -> tabletmanagerdata.UpdateVReplicationWorkflowsRequest
- 40, // 40: tabletmanagerservice.TabletManager.VDiff:input_type -> tabletmanagerdata.VDiffRequest
- 41, // 41: tabletmanagerservice.TabletManager.ResetReplication:input_type -> tabletmanagerdata.ResetReplicationRequest
- 42, // 42: tabletmanagerservice.TabletManager.InitPrimary:input_type -> tabletmanagerdata.InitPrimaryRequest
- 43, // 43: tabletmanagerservice.TabletManager.PopulateReparentJournal:input_type -> tabletmanagerdata.PopulateReparentJournalRequest
- 44, // 44: tabletmanagerservice.TabletManager.InitReplica:input_type -> tabletmanagerdata.InitReplicaRequest
- 45, // 45: tabletmanagerservice.TabletManager.DemotePrimary:input_type -> tabletmanagerdata.DemotePrimaryRequest
- 46, // 46: tabletmanagerservice.TabletManager.UndoDemotePrimary:input_type -> tabletmanagerdata.UndoDemotePrimaryRequest
- 47, // 47: tabletmanagerservice.TabletManager.ReplicaWasPromoted:input_type -> tabletmanagerdata.ReplicaWasPromotedRequest
- 48, // 48: tabletmanagerservice.TabletManager.ResetReplicationParameters:input_type -> tabletmanagerdata.ResetReplicationParametersRequest
- 49, // 49: tabletmanagerservice.TabletManager.FullStatus:input_type -> tabletmanagerdata.FullStatusRequest
- 50, // 50: tabletmanagerservice.TabletManager.SetReplicationSource:input_type -> tabletmanagerdata.SetReplicationSourceRequest
- 51, // 51: tabletmanagerservice.TabletManager.ReplicaWasRestarted:input_type -> tabletmanagerdata.ReplicaWasRestartedRequest
- 52, // 52: tabletmanagerservice.TabletManager.StopReplicationAndGetStatus:input_type -> tabletmanagerdata.StopReplicationAndGetStatusRequest
- 53, // 53: tabletmanagerservice.TabletManager.PromoteReplica:input_type -> tabletmanagerdata.PromoteReplicaRequest
- 54, // 54: tabletmanagerservice.TabletManager.Backup:input_type -> tabletmanagerdata.BackupRequest
- 55, // 55: tabletmanagerservice.TabletManager.RestoreFromBackup:input_type -> tabletmanagerdata.RestoreFromBackupRequest
- 56, // 56: tabletmanagerservice.TabletManager.CheckThrottler:input_type -> tabletmanagerdata.CheckThrottlerRequest
- 57, // 57: tabletmanagerservice.TabletManager.GetThrottlerStatus:input_type -> tabletmanagerdata.GetThrottlerStatusRequest
- 58, // 58: tabletmanagerservice.TabletManager.Ping:output_type -> tabletmanagerdata.PingResponse
- 59, // 59: tabletmanagerservice.TabletManager.Sleep:output_type -> tabletmanagerdata.SleepResponse
- 60, // 60: tabletmanagerservice.TabletManager.ExecuteHook:output_type -> tabletmanagerdata.ExecuteHookResponse
- 61, // 61: tabletmanagerservice.TabletManager.GetSchema:output_type -> tabletmanagerdata.GetSchemaResponse
- 62, // 62: tabletmanagerservice.TabletManager.GetPermissions:output_type -> tabletmanagerdata.GetPermissionsResponse
- 63, // 63: tabletmanagerservice.TabletManager.GetGlobalStatusVars:output_type -> tabletmanagerdata.GetGlobalStatusVarsResponse
- 64, // 64: tabletmanagerservice.TabletManager.SetReadOnly:output_type -> tabletmanagerdata.SetReadOnlyResponse
- 65, // 65: tabletmanagerservice.TabletManager.SetReadWrite:output_type -> tabletmanagerdata.SetReadWriteResponse
- 66, // 66: tabletmanagerservice.TabletManager.ChangeType:output_type -> tabletmanagerdata.ChangeTypeResponse
- 67, // 67: tabletmanagerservice.TabletManager.RefreshState:output_type -> tabletmanagerdata.RefreshStateResponse
- 68, // 68: tabletmanagerservice.TabletManager.RunHealthCheck:output_type -> tabletmanagerdata.RunHealthCheckResponse
- 69, // 69: tabletmanagerservice.TabletManager.ReloadSchema:output_type -> tabletmanagerdata.ReloadSchemaResponse
- 70, // 70: tabletmanagerservice.TabletManager.PreflightSchema:output_type -> tabletmanagerdata.PreflightSchemaResponse
- 71, // 71: tabletmanagerservice.TabletManager.ApplySchema:output_type -> tabletmanagerdata.ApplySchemaResponse
- 72, // 72: tabletmanagerservice.TabletManager.ResetSequences:output_type -> tabletmanagerdata.ResetSequencesResponse
- 73, // 73: tabletmanagerservice.TabletManager.LockTables:output_type -> tabletmanagerdata.LockTablesResponse
- 74, // 74: tabletmanagerservice.TabletManager.UnlockTables:output_type -> tabletmanagerdata.UnlockTablesResponse
- 75, // 75: tabletmanagerservice.TabletManager.ExecuteQuery:output_type -> tabletmanagerdata.ExecuteQueryResponse
- 76, // 76: tabletmanagerservice.TabletManager.ExecuteFetchAsDba:output_type -> tabletmanagerdata.ExecuteFetchAsDbaResponse
- 77, // 77: tabletmanagerservice.TabletManager.ExecuteMultiFetchAsDba:output_type -> tabletmanagerdata.ExecuteMultiFetchAsDbaResponse
- 78, // 78: tabletmanagerservice.TabletManager.ExecuteFetchAsAllPrivs:output_type -> tabletmanagerdata.ExecuteFetchAsAllPrivsResponse
- 79, // 79: tabletmanagerservice.TabletManager.ExecuteFetchAsApp:output_type -> tabletmanagerdata.ExecuteFetchAsAppResponse
- 80, // 80: tabletmanagerservice.TabletManager.ReplicationStatus:output_type -> tabletmanagerdata.ReplicationStatusResponse
- 81, // 81: tabletmanagerservice.TabletManager.PrimaryStatus:output_type -> tabletmanagerdata.PrimaryStatusResponse
- 82, // 82: tabletmanagerservice.TabletManager.PrimaryPosition:output_type -> tabletmanagerdata.PrimaryPositionResponse
- 83, // 83: tabletmanagerservice.TabletManager.WaitForPosition:output_type -> tabletmanagerdata.WaitForPositionResponse
- 84, // 84: tabletmanagerservice.TabletManager.StopReplication:output_type -> tabletmanagerdata.StopReplicationResponse
- 85, // 85: tabletmanagerservice.TabletManager.StopReplicationMinimum:output_type -> tabletmanagerdata.StopReplicationMinimumResponse
- 86, // 86: tabletmanagerservice.TabletManager.StartReplication:output_type -> tabletmanagerdata.StartReplicationResponse
- 87, // 87: tabletmanagerservice.TabletManager.StartReplicationUntilAfter:output_type -> tabletmanagerdata.StartReplicationUntilAfterResponse
- 88, // 88: tabletmanagerservice.TabletManager.GetReplicas:output_type -> tabletmanagerdata.GetReplicasResponse
- 89, // 89: tabletmanagerservice.TabletManager.CreateVReplicationWorkflow:output_type -> tabletmanagerdata.CreateVReplicationWorkflowResponse
- 90, // 90: tabletmanagerservice.TabletManager.DeleteVReplicationWorkflow:output_type -> tabletmanagerdata.DeleteVReplicationWorkflowResponse
- 91, // 91: tabletmanagerservice.TabletManager.HasVReplicationWorkflows:output_type -> tabletmanagerdata.HasVReplicationWorkflowsResponse
- 92, // 92: tabletmanagerservice.TabletManager.ReadVReplicationWorkflow:output_type -> tabletmanagerdata.ReadVReplicationWorkflowResponse
- 93, // 93: tabletmanagerservice.TabletManager.ReadVReplicationWorkflows:output_type -> tabletmanagerdata.ReadVReplicationWorkflowsResponse
- 94, // 94: tabletmanagerservice.TabletManager.VReplicationExec:output_type -> tabletmanagerdata.VReplicationExecResponse
- 95, // 95: tabletmanagerservice.TabletManager.VReplicationWaitForPos:output_type -> tabletmanagerdata.VReplicationWaitForPosResponse
- 96, // 96: tabletmanagerservice.TabletManager.UpdateVReplicationWorkflow:output_type -> tabletmanagerdata.UpdateVReplicationWorkflowResponse
- 97, // 97: tabletmanagerservice.TabletManager.UpdateVReplicationWorkflows:output_type -> tabletmanagerdata.UpdateVReplicationWorkflowsResponse
- 98, // 98: tabletmanagerservice.TabletManager.VDiff:output_type -> tabletmanagerdata.VDiffResponse
- 99, // 99: tabletmanagerservice.TabletManager.ResetReplication:output_type -> tabletmanagerdata.ResetReplicationResponse
- 100, // 100: tabletmanagerservice.TabletManager.InitPrimary:output_type -> tabletmanagerdata.InitPrimaryResponse
- 101, // 101: tabletmanagerservice.TabletManager.PopulateReparentJournal:output_type -> tabletmanagerdata.PopulateReparentJournalResponse
- 102, // 102: tabletmanagerservice.TabletManager.InitReplica:output_type -> tabletmanagerdata.InitReplicaResponse
- 103, // 103: tabletmanagerservice.TabletManager.DemotePrimary:output_type -> tabletmanagerdata.DemotePrimaryResponse
- 104, // 104: tabletmanagerservice.TabletManager.UndoDemotePrimary:output_type -> tabletmanagerdata.UndoDemotePrimaryResponse
- 105, // 105: tabletmanagerservice.TabletManager.ReplicaWasPromoted:output_type -> tabletmanagerdata.ReplicaWasPromotedResponse
- 106, // 106: tabletmanagerservice.TabletManager.ResetReplicationParameters:output_type -> tabletmanagerdata.ResetReplicationParametersResponse
- 107, // 107: tabletmanagerservice.TabletManager.FullStatus:output_type -> tabletmanagerdata.FullStatusResponse
- 108, // 108: tabletmanagerservice.TabletManager.SetReplicationSource:output_type -> tabletmanagerdata.SetReplicationSourceResponse
- 109, // 109: tabletmanagerservice.TabletManager.ReplicaWasRestarted:output_type -> tabletmanagerdata.ReplicaWasRestartedResponse
- 110, // 110: tabletmanagerservice.TabletManager.StopReplicationAndGetStatus:output_type -> tabletmanagerdata.StopReplicationAndGetStatusResponse
- 111, // 111: tabletmanagerservice.TabletManager.PromoteReplica:output_type -> tabletmanagerdata.PromoteReplicaResponse
- 112, // 112: tabletmanagerservice.TabletManager.Backup:output_type -> tabletmanagerdata.BackupResponse
- 113, // 113: tabletmanagerservice.TabletManager.RestoreFromBackup:output_type -> tabletmanagerdata.RestoreFromBackupResponse
- 114, // 114: tabletmanagerservice.TabletManager.CheckThrottler:output_type -> tabletmanagerdata.CheckThrottlerResponse
- 115, // 115: tabletmanagerservice.TabletManager.GetThrottlerStatus:output_type -> tabletmanagerdata.GetThrottlerStatusResponse
- 58, // [58:116] is the sub-list for method output_type
- 0, // [0:58] is the sub-list for method input_type
+ 22, // 22: tabletmanagerservice.TabletManager.GetUnresolvedTransactions:input_type -> tabletmanagerdata.GetUnresolvedTransactionsRequest
+ 23, // 23: tabletmanagerservice.TabletManager.ReadTransaction:input_type -> tabletmanagerdata.ReadTransactionRequest
+ 24, // 24: tabletmanagerservice.TabletManager.ConcludeTransaction:input_type -> tabletmanagerdata.ConcludeTransactionRequest
+ 25, // 25: tabletmanagerservice.TabletManager.ReplicationStatus:input_type -> tabletmanagerdata.ReplicationStatusRequest
+ 26, // 26: tabletmanagerservice.TabletManager.PrimaryStatus:input_type -> tabletmanagerdata.PrimaryStatusRequest
+ 27, // 27: tabletmanagerservice.TabletManager.PrimaryPosition:input_type -> tabletmanagerdata.PrimaryPositionRequest
+ 28, // 28: tabletmanagerservice.TabletManager.WaitForPosition:input_type -> tabletmanagerdata.WaitForPositionRequest
+ 29, // 29: tabletmanagerservice.TabletManager.StopReplication:input_type -> tabletmanagerdata.StopReplicationRequest
+ 30, // 30: tabletmanagerservice.TabletManager.StopReplicationMinimum:input_type -> tabletmanagerdata.StopReplicationMinimumRequest
+ 31, // 31: tabletmanagerservice.TabletManager.StartReplication:input_type -> tabletmanagerdata.StartReplicationRequest
+ 32, // 32: tabletmanagerservice.TabletManager.StartReplicationUntilAfter:input_type -> tabletmanagerdata.StartReplicationUntilAfterRequest
+ 33, // 33: tabletmanagerservice.TabletManager.GetReplicas:input_type -> tabletmanagerdata.GetReplicasRequest
+ 34, // 34: tabletmanagerservice.TabletManager.CreateVReplicationWorkflow:input_type -> tabletmanagerdata.CreateVReplicationWorkflowRequest
+ 35, // 35: tabletmanagerservice.TabletManager.DeleteVReplicationWorkflow:input_type -> tabletmanagerdata.DeleteVReplicationWorkflowRequest
+ 36, // 36: tabletmanagerservice.TabletManager.HasVReplicationWorkflows:input_type -> tabletmanagerdata.HasVReplicationWorkflowsRequest
+ 37, // 37: tabletmanagerservice.TabletManager.ReadVReplicationWorkflow:input_type -> tabletmanagerdata.ReadVReplicationWorkflowRequest
+ 38, // 38: tabletmanagerservice.TabletManager.ReadVReplicationWorkflows:input_type -> tabletmanagerdata.ReadVReplicationWorkflowsRequest
+ 39, // 39: tabletmanagerservice.TabletManager.UpdateVReplicationWorkflow:input_type -> tabletmanagerdata.UpdateVReplicationWorkflowRequest
+ 40, // 40: tabletmanagerservice.TabletManager.UpdateVReplicationWorkflows:input_type -> tabletmanagerdata.UpdateVReplicationWorkflowsRequest
+ 41, // 41: tabletmanagerservice.TabletManager.ValidateVReplicationPermissions:input_type -> tabletmanagerdata.ValidateVReplicationPermissionsRequest
+ 42, // 42: tabletmanagerservice.TabletManager.VReplicationExec:input_type -> tabletmanagerdata.VReplicationExecRequest
+ 43, // 43: tabletmanagerservice.TabletManager.VReplicationWaitForPos:input_type -> tabletmanagerdata.VReplicationWaitForPosRequest
+ 44, // 44: tabletmanagerservice.TabletManager.VDiff:input_type -> tabletmanagerdata.VDiffRequest
+ 45, // 45: tabletmanagerservice.TabletManager.ResetReplication:input_type -> tabletmanagerdata.ResetReplicationRequest
+ 46, // 46: tabletmanagerservice.TabletManager.InitPrimary:input_type -> tabletmanagerdata.InitPrimaryRequest
+ 47, // 47: tabletmanagerservice.TabletManager.PopulateReparentJournal:input_type -> tabletmanagerdata.PopulateReparentJournalRequest
+ 48, // 48: tabletmanagerservice.TabletManager.InitReplica:input_type -> tabletmanagerdata.InitReplicaRequest
+ 49, // 49: tabletmanagerservice.TabletManager.DemotePrimary:input_type -> tabletmanagerdata.DemotePrimaryRequest
+ 50, // 50: tabletmanagerservice.TabletManager.UndoDemotePrimary:input_type -> tabletmanagerdata.UndoDemotePrimaryRequest
+ 51, // 51: tabletmanagerservice.TabletManager.ReplicaWasPromoted:input_type -> tabletmanagerdata.ReplicaWasPromotedRequest
+ 52, // 52: tabletmanagerservice.TabletManager.ResetReplicationParameters:input_type -> tabletmanagerdata.ResetReplicationParametersRequest
+ 53, // 53: tabletmanagerservice.TabletManager.FullStatus:input_type -> tabletmanagerdata.FullStatusRequest
+ 54, // 54: tabletmanagerservice.TabletManager.SetReplicationSource:input_type -> tabletmanagerdata.SetReplicationSourceRequest
+ 55, // 55: tabletmanagerservice.TabletManager.ReplicaWasRestarted:input_type -> tabletmanagerdata.ReplicaWasRestartedRequest
+ 56, // 56: tabletmanagerservice.TabletManager.StopReplicationAndGetStatus:input_type -> tabletmanagerdata.StopReplicationAndGetStatusRequest
+ 57, // 57: tabletmanagerservice.TabletManager.PromoteReplica:input_type -> tabletmanagerdata.PromoteReplicaRequest
+ 58, // 58: tabletmanagerservice.TabletManager.Backup:input_type -> tabletmanagerdata.BackupRequest
+ 59, // 59: tabletmanagerservice.TabletManager.RestoreFromBackup:input_type -> tabletmanagerdata.RestoreFromBackupRequest
+ 60, // 60: tabletmanagerservice.TabletManager.CheckThrottler:input_type -> tabletmanagerdata.CheckThrottlerRequest
+ 61, // 61: tabletmanagerservice.TabletManager.GetThrottlerStatus:input_type -> tabletmanagerdata.GetThrottlerStatusRequest
+ 62, // 62: tabletmanagerservice.TabletManager.Ping:output_type -> tabletmanagerdata.PingResponse
+ 63, // 63: tabletmanagerservice.TabletManager.Sleep:output_type -> tabletmanagerdata.SleepResponse
+ 64, // 64: tabletmanagerservice.TabletManager.ExecuteHook:output_type -> tabletmanagerdata.ExecuteHookResponse
+ 65, // 65: tabletmanagerservice.TabletManager.GetSchema:output_type -> tabletmanagerdata.GetSchemaResponse
+ 66, // 66: tabletmanagerservice.TabletManager.GetPermissions:output_type -> tabletmanagerdata.GetPermissionsResponse
+ 67, // 67: tabletmanagerservice.TabletManager.GetGlobalStatusVars:output_type -> tabletmanagerdata.GetGlobalStatusVarsResponse
+ 68, // 68: tabletmanagerservice.TabletManager.SetReadOnly:output_type -> tabletmanagerdata.SetReadOnlyResponse
+ 69, // 69: tabletmanagerservice.TabletManager.SetReadWrite:output_type -> tabletmanagerdata.SetReadWriteResponse
+ 70, // 70: tabletmanagerservice.TabletManager.ChangeType:output_type -> tabletmanagerdata.ChangeTypeResponse
+ 71, // 71: tabletmanagerservice.TabletManager.RefreshState:output_type -> tabletmanagerdata.RefreshStateResponse
+ 72, // 72: tabletmanagerservice.TabletManager.RunHealthCheck:output_type -> tabletmanagerdata.RunHealthCheckResponse
+ 73, // 73: tabletmanagerservice.TabletManager.ReloadSchema:output_type -> tabletmanagerdata.ReloadSchemaResponse
+ 74, // 74: tabletmanagerservice.TabletManager.PreflightSchema:output_type -> tabletmanagerdata.PreflightSchemaResponse
+ 75, // 75: tabletmanagerservice.TabletManager.ApplySchema:output_type -> tabletmanagerdata.ApplySchemaResponse
+ 76, // 76: tabletmanagerservice.TabletManager.ResetSequences:output_type -> tabletmanagerdata.ResetSequencesResponse
+ 77, // 77: tabletmanagerservice.TabletManager.LockTables:output_type -> tabletmanagerdata.LockTablesResponse
+ 78, // 78: tabletmanagerservice.TabletManager.UnlockTables:output_type -> tabletmanagerdata.UnlockTablesResponse
+ 79, // 79: tabletmanagerservice.TabletManager.ExecuteQuery:output_type -> tabletmanagerdata.ExecuteQueryResponse
+ 80, // 80: tabletmanagerservice.TabletManager.ExecuteFetchAsDba:output_type -> tabletmanagerdata.ExecuteFetchAsDbaResponse
+ 81, // 81: tabletmanagerservice.TabletManager.ExecuteMultiFetchAsDba:output_type -> tabletmanagerdata.ExecuteMultiFetchAsDbaResponse
+ 82, // 82: tabletmanagerservice.TabletManager.ExecuteFetchAsAllPrivs:output_type -> tabletmanagerdata.ExecuteFetchAsAllPrivsResponse
+ 83, // 83: tabletmanagerservice.TabletManager.ExecuteFetchAsApp:output_type -> tabletmanagerdata.ExecuteFetchAsAppResponse
+ 84, // 84: tabletmanagerservice.TabletManager.GetUnresolvedTransactions:output_type -> tabletmanagerdata.GetUnresolvedTransactionsResponse
+ 85, // 85: tabletmanagerservice.TabletManager.ReadTransaction:output_type -> tabletmanagerdata.ReadTransactionResponse
+ 86, // 86: tabletmanagerservice.TabletManager.ConcludeTransaction:output_type -> tabletmanagerdata.ConcludeTransactionResponse
+ 87, // 87: tabletmanagerservice.TabletManager.ReplicationStatus:output_type -> tabletmanagerdata.ReplicationStatusResponse
+ 88, // 88: tabletmanagerservice.TabletManager.PrimaryStatus:output_type -> tabletmanagerdata.PrimaryStatusResponse
+ 89, // 89: tabletmanagerservice.TabletManager.PrimaryPosition:output_type -> tabletmanagerdata.PrimaryPositionResponse
+ 90, // 90: tabletmanagerservice.TabletManager.WaitForPosition:output_type -> tabletmanagerdata.WaitForPositionResponse
+ 91, // 91: tabletmanagerservice.TabletManager.StopReplication:output_type -> tabletmanagerdata.StopReplicationResponse
+ 92, // 92: tabletmanagerservice.TabletManager.StopReplicationMinimum:output_type -> tabletmanagerdata.StopReplicationMinimumResponse
+ 93, // 93: tabletmanagerservice.TabletManager.StartReplication:output_type -> tabletmanagerdata.StartReplicationResponse
+ 94, // 94: tabletmanagerservice.TabletManager.StartReplicationUntilAfter:output_type -> tabletmanagerdata.StartReplicationUntilAfterResponse
+ 95, // 95: tabletmanagerservice.TabletManager.GetReplicas:output_type -> tabletmanagerdata.GetReplicasResponse
+ 96, // 96: tabletmanagerservice.TabletManager.CreateVReplicationWorkflow:output_type -> tabletmanagerdata.CreateVReplicationWorkflowResponse
+ 97, // 97: tabletmanagerservice.TabletManager.DeleteVReplicationWorkflow:output_type -> tabletmanagerdata.DeleteVReplicationWorkflowResponse
+ 98, // 98: tabletmanagerservice.TabletManager.HasVReplicationWorkflows:output_type -> tabletmanagerdata.HasVReplicationWorkflowsResponse
+ 99, // 99: tabletmanagerservice.TabletManager.ReadVReplicationWorkflow:output_type -> tabletmanagerdata.ReadVReplicationWorkflowResponse
+ 100, // 100: tabletmanagerservice.TabletManager.ReadVReplicationWorkflows:output_type -> tabletmanagerdata.ReadVReplicationWorkflowsResponse
+ 101, // 101: tabletmanagerservice.TabletManager.UpdateVReplicationWorkflow:output_type -> tabletmanagerdata.UpdateVReplicationWorkflowResponse
+ 102, // 102: tabletmanagerservice.TabletManager.UpdateVReplicationWorkflows:output_type -> tabletmanagerdata.UpdateVReplicationWorkflowsResponse
+ 103, // 103: tabletmanagerservice.TabletManager.ValidateVReplicationPermissions:output_type -> tabletmanagerdata.ValidateVReplicationPermissionsResponse
+ 104, // 104: tabletmanagerservice.TabletManager.VReplicationExec:output_type -> tabletmanagerdata.VReplicationExecResponse
+ 105, // 105: tabletmanagerservice.TabletManager.VReplicationWaitForPos:output_type -> tabletmanagerdata.VReplicationWaitForPosResponse
+ 106, // 106: tabletmanagerservice.TabletManager.VDiff:output_type -> tabletmanagerdata.VDiffResponse
+ 107, // 107: tabletmanagerservice.TabletManager.ResetReplication:output_type -> tabletmanagerdata.ResetReplicationResponse
+ 108, // 108: tabletmanagerservice.TabletManager.InitPrimary:output_type -> tabletmanagerdata.InitPrimaryResponse
+ 109, // 109: tabletmanagerservice.TabletManager.PopulateReparentJournal:output_type -> tabletmanagerdata.PopulateReparentJournalResponse
+ 110, // 110: tabletmanagerservice.TabletManager.InitReplica:output_type -> tabletmanagerdata.InitReplicaResponse
+ 111, // 111: tabletmanagerservice.TabletManager.DemotePrimary:output_type -> tabletmanagerdata.DemotePrimaryResponse
+ 112, // 112: tabletmanagerservice.TabletManager.UndoDemotePrimary:output_type -> tabletmanagerdata.UndoDemotePrimaryResponse
+ 113, // 113: tabletmanagerservice.TabletManager.ReplicaWasPromoted:output_type -> tabletmanagerdata.ReplicaWasPromotedResponse
+ 114, // 114: tabletmanagerservice.TabletManager.ResetReplicationParameters:output_type -> tabletmanagerdata.ResetReplicationParametersResponse
+ 115, // 115: tabletmanagerservice.TabletManager.FullStatus:output_type -> tabletmanagerdata.FullStatusResponse
+ 116, // 116: tabletmanagerservice.TabletManager.SetReplicationSource:output_type -> tabletmanagerdata.SetReplicationSourceResponse
+ 117, // 117: tabletmanagerservice.TabletManager.ReplicaWasRestarted:output_type -> tabletmanagerdata.ReplicaWasRestartedResponse
+ 118, // 118: tabletmanagerservice.TabletManager.StopReplicationAndGetStatus:output_type -> tabletmanagerdata.StopReplicationAndGetStatusResponse
+ 119, // 119: tabletmanagerservice.TabletManager.PromoteReplica:output_type -> tabletmanagerdata.PromoteReplicaResponse
+ 120, // 120: tabletmanagerservice.TabletManager.Backup:output_type -> tabletmanagerdata.BackupResponse
+ 121, // 121: tabletmanagerservice.TabletManager.RestoreFromBackup:output_type -> tabletmanagerdata.RestoreFromBackupResponse
+ 122, // 122: tabletmanagerservice.TabletManager.CheckThrottler:output_type -> tabletmanagerdata.CheckThrottlerResponse
+ 123, // 123: tabletmanagerservice.TabletManager.GetThrottlerStatus:output_type -> tabletmanagerdata.GetThrottlerStatusResponse
+ 62, // [62:124] is the sub-list for method output_type
+ 0, // [0:62] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
diff --git a/go/vt/proto/tabletmanagerservice/tabletmanagerservice_grpc.pb.go b/go/vt/proto/tabletmanagerservice/tabletmanagerservice_grpc.pb.go
index a9924d06adf..f61bb7a5332 100644
--- a/go/vt/proto/tabletmanagerservice/tabletmanagerservice_grpc.pb.go
+++ b/go/vt/proto/tabletmanagerservice/tabletmanagerservice_grpc.pb.go
@@ -53,6 +53,9 @@ type TabletManagerClient interface {
ExecuteMultiFetchAsDba(ctx context.Context, in *tabletmanagerdata.ExecuteMultiFetchAsDbaRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ExecuteMultiFetchAsDbaResponse, error)
ExecuteFetchAsAllPrivs(ctx context.Context, in *tabletmanagerdata.ExecuteFetchAsAllPrivsRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ExecuteFetchAsAllPrivsResponse, error)
ExecuteFetchAsApp(ctx context.Context, in *tabletmanagerdata.ExecuteFetchAsAppRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ExecuteFetchAsAppResponse, error)
+ GetUnresolvedTransactions(ctx context.Context, in *tabletmanagerdata.GetUnresolvedTransactionsRequest, opts ...grpc.CallOption) (*tabletmanagerdata.GetUnresolvedTransactionsResponse, error)
+ ReadTransaction(ctx context.Context, in *tabletmanagerdata.ReadTransactionRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ReadTransactionResponse, error)
+ ConcludeTransaction(ctx context.Context, in *tabletmanagerdata.ConcludeTransactionRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ConcludeTransactionResponse, error)
// ReplicationStatus returns the current replication status.
ReplicationStatus(ctx context.Context, in *tabletmanagerdata.ReplicationStatusRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ReplicationStatusResponse, error)
// PrimaryStatus returns the current primary status.
@@ -79,10 +82,11 @@ type TabletManagerClient interface {
HasVReplicationWorkflows(ctx context.Context, in *tabletmanagerdata.HasVReplicationWorkflowsRequest, opts ...grpc.CallOption) (*tabletmanagerdata.HasVReplicationWorkflowsResponse, error)
ReadVReplicationWorkflow(ctx context.Context, in *tabletmanagerdata.ReadVReplicationWorkflowRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ReadVReplicationWorkflowResponse, error)
ReadVReplicationWorkflows(ctx context.Context, in *tabletmanagerdata.ReadVReplicationWorkflowsRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ReadVReplicationWorkflowsResponse, error)
- VReplicationExec(ctx context.Context, in *tabletmanagerdata.VReplicationExecRequest, opts ...grpc.CallOption) (*tabletmanagerdata.VReplicationExecResponse, error)
- VReplicationWaitForPos(ctx context.Context, in *tabletmanagerdata.VReplicationWaitForPosRequest, opts ...grpc.CallOption) (*tabletmanagerdata.VReplicationWaitForPosResponse, error)
UpdateVReplicationWorkflow(ctx context.Context, in *tabletmanagerdata.UpdateVReplicationWorkflowRequest, opts ...grpc.CallOption) (*tabletmanagerdata.UpdateVReplicationWorkflowResponse, error)
UpdateVReplicationWorkflows(ctx context.Context, in *tabletmanagerdata.UpdateVReplicationWorkflowsRequest, opts ...grpc.CallOption) (*tabletmanagerdata.UpdateVReplicationWorkflowsResponse, error)
+ ValidateVReplicationPermissions(ctx context.Context, in *tabletmanagerdata.ValidateVReplicationPermissionsRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ValidateVReplicationPermissionsResponse, error)
+ VReplicationExec(ctx context.Context, in *tabletmanagerdata.VReplicationExecRequest, opts ...grpc.CallOption) (*tabletmanagerdata.VReplicationExecResponse, error)
+ VReplicationWaitForPos(ctx context.Context, in *tabletmanagerdata.VReplicationWaitForPosRequest, opts ...grpc.CallOption) (*tabletmanagerdata.VReplicationWaitForPosResponse, error)
// VDiff API
VDiff(ctx context.Context, in *tabletmanagerdata.VDiffRequest, opts ...grpc.CallOption) (*tabletmanagerdata.VDiffResponse, error)
// ResetReplication makes the target not replicating
@@ -328,6 +332,33 @@ func (c *tabletManagerClient) ExecuteFetchAsApp(ctx context.Context, in *tabletm
return out, nil
}
+func (c *tabletManagerClient) GetUnresolvedTransactions(ctx context.Context, in *tabletmanagerdata.GetUnresolvedTransactionsRequest, opts ...grpc.CallOption) (*tabletmanagerdata.GetUnresolvedTransactionsResponse, error) {
+ out := new(tabletmanagerdata.GetUnresolvedTransactionsResponse)
+ err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/GetUnresolvedTransactions", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *tabletManagerClient) ReadTransaction(ctx context.Context, in *tabletmanagerdata.ReadTransactionRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ReadTransactionResponse, error) {
+ out := new(tabletmanagerdata.ReadTransactionResponse)
+ err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/ReadTransaction", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *tabletManagerClient) ConcludeTransaction(ctx context.Context, in *tabletmanagerdata.ConcludeTransactionRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ConcludeTransactionResponse, error) {
+ out := new(tabletmanagerdata.ConcludeTransactionResponse)
+ err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/ConcludeTransaction", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *tabletManagerClient) ReplicationStatus(ctx context.Context, in *tabletmanagerdata.ReplicationStatusRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ReplicationStatusResponse, error) {
out := new(tabletmanagerdata.ReplicationStatusResponse)
err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/ReplicationStatus", in, out, opts...)
@@ -454,36 +485,45 @@ func (c *tabletManagerClient) ReadVReplicationWorkflows(ctx context.Context, in
return out, nil
}
-func (c *tabletManagerClient) VReplicationExec(ctx context.Context, in *tabletmanagerdata.VReplicationExecRequest, opts ...grpc.CallOption) (*tabletmanagerdata.VReplicationExecResponse, error) {
- out := new(tabletmanagerdata.VReplicationExecResponse)
- err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/VReplicationExec", in, out, opts...)
+func (c *tabletManagerClient) UpdateVReplicationWorkflow(ctx context.Context, in *tabletmanagerdata.UpdateVReplicationWorkflowRequest, opts ...grpc.CallOption) (*tabletmanagerdata.UpdateVReplicationWorkflowResponse, error) {
+ out := new(tabletmanagerdata.UpdateVReplicationWorkflowResponse)
+ err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/UpdateVReplicationWorkflow", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *tabletManagerClient) VReplicationWaitForPos(ctx context.Context, in *tabletmanagerdata.VReplicationWaitForPosRequest, opts ...grpc.CallOption) (*tabletmanagerdata.VReplicationWaitForPosResponse, error) {
- out := new(tabletmanagerdata.VReplicationWaitForPosResponse)
- err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/VReplicationWaitForPos", in, out, opts...)
+func (c *tabletManagerClient) UpdateVReplicationWorkflows(ctx context.Context, in *tabletmanagerdata.UpdateVReplicationWorkflowsRequest, opts ...grpc.CallOption) (*tabletmanagerdata.UpdateVReplicationWorkflowsResponse, error) {
+ out := new(tabletmanagerdata.UpdateVReplicationWorkflowsResponse)
+ err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/UpdateVReplicationWorkflows", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *tabletManagerClient) UpdateVReplicationWorkflow(ctx context.Context, in *tabletmanagerdata.UpdateVReplicationWorkflowRequest, opts ...grpc.CallOption) (*tabletmanagerdata.UpdateVReplicationWorkflowResponse, error) {
- out := new(tabletmanagerdata.UpdateVReplicationWorkflowResponse)
- err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/UpdateVReplicationWorkflow", in, out, opts...)
+func (c *tabletManagerClient) ValidateVReplicationPermissions(ctx context.Context, in *tabletmanagerdata.ValidateVReplicationPermissionsRequest, opts ...grpc.CallOption) (*tabletmanagerdata.ValidateVReplicationPermissionsResponse, error) {
+ out := new(tabletmanagerdata.ValidateVReplicationPermissionsResponse)
+ err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/ValidateVReplicationPermissions", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
-func (c *tabletManagerClient) UpdateVReplicationWorkflows(ctx context.Context, in *tabletmanagerdata.UpdateVReplicationWorkflowsRequest, opts ...grpc.CallOption) (*tabletmanagerdata.UpdateVReplicationWorkflowsResponse, error) {
- out := new(tabletmanagerdata.UpdateVReplicationWorkflowsResponse)
- err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/UpdateVReplicationWorkflows", in, out, opts...)
+func (c *tabletManagerClient) VReplicationExec(ctx context.Context, in *tabletmanagerdata.VReplicationExecRequest, opts ...grpc.CallOption) (*tabletmanagerdata.VReplicationExecResponse, error) {
+ out := new(tabletmanagerdata.VReplicationExecResponse)
+ err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/VReplicationExec", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *tabletManagerClient) VReplicationWaitForPos(ctx context.Context, in *tabletmanagerdata.VReplicationWaitForPosRequest, opts ...grpc.CallOption) (*tabletmanagerdata.VReplicationWaitForPosResponse, error) {
+ out := new(tabletmanagerdata.VReplicationWaitForPosResponse)
+ err := c.cc.Invoke(ctx, "/tabletmanagerservice.TabletManager/VReplicationWaitForPos", in, out, opts...)
if err != nil {
return nil, err
}
@@ -732,6 +772,9 @@ type TabletManagerServer interface {
ExecuteMultiFetchAsDba(context.Context, *tabletmanagerdata.ExecuteMultiFetchAsDbaRequest) (*tabletmanagerdata.ExecuteMultiFetchAsDbaResponse, error)
ExecuteFetchAsAllPrivs(context.Context, *tabletmanagerdata.ExecuteFetchAsAllPrivsRequest) (*tabletmanagerdata.ExecuteFetchAsAllPrivsResponse, error)
ExecuteFetchAsApp(context.Context, *tabletmanagerdata.ExecuteFetchAsAppRequest) (*tabletmanagerdata.ExecuteFetchAsAppResponse, error)
+ GetUnresolvedTransactions(context.Context, *tabletmanagerdata.GetUnresolvedTransactionsRequest) (*tabletmanagerdata.GetUnresolvedTransactionsResponse, error)
+ ReadTransaction(context.Context, *tabletmanagerdata.ReadTransactionRequest) (*tabletmanagerdata.ReadTransactionResponse, error)
+ ConcludeTransaction(context.Context, *tabletmanagerdata.ConcludeTransactionRequest) (*tabletmanagerdata.ConcludeTransactionResponse, error)
// ReplicationStatus returns the current replication status.
ReplicationStatus(context.Context, *tabletmanagerdata.ReplicationStatusRequest) (*tabletmanagerdata.ReplicationStatusResponse, error)
// PrimaryStatus returns the current primary status.
@@ -758,10 +801,11 @@ type TabletManagerServer interface {
HasVReplicationWorkflows(context.Context, *tabletmanagerdata.HasVReplicationWorkflowsRequest) (*tabletmanagerdata.HasVReplicationWorkflowsResponse, error)
ReadVReplicationWorkflow(context.Context, *tabletmanagerdata.ReadVReplicationWorkflowRequest) (*tabletmanagerdata.ReadVReplicationWorkflowResponse, error)
ReadVReplicationWorkflows(context.Context, *tabletmanagerdata.ReadVReplicationWorkflowsRequest) (*tabletmanagerdata.ReadVReplicationWorkflowsResponse, error)
- VReplicationExec(context.Context, *tabletmanagerdata.VReplicationExecRequest) (*tabletmanagerdata.VReplicationExecResponse, error)
- VReplicationWaitForPos(context.Context, *tabletmanagerdata.VReplicationWaitForPosRequest) (*tabletmanagerdata.VReplicationWaitForPosResponse, error)
UpdateVReplicationWorkflow(context.Context, *tabletmanagerdata.UpdateVReplicationWorkflowRequest) (*tabletmanagerdata.UpdateVReplicationWorkflowResponse, error)
UpdateVReplicationWorkflows(context.Context, *tabletmanagerdata.UpdateVReplicationWorkflowsRequest) (*tabletmanagerdata.UpdateVReplicationWorkflowsResponse, error)
+ ValidateVReplicationPermissions(context.Context, *tabletmanagerdata.ValidateVReplicationPermissionsRequest) (*tabletmanagerdata.ValidateVReplicationPermissionsResponse, error)
+ VReplicationExec(context.Context, *tabletmanagerdata.VReplicationExecRequest) (*tabletmanagerdata.VReplicationExecResponse, error)
+ VReplicationWaitForPos(context.Context, *tabletmanagerdata.VReplicationWaitForPosRequest) (*tabletmanagerdata.VReplicationWaitForPosResponse, error)
// VDiff API
VDiff(context.Context, *tabletmanagerdata.VDiffRequest) (*tabletmanagerdata.VDiffResponse, error)
// ResetReplication makes the target not replicating
@@ -872,6 +916,15 @@ func (UnimplementedTabletManagerServer) ExecuteFetchAsAllPrivs(context.Context,
func (UnimplementedTabletManagerServer) ExecuteFetchAsApp(context.Context, *tabletmanagerdata.ExecuteFetchAsAppRequest) (*tabletmanagerdata.ExecuteFetchAsAppResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ExecuteFetchAsApp not implemented")
}
+func (UnimplementedTabletManagerServer) GetUnresolvedTransactions(context.Context, *tabletmanagerdata.GetUnresolvedTransactionsRequest) (*tabletmanagerdata.GetUnresolvedTransactionsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetUnresolvedTransactions not implemented")
+}
+func (UnimplementedTabletManagerServer) ReadTransaction(context.Context, *tabletmanagerdata.ReadTransactionRequest) (*tabletmanagerdata.ReadTransactionResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ReadTransaction not implemented")
+}
+func (UnimplementedTabletManagerServer) ConcludeTransaction(context.Context, *tabletmanagerdata.ConcludeTransactionRequest) (*tabletmanagerdata.ConcludeTransactionResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ConcludeTransaction not implemented")
+}
func (UnimplementedTabletManagerServer) ReplicationStatus(context.Context, *tabletmanagerdata.ReplicationStatusRequest) (*tabletmanagerdata.ReplicationStatusResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ReplicationStatus not implemented")
}
@@ -914,18 +967,21 @@ func (UnimplementedTabletManagerServer) ReadVReplicationWorkflow(context.Context
func (UnimplementedTabletManagerServer) ReadVReplicationWorkflows(context.Context, *tabletmanagerdata.ReadVReplicationWorkflowsRequest) (*tabletmanagerdata.ReadVReplicationWorkflowsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ReadVReplicationWorkflows not implemented")
}
-func (UnimplementedTabletManagerServer) VReplicationExec(context.Context, *tabletmanagerdata.VReplicationExecRequest) (*tabletmanagerdata.VReplicationExecResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method VReplicationExec not implemented")
-}
-func (UnimplementedTabletManagerServer) VReplicationWaitForPos(context.Context, *tabletmanagerdata.VReplicationWaitForPosRequest) (*tabletmanagerdata.VReplicationWaitForPosResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method VReplicationWaitForPos not implemented")
-}
func (UnimplementedTabletManagerServer) UpdateVReplicationWorkflow(context.Context, *tabletmanagerdata.UpdateVReplicationWorkflowRequest) (*tabletmanagerdata.UpdateVReplicationWorkflowResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateVReplicationWorkflow not implemented")
}
func (UnimplementedTabletManagerServer) UpdateVReplicationWorkflows(context.Context, *tabletmanagerdata.UpdateVReplicationWorkflowsRequest) (*tabletmanagerdata.UpdateVReplicationWorkflowsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateVReplicationWorkflows not implemented")
}
+func (UnimplementedTabletManagerServer) ValidateVReplicationPermissions(context.Context, *tabletmanagerdata.ValidateVReplicationPermissionsRequest) (*tabletmanagerdata.ValidateVReplicationPermissionsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ValidateVReplicationPermissions not implemented")
+}
+func (UnimplementedTabletManagerServer) VReplicationExec(context.Context, *tabletmanagerdata.VReplicationExecRequest) (*tabletmanagerdata.VReplicationExecResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method VReplicationExec not implemented")
+}
+func (UnimplementedTabletManagerServer) VReplicationWaitForPos(context.Context, *tabletmanagerdata.VReplicationWaitForPosRequest) (*tabletmanagerdata.VReplicationWaitForPosResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method VReplicationWaitForPos not implemented")
+}
func (UnimplementedTabletManagerServer) VDiff(context.Context, *tabletmanagerdata.VDiffRequest) (*tabletmanagerdata.VDiffResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method VDiff not implemented")
}
@@ -1389,6 +1445,60 @@ func _TabletManager_ExecuteFetchAsApp_Handler(srv interface{}, ctx context.Conte
return interceptor(ctx, in, info, handler)
}
+func _TabletManager_GetUnresolvedTransactions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(tabletmanagerdata.GetUnresolvedTransactionsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(TabletManagerServer).GetUnresolvedTransactions(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/tabletmanagerservice.TabletManager/GetUnresolvedTransactions",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(TabletManagerServer).GetUnresolvedTransactions(ctx, req.(*tabletmanagerdata.GetUnresolvedTransactionsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _TabletManager_ReadTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(tabletmanagerdata.ReadTransactionRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(TabletManagerServer).ReadTransaction(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/tabletmanagerservice.TabletManager/ReadTransaction",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(TabletManagerServer).ReadTransaction(ctx, req.(*tabletmanagerdata.ReadTransactionRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _TabletManager_ConcludeTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(tabletmanagerdata.ConcludeTransactionRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(TabletManagerServer).ConcludeTransaction(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/tabletmanagerservice.TabletManager/ConcludeTransaction",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(TabletManagerServer).ConcludeTransaction(ctx, req.(*tabletmanagerdata.ConcludeTransactionRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _TabletManager_ReplicationStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(tabletmanagerdata.ReplicationStatusRequest)
if err := dec(in); err != nil {
@@ -1641,74 +1751,92 @@ func _TabletManager_ReadVReplicationWorkflows_Handler(srv interface{}, ctx conte
return interceptor(ctx, in, info, handler)
}
-func _TabletManager_VReplicationExec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(tabletmanagerdata.VReplicationExecRequest)
+func _TabletManager_UpdateVReplicationWorkflow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(tabletmanagerdata.UpdateVReplicationWorkflowRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(TabletManagerServer).VReplicationExec(ctx, in)
+ return srv.(TabletManagerServer).UpdateVReplicationWorkflow(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/tabletmanagerservice.TabletManager/VReplicationExec",
+ FullMethod: "/tabletmanagerservice.TabletManager/UpdateVReplicationWorkflow",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(TabletManagerServer).VReplicationExec(ctx, req.(*tabletmanagerdata.VReplicationExecRequest))
+ return srv.(TabletManagerServer).UpdateVReplicationWorkflow(ctx, req.(*tabletmanagerdata.UpdateVReplicationWorkflowRequest))
}
return interceptor(ctx, in, info, handler)
}
-func _TabletManager_VReplicationWaitForPos_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(tabletmanagerdata.VReplicationWaitForPosRequest)
+func _TabletManager_UpdateVReplicationWorkflows_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(tabletmanagerdata.UpdateVReplicationWorkflowsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(TabletManagerServer).VReplicationWaitForPos(ctx, in)
+ return srv.(TabletManagerServer).UpdateVReplicationWorkflows(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/tabletmanagerservice.TabletManager/VReplicationWaitForPos",
+ FullMethod: "/tabletmanagerservice.TabletManager/UpdateVReplicationWorkflows",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(TabletManagerServer).VReplicationWaitForPos(ctx, req.(*tabletmanagerdata.VReplicationWaitForPosRequest))
+ return srv.(TabletManagerServer).UpdateVReplicationWorkflows(ctx, req.(*tabletmanagerdata.UpdateVReplicationWorkflowsRequest))
}
return interceptor(ctx, in, info, handler)
}
-func _TabletManager_UpdateVReplicationWorkflow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(tabletmanagerdata.UpdateVReplicationWorkflowRequest)
+func _TabletManager_ValidateVReplicationPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(tabletmanagerdata.ValidateVReplicationPermissionsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(TabletManagerServer).UpdateVReplicationWorkflow(ctx, in)
+ return srv.(TabletManagerServer).ValidateVReplicationPermissions(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/tabletmanagerservice.TabletManager/UpdateVReplicationWorkflow",
+ FullMethod: "/tabletmanagerservice.TabletManager/ValidateVReplicationPermissions",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(TabletManagerServer).UpdateVReplicationWorkflow(ctx, req.(*tabletmanagerdata.UpdateVReplicationWorkflowRequest))
+ return srv.(TabletManagerServer).ValidateVReplicationPermissions(ctx, req.(*tabletmanagerdata.ValidateVReplicationPermissionsRequest))
}
return interceptor(ctx, in, info, handler)
}
-func _TabletManager_UpdateVReplicationWorkflows_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(tabletmanagerdata.UpdateVReplicationWorkflowsRequest)
+func _TabletManager_VReplicationExec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(tabletmanagerdata.VReplicationExecRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(TabletManagerServer).UpdateVReplicationWorkflows(ctx, in)
+ return srv.(TabletManagerServer).VReplicationExec(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/tabletmanagerservice.TabletManager/UpdateVReplicationWorkflows",
+ FullMethod: "/tabletmanagerservice.TabletManager/VReplicationExec",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(TabletManagerServer).UpdateVReplicationWorkflows(ctx, req.(*tabletmanagerdata.UpdateVReplicationWorkflowsRequest))
+ return srv.(TabletManagerServer).VReplicationExec(ctx, req.(*tabletmanagerdata.VReplicationExecRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _TabletManager_VReplicationWaitForPos_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(tabletmanagerdata.VReplicationWaitForPosRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(TabletManagerServer).VReplicationWaitForPos(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/tabletmanagerservice.TabletManager/VReplicationWaitForPos",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(TabletManagerServer).VReplicationWaitForPos(ctx, req.(*tabletmanagerdata.VReplicationWaitForPosRequest))
}
return interceptor(ctx, in, info, handler)
}
@@ -2138,6 +2266,18 @@ var TabletManager_ServiceDesc = grpc.ServiceDesc{
MethodName: "ExecuteFetchAsApp",
Handler: _TabletManager_ExecuteFetchAsApp_Handler,
},
+ {
+ MethodName: "GetUnresolvedTransactions",
+ Handler: _TabletManager_GetUnresolvedTransactions_Handler,
+ },
+ {
+ MethodName: "ReadTransaction",
+ Handler: _TabletManager_ReadTransaction_Handler,
+ },
+ {
+ MethodName: "ConcludeTransaction",
+ Handler: _TabletManager_ConcludeTransaction_Handler,
+ },
{
MethodName: "ReplicationStatus",
Handler: _TabletManager_ReplicationStatus_Handler,
@@ -2194,14 +2334,6 @@ var TabletManager_ServiceDesc = grpc.ServiceDesc{
MethodName: "ReadVReplicationWorkflows",
Handler: _TabletManager_ReadVReplicationWorkflows_Handler,
},
- {
- MethodName: "VReplicationExec",
- Handler: _TabletManager_VReplicationExec_Handler,
- },
- {
- MethodName: "VReplicationWaitForPos",
- Handler: _TabletManager_VReplicationWaitForPos_Handler,
- },
{
MethodName: "UpdateVReplicationWorkflow",
Handler: _TabletManager_UpdateVReplicationWorkflow_Handler,
@@ -2210,6 +2342,18 @@ var TabletManager_ServiceDesc = grpc.ServiceDesc{
MethodName: "UpdateVReplicationWorkflows",
Handler: _TabletManager_UpdateVReplicationWorkflows_Handler,
},
+ {
+ MethodName: "ValidateVReplicationPermissions",
+ Handler: _TabletManager_ValidateVReplicationPermissions_Handler,
+ },
+ {
+ MethodName: "VReplicationExec",
+ Handler: _TabletManager_VReplicationExec_Handler,
+ },
+ {
+ MethodName: "VReplicationWaitForPos",
+ Handler: _TabletManager_VReplicationWaitForPos_Handler,
+ },
{
MethodName: "VDiff",
Handler: _TabletManager_VDiff_Handler,
diff --git a/go/vt/proto/throttlerdata/throttlerdata_vtproto.pb.go b/go/vt/proto/throttlerdata/throttlerdata_vtproto.pb.go
index e032b7db8e8..c7e3369b6cd 100644
--- a/go/vt/proto/throttlerdata/throttlerdata_vtproto.pb.go
+++ b/go/vt/proto/throttlerdata/throttlerdata_vtproto.pb.go
@@ -1,5 +1,5 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: throttlerdata.proto
package throttlerdata
@@ -7,11 +7,11 @@ package throttlerdata
import (
binary "encoding/binary"
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
math "math"
- bits "math/bits"
)
const (
@@ -25,7 +25,7 @@ func (m *MaxRatesRequest) CloneVT() *MaxRatesRequest {
if m == nil {
return (*MaxRatesRequest)(nil)
}
- r := &MaxRatesRequest{}
+ r := new(MaxRatesRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -41,7 +41,7 @@ func (m *MaxRatesResponse) CloneVT() *MaxRatesResponse {
if m == nil {
return (*MaxRatesResponse)(nil)
}
- r := &MaxRatesResponse{}
+ r := new(MaxRatesResponse)
if rhs := m.Rates; rhs != nil {
tmpContainer := make(map[string]int64, len(rhs))
for k, v := range rhs {
@@ -64,9 +64,8 @@ func (m *SetMaxRateRequest) CloneVT() *SetMaxRateRequest {
if m == nil {
return (*SetMaxRateRequest)(nil)
}
- r := &SetMaxRateRequest{
- Rate: m.Rate,
- }
+ r := new(SetMaxRateRequest)
+ r.Rate = m.Rate
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -82,7 +81,7 @@ func (m *SetMaxRateResponse) CloneVT() *SetMaxRateResponse {
if m == nil {
return (*SetMaxRateResponse)(nil)
}
- r := &SetMaxRateResponse{}
+ r := new(SetMaxRateResponse)
if rhs := m.Names; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -103,22 +102,21 @@ func (m *Configuration) CloneVT() *Configuration {
if m == nil {
return (*Configuration)(nil)
}
- r := &Configuration{
- TargetReplicationLagSec: m.TargetReplicationLagSec,
- MaxReplicationLagSec: m.MaxReplicationLagSec,
- InitialRate: m.InitialRate,
- MaxIncrease: m.MaxIncrease,
- EmergencyDecrease: m.EmergencyDecrease,
- MinDurationBetweenIncreasesSec: m.MinDurationBetweenIncreasesSec,
- MaxDurationBetweenIncreasesSec: m.MaxDurationBetweenIncreasesSec,
- MinDurationBetweenDecreasesSec: m.MinDurationBetweenDecreasesSec,
- SpreadBacklogAcrossSec: m.SpreadBacklogAcrossSec,
- IgnoreNSlowestReplicas: m.IgnoreNSlowestReplicas,
- IgnoreNSlowestRdonlys: m.IgnoreNSlowestRdonlys,
- AgeBadRateAfterSec: m.AgeBadRateAfterSec,
- BadRateIncrease: m.BadRateIncrease,
- MaxRateApproachThreshold: m.MaxRateApproachThreshold,
- }
+ r := new(Configuration)
+ r.TargetReplicationLagSec = m.TargetReplicationLagSec
+ r.MaxReplicationLagSec = m.MaxReplicationLagSec
+ r.InitialRate = m.InitialRate
+ r.MaxIncrease = m.MaxIncrease
+ r.EmergencyDecrease = m.EmergencyDecrease
+ r.MinDurationBetweenIncreasesSec = m.MinDurationBetweenIncreasesSec
+ r.MaxDurationBetweenIncreasesSec = m.MaxDurationBetweenIncreasesSec
+ r.MinDurationBetweenDecreasesSec = m.MinDurationBetweenDecreasesSec
+ r.SpreadBacklogAcrossSec = m.SpreadBacklogAcrossSec
+ r.IgnoreNSlowestReplicas = m.IgnoreNSlowestReplicas
+ r.IgnoreNSlowestRdonlys = m.IgnoreNSlowestRdonlys
+ r.AgeBadRateAfterSec = m.AgeBadRateAfterSec
+ r.BadRateIncrease = m.BadRateIncrease
+ r.MaxRateApproachThreshold = m.MaxRateApproachThreshold
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -134,9 +132,8 @@ func (m *GetConfigurationRequest) CloneVT() *GetConfigurationRequest {
if m == nil {
return (*GetConfigurationRequest)(nil)
}
- r := &GetConfigurationRequest{
- ThrottlerName: m.ThrottlerName,
- }
+ r := new(GetConfigurationRequest)
+ r.ThrottlerName = m.ThrottlerName
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -152,7 +149,7 @@ func (m *GetConfigurationResponse) CloneVT() *GetConfigurationResponse {
if m == nil {
return (*GetConfigurationResponse)(nil)
}
- r := &GetConfigurationResponse{}
+ r := new(GetConfigurationResponse)
if rhs := m.Configurations; rhs != nil {
tmpContainer := make(map[string]*Configuration, len(rhs))
for k, v := range rhs {
@@ -175,11 +172,10 @@ func (m *UpdateConfigurationRequest) CloneVT() *UpdateConfigurationRequest {
if m == nil {
return (*UpdateConfigurationRequest)(nil)
}
- r := &UpdateConfigurationRequest{
- ThrottlerName: m.ThrottlerName,
- Configuration: m.Configuration.CloneVT(),
- CopyZeroValues: m.CopyZeroValues,
- }
+ r := new(UpdateConfigurationRequest)
+ r.ThrottlerName = m.ThrottlerName
+ r.Configuration = m.Configuration.CloneVT()
+ r.CopyZeroValues = m.CopyZeroValues
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -195,7 +191,7 @@ func (m *UpdateConfigurationResponse) CloneVT() *UpdateConfigurationResponse {
if m == nil {
return (*UpdateConfigurationResponse)(nil)
}
- r := &UpdateConfigurationResponse{}
+ r := new(UpdateConfigurationResponse)
if rhs := m.Names; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -216,9 +212,8 @@ func (m *ResetConfigurationRequest) CloneVT() *ResetConfigurationRequest {
if m == nil {
return (*ResetConfigurationRequest)(nil)
}
- r := &ResetConfigurationRequest{
- ThrottlerName: m.ThrottlerName,
- }
+ r := new(ResetConfigurationRequest)
+ r.ThrottlerName = m.ThrottlerName
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -234,7 +229,7 @@ func (m *ResetConfigurationResponse) CloneVT() *ResetConfigurationResponse {
if m == nil {
return (*ResetConfigurationResponse)(nil)
}
- r := &ResetConfigurationResponse{}
+ r := new(ResetConfigurationResponse)
if rhs := m.Names; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -318,15 +313,15 @@ func (m *MaxRatesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for k := range m.Rates {
v := m.Rates[k]
baseI := i
- i = encodeVarint(dAtA, i, uint64(v))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(v))
i--
dAtA[i] = 0x10
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -365,7 +360,7 @@ func (m *SetMaxRateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.Rate != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Rate))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Rate))
i--
dAtA[i] = 0x8
}
@@ -406,7 +401,7 @@ func (m *SetMaxRateResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Names) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Names[iNdEx])
copy(dAtA[i:], m.Names[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -457,37 +452,37 @@ func (m *Configuration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x69
}
if m.AgeBadRateAfterSec != 0 {
- i = encodeVarint(dAtA, i, uint64(m.AgeBadRateAfterSec))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AgeBadRateAfterSec))
i--
dAtA[i] = 0x60
}
if m.IgnoreNSlowestRdonlys != 0 {
- i = encodeVarint(dAtA, i, uint64(m.IgnoreNSlowestRdonlys))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.IgnoreNSlowestRdonlys))
i--
dAtA[i] = 0x58
}
if m.IgnoreNSlowestReplicas != 0 {
- i = encodeVarint(dAtA, i, uint64(m.IgnoreNSlowestReplicas))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.IgnoreNSlowestReplicas))
i--
dAtA[i] = 0x50
}
if m.SpreadBacklogAcrossSec != 0 {
- i = encodeVarint(dAtA, i, uint64(m.SpreadBacklogAcrossSec))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SpreadBacklogAcrossSec))
i--
dAtA[i] = 0x48
}
if m.MinDurationBetweenDecreasesSec != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MinDurationBetweenDecreasesSec))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MinDurationBetweenDecreasesSec))
i--
dAtA[i] = 0x40
}
if m.MaxDurationBetweenIncreasesSec != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxDurationBetweenIncreasesSec))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxDurationBetweenIncreasesSec))
i--
dAtA[i] = 0x38
}
if m.MinDurationBetweenIncreasesSec != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MinDurationBetweenIncreasesSec))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MinDurationBetweenIncreasesSec))
i--
dAtA[i] = 0x30
}
@@ -504,17 +499,17 @@ func (m *Configuration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x21
}
if m.InitialRate != 0 {
- i = encodeVarint(dAtA, i, uint64(m.InitialRate))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InitialRate))
i--
dAtA[i] = 0x18
}
if m.MaxReplicationLagSec != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxReplicationLagSec))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxReplicationLagSec))
i--
dAtA[i] = 0x10
}
if m.TargetReplicationLagSec != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TargetReplicationLagSec))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TargetReplicationLagSec))
i--
dAtA[i] = 0x8
}
@@ -554,7 +549,7 @@ func (m *GetConfigurationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
if len(m.ThrottlerName) > 0 {
i -= len(m.ThrottlerName)
copy(dAtA[i:], m.ThrottlerName)
- i = encodeVarint(dAtA, i, uint64(len(m.ThrottlerName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ThrottlerName)))
i--
dAtA[i] = 0xa
}
@@ -600,15 +595,15 @@ func (m *GetConfigurationResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -662,14 +657,14 @@ func (m *UpdateConfigurationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ThrottlerName) > 0 {
i -= len(m.ThrottlerName)
copy(dAtA[i:], m.ThrottlerName)
- i = encodeVarint(dAtA, i, uint64(len(m.ThrottlerName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ThrottlerName)))
i--
dAtA[i] = 0xa
}
@@ -710,7 +705,7 @@ func (m *UpdateConfigurationResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
for iNdEx := len(m.Names) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Names[iNdEx])
copy(dAtA[i:], m.Names[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -751,7 +746,7 @@ func (m *ResetConfigurationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
if len(m.ThrottlerName) > 0 {
i -= len(m.ThrottlerName)
copy(dAtA[i:], m.ThrottlerName)
- i = encodeVarint(dAtA, i, uint64(len(m.ThrottlerName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ThrottlerName)))
i--
dAtA[i] = 0xa
}
@@ -792,7 +787,7 @@ func (m *ResetConfigurationResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
for iNdEx := len(m.Names) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Names[iNdEx])
copy(dAtA[i:], m.Names[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -800,17 +795,6 @@ func (m *ResetConfigurationResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *MaxRatesRequest) SizeVT() (n int) {
if m == nil {
return 0
@@ -831,8 +815,8 @@ func (m *MaxRatesResponse) SizeVT() (n int) {
for k, v := range m.Rates {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + sov(uint64(v))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + protohelpers.SizeOfVarint(uint64(v))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -846,7 +830,7 @@ func (m *SetMaxRateRequest) SizeVT() (n int) {
var l int
_ = l
if m.Rate != 0 {
- n += 1 + sov(uint64(m.Rate))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Rate))
}
n += len(m.unknownFields)
return n
@@ -861,7 +845,7 @@ func (m *SetMaxRateResponse) SizeVT() (n int) {
if len(m.Names) > 0 {
for _, s := range m.Names {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -875,13 +859,13 @@ func (m *Configuration) SizeVT() (n int) {
var l int
_ = l
if m.TargetReplicationLagSec != 0 {
- n += 1 + sov(uint64(m.TargetReplicationLagSec))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TargetReplicationLagSec))
}
if m.MaxReplicationLagSec != 0 {
- n += 1 + sov(uint64(m.MaxReplicationLagSec))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxReplicationLagSec))
}
if m.InitialRate != 0 {
- n += 1 + sov(uint64(m.InitialRate))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.InitialRate))
}
if m.MaxIncrease != 0 {
n += 9
@@ -890,25 +874,25 @@ func (m *Configuration) SizeVT() (n int) {
n += 9
}
if m.MinDurationBetweenIncreasesSec != 0 {
- n += 1 + sov(uint64(m.MinDurationBetweenIncreasesSec))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MinDurationBetweenIncreasesSec))
}
if m.MaxDurationBetweenIncreasesSec != 0 {
- n += 1 + sov(uint64(m.MaxDurationBetweenIncreasesSec))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxDurationBetweenIncreasesSec))
}
if m.MinDurationBetweenDecreasesSec != 0 {
- n += 1 + sov(uint64(m.MinDurationBetweenDecreasesSec))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MinDurationBetweenDecreasesSec))
}
if m.SpreadBacklogAcrossSec != 0 {
- n += 1 + sov(uint64(m.SpreadBacklogAcrossSec))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.SpreadBacklogAcrossSec))
}
if m.IgnoreNSlowestReplicas != 0 {
- n += 1 + sov(uint64(m.IgnoreNSlowestReplicas))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.IgnoreNSlowestReplicas))
}
if m.IgnoreNSlowestRdonlys != 0 {
- n += 1 + sov(uint64(m.IgnoreNSlowestRdonlys))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.IgnoreNSlowestRdonlys))
}
if m.AgeBadRateAfterSec != 0 {
- n += 1 + sov(uint64(m.AgeBadRateAfterSec))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.AgeBadRateAfterSec))
}
if m.BadRateIncrease != 0 {
n += 9
@@ -928,7 +912,7 @@ func (m *GetConfigurationRequest) SizeVT() (n int) {
_ = l
l = len(m.ThrottlerName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -948,9 +932,9 @@ func (m *GetConfigurationResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -965,11 +949,11 @@ func (m *UpdateConfigurationRequest) SizeVT() (n int) {
_ = l
l = len(m.ThrottlerName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Configuration != nil {
l = m.Configuration.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CopyZeroValues {
n += 2
@@ -987,7 +971,7 @@ func (m *UpdateConfigurationResponse) SizeVT() (n int) {
if len(m.Names) > 0 {
for _, s := range m.Names {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -1002,7 +986,7 @@ func (m *ResetConfigurationRequest) SizeVT() (n int) {
_ = l
l = len(m.ThrottlerName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1017,19 +1001,13 @@ func (m *ResetConfigurationResponse) SizeVT() (n int) {
if len(m.Names) > 0 {
for _, s := range m.Names {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *MaxRatesRequest) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -1038,7 +1016,7 @@ func (m *MaxRatesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1061,12 +1039,12 @@ func (m *MaxRatesRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1089,7 +1067,7 @@ func (m *MaxRatesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1117,7 +1095,7 @@ func (m *MaxRatesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1130,11 +1108,11 @@ func (m *MaxRatesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1149,7 +1127,7 @@ func (m *MaxRatesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1166,7 +1144,7 @@ func (m *MaxRatesResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1180,11 +1158,11 @@ func (m *MaxRatesResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -1194,7 +1172,7 @@ func (m *MaxRatesResponse) UnmarshalVT(dAtA []byte) error {
} else if fieldNum == 2 {
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1208,12 +1186,12 @@ func (m *MaxRatesResponse) UnmarshalVT(dAtA []byte) error {
}
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -1225,12 +1203,12 @@ func (m *MaxRatesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1253,7 +1231,7 @@ func (m *SetMaxRateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1281,7 +1259,7 @@ func (m *SetMaxRateRequest) UnmarshalVT(dAtA []byte) error {
m.Rate = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1295,12 +1273,12 @@ func (m *SetMaxRateRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1323,7 +1301,7 @@ func (m *SetMaxRateResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1351,7 +1329,7 @@ func (m *SetMaxRateResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1365,11 +1343,11 @@ func (m *SetMaxRateResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1378,12 +1356,12 @@ func (m *SetMaxRateResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1406,7 +1384,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1434,7 +1412,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.TargetReplicationLagSec = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1453,7 +1431,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.MaxReplicationLagSec = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1472,7 +1450,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.InitialRate = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1513,7 +1491,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.MinDurationBetweenIncreasesSec = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1532,7 +1510,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.MaxDurationBetweenIncreasesSec = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1551,7 +1529,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.MinDurationBetweenDecreasesSec = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1570,7 +1548,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.SpreadBacklogAcrossSec = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1589,7 +1567,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.IgnoreNSlowestReplicas = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1608,7 +1586,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.IgnoreNSlowestRdonlys = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1627,7 +1605,7 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.AgeBadRateAfterSec = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1663,12 +1641,12 @@ func (m *Configuration) UnmarshalVT(dAtA []byte) error {
m.MaxRateApproachThreshold = float64(math.Float64frombits(v))
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1691,7 +1669,7 @@ func (m *GetConfigurationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1719,7 +1697,7 @@ func (m *GetConfigurationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1733,11 +1711,11 @@ func (m *GetConfigurationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1746,12 +1724,12 @@ func (m *GetConfigurationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1774,7 +1752,7 @@ func (m *GetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1802,7 +1780,7 @@ func (m *GetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1815,11 +1793,11 @@ func (m *GetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1834,7 +1812,7 @@ func (m *GetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1851,7 +1829,7 @@ func (m *GetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1865,11 +1843,11 @@ func (m *GetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -1880,7 +1858,7 @@ func (m *GetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1893,11 +1871,11 @@ func (m *GetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -1909,12 +1887,12 @@ func (m *GetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -1926,12 +1904,12 @@ func (m *GetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1954,7 +1932,7 @@ func (m *UpdateConfigurationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1982,7 +1960,7 @@ func (m *UpdateConfigurationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1996,11 +1974,11 @@ func (m *UpdateConfigurationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2014,7 +1992,7 @@ func (m *UpdateConfigurationRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2027,11 +2005,11 @@ func (m *UpdateConfigurationRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2050,7 +2028,7 @@ func (m *UpdateConfigurationRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2065,12 +2043,12 @@ func (m *UpdateConfigurationRequest) UnmarshalVT(dAtA []byte) error {
m.CopyZeroValues = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2093,7 +2071,7 @@ func (m *UpdateConfigurationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2121,7 +2099,7 @@ func (m *UpdateConfigurationResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2135,11 +2113,11 @@ func (m *UpdateConfigurationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2148,12 +2126,12 @@ func (m *UpdateConfigurationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2176,7 +2154,7 @@ func (m *ResetConfigurationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2204,7 +2182,7 @@ func (m *ResetConfigurationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2218,11 +2196,11 @@ func (m *ResetConfigurationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2231,12 +2209,12 @@ func (m *ResetConfigurationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2259,7 +2237,7 @@ func (m *ResetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2287,7 +2265,7 @@ func (m *ResetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2301,11 +2279,11 @@ func (m *ResetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2314,12 +2292,12 @@ func (m *ResetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2334,88 +2312,3 @@ func (m *ResetConfigurationResponse) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/topodata/cached_size.go b/go/vt/proto/topodata/cached_size.go
index d06ebd0d3f0..94b7fc6818c 100644
--- a/go/vt/proto/topodata/cached_size.go
+++ b/go/vt/proto/topodata/cached_size.go
@@ -27,10 +27,6 @@ func (cached *KeyRange) CachedSize(alloc bool) int64 {
if alloc {
size += int64(96)
}
- // field unknownFields []byte
- {
- size += hack.RuntimeAllocSize(int64(cap(cached.unknownFields)))
- }
// field Start []byte
{
size += hack.RuntimeAllocSize(int64(cap(cached.Start)))
@@ -49,10 +45,6 @@ func (cached *ThrottledAppRule) CachedSize(alloc bool) int64 {
if alloc {
size += int64(80)
}
- // field unknownFields []byte
- {
- size += hack.RuntimeAllocSize(int64(cap(cached.unknownFields)))
- }
// field Name string
size += hack.RuntimeAllocSize(int64(len(cached.Name)))
// field ExpiresAt *vitess.io/vitess/go/vt/proto/vttime.Time
diff --git a/go/vt/proto/topodata/topodata_vtproto.pb.go b/go/vt/proto/topodata/topodata_vtproto.pb.go
index 98a365e3bcd..9defb49a6be 100644
--- a/go/vt/proto/topodata/topodata_vtproto.pb.go
+++ b/go/vt/proto/topodata/topodata_vtproto.pb.go
@@ -1,5 +1,5 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: topodata.proto
package topodata
@@ -7,11 +7,11 @@ package topodata
import (
binary "encoding/binary"
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
math "math"
- bits "math/bits"
vttime "vitess.io/vitess/go/vt/proto/vttime"
)
@@ -26,7 +26,7 @@ func (m *KeyRange) CloneVT() *KeyRange {
if m == nil {
return (*KeyRange)(nil)
}
- r := &KeyRange{}
+ r := new(KeyRange)
if rhs := m.Start; rhs != nil {
tmpBytes := make([]byte, len(rhs))
copy(tmpBytes, rhs)
@@ -52,10 +52,9 @@ func (m *TabletAlias) CloneVT() *TabletAlias {
if m == nil {
return (*TabletAlias)(nil)
}
- r := &TabletAlias{
- Cell: m.Cell,
- Uid: m.Uid,
- }
+ r := new(TabletAlias)
+ r.Cell = m.Cell
+ r.Uid = m.Uid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -71,19 +70,18 @@ func (m *Tablet) CloneVT() *Tablet {
if m == nil {
return (*Tablet)(nil)
}
- r := &Tablet{
- Alias: m.Alias.CloneVT(),
- Hostname: m.Hostname,
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- KeyRange: m.KeyRange.CloneVT(),
- Type: m.Type,
- DbNameOverride: m.DbNameOverride,
- MysqlHostname: m.MysqlHostname,
- MysqlPort: m.MysqlPort,
- PrimaryTermStartTime: m.PrimaryTermStartTime.CloneVT(),
- DefaultConnCollation: m.DefaultConnCollation,
- }
+ r := new(Tablet)
+ r.Alias = m.Alias.CloneVT()
+ r.Hostname = m.Hostname
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.KeyRange = m.KeyRange.CloneVT()
+ r.Type = m.Type
+ r.DbNameOverride = m.DbNameOverride
+ r.MysqlHostname = m.MysqlHostname
+ r.MysqlPort = m.MysqlPort
+ r.PrimaryTermStartTime = m.PrimaryTermStartTime.CloneVT()
+ r.DefaultConnCollation = m.DefaultConnCollation
if rhs := m.PortMap; rhs != nil {
tmpContainer := make(map[string]int32, len(rhs))
for k, v := range rhs {
@@ -113,12 +111,11 @@ func (m *Shard_SourceShard) CloneVT() *Shard_SourceShard {
if m == nil {
return (*Shard_SourceShard)(nil)
}
- r := &Shard_SourceShard{
- Uid: m.Uid,
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- KeyRange: m.KeyRange.CloneVT(),
- }
+ r := new(Shard_SourceShard)
+ r.Uid = m.Uid
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.KeyRange = m.KeyRange.CloneVT()
if rhs := m.Tables; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -139,10 +136,9 @@ func (m *Shard_TabletControl) CloneVT() *Shard_TabletControl {
if m == nil {
return (*Shard_TabletControl)(nil)
}
- r := &Shard_TabletControl{
- TabletType: m.TabletType,
- Frozen: m.Frozen,
- }
+ r := new(Shard_TabletControl)
+ r.TabletType = m.TabletType
+ r.Frozen = m.Frozen
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -168,12 +164,11 @@ func (m *Shard) CloneVT() *Shard {
if m == nil {
return (*Shard)(nil)
}
- r := &Shard{
- PrimaryAlias: m.PrimaryAlias.CloneVT(),
- PrimaryTermStartTime: m.PrimaryTermStartTime.CloneVT(),
- KeyRange: m.KeyRange.CloneVT(),
- IsPrimaryServing: m.IsPrimaryServing,
- }
+ r := new(Shard)
+ r.PrimaryAlias = m.PrimaryAlias.CloneVT()
+ r.PrimaryTermStartTime = m.PrimaryTermStartTime.CloneVT()
+ r.KeyRange = m.KeyRange.CloneVT()
+ r.IsPrimaryServing = m.IsPrimaryServing
if rhs := m.SourceShards; rhs != nil {
tmpContainer := make([]*Shard_SourceShard, len(rhs))
for k, v := range rhs {
@@ -203,14 +198,13 @@ func (m *Keyspace) CloneVT() *Keyspace {
if m == nil {
return (*Keyspace)(nil)
}
- r := &Keyspace{
- KeyspaceType: m.KeyspaceType,
- BaseKeyspace: m.BaseKeyspace,
- SnapshotTime: m.SnapshotTime.CloneVT(),
- DurabilityPolicy: m.DurabilityPolicy,
- ThrottlerConfig: m.ThrottlerConfig.CloneVT(),
- SidecarDbName: m.SidecarDbName,
- }
+ r := new(Keyspace)
+ r.KeyspaceType = m.KeyspaceType
+ r.BaseKeyspace = m.BaseKeyspace
+ r.SnapshotTime = m.SnapshotTime.CloneVT()
+ r.DurabilityPolicy = m.DurabilityPolicy
+ r.ThrottlerConfig = m.ThrottlerConfig.CloneVT()
+ r.SidecarDbName = m.SidecarDbName
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -226,9 +220,8 @@ func (m *ShardReplication_Node) CloneVT() *ShardReplication_Node {
if m == nil {
return (*ShardReplication_Node)(nil)
}
- r := &ShardReplication_Node{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(ShardReplication_Node)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -244,7 +237,7 @@ func (m *ShardReplication) CloneVT() *ShardReplication {
if m == nil {
return (*ShardReplication)(nil)
}
- r := &ShardReplication{}
+ r := new(ShardReplication)
if rhs := m.Nodes; rhs != nil {
tmpContainer := make([]*ShardReplication_Node, len(rhs))
for k, v := range rhs {
@@ -267,10 +260,9 @@ func (m *ShardReplicationError) CloneVT() *ShardReplicationError {
if m == nil {
return (*ShardReplicationError)(nil)
}
- r := &ShardReplicationError{
- Type: m.Type,
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(ShardReplicationError)
+ r.Type = m.Type
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -286,10 +278,9 @@ func (m *ShardReference) CloneVT() *ShardReference {
if m == nil {
return (*ShardReference)(nil)
}
- r := &ShardReference{
- Name: m.Name,
- KeyRange: m.KeyRange.CloneVT(),
- }
+ r := new(ShardReference)
+ r.Name = m.Name
+ r.KeyRange = m.KeyRange.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -305,11 +296,10 @@ func (m *ShardTabletControl) CloneVT() *ShardTabletControl {
if m == nil {
return (*ShardTabletControl)(nil)
}
- r := &ShardTabletControl{
- Name: m.Name,
- KeyRange: m.KeyRange.CloneVT(),
- QueryServiceDisabled: m.QueryServiceDisabled,
- }
+ r := new(ShardTabletControl)
+ r.Name = m.Name
+ r.KeyRange = m.KeyRange.CloneVT()
+ r.QueryServiceDisabled = m.QueryServiceDisabled
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -325,12 +315,11 @@ func (m *ThrottledAppRule) CloneVT() *ThrottledAppRule {
if m == nil {
return (*ThrottledAppRule)(nil)
}
- r := &ThrottledAppRule{
- Name: m.Name,
- Ratio: m.Ratio,
- ExpiresAt: m.ExpiresAt.CloneVT(),
- Exempt: m.Exempt,
- }
+ r := new(ThrottledAppRule)
+ r.Name = m.Name
+ r.Ratio = m.Ratio
+ r.ExpiresAt = m.ExpiresAt.CloneVT()
+ r.Exempt = m.Exempt
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -346,7 +335,7 @@ func (m *ThrottlerConfig_MetricNames) CloneVT() *ThrottlerConfig_MetricNames {
if m == nil {
return (*ThrottlerConfig_MetricNames)(nil)
}
- r := &ThrottlerConfig_MetricNames{}
+ r := new(ThrottlerConfig_MetricNames)
if rhs := m.Names; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -367,12 +356,11 @@ func (m *ThrottlerConfig) CloneVT() *ThrottlerConfig {
if m == nil {
return (*ThrottlerConfig)(nil)
}
- r := &ThrottlerConfig{
- Enabled: m.Enabled,
- Threshold: m.Threshold,
- CustomQuery: m.CustomQuery,
- CheckAsCheckSelf: m.CheckAsCheckSelf,
- }
+ r := new(ThrottlerConfig)
+ r.Enabled = m.Enabled
+ r.Threshold = m.Threshold
+ r.CustomQuery = m.CustomQuery
+ r.CheckAsCheckSelf = m.CheckAsCheckSelf
if rhs := m.ThrottledApps; rhs != nil {
tmpContainer := make(map[string]*ThrottledAppRule, len(rhs))
for k, v := range rhs {
@@ -409,9 +397,8 @@ func (m *SrvKeyspace_KeyspacePartition) CloneVT() *SrvKeyspace_KeyspacePartition
if m == nil {
return (*SrvKeyspace_KeyspacePartition)(nil)
}
- r := &SrvKeyspace_KeyspacePartition{
- ServedType: m.ServedType,
- }
+ r := new(SrvKeyspace_KeyspacePartition)
+ r.ServedType = m.ServedType
if rhs := m.ShardReferences; rhs != nil {
tmpContainer := make([]*ShardReference, len(rhs))
for k, v := range rhs {
@@ -441,9 +428,8 @@ func (m *SrvKeyspace) CloneVT() *SrvKeyspace {
if m == nil {
return (*SrvKeyspace)(nil)
}
- r := &SrvKeyspace{
- ThrottlerConfig: m.ThrottlerConfig.CloneVT(),
- }
+ r := new(SrvKeyspace)
+ r.ThrottlerConfig = m.ThrottlerConfig.CloneVT()
if rhs := m.Partitions; rhs != nil {
tmpContainer := make([]*SrvKeyspace_KeyspacePartition, len(rhs))
for k, v := range rhs {
@@ -466,10 +452,9 @@ func (m *CellInfo) CloneVT() *CellInfo {
if m == nil {
return (*CellInfo)(nil)
}
- r := &CellInfo{
- ServerAddress: m.ServerAddress,
- Root: m.Root,
- }
+ r := new(CellInfo)
+ r.ServerAddress = m.ServerAddress
+ r.Root = m.Root
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -485,7 +470,7 @@ func (m *CellsAlias) CloneVT() *CellsAlias {
if m == nil {
return (*CellsAlias)(nil)
}
- r := &CellsAlias{}
+ r := new(CellsAlias)
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -506,11 +491,10 @@ func (m *TopoConfig) CloneVT() *TopoConfig {
if m == nil {
return (*TopoConfig)(nil)
}
- r := &TopoConfig{
- TopoType: m.TopoType,
- Server: m.Server,
- Root: m.Root,
- }
+ r := new(TopoConfig)
+ r.TopoType = m.TopoType
+ r.Server = m.Server
+ r.Root = m.Root
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -526,9 +510,8 @@ func (m *ExternalVitessCluster) CloneVT() *ExternalVitessCluster {
if m == nil {
return (*ExternalVitessCluster)(nil)
}
- r := &ExternalVitessCluster{
- TopoConfig: m.TopoConfig.CloneVT(),
- }
+ r := new(ExternalVitessCluster)
+ r.TopoConfig = m.TopoConfig.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -544,7 +527,7 @@ func (m *ExternalClusters) CloneVT() *ExternalClusters {
if m == nil {
return (*ExternalClusters)(nil)
}
- r := &ExternalClusters{}
+ r := new(ExternalClusters)
if rhs := m.VitessCluster; rhs != nil {
tmpContainer := make([]*ExternalVitessCluster, len(rhs))
for k, v := range rhs {
@@ -596,14 +579,14 @@ func (m *KeyRange) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.End) > 0 {
i -= len(m.End)
copy(dAtA[i:], m.End)
- i = encodeVarint(dAtA, i, uint64(len(m.End)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.End)))
i--
dAtA[i] = 0x12
}
if len(m.Start) > 0 {
i -= len(m.Start)
copy(dAtA[i:], m.Start)
- i = encodeVarint(dAtA, i, uint64(len(m.Start)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Start)))
i--
dAtA[i] = 0xa
}
@@ -641,14 +624,14 @@ func (m *TabletAlias) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.Uid != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Uid))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Uid))
i--
dAtA[i] = 0x10
}
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0xa
}
@@ -686,7 +669,7 @@ func (m *Tablet) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.DefaultConnCollation != 0 {
- i = encodeVarint(dAtA, i, uint64(m.DefaultConnCollation))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DefaultConnCollation))
i--
dAtA[i] = 0x1
i--
@@ -698,19 +681,19 @@ func (m *Tablet) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x72
}
if m.MysqlPort != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MysqlPort))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MysqlPort))
i--
dAtA[i] = 0x68
}
if len(m.MysqlHostname) > 0 {
i -= len(m.MysqlHostname)
copy(dAtA[i:], m.MysqlHostname)
- i = encodeVarint(dAtA, i, uint64(len(m.MysqlHostname)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.MysqlHostname)))
i--
dAtA[i] = 0x62
}
@@ -720,15 +703,15 @@ func (m *Tablet) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
baseI := i
i -= len(v)
copy(dAtA[i:], v)
- i = encodeVarint(dAtA, i, uint64(len(v)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x52
}
@@ -736,12 +719,12 @@ func (m *Tablet) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.DbNameOverride) > 0 {
i -= len(m.DbNameOverride)
copy(dAtA[i:], m.DbNameOverride)
- i = encodeVarint(dAtA, i, uint64(len(m.DbNameOverride)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DbNameOverride)))
i--
dAtA[i] = 0x4a
}
if m.Type != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Type))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type))
i--
dAtA[i] = 0x40
}
@@ -751,21 +734,21 @@ func (m *Tablet) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x3a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x32
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x2a
}
@@ -773,15 +756,15 @@ func (m *Tablet) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for k := range m.PortMap {
v := m.PortMap[k]
baseI := i
- i = encodeVarint(dAtA, i, uint64(v))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(v))
i--
dAtA[i] = 0x10
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x22
}
@@ -789,7 +772,7 @@ func (m *Tablet) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Hostname) > 0 {
i -= len(m.Hostname)
copy(dAtA[i:], m.Hostname)
- i = encodeVarint(dAtA, i, uint64(len(m.Hostname)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Hostname)))
i--
dAtA[i] = 0x12
}
@@ -799,7 +782,7 @@ func (m *Tablet) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -840,7 +823,7 @@ func (m *Shard_SourceShard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Tables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Tables[iNdEx])
copy(dAtA[i:], m.Tables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
i--
dAtA[i] = 0x2a
}
@@ -851,26 +834,26 @@ func (m *Shard_SourceShard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if m.Uid != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Uid))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Uid))
i--
dAtA[i] = 0x8
}
@@ -921,7 +904,7 @@ func (m *Shard_TabletControl) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.DeniedTables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.DeniedTables[iNdEx])
copy(dAtA[i:], m.DeniedTables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.DeniedTables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DeniedTables[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -930,13 +913,13 @@ func (m *Shard_TabletControl) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x12
}
}
if m.TabletType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletType))
i--
dAtA[i] = 0x8
}
@@ -979,7 +962,7 @@ func (m *Shard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x42
}
@@ -1000,7 +983,7 @@ func (m *Shard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
@@ -1012,7 +995,7 @@ func (m *Shard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -1023,7 +1006,7 @@ func (m *Shard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1033,7 +1016,7 @@ func (m *Shard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1073,7 +1056,7 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.SidecarDbName) > 0 {
i -= len(m.SidecarDbName)
copy(dAtA[i:], m.SidecarDbName)
- i = encodeVarint(dAtA, i, uint64(len(m.SidecarDbName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SidecarDbName)))
i--
dAtA[i] = 0x52
}
@@ -1083,14 +1066,14 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x4a
}
if len(m.DurabilityPolicy) > 0 {
i -= len(m.DurabilityPolicy)
copy(dAtA[i:], m.DurabilityPolicy)
- i = encodeVarint(dAtA, i, uint64(len(m.DurabilityPolicy)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DurabilityPolicy)))
i--
dAtA[i] = 0x42
}
@@ -1100,19 +1083,19 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x3a
}
if len(m.BaseKeyspace) > 0 {
i -= len(m.BaseKeyspace)
copy(dAtA[i:], m.BaseKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.BaseKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BaseKeyspace)))
i--
dAtA[i] = 0x32
}
if m.KeyspaceType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.KeyspaceType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.KeyspaceType))
i--
dAtA[i] = 0x28
}
@@ -1155,7 +1138,7 @@ func (m *ShardReplication_Node) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1199,7 +1182,7 @@ func (m *ShardReplication) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1243,12 +1226,12 @@ func (m *ShardReplicationError) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if m.Type != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Type))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type))
i--
dAtA[i] = 0x8
}
@@ -1291,14 +1274,14 @@ func (m *ShardReference) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -1351,14 +1334,14 @@ func (m *ShardTabletControl) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -1411,7 +1394,7 @@ func (m *ThrottledAppRule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1424,7 +1407,7 @@ func (m *ThrottledAppRule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -1465,7 +1448,7 @@ func (m *ThrottlerConfig_MetricNames) MarshalToSizedBufferVT(dAtA []byte) (int,
for iNdEx := len(m.Names) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Names[iNdEx])
copy(dAtA[i:], m.Names[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -1513,10 +1496,10 @@ func (m *ThrottlerConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x11
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x3a
}
@@ -1530,15 +1513,15 @@ func (m *ThrottlerConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x32
}
@@ -1552,15 +1535,15 @@ func (m *ThrottlerConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x2a
}
@@ -1578,7 +1561,7 @@ func (m *ThrottlerConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.CustomQuery) > 0 {
i -= len(m.CustomQuery)
copy(dAtA[i:], m.CustomQuery)
- i = encodeVarint(dAtA, i, uint64(len(m.CustomQuery)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CustomQuery)))
i--
dAtA[i] = 0x1a
}
@@ -1638,7 +1621,7 @@ func (m *SrvKeyspace_KeyspacePartition) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1650,13 +1633,13 @@ func (m *SrvKeyspace_KeyspacePartition) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
}
if m.ServedType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ServedType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ServedType))
i--
dAtA[i] = 0x8
}
@@ -1699,7 +1682,7 @@ func (m *SrvKeyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
@@ -1710,7 +1693,7 @@ func (m *SrvKeyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1751,14 +1734,14 @@ func (m *CellInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Root) > 0 {
i -= len(m.Root)
copy(dAtA[i:], m.Root)
- i = encodeVarint(dAtA, i, uint64(len(m.Root)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Root)))
i--
dAtA[i] = 0x12
}
if len(m.ServerAddress) > 0 {
i -= len(m.ServerAddress)
copy(dAtA[i:], m.ServerAddress)
- i = encodeVarint(dAtA, i, uint64(len(m.ServerAddress)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ServerAddress)))
i--
dAtA[i] = 0xa
}
@@ -1799,7 +1782,7 @@ func (m *CellsAlias) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -1840,21 +1823,21 @@ func (m *TopoConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Root) > 0 {
i -= len(m.Root)
copy(dAtA[i:], m.Root)
- i = encodeVarint(dAtA, i, uint64(len(m.Root)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Root)))
i--
dAtA[i] = 0x1a
}
if len(m.Server) > 0 {
i -= len(m.Server)
copy(dAtA[i:], m.Server)
- i = encodeVarint(dAtA, i, uint64(len(m.Server)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Server)))
i--
dAtA[i] = 0x12
}
if len(m.TopoType) > 0 {
i -= len(m.TopoType)
copy(dAtA[i:], m.TopoType)
- i = encodeVarint(dAtA, i, uint64(len(m.TopoType)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TopoType)))
i--
dAtA[i] = 0xa
}
@@ -1897,7 +1880,7 @@ func (m *ExternalVitessCluster) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1941,7 +1924,7 @@ func (m *ExternalClusters) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1949,17 +1932,6 @@ func (m *ExternalClusters) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *KeyRange) SizeVT() (n int) {
if m == nil {
return 0
@@ -1968,11 +1940,11 @@ func (m *KeyRange) SizeVT() (n int) {
_ = l
l = len(m.Start)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.End)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1986,10 +1958,10 @@ func (m *TabletAlias) SizeVT() (n int) {
_ = l
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Uid != 0 {
- n += 1 + sov(uint64(m.Uid))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Uid))
}
n += len(m.unknownFields)
return n
@@ -2003,60 +1975,60 @@ func (m *Tablet) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Hostname)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.PortMap) > 0 {
for k, v := range m.PortMap {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + sov(uint64(v))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + protohelpers.SizeOfVarint(uint64(v))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.KeyRange != nil {
l = m.KeyRange.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Type != 0 {
- n += 1 + sov(uint64(m.Type))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Type))
}
l = len(m.DbNameOverride)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Tags) > 0 {
for k, v := range m.Tags {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v)))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
l = len(m.MysqlHostname)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MysqlPort != 0 {
- n += 1 + sov(uint64(m.MysqlPort))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MysqlPort))
}
if m.PrimaryTermStartTime != nil {
l = m.PrimaryTermStartTime.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.DefaultConnCollation != 0 {
- n += 2 + sov(uint64(m.DefaultConnCollation))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.DefaultConnCollation))
}
n += len(m.unknownFields)
return n
@@ -2069,24 +2041,24 @@ func (m *Shard_SourceShard) SizeVT() (n int) {
var l int
_ = l
if m.Uid != 0 {
- n += 1 + sov(uint64(m.Uid))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Uid))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.KeyRange != nil {
l = m.KeyRange.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Tables) > 0 {
for _, s := range m.Tables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -2100,18 +2072,18 @@ func (m *Shard_TabletControl) SizeVT() (n int) {
var l int
_ = l
if m.TabletType != 0 {
- n += 1 + sov(uint64(m.TabletType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletType))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.DeniedTables) > 0 {
for _, s := range m.DeniedTables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Frozen {
@@ -2129,22 +2101,22 @@ func (m *Shard) SizeVT() (n int) {
_ = l
if m.PrimaryAlias != nil {
l = m.PrimaryAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.KeyRange != nil {
l = m.KeyRange.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.SourceShards) > 0 {
for _, e := range m.SourceShards {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TabletControls) > 0 {
for _, e := range m.TabletControls {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.IsPrimaryServing {
@@ -2152,7 +2124,7 @@ func (m *Shard) SizeVT() (n int) {
}
if m.PrimaryTermStartTime != nil {
l = m.PrimaryTermStartTime.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2165,27 +2137,27 @@ func (m *Keyspace) SizeVT() (n int) {
var l int
_ = l
if m.KeyspaceType != 0 {
- n += 1 + sov(uint64(m.KeyspaceType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.KeyspaceType))
}
l = len(m.BaseKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SnapshotTime != nil {
l = m.SnapshotTime.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DurabilityPolicy)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ThrottlerConfig != nil {
l = m.ThrottlerConfig.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SidecarDbName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2199,7 +2171,7 @@ func (m *ShardReplication_Node) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2214,7 +2186,7 @@ func (m *ShardReplication) SizeVT() (n int) {
if len(m.Nodes) > 0 {
for _, e := range m.Nodes {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -2228,11 +2200,11 @@ func (m *ShardReplicationError) SizeVT() (n int) {
var l int
_ = l
if m.Type != 0 {
- n += 1 + sov(uint64(m.Type))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Type))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2246,11 +2218,11 @@ func (m *ShardReference) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.KeyRange != nil {
l = m.KeyRange.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2264,11 +2236,11 @@ func (m *ShardTabletControl) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.KeyRange != nil {
l = m.KeyRange.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.QueryServiceDisabled {
n += 2
@@ -2285,14 +2257,14 @@ func (m *ThrottledAppRule) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Ratio != 0 {
n += 9
}
if m.ExpiresAt != nil {
l = m.ExpiresAt.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Exempt {
n += 2
@@ -2310,7 +2282,7 @@ func (m *ThrottlerConfig_MetricNames) SizeVT() (n int) {
if len(m.Names) > 0 {
for _, s := range m.Names {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -2331,7 +2303,7 @@ func (m *ThrottlerConfig) SizeVT() (n int) {
}
l = len(m.CustomQuery)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CheckAsCheckSelf {
n += 2
@@ -2344,9 +2316,9 @@ func (m *ThrottlerConfig) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if len(m.AppCheckedMetrics) > 0 {
@@ -2357,17 +2329,17 @@ func (m *ThrottlerConfig) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if len(m.MetricThresholds) > 0 {
for k, v := range m.MetricThresholds {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + 8
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + 8
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -2381,18 +2353,18 @@ func (m *SrvKeyspace_KeyspacePartition) SizeVT() (n int) {
var l int
_ = l
if m.ServedType != 0 {
- n += 1 + sov(uint64(m.ServedType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ServedType))
}
if len(m.ShardReferences) > 0 {
for _, e := range m.ShardReferences {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ShardTabletControls) > 0 {
for _, e := range m.ShardTabletControls {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -2408,12 +2380,12 @@ func (m *SrvKeyspace) SizeVT() (n int) {
if len(m.Partitions) > 0 {
for _, e := range m.Partitions {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.ThrottlerConfig != nil {
l = m.ThrottlerConfig.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2427,11 +2399,11 @@ func (m *CellInfo) SizeVT() (n int) {
_ = l
l = len(m.ServerAddress)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Root)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2446,7 +2418,7 @@ func (m *CellsAlias) SizeVT() (n int) {
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -2461,15 +2433,15 @@ func (m *TopoConfig) SizeVT() (n int) {
_ = l
l = len(m.TopoType)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Server)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Root)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2483,7 +2455,7 @@ func (m *ExternalVitessCluster) SizeVT() (n int) {
_ = l
if m.TopoConfig != nil {
l = m.TopoConfig.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2498,19 +2470,13 @@ func (m *ExternalClusters) SizeVT() (n int) {
if len(m.VitessCluster) > 0 {
for _, e := range m.VitessCluster {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *KeyRange) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -2519,7 +2485,7 @@ func (m *KeyRange) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2547,7 +2513,7 @@ func (m *KeyRange) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2560,11 +2526,11 @@ func (m *KeyRange) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2581,7 +2547,7 @@ func (m *KeyRange) UnmarshalVT(dAtA []byte) error {
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2594,11 +2560,11 @@ func (m *KeyRange) UnmarshalVT(dAtA []byte) error {
}
}
if byteLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2610,12 +2576,12 @@ func (m *KeyRange) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2638,7 +2604,7 @@ func (m *TabletAlias) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2666,7 +2632,7 @@ func (m *TabletAlias) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2680,11 +2646,11 @@ func (m *TabletAlias) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2698,7 +2664,7 @@ func (m *TabletAlias) UnmarshalVT(dAtA []byte) error {
m.Uid = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2712,12 +2678,12 @@ func (m *TabletAlias) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2740,7 +2706,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2768,7 +2734,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2781,11 +2747,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2804,7 +2770,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2818,11 +2784,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2836,7 +2802,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2849,11 +2815,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2868,7 +2834,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2885,7 +2851,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2899,11 +2865,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -2913,7 +2879,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
} else if fieldNum == 2 {
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2927,12 +2893,12 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -2949,7 +2915,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2963,11 +2929,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2981,7 +2947,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2995,11 +2961,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3013,7 +2979,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3026,11 +2992,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3049,7 +3015,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
m.Type = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3068,7 +3034,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3082,11 +3048,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3100,7 +3066,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3113,11 +3079,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3132,7 +3098,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3149,7 +3115,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3163,11 +3129,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -3178,7 +3144,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3192,11 +3158,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
@@ -3205,12 +3171,12 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
iNdEx = postStringIndexmapvalue
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -3227,7 +3193,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3241,11 +3207,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3259,7 +3225,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
m.MysqlPort = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3278,7 +3244,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3291,11 +3257,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3314,7 +3280,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
m.DefaultConnCollation = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3328,12 +3294,12 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3356,7 +3322,7 @@ func (m *Shard_SourceShard) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3384,7 +3350,7 @@ func (m *Shard_SourceShard) UnmarshalVT(dAtA []byte) error {
m.Uid = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3403,7 +3369,7 @@ func (m *Shard_SourceShard) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3417,11 +3383,11 @@ func (m *Shard_SourceShard) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3435,7 +3401,7 @@ func (m *Shard_SourceShard) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3449,11 +3415,11 @@ func (m *Shard_SourceShard) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3467,7 +3433,7 @@ func (m *Shard_SourceShard) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3480,11 +3446,11 @@ func (m *Shard_SourceShard) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3503,7 +3469,7 @@ func (m *Shard_SourceShard) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3517,11 +3483,11 @@ func (m *Shard_SourceShard) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3530,12 +3496,12 @@ func (m *Shard_SourceShard) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3558,7 +3524,7 @@ func (m *Shard_TabletControl) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3586,7 +3552,7 @@ func (m *Shard_TabletControl) UnmarshalVT(dAtA []byte) error {
m.TabletType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3605,7 +3571,7 @@ func (m *Shard_TabletControl) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3619,11 +3585,11 @@ func (m *Shard_TabletControl) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3637,7 +3603,7 @@ func (m *Shard_TabletControl) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3651,11 +3617,11 @@ func (m *Shard_TabletControl) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3669,7 +3635,7 @@ func (m *Shard_TabletControl) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3684,12 +3650,12 @@ func (m *Shard_TabletControl) UnmarshalVT(dAtA []byte) error {
m.Frozen = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3712,7 +3678,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3740,7 +3706,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3753,11 +3719,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3776,7 +3742,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3789,11 +3755,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3812,7 +3778,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3825,11 +3791,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3846,7 +3812,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3859,11 +3825,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3880,7 +3846,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3900,7 +3866,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3913,11 +3879,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3931,12 +3897,12 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3959,7 +3925,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3987,7 +3953,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
m.KeyspaceType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4006,7 +3972,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4020,11 +3986,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4038,7 +4004,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4051,11 +4017,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4074,7 +4040,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4088,11 +4054,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4106,7 +4072,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4119,11 +4085,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4142,7 +4108,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4156,11 +4122,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4169,12 +4135,12 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4197,7 +4163,7 @@ func (m *ShardReplication_Node) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4225,7 +4191,7 @@ func (m *ShardReplication_Node) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4238,11 +4204,11 @@ func (m *ShardReplication_Node) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4256,12 +4222,12 @@ func (m *ShardReplication_Node) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4284,7 +4250,7 @@ func (m *ShardReplication) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4312,7 +4278,7 @@ func (m *ShardReplication) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4325,11 +4291,11 @@ func (m *ShardReplication) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4341,12 +4307,12 @@ func (m *ShardReplication) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4369,7 +4335,7 @@ func (m *ShardReplicationError) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4397,7 +4363,7 @@ func (m *ShardReplicationError) UnmarshalVT(dAtA []byte) error {
m.Type = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4416,7 +4382,7 @@ func (m *ShardReplicationError) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4429,11 +4395,11 @@ func (m *ShardReplicationError) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4447,12 +4413,12 @@ func (m *ShardReplicationError) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4475,7 +4441,7 @@ func (m *ShardReference) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4503,7 +4469,7 @@ func (m *ShardReference) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4517,11 +4483,11 @@ func (m *ShardReference) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4535,7 +4501,7 @@ func (m *ShardReference) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4548,11 +4514,11 @@ func (m *ShardReference) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4566,12 +4532,12 @@ func (m *ShardReference) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4594,7 +4560,7 @@ func (m *ShardTabletControl) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4622,7 +4588,7 @@ func (m *ShardTabletControl) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4636,11 +4602,11 @@ func (m *ShardTabletControl) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4654,7 +4620,7 @@ func (m *ShardTabletControl) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4667,11 +4633,11 @@ func (m *ShardTabletControl) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4690,7 +4656,7 @@ func (m *ShardTabletControl) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4705,12 +4671,12 @@ func (m *ShardTabletControl) UnmarshalVT(dAtA []byte) error {
m.QueryServiceDisabled = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4733,7 +4699,7 @@ func (m *ThrottledAppRule) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4761,7 +4727,7 @@ func (m *ThrottledAppRule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4775,11 +4741,11 @@ func (m *ThrottledAppRule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4804,7 +4770,7 @@ func (m *ThrottledAppRule) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4817,11 +4783,11 @@ func (m *ThrottledAppRule) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4840,7 +4806,7 @@ func (m *ThrottledAppRule) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4855,12 +4821,12 @@ func (m *ThrottledAppRule) UnmarshalVT(dAtA []byte) error {
m.Exempt = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4883,7 +4849,7 @@ func (m *ThrottlerConfig_MetricNames) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4911,7 +4877,7 @@ func (m *ThrottlerConfig_MetricNames) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4925,11 +4891,11 @@ func (m *ThrottlerConfig_MetricNames) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4938,12 +4904,12 @@ func (m *ThrottlerConfig_MetricNames) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4966,7 +4932,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4994,7 +4960,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5025,7 +4991,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5039,11 +5005,11 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5057,7 +5023,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5077,7 +5043,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5090,11 +5056,11 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5109,7 +5075,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5126,7 +5092,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5140,11 +5106,11 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -5155,7 +5121,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5168,11 +5134,11 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -5184,12 +5150,12 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -5206,7 +5172,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5219,11 +5185,11 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5238,7 +5204,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5255,7 +5221,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5269,11 +5235,11 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -5284,7 +5250,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5297,11 +5263,11 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -5313,12 +5279,12 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -5335,7 +5301,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5348,11 +5314,11 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5367,7 +5333,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5384,7 +5350,7 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5398,11 +5364,11 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -5419,12 +5385,12 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
mapvalue = math.Float64frombits(mapvaluetemp)
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -5436,12 +5402,12 @@ func (m *ThrottlerConfig) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5464,7 +5430,7 @@ func (m *SrvKeyspace_KeyspacePartition) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5492,7 +5458,7 @@ func (m *SrvKeyspace_KeyspacePartition) UnmarshalVT(dAtA []byte) error {
m.ServedType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5511,7 +5477,7 @@ func (m *SrvKeyspace_KeyspacePartition) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5524,11 +5490,11 @@ func (m *SrvKeyspace_KeyspacePartition) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5545,7 +5511,7 @@ func (m *SrvKeyspace_KeyspacePartition) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5558,11 +5524,11 @@ func (m *SrvKeyspace_KeyspacePartition) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5574,12 +5540,12 @@ func (m *SrvKeyspace_KeyspacePartition) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5602,7 +5568,7 @@ func (m *SrvKeyspace) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5630,7 +5596,7 @@ func (m *SrvKeyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5643,11 +5609,11 @@ func (m *SrvKeyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5664,7 +5630,7 @@ func (m *SrvKeyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5677,11 +5643,11 @@ func (m *SrvKeyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5695,12 +5661,12 @@ func (m *SrvKeyspace) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5723,7 +5689,7 @@ func (m *CellInfo) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5751,7 +5717,7 @@ func (m *CellInfo) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5765,11 +5731,11 @@ func (m *CellInfo) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5783,7 +5749,7 @@ func (m *CellInfo) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5797,11 +5763,11 @@ func (m *CellInfo) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5810,12 +5776,12 @@ func (m *CellInfo) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5838,7 +5804,7 @@ func (m *CellsAlias) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5866,7 +5832,7 @@ func (m *CellsAlias) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5880,11 +5846,11 @@ func (m *CellsAlias) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5893,12 +5859,12 @@ func (m *CellsAlias) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5921,7 +5887,7 @@ func (m *TopoConfig) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5949,7 +5915,7 @@ func (m *TopoConfig) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5963,11 +5929,11 @@ func (m *TopoConfig) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5981,7 +5947,7 @@ func (m *TopoConfig) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5995,11 +5961,11 @@ func (m *TopoConfig) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6013,7 +5979,7 @@ func (m *TopoConfig) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6027,11 +5993,11 @@ func (m *TopoConfig) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6040,12 +6006,12 @@ func (m *TopoConfig) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -6068,7 +6034,7 @@ func (m *ExternalVitessCluster) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6096,7 +6062,7 @@ func (m *ExternalVitessCluster) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6109,11 +6075,11 @@ func (m *ExternalVitessCluster) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6127,12 +6093,12 @@ func (m *ExternalVitessCluster) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -6155,7 +6121,7 @@ func (m *ExternalClusters) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6183,7 +6149,7 @@ func (m *ExternalClusters) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6196,11 +6162,11 @@ func (m *ExternalClusters) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6212,12 +6178,12 @@ func (m *ExternalClusters) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -6232,88 +6198,3 @@ func (m *ExternalClusters) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/vschema/vschema_vtproto.pb.go b/go/vt/proto/vschema/vschema_vtproto.pb.go
index 1951f430a15..54347631260 100644
--- a/go/vt/proto/vschema/vschema_vtproto.pb.go
+++ b/go/vt/proto/vschema/vschema_vtproto.pb.go
@@ -1,5 +1,5 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: vschema.proto
package vschema
@@ -7,11 +7,11 @@ package vschema
import (
binary "encoding/binary"
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
math "math"
- bits "math/bits"
query "vitess.io/vitess/go/vt/proto/query"
)
@@ -26,7 +26,7 @@ func (m *RoutingRules) CloneVT() *RoutingRules {
if m == nil {
return (*RoutingRules)(nil)
}
- r := &RoutingRules{}
+ r := new(RoutingRules)
if rhs := m.Rules; rhs != nil {
tmpContainer := make([]*RoutingRule, len(rhs))
for k, v := range rhs {
@@ -49,9 +49,8 @@ func (m *RoutingRule) CloneVT() *RoutingRule {
if m == nil {
return (*RoutingRule)(nil)
}
- r := &RoutingRule{
- FromTable: m.FromTable,
- }
+ r := new(RoutingRule)
+ r.FromTable = m.FromTable
if rhs := m.ToTables; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -72,12 +71,11 @@ func (m *Keyspace) CloneVT() *Keyspace {
if m == nil {
return (*Keyspace)(nil)
}
- r := &Keyspace{
- Sharded: m.Sharded,
- RequireExplicitRouting: m.RequireExplicitRouting,
- ForeignKeyMode: m.ForeignKeyMode,
- MultiTenantSpec: m.MultiTenantSpec.CloneVT(),
- }
+ r := new(Keyspace)
+ r.Sharded = m.Sharded
+ r.RequireExplicitRouting = m.RequireExplicitRouting
+ r.ForeignKeyMode = m.ForeignKeyMode
+ r.MultiTenantSpec = m.MultiTenantSpec.CloneVT()
if rhs := m.Vindexes; rhs != nil {
tmpContainer := make(map[string]*Vindex, len(rhs))
for k, v := range rhs {
@@ -107,10 +105,9 @@ func (m *MultiTenantSpec) CloneVT() *MultiTenantSpec {
if m == nil {
return (*MultiTenantSpec)(nil)
}
- r := &MultiTenantSpec{
- TenantIdColumnName: m.TenantIdColumnName,
- TenantIdColumnType: m.TenantIdColumnType,
- }
+ r := new(MultiTenantSpec)
+ r.TenantIdColumnName = m.TenantIdColumnName
+ r.TenantIdColumnType = m.TenantIdColumnType
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -126,10 +123,9 @@ func (m *Vindex) CloneVT() *Vindex {
if m == nil {
return (*Vindex)(nil)
}
- r := &Vindex{
- Type: m.Type,
- Owner: m.Owner,
- }
+ r := new(Vindex)
+ r.Type = m.Type
+ r.Owner = m.Owner
if rhs := m.Params; rhs != nil {
tmpContainer := make(map[string]string, len(rhs))
for k, v := range rhs {
@@ -152,13 +148,12 @@ func (m *Table) CloneVT() *Table {
if m == nil {
return (*Table)(nil)
}
- r := &Table{
- Type: m.Type,
- AutoIncrement: m.AutoIncrement.CloneVT(),
- Pinned: m.Pinned,
- ColumnListAuthoritative: m.ColumnListAuthoritative,
- Source: m.Source,
- }
+ r := new(Table)
+ r.Type = m.Type
+ r.AutoIncrement = m.AutoIncrement.CloneVT()
+ r.Pinned = m.Pinned
+ r.ColumnListAuthoritative = m.ColumnListAuthoritative
+ r.Source = m.Source
if rhs := m.ColumnVindexes; rhs != nil {
tmpContainer := make([]*ColumnVindex, len(rhs))
for k, v := range rhs {
@@ -188,10 +183,9 @@ func (m *ColumnVindex) CloneVT() *ColumnVindex {
if m == nil {
return (*ColumnVindex)(nil)
}
- r := &ColumnVindex{
- Column: m.Column,
- Name: m.Name,
- }
+ r := new(ColumnVindex)
+ r.Column = m.Column
+ r.Name = m.Name
if rhs := m.Columns; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -212,10 +206,9 @@ func (m *AutoIncrement) CloneVT() *AutoIncrement {
if m == nil {
return (*AutoIncrement)(nil)
}
- r := &AutoIncrement{
- Column: m.Column,
- Sequence: m.Sequence,
- }
+ r := new(AutoIncrement)
+ r.Column = m.Column
+ r.Sequence = m.Sequence
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -231,15 +224,14 @@ func (m *Column) CloneVT() *Column {
if m == nil {
return (*Column)(nil)
}
- r := &Column{
- Name: m.Name,
- Type: m.Type,
- Invisible: m.Invisible,
- Default: m.Default,
- CollationName: m.CollationName,
- Size: m.Size,
- Scale: m.Scale,
- }
+ r := new(Column)
+ r.Name = m.Name
+ r.Type = m.Type
+ r.Invisible = m.Invisible
+ r.Default = m.Default
+ r.CollationName = m.CollationName
+ r.Size = m.Size
+ r.Scale = m.Scale
if rhs := m.Nullable; rhs != nil {
tmpVal := *rhs
r.Nullable = &tmpVal
@@ -264,12 +256,11 @@ func (m *SrvVSchema) CloneVT() *SrvVSchema {
if m == nil {
return (*SrvVSchema)(nil)
}
- r := &SrvVSchema{
- RoutingRules: m.RoutingRules.CloneVT(),
- ShardRoutingRules: m.ShardRoutingRules.CloneVT(),
- KeyspaceRoutingRules: m.KeyspaceRoutingRules.CloneVT(),
- MirrorRules: m.MirrorRules.CloneVT(),
- }
+ r := new(SrvVSchema)
+ r.RoutingRules = m.RoutingRules.CloneVT()
+ r.ShardRoutingRules = m.ShardRoutingRules.CloneVT()
+ r.KeyspaceRoutingRules = m.KeyspaceRoutingRules.CloneVT()
+ r.MirrorRules = m.MirrorRules.CloneVT()
if rhs := m.Keyspaces; rhs != nil {
tmpContainer := make(map[string]*Keyspace, len(rhs))
for k, v := range rhs {
@@ -292,7 +283,7 @@ func (m *ShardRoutingRules) CloneVT() *ShardRoutingRules {
if m == nil {
return (*ShardRoutingRules)(nil)
}
- r := &ShardRoutingRules{}
+ r := new(ShardRoutingRules)
if rhs := m.Rules; rhs != nil {
tmpContainer := make([]*ShardRoutingRule, len(rhs))
for k, v := range rhs {
@@ -315,11 +306,10 @@ func (m *ShardRoutingRule) CloneVT() *ShardRoutingRule {
if m == nil {
return (*ShardRoutingRule)(nil)
}
- r := &ShardRoutingRule{
- FromKeyspace: m.FromKeyspace,
- ToKeyspace: m.ToKeyspace,
- Shard: m.Shard,
- }
+ r := new(ShardRoutingRule)
+ r.FromKeyspace = m.FromKeyspace
+ r.ToKeyspace = m.ToKeyspace
+ r.Shard = m.Shard
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -335,7 +325,7 @@ func (m *KeyspaceRoutingRules) CloneVT() *KeyspaceRoutingRules {
if m == nil {
return (*KeyspaceRoutingRules)(nil)
}
- r := &KeyspaceRoutingRules{}
+ r := new(KeyspaceRoutingRules)
if rhs := m.Rules; rhs != nil {
tmpContainer := make([]*KeyspaceRoutingRule, len(rhs))
for k, v := range rhs {
@@ -358,10 +348,9 @@ func (m *KeyspaceRoutingRule) CloneVT() *KeyspaceRoutingRule {
if m == nil {
return (*KeyspaceRoutingRule)(nil)
}
- r := &KeyspaceRoutingRule{
- FromKeyspace: m.FromKeyspace,
- ToKeyspace: m.ToKeyspace,
- }
+ r := new(KeyspaceRoutingRule)
+ r.FromKeyspace = m.FromKeyspace
+ r.ToKeyspace = m.ToKeyspace
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -377,7 +366,7 @@ func (m *MirrorRules) CloneVT() *MirrorRules {
if m == nil {
return (*MirrorRules)(nil)
}
- r := &MirrorRules{}
+ r := new(MirrorRules)
if rhs := m.Rules; rhs != nil {
tmpContainer := make([]*MirrorRule, len(rhs))
for k, v := range rhs {
@@ -400,11 +389,10 @@ func (m *MirrorRule) CloneVT() *MirrorRule {
if m == nil {
return (*MirrorRule)(nil)
}
- r := &MirrorRule{
- FromTable: m.FromTable,
- ToTable: m.ToTable,
- Percent: m.Percent,
- }
+ r := new(MirrorRule)
+ r.FromTable = m.FromTable
+ r.ToTable = m.ToTable
+ r.Percent = m.Percent
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -453,7 +441,7 @@ func (m *RoutingRules) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -495,7 +483,7 @@ func (m *RoutingRule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ToTables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ToTables[iNdEx])
copy(dAtA[i:], m.ToTables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ToTables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ToTables[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -503,7 +491,7 @@ func (m *RoutingRule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.FromTable) > 0 {
i -= len(m.FromTable)
copy(dAtA[i:], m.FromTable)
- i = encodeVarint(dAtA, i, uint64(len(m.FromTable)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FromTable)))
i--
dAtA[i] = 0xa
}
@@ -546,12 +534,12 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
if m.ForeignKeyMode != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ForeignKeyMode))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ForeignKeyMode))
i--
dAtA[i] = 0x28
}
@@ -574,15 +562,15 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x1a
}
@@ -596,15 +584,15 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -653,14 +641,14 @@ func (m *MultiTenantSpec) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.TenantIdColumnType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TenantIdColumnType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TenantIdColumnType))
i--
dAtA[i] = 0x10
}
if len(m.TenantIdColumnName) > 0 {
i -= len(m.TenantIdColumnName)
copy(dAtA[i:], m.TenantIdColumnName)
- i = encodeVarint(dAtA, i, uint64(len(m.TenantIdColumnName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TenantIdColumnName)))
i--
dAtA[i] = 0xa
}
@@ -700,7 +688,7 @@ func (m *Vindex) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Owner) > 0 {
i -= len(m.Owner)
copy(dAtA[i:], m.Owner)
- i = encodeVarint(dAtA, i, uint64(len(m.Owner)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Owner)))
i--
dAtA[i] = 0x1a
}
@@ -710,15 +698,15 @@ func (m *Vindex) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
baseI := i
i -= len(v)
copy(dAtA[i:], v)
- i = encodeVarint(dAtA, i, uint64(len(v)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -726,7 +714,7 @@ func (m *Vindex) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Type) > 0 {
i -= len(m.Type)
copy(dAtA[i:], m.Type)
- i = encodeVarint(dAtA, i, uint64(len(m.Type)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Type)))
i--
dAtA[i] = 0xa
}
@@ -766,7 +754,7 @@ func (m *Table) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Source) > 0 {
i -= len(m.Source)
copy(dAtA[i:], m.Source)
- i = encodeVarint(dAtA, i, uint64(len(m.Source)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Source)))
i--
dAtA[i] = 0x3a
}
@@ -783,7 +771,7 @@ func (m *Table) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Pinned) > 0 {
i -= len(m.Pinned)
copy(dAtA[i:], m.Pinned)
- i = encodeVarint(dAtA, i, uint64(len(m.Pinned)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Pinned)))
i--
dAtA[i] = 0x2a
}
@@ -794,7 +782,7 @@ func (m *Table) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -805,7 +793,7 @@ func (m *Table) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -816,7 +804,7 @@ func (m *Table) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -824,7 +812,7 @@ func (m *Table) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Type) > 0 {
i -= len(m.Type)
copy(dAtA[i:], m.Type)
- i = encodeVarint(dAtA, i, uint64(len(m.Type)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Type)))
i--
dAtA[i] = 0xa
}
@@ -865,7 +853,7 @@ func (m *ColumnVindex) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Columns) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Columns[iNdEx])
copy(dAtA[i:], m.Columns[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Columns[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Columns[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -873,14 +861,14 @@ func (m *ColumnVindex) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x12
}
if len(m.Column) > 0 {
i -= len(m.Column)
copy(dAtA[i:], m.Column)
- i = encodeVarint(dAtA, i, uint64(len(m.Column)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Column)))
i--
dAtA[i] = 0xa
}
@@ -920,14 +908,14 @@ func (m *AutoIncrement) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Sequence) > 0 {
i -= len(m.Sequence)
copy(dAtA[i:], m.Sequence)
- i = encodeVarint(dAtA, i, uint64(len(m.Sequence)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Sequence)))
i--
dAtA[i] = 0x12
}
if len(m.Column) > 0 {
i -= len(m.Column)
copy(dAtA[i:], m.Column)
- i = encodeVarint(dAtA, i, uint64(len(m.Column)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Column)))
i--
dAtA[i] = 0xa
}
@@ -968,7 +956,7 @@ func (m *Column) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Values) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Values[iNdEx])
copy(dAtA[i:], m.Values[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Values[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Values[iNdEx])))
i--
dAtA[i] = 0x4a
}
@@ -984,26 +972,26 @@ func (m *Column) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x40
}
if m.Scale != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Scale))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Scale))
i--
dAtA[i] = 0x38
}
if m.Size != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Size))
i--
dAtA[i] = 0x30
}
if len(m.CollationName) > 0 {
i -= len(m.CollationName)
copy(dAtA[i:], m.CollationName)
- i = encodeVarint(dAtA, i, uint64(len(m.CollationName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CollationName)))
i--
dAtA[i] = 0x2a
}
if len(m.Default) > 0 {
i -= len(m.Default)
copy(dAtA[i:], m.Default)
- i = encodeVarint(dAtA, i, uint64(len(m.Default)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Default)))
i--
dAtA[i] = 0x22
}
@@ -1018,14 +1006,14 @@ func (m *Column) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x18
}
if m.Type != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Type))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type))
i--
dAtA[i] = 0x10
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -1068,7 +1056,7 @@ func (m *SrvVSchema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -1078,7 +1066,7 @@ func (m *SrvVSchema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -1088,7 +1076,7 @@ func (m *SrvVSchema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1098,7 +1086,7 @@ func (m *SrvVSchema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1111,15 +1099,15 @@ func (m *SrvVSchema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -1164,7 +1152,7 @@ func (m *ShardRoutingRules) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1205,21 +1193,21 @@ func (m *ShardRoutingRule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.ToKeyspace) > 0 {
i -= len(m.ToKeyspace)
copy(dAtA[i:], m.ToKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.ToKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ToKeyspace)))
i--
dAtA[i] = 0x12
}
if len(m.FromKeyspace) > 0 {
i -= len(m.FromKeyspace)
copy(dAtA[i:], m.FromKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.FromKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FromKeyspace)))
i--
dAtA[i] = 0xa
}
@@ -1263,7 +1251,7 @@ func (m *KeyspaceRoutingRules) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1304,14 +1292,14 @@ func (m *KeyspaceRoutingRule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ToKeyspace) > 0 {
i -= len(m.ToKeyspace)
copy(dAtA[i:], m.ToKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.ToKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ToKeyspace)))
i--
dAtA[i] = 0x12
}
if len(m.FromKeyspace) > 0 {
i -= len(m.FromKeyspace)
copy(dAtA[i:], m.FromKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.FromKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FromKeyspace)))
i--
dAtA[i] = 0xa
}
@@ -1355,7 +1343,7 @@ func (m *MirrorRules) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1402,31 +1390,20 @@ func (m *MirrorRule) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ToTable) > 0 {
i -= len(m.ToTable)
copy(dAtA[i:], m.ToTable)
- i = encodeVarint(dAtA, i, uint64(len(m.ToTable)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ToTable)))
i--
dAtA[i] = 0x12
}
if len(m.FromTable) > 0 {
i -= len(m.FromTable)
copy(dAtA[i:], m.FromTable)
- i = encodeVarint(dAtA, i, uint64(len(m.FromTable)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FromTable)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *RoutingRules) SizeVT() (n int) {
if m == nil {
return 0
@@ -1436,7 +1413,7 @@ func (m *RoutingRules) SizeVT() (n int) {
if len(m.Rules) > 0 {
for _, e := range m.Rules {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -1451,12 +1428,12 @@ func (m *RoutingRule) SizeVT() (n int) {
_ = l
l = len(m.FromTable)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ToTables) > 0 {
for _, s := range m.ToTables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -1480,9 +1457,9 @@ func (m *Keyspace) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if len(m.Tables) > 0 {
@@ -1493,20 +1470,20 @@ func (m *Keyspace) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if m.RequireExplicitRouting {
n += 2
}
if m.ForeignKeyMode != 0 {
- n += 1 + sov(uint64(m.ForeignKeyMode))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ForeignKeyMode))
}
if m.MultiTenantSpec != nil {
l = m.MultiTenantSpec.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1520,10 +1497,10 @@ func (m *MultiTenantSpec) SizeVT() (n int) {
_ = l
l = len(m.TenantIdColumnName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TenantIdColumnType != 0 {
- n += 1 + sov(uint64(m.TenantIdColumnType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TenantIdColumnType))
}
n += len(m.unknownFields)
return n
@@ -1537,19 +1514,19 @@ func (m *Vindex) SizeVT() (n int) {
_ = l
l = len(m.Type)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Params) > 0 {
for k, v := range m.Params {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v)))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
l = len(m.Owner)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1563,34 +1540,34 @@ func (m *Table) SizeVT() (n int) {
_ = l
l = len(m.Type)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ColumnVindexes) > 0 {
for _, e := range m.ColumnVindexes {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.AutoIncrement != nil {
l = m.AutoIncrement.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Columns) > 0 {
for _, e := range m.Columns {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.Pinned)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ColumnListAuthoritative {
n += 2
}
l = len(m.Source)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1604,16 +1581,16 @@ func (m *ColumnVindex) SizeVT() (n int) {
_ = l
l = len(m.Column)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Columns) > 0 {
for _, s := range m.Columns {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -1628,11 +1605,11 @@ func (m *AutoIncrement) SizeVT() (n int) {
_ = l
l = len(m.Column)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Sequence)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1646,27 +1623,27 @@ func (m *Column) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Type != 0 {
- n += 1 + sov(uint64(m.Type))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Type))
}
if m.Invisible {
n += 2
}
l = len(m.Default)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.CollationName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Size != 0 {
- n += 1 + sov(uint64(m.Size))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Size))
}
if m.Scale != 0 {
- n += 1 + sov(uint64(m.Scale))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Scale))
}
if m.Nullable != nil {
n += 2
@@ -1674,7 +1651,7 @@ func (m *Column) SizeVT() (n int) {
if len(m.Values) > 0 {
for _, s := range m.Values {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -1695,26 +1672,26 @@ func (m *SrvVSchema) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if m.RoutingRules != nil {
l = m.RoutingRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ShardRoutingRules != nil {
l = m.ShardRoutingRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.KeyspaceRoutingRules != nil {
l = m.KeyspaceRoutingRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MirrorRules != nil {
l = m.MirrorRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1729,7 +1706,7 @@ func (m *ShardRoutingRules) SizeVT() (n int) {
if len(m.Rules) > 0 {
for _, e := range m.Rules {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -1744,15 +1721,15 @@ func (m *ShardRoutingRule) SizeVT() (n int) {
_ = l
l = len(m.FromKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ToKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1767,7 +1744,7 @@ func (m *KeyspaceRoutingRules) SizeVT() (n int) {
if len(m.Rules) > 0 {
for _, e := range m.Rules {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -1782,11 +1759,11 @@ func (m *KeyspaceRoutingRule) SizeVT() (n int) {
_ = l
l = len(m.FromKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ToKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -1801,7 +1778,7 @@ func (m *MirrorRules) SizeVT() (n int) {
if len(m.Rules) > 0 {
for _, e := range m.Rules {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -1816,11 +1793,11 @@ func (m *MirrorRule) SizeVT() (n int) {
_ = l
l = len(m.FromTable)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ToTable)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Percent != 0 {
n += 5
@@ -1829,12 +1806,6 @@ func (m *MirrorRule) SizeVT() (n int) {
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *RoutingRules) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -1843,7 +1814,7 @@ func (m *RoutingRules) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1871,7 +1842,7 @@ func (m *RoutingRules) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1884,11 +1855,11 @@ func (m *RoutingRules) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1900,12 +1871,12 @@ func (m *RoutingRules) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1928,7 +1899,7 @@ func (m *RoutingRule) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1956,7 +1927,7 @@ func (m *RoutingRule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1970,11 +1941,11 @@ func (m *RoutingRule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -1988,7 +1959,7 @@ func (m *RoutingRule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2002,11 +1973,11 @@ func (m *RoutingRule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2015,12 +1986,12 @@ func (m *RoutingRule) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2043,7 +2014,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2071,7 +2042,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2091,7 +2062,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2104,11 +2075,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2123,7 +2094,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2140,7 +2111,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2154,11 +2125,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -2169,7 +2140,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2182,11 +2153,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -2198,12 +2169,12 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -2220,7 +2191,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2233,11 +2204,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2252,7 +2223,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2269,7 +2240,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2283,11 +2254,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -2298,7 +2269,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2311,11 +2282,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -2327,12 +2298,12 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -2349,7 +2320,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2369,7 +2340,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
m.ForeignKeyMode = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2388,7 +2359,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2401,11 +2372,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2419,12 +2390,12 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2447,7 +2418,7 @@ func (m *MultiTenantSpec) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2475,7 +2446,7 @@ func (m *MultiTenantSpec) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2489,11 +2460,11 @@ func (m *MultiTenantSpec) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2507,7 +2478,7 @@ func (m *MultiTenantSpec) UnmarshalVT(dAtA []byte) error {
m.TenantIdColumnType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2521,12 +2492,12 @@ func (m *MultiTenantSpec) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2549,7 +2520,7 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2577,7 +2548,7 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2591,11 +2562,11 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2609,7 +2580,7 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2622,11 +2593,11 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2641,7 +2612,7 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2658,7 +2629,7 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2672,11 +2643,11 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -2687,7 +2658,7 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2701,11 +2672,11 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
@@ -2714,12 +2685,12 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
iNdEx = postStringIndexmapvalue
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -2736,7 +2707,7 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2750,11 +2721,11 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2763,12 +2734,12 @@ func (m *Vindex) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2791,7 +2762,7 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2819,7 +2790,7 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2833,11 +2804,11 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2851,7 +2822,7 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2864,11 +2835,11 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2885,7 +2856,7 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2898,11 +2869,11 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2921,7 +2892,7 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2934,11 +2905,11 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2955,7 +2926,7 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2969,11 +2940,11 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2987,7 +2958,7 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3007,7 +2978,7 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3021,11 +2992,11 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3034,12 +3005,12 @@ func (m *Table) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3062,7 +3033,7 @@ func (m *ColumnVindex) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3090,7 +3061,7 @@ func (m *ColumnVindex) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3104,11 +3075,11 @@ func (m *ColumnVindex) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3122,7 +3093,7 @@ func (m *ColumnVindex) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3136,11 +3107,11 @@ func (m *ColumnVindex) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3154,7 +3125,7 @@ func (m *ColumnVindex) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3168,11 +3139,11 @@ func (m *ColumnVindex) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3181,12 +3152,12 @@ func (m *ColumnVindex) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3209,7 +3180,7 @@ func (m *AutoIncrement) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3237,7 +3208,7 @@ func (m *AutoIncrement) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3251,11 +3222,11 @@ func (m *AutoIncrement) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3269,7 +3240,7 @@ func (m *AutoIncrement) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3283,11 +3254,11 @@ func (m *AutoIncrement) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3296,12 +3267,12 @@ func (m *AutoIncrement) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3324,7 +3295,7 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3352,7 +3323,7 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3366,11 +3337,11 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3384,7 +3355,7 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
m.Type = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3403,7 +3374,7 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3423,7 +3394,7 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3437,11 +3408,11 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3455,7 +3426,7 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3469,11 +3440,11 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3487,7 +3458,7 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
m.Size = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3506,7 +3477,7 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
m.Scale = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3525,7 +3496,7 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3546,7 +3517,7 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3560,11 +3531,11 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3573,12 +3544,12 @@ func (m *Column) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3601,7 +3572,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3629,7 +3600,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3642,11 +3613,11 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3661,7 +3632,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3678,7 +3649,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3692,11 +3663,11 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -3707,7 +3678,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3720,11 +3691,11 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -3736,12 +3707,12 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -3758,7 +3729,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3771,11 +3742,11 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3794,7 +3765,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3807,11 +3778,11 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3830,7 +3801,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3843,11 +3814,11 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3866,7 +3837,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3879,11 +3850,11 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3897,12 +3868,12 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3925,7 +3896,7 @@ func (m *ShardRoutingRules) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3953,7 +3924,7 @@ func (m *ShardRoutingRules) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3966,11 +3937,11 @@ func (m *ShardRoutingRules) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3982,12 +3953,12 @@ func (m *ShardRoutingRules) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4010,7 +3981,7 @@ func (m *ShardRoutingRule) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4038,7 +4009,7 @@ func (m *ShardRoutingRule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4052,11 +4023,11 @@ func (m *ShardRoutingRule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4070,7 +4041,7 @@ func (m *ShardRoutingRule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4084,11 +4055,11 @@ func (m *ShardRoutingRule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4102,7 +4073,7 @@ func (m *ShardRoutingRule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4116,11 +4087,11 @@ func (m *ShardRoutingRule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4129,12 +4100,12 @@ func (m *ShardRoutingRule) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4157,7 +4128,7 @@ func (m *KeyspaceRoutingRules) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4185,7 +4156,7 @@ func (m *KeyspaceRoutingRules) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4198,11 +4169,11 @@ func (m *KeyspaceRoutingRules) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4214,12 +4185,12 @@ func (m *KeyspaceRoutingRules) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4242,7 +4213,7 @@ func (m *KeyspaceRoutingRule) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4270,7 +4241,7 @@ func (m *KeyspaceRoutingRule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4284,11 +4255,11 @@ func (m *KeyspaceRoutingRule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4302,7 +4273,7 @@ func (m *KeyspaceRoutingRule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4316,11 +4287,11 @@ func (m *KeyspaceRoutingRule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4329,12 +4300,12 @@ func (m *KeyspaceRoutingRule) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4357,7 +4328,7 @@ func (m *MirrorRules) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4385,7 +4356,7 @@ func (m *MirrorRules) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4398,11 +4369,11 @@ func (m *MirrorRules) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4414,12 +4385,12 @@ func (m *MirrorRules) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4442,7 +4413,7 @@ func (m *MirrorRule) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4470,7 +4441,7 @@ func (m *MirrorRule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4484,11 +4455,11 @@ func (m *MirrorRule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4502,7 +4473,7 @@ func (m *MirrorRule) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4516,11 +4487,11 @@ func (m *MirrorRule) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4540,12 +4511,12 @@ func (m *MirrorRule) UnmarshalVT(dAtA []byte) error {
m.Percent = float32(math.Float32frombits(v))
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4560,88 +4531,3 @@ func (m *MirrorRule) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/vtadmin/vtadmin.pb.go b/go/vt/proto/vtadmin/vtadmin.pb.go
index 303af932adf..85c7efee1b4 100644
--- a/go/vt/proto/vtadmin/vtadmin.pb.go
+++ b/go/vt/proto/vtadmin/vtadmin.pb.go
@@ -3629,6 +3629,61 @@ func (x *GetTopologyPathRequest) GetPath() string {
return ""
}
+type GetUnresolvedTransactionsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClusterId string `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+ Keyspace string `protobuf:"bytes,2,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
+}
+
+func (x *GetUnresolvedTransactionsRequest) Reset() {
+ *x = GetUnresolvedTransactionsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_vtadmin_proto_msgTypes[62]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetUnresolvedTransactionsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetUnresolvedTransactionsRequest) ProtoMessage() {}
+
+func (x *GetUnresolvedTransactionsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_vtadmin_proto_msgTypes[62]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetUnresolvedTransactionsRequest.ProtoReflect.Descriptor instead.
+func (*GetUnresolvedTransactionsRequest) Descriptor() ([]byte, []int) {
+ return file_vtadmin_proto_rawDescGZIP(), []int{62}
+}
+
+func (x *GetUnresolvedTransactionsRequest) GetClusterId() string {
+ if x != nil {
+ return x.ClusterId
+ }
+ return ""
+}
+
+func (x *GetUnresolvedTransactionsRequest) GetKeyspace() string {
+ if x != nil {
+ return x.Keyspace
+ }
+ return ""
+}
+
type GetVSchemaRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -3641,7 +3696,7 @@ type GetVSchemaRequest struct {
func (x *GetVSchemaRequest) Reset() {
*x = GetVSchemaRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[62]
+ mi := &file_vtadmin_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3654,7 +3709,7 @@ func (x *GetVSchemaRequest) String() string {
func (*GetVSchemaRequest) ProtoMessage() {}
func (x *GetVSchemaRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[62]
+ mi := &file_vtadmin_proto_msgTypes[63]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3667,7 +3722,7 @@ func (x *GetVSchemaRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetVSchemaRequest.ProtoReflect.Descriptor instead.
func (*GetVSchemaRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{62}
+ return file_vtadmin_proto_rawDescGZIP(), []int{63}
}
func (x *GetVSchemaRequest) GetClusterId() string {
@@ -3695,7 +3750,7 @@ type GetVSchemasRequest struct {
func (x *GetVSchemasRequest) Reset() {
*x = GetVSchemasRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[63]
+ mi := &file_vtadmin_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3708,7 +3763,7 @@ func (x *GetVSchemasRequest) String() string {
func (*GetVSchemasRequest) ProtoMessage() {}
func (x *GetVSchemasRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[63]
+ mi := &file_vtadmin_proto_msgTypes[64]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3721,7 +3776,7 @@ func (x *GetVSchemasRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetVSchemasRequest.ProtoReflect.Descriptor instead.
func (*GetVSchemasRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{63}
+ return file_vtadmin_proto_rawDescGZIP(), []int{64}
}
func (x *GetVSchemasRequest) GetClusterIds() []string {
@@ -3742,7 +3797,7 @@ type GetVSchemasResponse struct {
func (x *GetVSchemasResponse) Reset() {
*x = GetVSchemasResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[64]
+ mi := &file_vtadmin_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3755,7 +3810,7 @@ func (x *GetVSchemasResponse) String() string {
func (*GetVSchemasResponse) ProtoMessage() {}
func (x *GetVSchemasResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[64]
+ mi := &file_vtadmin_proto_msgTypes[65]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3768,7 +3823,7 @@ func (x *GetVSchemasResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetVSchemasResponse.ProtoReflect.Descriptor instead.
func (*GetVSchemasResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{64}
+ return file_vtadmin_proto_rawDescGZIP(), []int{65}
}
func (x *GetVSchemasResponse) GetVSchemas() []*VSchema {
@@ -3789,7 +3844,7 @@ type GetVtctldsRequest struct {
func (x *GetVtctldsRequest) Reset() {
*x = GetVtctldsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[65]
+ mi := &file_vtadmin_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3802,7 +3857,7 @@ func (x *GetVtctldsRequest) String() string {
func (*GetVtctldsRequest) ProtoMessage() {}
func (x *GetVtctldsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[65]
+ mi := &file_vtadmin_proto_msgTypes[66]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3815,7 +3870,7 @@ func (x *GetVtctldsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetVtctldsRequest.ProtoReflect.Descriptor instead.
func (*GetVtctldsRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{65}
+ return file_vtadmin_proto_rawDescGZIP(), []int{66}
}
func (x *GetVtctldsRequest) GetClusterIds() []string {
@@ -3836,7 +3891,7 @@ type GetVtctldsResponse struct {
func (x *GetVtctldsResponse) Reset() {
*x = GetVtctldsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[66]
+ mi := &file_vtadmin_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3849,7 +3904,7 @@ func (x *GetVtctldsResponse) String() string {
func (*GetVtctldsResponse) ProtoMessage() {}
func (x *GetVtctldsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[66]
+ mi := &file_vtadmin_proto_msgTypes[67]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3862,7 +3917,7 @@ func (x *GetVtctldsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetVtctldsResponse.ProtoReflect.Descriptor instead.
func (*GetVtctldsResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{66}
+ return file_vtadmin_proto_rawDescGZIP(), []int{67}
}
func (x *GetVtctldsResponse) GetVtctlds() []*Vtctld {
@@ -3886,7 +3941,7 @@ type GetWorkflowRequest struct {
func (x *GetWorkflowRequest) Reset() {
*x = GetWorkflowRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[67]
+ mi := &file_vtadmin_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3899,7 +3954,7 @@ func (x *GetWorkflowRequest) String() string {
func (*GetWorkflowRequest) ProtoMessage() {}
func (x *GetWorkflowRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[67]
+ mi := &file_vtadmin_proto_msgTypes[68]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3912,7 +3967,7 @@ func (x *GetWorkflowRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetWorkflowRequest.ProtoReflect.Descriptor instead.
func (*GetWorkflowRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{67}
+ return file_vtadmin_proto_rawDescGZIP(), []int{68}
}
func (x *GetWorkflowRequest) GetClusterId() string {
@@ -3943,6 +3998,195 @@ func (x *GetWorkflowRequest) GetActiveOnly() bool {
return false
}
+type GetWorkflowStatusRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClusterId string `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+ Keyspace string `protobuf:"bytes,2,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
+ Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
+}
+
+func (x *GetWorkflowStatusRequest) Reset() {
+ *x = GetWorkflowStatusRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_vtadmin_proto_msgTypes[69]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetWorkflowStatusRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetWorkflowStatusRequest) ProtoMessage() {}
+
+func (x *GetWorkflowStatusRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_vtadmin_proto_msgTypes[69]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetWorkflowStatusRequest.ProtoReflect.Descriptor instead.
+func (*GetWorkflowStatusRequest) Descriptor() ([]byte, []int) {
+ return file_vtadmin_proto_rawDescGZIP(), []int{69}
+}
+
+func (x *GetWorkflowStatusRequest) GetClusterId() string {
+ if x != nil {
+ return x.ClusterId
+ }
+ return ""
+}
+
+func (x *GetWorkflowStatusRequest) GetKeyspace() string {
+ if x != nil {
+ return x.Keyspace
+ }
+ return ""
+}
+
+func (x *GetWorkflowStatusRequest) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+type StartWorkflowRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClusterId string `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+ Keyspace string `protobuf:"bytes,2,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
+ Workflow string `protobuf:"bytes,3,opt,name=workflow,proto3" json:"workflow,omitempty"`
+}
+
+func (x *StartWorkflowRequest) Reset() {
+ *x = StartWorkflowRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_vtadmin_proto_msgTypes[70]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartWorkflowRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartWorkflowRequest) ProtoMessage() {}
+
+func (x *StartWorkflowRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_vtadmin_proto_msgTypes[70]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartWorkflowRequest.ProtoReflect.Descriptor instead.
+func (*StartWorkflowRequest) Descriptor() ([]byte, []int) {
+ return file_vtadmin_proto_rawDescGZIP(), []int{70}
+}
+
+func (x *StartWorkflowRequest) GetClusterId() string {
+ if x != nil {
+ return x.ClusterId
+ }
+ return ""
+}
+
+func (x *StartWorkflowRequest) GetKeyspace() string {
+ if x != nil {
+ return x.Keyspace
+ }
+ return ""
+}
+
+func (x *StartWorkflowRequest) GetWorkflow() string {
+ if x != nil {
+ return x.Workflow
+ }
+ return ""
+}
+
+type StopWorkflowRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClusterId string `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+ Keyspace string `protobuf:"bytes,2,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
+ Workflow string `protobuf:"bytes,3,opt,name=workflow,proto3" json:"workflow,omitempty"`
+}
+
+func (x *StopWorkflowRequest) Reset() {
+ *x = StopWorkflowRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_vtadmin_proto_msgTypes[71]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StopWorkflowRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StopWorkflowRequest) ProtoMessage() {}
+
+func (x *StopWorkflowRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_vtadmin_proto_msgTypes[71]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StopWorkflowRequest.ProtoReflect.Descriptor instead.
+func (*StopWorkflowRequest) Descriptor() ([]byte, []int) {
+ return file_vtadmin_proto_rawDescGZIP(), []int{71}
+}
+
+func (x *StopWorkflowRequest) GetClusterId() string {
+ if x != nil {
+ return x.ClusterId
+ }
+ return ""
+}
+
+func (x *StopWorkflowRequest) GetKeyspace() string {
+ if x != nil {
+ return x.Keyspace
+ }
+ return ""
+}
+
+func (x *StopWorkflowRequest) GetWorkflow() string {
+ if x != nil {
+ return x.Workflow
+ }
+ return ""
+}
+
type GetWorkflowsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -3972,7 +4216,7 @@ type GetWorkflowsRequest struct {
func (x *GetWorkflowsRequest) Reset() {
*x = GetWorkflowsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[68]
+ mi := &file_vtadmin_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3985,7 +4229,7 @@ func (x *GetWorkflowsRequest) String() string {
func (*GetWorkflowsRequest) ProtoMessage() {}
func (x *GetWorkflowsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[68]
+ mi := &file_vtadmin_proto_msgTypes[72]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3998,7 +4242,7 @@ func (x *GetWorkflowsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetWorkflowsRequest.ProtoReflect.Descriptor instead.
func (*GetWorkflowsRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{68}
+ return file_vtadmin_proto_rawDescGZIP(), []int{72}
}
func (x *GetWorkflowsRequest) GetClusterIds() []string {
@@ -4040,7 +4284,7 @@ type GetWorkflowsResponse struct {
func (x *GetWorkflowsResponse) Reset() {
*x = GetWorkflowsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[69]
+ mi := &file_vtadmin_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4053,7 +4297,7 @@ func (x *GetWorkflowsResponse) String() string {
func (*GetWorkflowsResponse) ProtoMessage() {}
func (x *GetWorkflowsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[69]
+ mi := &file_vtadmin_proto_msgTypes[73]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4066,7 +4310,7 @@ func (x *GetWorkflowsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetWorkflowsResponse.ProtoReflect.Descriptor instead.
func (*GetWorkflowsResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{69}
+ return file_vtadmin_proto_rawDescGZIP(), []int{73}
}
func (x *GetWorkflowsResponse) GetWorkflowsByCluster() map[string]*ClusterWorkflows {
@@ -4088,7 +4332,7 @@ type LaunchSchemaMigrationRequest struct {
func (x *LaunchSchemaMigrationRequest) Reset() {
*x = LaunchSchemaMigrationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[70]
+ mi := &file_vtadmin_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4101,7 +4345,7 @@ func (x *LaunchSchemaMigrationRequest) String() string {
func (*LaunchSchemaMigrationRequest) ProtoMessage() {}
func (x *LaunchSchemaMigrationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[70]
+ mi := &file_vtadmin_proto_msgTypes[74]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4114,7 +4358,7 @@ func (x *LaunchSchemaMigrationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use LaunchSchemaMigrationRequest.ProtoReflect.Descriptor instead.
func (*LaunchSchemaMigrationRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{70}
+ return file_vtadmin_proto_rawDescGZIP(), []int{74}
}
func (x *LaunchSchemaMigrationRequest) GetClusterId() string {
@@ -4131,6 +4375,61 @@ func (x *LaunchSchemaMigrationRequest) GetRequest() *vtctldata.LaunchSchemaMigra
return nil
}
+type MoveTablesCreateRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClusterId string `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
+ Request *vtctldata.MoveTablesCreateRequest `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
+}
+
+func (x *MoveTablesCreateRequest) Reset() {
+ *x = MoveTablesCreateRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_vtadmin_proto_msgTypes[75]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MoveTablesCreateRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MoveTablesCreateRequest) ProtoMessage() {}
+
+func (x *MoveTablesCreateRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_vtadmin_proto_msgTypes[75]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MoveTablesCreateRequest.ProtoReflect.Descriptor instead.
+func (*MoveTablesCreateRequest) Descriptor() ([]byte, []int) {
+ return file_vtadmin_proto_rawDescGZIP(), []int{75}
+}
+
+func (x *MoveTablesCreateRequest) GetClusterId() string {
+ if x != nil {
+ return x.ClusterId
+ }
+ return ""
+}
+
+func (x *MoveTablesCreateRequest) GetRequest() *vtctldata.MoveTablesCreateRequest {
+ if x != nil {
+ return x.Request
+ }
+ return nil
+}
+
type PingTabletRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -4147,7 +4446,7 @@ type PingTabletRequest struct {
func (x *PingTabletRequest) Reset() {
*x = PingTabletRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[71]
+ mi := &file_vtadmin_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4160,7 +4459,7 @@ func (x *PingTabletRequest) String() string {
func (*PingTabletRequest) ProtoMessage() {}
func (x *PingTabletRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[71]
+ mi := &file_vtadmin_proto_msgTypes[76]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4173,7 +4472,7 @@ func (x *PingTabletRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use PingTabletRequest.ProtoReflect.Descriptor instead.
func (*PingTabletRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{71}
+ return file_vtadmin_proto_rawDescGZIP(), []int{76}
}
func (x *PingTabletRequest) GetAlias() *topodata.TabletAlias {
@@ -4202,7 +4501,7 @@ type PingTabletResponse struct {
func (x *PingTabletResponse) Reset() {
*x = PingTabletResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[72]
+ mi := &file_vtadmin_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4215,7 +4514,7 @@ func (x *PingTabletResponse) String() string {
func (*PingTabletResponse) ProtoMessage() {}
func (x *PingTabletResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[72]
+ mi := &file_vtadmin_proto_msgTypes[77]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4228,7 +4527,7 @@ func (x *PingTabletResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use PingTabletResponse.ProtoReflect.Descriptor instead.
func (*PingTabletResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{72}
+ return file_vtadmin_proto_rawDescGZIP(), []int{77}
}
func (x *PingTabletResponse) GetStatus() string {
@@ -4257,7 +4556,7 @@ type PlannedFailoverShardRequest struct {
func (x *PlannedFailoverShardRequest) Reset() {
*x = PlannedFailoverShardRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[73]
+ mi := &file_vtadmin_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4270,7 +4569,7 @@ func (x *PlannedFailoverShardRequest) String() string {
func (*PlannedFailoverShardRequest) ProtoMessage() {}
func (x *PlannedFailoverShardRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[73]
+ mi := &file_vtadmin_proto_msgTypes[78]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4283,7 +4582,7 @@ func (x *PlannedFailoverShardRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use PlannedFailoverShardRequest.ProtoReflect.Descriptor instead.
func (*PlannedFailoverShardRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{73}
+ return file_vtadmin_proto_rawDescGZIP(), []int{78}
}
func (x *PlannedFailoverShardRequest) GetClusterId() string {
@@ -4319,7 +4618,7 @@ type PlannedFailoverShardResponse struct {
func (x *PlannedFailoverShardResponse) Reset() {
*x = PlannedFailoverShardResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[74]
+ mi := &file_vtadmin_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4332,7 +4631,7 @@ func (x *PlannedFailoverShardResponse) String() string {
func (*PlannedFailoverShardResponse) ProtoMessage() {}
func (x *PlannedFailoverShardResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[74]
+ mi := &file_vtadmin_proto_msgTypes[79]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4345,7 +4644,7 @@ func (x *PlannedFailoverShardResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use PlannedFailoverShardResponse.ProtoReflect.Descriptor instead.
func (*PlannedFailoverShardResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{74}
+ return file_vtadmin_proto_rawDescGZIP(), []int{79}
}
func (x *PlannedFailoverShardResponse) GetCluster() *Cluster {
@@ -4397,7 +4696,7 @@ type RebuildKeyspaceGraphRequest struct {
func (x *RebuildKeyspaceGraphRequest) Reset() {
*x = RebuildKeyspaceGraphRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[75]
+ mi := &file_vtadmin_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4410,7 +4709,7 @@ func (x *RebuildKeyspaceGraphRequest) String() string {
func (*RebuildKeyspaceGraphRequest) ProtoMessage() {}
func (x *RebuildKeyspaceGraphRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[75]
+ mi := &file_vtadmin_proto_msgTypes[80]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4423,7 +4722,7 @@ func (x *RebuildKeyspaceGraphRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RebuildKeyspaceGraphRequest.ProtoReflect.Descriptor instead.
func (*RebuildKeyspaceGraphRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{75}
+ return file_vtadmin_proto_rawDescGZIP(), []int{80}
}
func (x *RebuildKeyspaceGraphRequest) GetClusterId() string {
@@ -4465,7 +4764,7 @@ type RebuildKeyspaceGraphResponse struct {
func (x *RebuildKeyspaceGraphResponse) Reset() {
*x = RebuildKeyspaceGraphResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[76]
+ mi := &file_vtadmin_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4478,7 +4777,7 @@ func (x *RebuildKeyspaceGraphResponse) String() string {
func (*RebuildKeyspaceGraphResponse) ProtoMessage() {}
func (x *RebuildKeyspaceGraphResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[76]
+ mi := &file_vtadmin_proto_msgTypes[81]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4491,7 +4790,7 @@ func (x *RebuildKeyspaceGraphResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RebuildKeyspaceGraphResponse.ProtoReflect.Descriptor instead.
func (*RebuildKeyspaceGraphResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{76}
+ return file_vtadmin_proto_rawDescGZIP(), []int{81}
}
func (x *RebuildKeyspaceGraphResponse) GetStatus() string {
@@ -4513,7 +4812,7 @@ type RefreshStateRequest struct {
func (x *RefreshStateRequest) Reset() {
*x = RefreshStateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[77]
+ mi := &file_vtadmin_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4526,7 +4825,7 @@ func (x *RefreshStateRequest) String() string {
func (*RefreshStateRequest) ProtoMessage() {}
func (x *RefreshStateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[77]
+ mi := &file_vtadmin_proto_msgTypes[82]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4539,7 +4838,7 @@ func (x *RefreshStateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RefreshStateRequest.ProtoReflect.Descriptor instead.
func (*RefreshStateRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{77}
+ return file_vtadmin_proto_rawDescGZIP(), []int{82}
}
func (x *RefreshStateRequest) GetAlias() *topodata.TabletAlias {
@@ -4568,7 +4867,7 @@ type RefreshStateResponse struct {
func (x *RefreshStateResponse) Reset() {
*x = RefreshStateResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[78]
+ mi := &file_vtadmin_proto_msgTypes[83]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4581,7 +4880,7 @@ func (x *RefreshStateResponse) String() string {
func (*RefreshStateResponse) ProtoMessage() {}
func (x *RefreshStateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[78]
+ mi := &file_vtadmin_proto_msgTypes[83]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4594,7 +4893,7 @@ func (x *RefreshStateResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RefreshStateResponse.ProtoReflect.Descriptor instead.
func (*RefreshStateResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{78}
+ return file_vtadmin_proto_rawDescGZIP(), []int{83}
}
func (x *RefreshStateResponse) GetStatus() string {
@@ -4663,7 +4962,7 @@ type ReloadSchemasRequest struct {
func (x *ReloadSchemasRequest) Reset() {
*x = ReloadSchemasRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[79]
+ mi := &file_vtadmin_proto_msgTypes[84]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4676,7 +4975,7 @@ func (x *ReloadSchemasRequest) String() string {
func (*ReloadSchemasRequest) ProtoMessage() {}
func (x *ReloadSchemasRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[79]
+ mi := &file_vtadmin_proto_msgTypes[84]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4689,7 +4988,7 @@ func (x *ReloadSchemasRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReloadSchemasRequest.ProtoReflect.Descriptor instead.
func (*ReloadSchemasRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{79}
+ return file_vtadmin_proto_rawDescGZIP(), []int{84}
}
func (x *ReloadSchemasRequest) GetKeyspaces() []string {
@@ -4763,7 +5062,7 @@ type ReloadSchemasResponse struct {
func (x *ReloadSchemasResponse) Reset() {
*x = ReloadSchemasResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[80]
+ mi := &file_vtadmin_proto_msgTypes[85]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4776,7 +5075,7 @@ func (x *ReloadSchemasResponse) String() string {
func (*ReloadSchemasResponse) ProtoMessage() {}
func (x *ReloadSchemasResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[80]
+ mi := &file_vtadmin_proto_msgTypes[85]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4789,7 +5088,7 @@ func (x *ReloadSchemasResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReloadSchemasResponse.ProtoReflect.Descriptor instead.
func (*ReloadSchemasResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{80}
+ return file_vtadmin_proto_rawDescGZIP(), []int{85}
}
func (x *ReloadSchemasResponse) GetKeyspaceResults() []*ReloadSchemasResponse_KeyspaceResult {
@@ -4829,7 +5128,7 @@ type ReloadSchemaShardRequest struct {
func (x *ReloadSchemaShardRequest) Reset() {
*x = ReloadSchemaShardRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[81]
+ mi := &file_vtadmin_proto_msgTypes[86]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4842,7 +5141,7 @@ func (x *ReloadSchemaShardRequest) String() string {
func (*ReloadSchemaShardRequest) ProtoMessage() {}
func (x *ReloadSchemaShardRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[81]
+ mi := &file_vtadmin_proto_msgTypes[86]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4855,7 +5154,7 @@ func (x *ReloadSchemaShardRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReloadSchemaShardRequest.ProtoReflect.Descriptor instead.
func (*ReloadSchemaShardRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{81}
+ return file_vtadmin_proto_rawDescGZIP(), []int{86}
}
func (x *ReloadSchemaShardRequest) GetClusterId() string {
@@ -4911,7 +5210,7 @@ type ReloadSchemaShardResponse struct {
func (x *ReloadSchemaShardResponse) Reset() {
*x = ReloadSchemaShardResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[82]
+ mi := &file_vtadmin_proto_msgTypes[87]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4924,7 +5223,7 @@ func (x *ReloadSchemaShardResponse) String() string {
func (*ReloadSchemaShardResponse) ProtoMessage() {}
func (x *ReloadSchemaShardResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[82]
+ mi := &file_vtadmin_proto_msgTypes[87]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4937,7 +5236,7 @@ func (x *ReloadSchemaShardResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReloadSchemaShardResponse.ProtoReflect.Descriptor instead.
func (*ReloadSchemaShardResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{82}
+ return file_vtadmin_proto_rawDescGZIP(), []int{87}
}
func (x *ReloadSchemaShardResponse) GetEvents() []*logutil.Event {
@@ -4959,7 +5258,7 @@ type RefreshTabletReplicationSourceRequest struct {
func (x *RefreshTabletReplicationSourceRequest) Reset() {
*x = RefreshTabletReplicationSourceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[83]
+ mi := &file_vtadmin_proto_msgTypes[88]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4972,7 +5271,7 @@ func (x *RefreshTabletReplicationSourceRequest) String() string {
func (*RefreshTabletReplicationSourceRequest) ProtoMessage() {}
func (x *RefreshTabletReplicationSourceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[83]
+ mi := &file_vtadmin_proto_msgTypes[88]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4985,7 +5284,7 @@ func (x *RefreshTabletReplicationSourceRequest) ProtoReflect() protoreflect.Mess
// Deprecated: Use RefreshTabletReplicationSourceRequest.ProtoReflect.Descriptor instead.
func (*RefreshTabletReplicationSourceRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{83}
+ return file_vtadmin_proto_rawDescGZIP(), []int{88}
}
func (x *RefreshTabletReplicationSourceRequest) GetAlias() *topodata.TabletAlias {
@@ -5016,7 +5315,7 @@ type RefreshTabletReplicationSourceResponse struct {
func (x *RefreshTabletReplicationSourceResponse) Reset() {
*x = RefreshTabletReplicationSourceResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[84]
+ mi := &file_vtadmin_proto_msgTypes[89]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5029,7 +5328,7 @@ func (x *RefreshTabletReplicationSourceResponse) String() string {
func (*RefreshTabletReplicationSourceResponse) ProtoMessage() {}
func (x *RefreshTabletReplicationSourceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[84]
+ mi := &file_vtadmin_proto_msgTypes[89]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5042,7 +5341,7 @@ func (x *RefreshTabletReplicationSourceResponse) ProtoReflect() protoreflect.Mes
// Deprecated: Use RefreshTabletReplicationSourceResponse.ProtoReflect.Descriptor instead.
func (*RefreshTabletReplicationSourceResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{84}
+ return file_vtadmin_proto_rawDescGZIP(), []int{89}
}
func (x *RefreshTabletReplicationSourceResponse) GetKeyspace() string {
@@ -5088,7 +5387,7 @@ type RemoveKeyspaceCellRequest struct {
func (x *RemoveKeyspaceCellRequest) Reset() {
*x = RemoveKeyspaceCellRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[85]
+ mi := &file_vtadmin_proto_msgTypes[90]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5101,7 +5400,7 @@ func (x *RemoveKeyspaceCellRequest) String() string {
func (*RemoveKeyspaceCellRequest) ProtoMessage() {}
func (x *RemoveKeyspaceCellRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[85]
+ mi := &file_vtadmin_proto_msgTypes[90]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5114,7 +5413,7 @@ func (x *RemoveKeyspaceCellRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveKeyspaceCellRequest.ProtoReflect.Descriptor instead.
func (*RemoveKeyspaceCellRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{85}
+ return file_vtadmin_proto_rawDescGZIP(), []int{90}
}
func (x *RemoveKeyspaceCellRequest) GetClusterId() string {
@@ -5163,7 +5462,7 @@ type RemoveKeyspaceCellResponse struct {
func (x *RemoveKeyspaceCellResponse) Reset() {
*x = RemoveKeyspaceCellResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[86]
+ mi := &file_vtadmin_proto_msgTypes[91]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5176,7 +5475,7 @@ func (x *RemoveKeyspaceCellResponse) String() string {
func (*RemoveKeyspaceCellResponse) ProtoMessage() {}
func (x *RemoveKeyspaceCellResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[86]
+ mi := &file_vtadmin_proto_msgTypes[91]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5189,7 +5488,7 @@ func (x *RemoveKeyspaceCellResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveKeyspaceCellResponse.ProtoReflect.Descriptor instead.
func (*RemoveKeyspaceCellResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{86}
+ return file_vtadmin_proto_rawDescGZIP(), []int{91}
}
func (x *RemoveKeyspaceCellResponse) GetStatus() string {
@@ -5211,7 +5510,7 @@ type RetrySchemaMigrationRequest struct {
func (x *RetrySchemaMigrationRequest) Reset() {
*x = RetrySchemaMigrationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[87]
+ mi := &file_vtadmin_proto_msgTypes[92]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5224,7 +5523,7 @@ func (x *RetrySchemaMigrationRequest) String() string {
func (*RetrySchemaMigrationRequest) ProtoMessage() {}
func (x *RetrySchemaMigrationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[87]
+ mi := &file_vtadmin_proto_msgTypes[92]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5237,7 +5536,7 @@ func (x *RetrySchemaMigrationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RetrySchemaMigrationRequest.ProtoReflect.Descriptor instead.
func (*RetrySchemaMigrationRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{87}
+ return file_vtadmin_proto_rawDescGZIP(), []int{92}
}
func (x *RetrySchemaMigrationRequest) GetClusterId() string {
@@ -5266,7 +5565,7 @@ type RunHealthCheckRequest struct {
func (x *RunHealthCheckRequest) Reset() {
*x = RunHealthCheckRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[88]
+ mi := &file_vtadmin_proto_msgTypes[93]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5279,7 +5578,7 @@ func (x *RunHealthCheckRequest) String() string {
func (*RunHealthCheckRequest) ProtoMessage() {}
func (x *RunHealthCheckRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[88]
+ mi := &file_vtadmin_proto_msgTypes[93]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5292,7 +5591,7 @@ func (x *RunHealthCheckRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RunHealthCheckRequest.ProtoReflect.Descriptor instead.
func (*RunHealthCheckRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{88}
+ return file_vtadmin_proto_rawDescGZIP(), []int{93}
}
func (x *RunHealthCheckRequest) GetAlias() *topodata.TabletAlias {
@@ -5321,7 +5620,7 @@ type RunHealthCheckResponse struct {
func (x *RunHealthCheckResponse) Reset() {
*x = RunHealthCheckResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[89]
+ mi := &file_vtadmin_proto_msgTypes[94]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5334,7 +5633,7 @@ func (x *RunHealthCheckResponse) String() string {
func (*RunHealthCheckResponse) ProtoMessage() {}
func (x *RunHealthCheckResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[89]
+ mi := &file_vtadmin_proto_msgTypes[94]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5347,7 +5646,7 @@ func (x *RunHealthCheckResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RunHealthCheckResponse.ProtoReflect.Descriptor instead.
func (*RunHealthCheckResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{89}
+ return file_vtadmin_proto_rawDescGZIP(), []int{94}
}
func (x *RunHealthCheckResponse) GetStatus() string {
@@ -5376,7 +5675,7 @@ type SetReadOnlyRequest struct {
func (x *SetReadOnlyRequest) Reset() {
*x = SetReadOnlyRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[90]
+ mi := &file_vtadmin_proto_msgTypes[95]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5389,7 +5688,7 @@ func (x *SetReadOnlyRequest) String() string {
func (*SetReadOnlyRequest) ProtoMessage() {}
func (x *SetReadOnlyRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[90]
+ mi := &file_vtadmin_proto_msgTypes[95]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5402,7 +5701,7 @@ func (x *SetReadOnlyRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetReadOnlyRequest.ProtoReflect.Descriptor instead.
func (*SetReadOnlyRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{90}
+ return file_vtadmin_proto_rawDescGZIP(), []int{95}
}
func (x *SetReadOnlyRequest) GetAlias() *topodata.TabletAlias {
@@ -5428,7 +5727,7 @@ type SetReadOnlyResponse struct {
func (x *SetReadOnlyResponse) Reset() {
*x = SetReadOnlyResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[91]
+ mi := &file_vtadmin_proto_msgTypes[96]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5441,7 +5740,7 @@ func (x *SetReadOnlyResponse) String() string {
func (*SetReadOnlyResponse) ProtoMessage() {}
func (x *SetReadOnlyResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[91]
+ mi := &file_vtadmin_proto_msgTypes[96]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5454,7 +5753,7 @@ func (x *SetReadOnlyResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetReadOnlyResponse.ProtoReflect.Descriptor instead.
func (*SetReadOnlyResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{91}
+ return file_vtadmin_proto_rawDescGZIP(), []int{96}
}
type SetReadWriteRequest struct {
@@ -5469,7 +5768,7 @@ type SetReadWriteRequest struct {
func (x *SetReadWriteRequest) Reset() {
*x = SetReadWriteRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[92]
+ mi := &file_vtadmin_proto_msgTypes[97]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5482,7 +5781,7 @@ func (x *SetReadWriteRequest) String() string {
func (*SetReadWriteRequest) ProtoMessage() {}
func (x *SetReadWriteRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[92]
+ mi := &file_vtadmin_proto_msgTypes[97]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5495,7 +5794,7 @@ func (x *SetReadWriteRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetReadWriteRequest.ProtoReflect.Descriptor instead.
func (*SetReadWriteRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{92}
+ return file_vtadmin_proto_rawDescGZIP(), []int{97}
}
func (x *SetReadWriteRequest) GetAlias() *topodata.TabletAlias {
@@ -5521,7 +5820,7 @@ type SetReadWriteResponse struct {
func (x *SetReadWriteResponse) Reset() {
*x = SetReadWriteResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[93]
+ mi := &file_vtadmin_proto_msgTypes[98]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5534,7 +5833,7 @@ func (x *SetReadWriteResponse) String() string {
func (*SetReadWriteResponse) ProtoMessage() {}
func (x *SetReadWriteResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[93]
+ mi := &file_vtadmin_proto_msgTypes[98]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5547,7 +5846,7 @@ func (x *SetReadWriteResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetReadWriteResponse.ProtoReflect.Descriptor instead.
func (*SetReadWriteResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{93}
+ return file_vtadmin_proto_rawDescGZIP(), []int{98}
}
type StartReplicationRequest struct {
@@ -5562,7 +5861,7 @@ type StartReplicationRequest struct {
func (x *StartReplicationRequest) Reset() {
*x = StartReplicationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[94]
+ mi := &file_vtadmin_proto_msgTypes[99]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5575,7 +5874,7 @@ func (x *StartReplicationRequest) String() string {
func (*StartReplicationRequest) ProtoMessage() {}
func (x *StartReplicationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[94]
+ mi := &file_vtadmin_proto_msgTypes[99]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5588,7 +5887,7 @@ func (x *StartReplicationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use StartReplicationRequest.ProtoReflect.Descriptor instead.
func (*StartReplicationRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{94}
+ return file_vtadmin_proto_rawDescGZIP(), []int{99}
}
func (x *StartReplicationRequest) GetAlias() *topodata.TabletAlias {
@@ -5617,7 +5916,7 @@ type StartReplicationResponse struct {
func (x *StartReplicationResponse) Reset() {
*x = StartReplicationResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[95]
+ mi := &file_vtadmin_proto_msgTypes[100]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5630,7 +5929,7 @@ func (x *StartReplicationResponse) String() string {
func (*StartReplicationResponse) ProtoMessage() {}
func (x *StartReplicationResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[95]
+ mi := &file_vtadmin_proto_msgTypes[100]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5643,7 +5942,7 @@ func (x *StartReplicationResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use StartReplicationResponse.ProtoReflect.Descriptor instead.
func (*StartReplicationResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{95}
+ return file_vtadmin_proto_rawDescGZIP(), []int{100}
}
func (x *StartReplicationResponse) GetStatus() string {
@@ -5672,7 +5971,7 @@ type StopReplicationRequest struct {
func (x *StopReplicationRequest) Reset() {
*x = StopReplicationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[96]
+ mi := &file_vtadmin_proto_msgTypes[101]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5685,7 +5984,7 @@ func (x *StopReplicationRequest) String() string {
func (*StopReplicationRequest) ProtoMessage() {}
func (x *StopReplicationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[96]
+ mi := &file_vtadmin_proto_msgTypes[101]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5698,7 +5997,7 @@ func (x *StopReplicationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use StopReplicationRequest.ProtoReflect.Descriptor instead.
func (*StopReplicationRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{96}
+ return file_vtadmin_proto_rawDescGZIP(), []int{101}
}
func (x *StopReplicationRequest) GetAlias() *topodata.TabletAlias {
@@ -5727,7 +6026,7 @@ type StopReplicationResponse struct {
func (x *StopReplicationResponse) Reset() {
*x = StopReplicationResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[97]
+ mi := &file_vtadmin_proto_msgTypes[102]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5740,7 +6039,7 @@ func (x *StopReplicationResponse) String() string {
func (*StopReplicationResponse) ProtoMessage() {}
func (x *StopReplicationResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[97]
+ mi := &file_vtadmin_proto_msgTypes[102]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5753,7 +6052,7 @@ func (x *StopReplicationResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use StopReplicationResponse.ProtoReflect.Descriptor instead.
func (*StopReplicationResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{97}
+ return file_vtadmin_proto_rawDescGZIP(), []int{102}
}
func (x *StopReplicationResponse) GetStatus() string {
@@ -5784,7 +6083,7 @@ type TabletExternallyPromotedRequest struct {
func (x *TabletExternallyPromotedRequest) Reset() {
*x = TabletExternallyPromotedRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[98]
+ mi := &file_vtadmin_proto_msgTypes[103]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5797,7 +6096,7 @@ func (x *TabletExternallyPromotedRequest) String() string {
func (*TabletExternallyPromotedRequest) ProtoMessage() {}
func (x *TabletExternallyPromotedRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[98]
+ mi := &file_vtadmin_proto_msgTypes[103]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5810,7 +6109,7 @@ func (x *TabletExternallyPromotedRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use TabletExternallyPromotedRequest.ProtoReflect.Descriptor instead.
func (*TabletExternallyPromotedRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{98}
+ return file_vtadmin_proto_rawDescGZIP(), []int{103}
}
func (x *TabletExternallyPromotedRequest) GetAlias() *topodata.TabletAlias {
@@ -5842,7 +6141,7 @@ type TabletExternallyPromotedResponse struct {
func (x *TabletExternallyPromotedResponse) Reset() {
*x = TabletExternallyPromotedResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[99]
+ mi := &file_vtadmin_proto_msgTypes[104]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5855,7 +6154,7 @@ func (x *TabletExternallyPromotedResponse) String() string {
func (*TabletExternallyPromotedResponse) ProtoMessage() {}
func (x *TabletExternallyPromotedResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[99]
+ mi := &file_vtadmin_proto_msgTypes[104]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5868,7 +6167,7 @@ func (x *TabletExternallyPromotedResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use TabletExternallyPromotedResponse.ProtoReflect.Descriptor instead.
func (*TabletExternallyPromotedResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{99}
+ return file_vtadmin_proto_rawDescGZIP(), []int{104}
}
func (x *TabletExternallyPromotedResponse) GetCluster() *Cluster {
@@ -5918,7 +6217,7 @@ type TabletExternallyReparentedRequest struct {
func (x *TabletExternallyReparentedRequest) Reset() {
*x = TabletExternallyReparentedRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[100]
+ mi := &file_vtadmin_proto_msgTypes[105]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5931,7 +6230,7 @@ func (x *TabletExternallyReparentedRequest) String() string {
func (*TabletExternallyReparentedRequest) ProtoMessage() {}
func (x *TabletExternallyReparentedRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[100]
+ mi := &file_vtadmin_proto_msgTypes[105]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5944,7 +6243,7 @@ func (x *TabletExternallyReparentedRequest) ProtoReflect() protoreflect.Message
// Deprecated: Use TabletExternallyReparentedRequest.ProtoReflect.Descriptor instead.
func (*TabletExternallyReparentedRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{100}
+ return file_vtadmin_proto_rawDescGZIP(), []int{105}
}
func (x *TabletExternallyReparentedRequest) GetAlias() *topodata.TabletAlias {
@@ -5973,7 +6272,7 @@ type ValidateRequest struct {
func (x *ValidateRequest) Reset() {
*x = ValidateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[101]
+ mi := &file_vtadmin_proto_msgTypes[106]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5986,7 +6285,7 @@ func (x *ValidateRequest) String() string {
func (*ValidateRequest) ProtoMessage() {}
func (x *ValidateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[101]
+ mi := &file_vtadmin_proto_msgTypes[106]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5999,7 +6298,7 @@ func (x *ValidateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateRequest.ProtoReflect.Descriptor instead.
func (*ValidateRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{101}
+ return file_vtadmin_proto_rawDescGZIP(), []int{106}
}
func (x *ValidateRequest) GetClusterId() string {
@@ -6029,7 +6328,7 @@ type ValidateKeyspaceRequest struct {
func (x *ValidateKeyspaceRequest) Reset() {
*x = ValidateKeyspaceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[102]
+ mi := &file_vtadmin_proto_msgTypes[107]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6042,7 +6341,7 @@ func (x *ValidateKeyspaceRequest) String() string {
func (*ValidateKeyspaceRequest) ProtoMessage() {}
func (x *ValidateKeyspaceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[102]
+ mi := &file_vtadmin_proto_msgTypes[107]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6055,7 +6354,7 @@ func (x *ValidateKeyspaceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateKeyspaceRequest.ProtoReflect.Descriptor instead.
func (*ValidateKeyspaceRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{102}
+ return file_vtadmin_proto_rawDescGZIP(), []int{107}
}
func (x *ValidateKeyspaceRequest) GetClusterId() string {
@@ -6091,7 +6390,7 @@ type ValidateSchemaKeyspaceRequest struct {
func (x *ValidateSchemaKeyspaceRequest) Reset() {
*x = ValidateSchemaKeyspaceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[103]
+ mi := &file_vtadmin_proto_msgTypes[108]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6104,7 +6403,7 @@ func (x *ValidateSchemaKeyspaceRequest) String() string {
func (*ValidateSchemaKeyspaceRequest) ProtoMessage() {}
func (x *ValidateSchemaKeyspaceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[103]
+ mi := &file_vtadmin_proto_msgTypes[108]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6117,7 +6416,7 @@ func (x *ValidateSchemaKeyspaceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateSchemaKeyspaceRequest.ProtoReflect.Descriptor instead.
func (*ValidateSchemaKeyspaceRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{103}
+ return file_vtadmin_proto_rawDescGZIP(), []int{108}
}
func (x *ValidateSchemaKeyspaceRequest) GetClusterId() string {
@@ -6148,7 +6447,7 @@ type ValidateShardRequest struct {
func (x *ValidateShardRequest) Reset() {
*x = ValidateShardRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[104]
+ mi := &file_vtadmin_proto_msgTypes[109]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6161,7 +6460,7 @@ func (x *ValidateShardRequest) String() string {
func (*ValidateShardRequest) ProtoMessage() {}
func (x *ValidateShardRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[104]
+ mi := &file_vtadmin_proto_msgTypes[109]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6174,7 +6473,7 @@ func (x *ValidateShardRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateShardRequest.ProtoReflect.Descriptor instead.
func (*ValidateShardRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{104}
+ return file_vtadmin_proto_rawDescGZIP(), []int{109}
}
func (x *ValidateShardRequest) GetClusterId() string {
@@ -6217,7 +6516,7 @@ type ValidateVersionKeyspaceRequest struct {
func (x *ValidateVersionKeyspaceRequest) Reset() {
*x = ValidateVersionKeyspaceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[105]
+ mi := &file_vtadmin_proto_msgTypes[110]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6230,7 +6529,7 @@ func (x *ValidateVersionKeyspaceRequest) String() string {
func (*ValidateVersionKeyspaceRequest) ProtoMessage() {}
func (x *ValidateVersionKeyspaceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[105]
+ mi := &file_vtadmin_proto_msgTypes[110]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6243,7 +6542,7 @@ func (x *ValidateVersionKeyspaceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateVersionKeyspaceRequest.ProtoReflect.Descriptor instead.
func (*ValidateVersionKeyspaceRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{105}
+ return file_vtadmin_proto_rawDescGZIP(), []int{110}
}
func (x *ValidateVersionKeyspaceRequest) GetClusterId() string {
@@ -6273,7 +6572,7 @@ type ValidateVersionShardRequest struct {
func (x *ValidateVersionShardRequest) Reset() {
*x = ValidateVersionShardRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[106]
+ mi := &file_vtadmin_proto_msgTypes[111]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6286,7 +6585,7 @@ func (x *ValidateVersionShardRequest) String() string {
func (*ValidateVersionShardRequest) ProtoMessage() {}
func (x *ValidateVersionShardRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[106]
+ mi := &file_vtadmin_proto_msgTypes[111]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6299,7 +6598,7 @@ func (x *ValidateVersionShardRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateVersionShardRequest.ProtoReflect.Descriptor instead.
func (*ValidateVersionShardRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{106}
+ return file_vtadmin_proto_rawDescGZIP(), []int{111}
}
func (x *ValidateVersionShardRequest) GetClusterId() string {
@@ -6336,7 +6635,7 @@ type VTExplainRequest struct {
func (x *VTExplainRequest) Reset() {
*x = VTExplainRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[107]
+ mi := &file_vtadmin_proto_msgTypes[112]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6349,7 +6648,7 @@ func (x *VTExplainRequest) String() string {
func (*VTExplainRequest) ProtoMessage() {}
func (x *VTExplainRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[107]
+ mi := &file_vtadmin_proto_msgTypes[112]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6362,7 +6661,7 @@ func (x *VTExplainRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VTExplainRequest.ProtoReflect.Descriptor instead.
func (*VTExplainRequest) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{107}
+ return file_vtadmin_proto_rawDescGZIP(), []int{112}
}
func (x *VTExplainRequest) GetCluster() string {
@@ -6397,7 +6696,7 @@ type VTExplainResponse struct {
func (x *VTExplainResponse) Reset() {
*x = VTExplainResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[108]
+ mi := &file_vtadmin_proto_msgTypes[113]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6410,7 +6709,7 @@ func (x *VTExplainResponse) String() string {
func (*VTExplainResponse) ProtoMessage() {}
func (x *VTExplainResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[108]
+ mi := &file_vtadmin_proto_msgTypes[113]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6423,7 +6722,7 @@ func (x *VTExplainResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VTExplainResponse.ProtoReflect.Descriptor instead.
func (*VTExplainResponse) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{108}
+ return file_vtadmin_proto_rawDescGZIP(), []int{113}
}
func (x *VTExplainResponse) GetResponse() string {
@@ -6445,7 +6744,7 @@ type Schema_ShardTableSize struct {
func (x *Schema_ShardTableSize) Reset() {
*x = Schema_ShardTableSize{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[112]
+ mi := &file_vtadmin_proto_msgTypes[117]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6458,7 +6757,7 @@ func (x *Schema_ShardTableSize) String() string {
func (*Schema_ShardTableSize) ProtoMessage() {}
func (x *Schema_ShardTableSize) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[112]
+ mi := &file_vtadmin_proto_msgTypes[117]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6503,7 +6802,7 @@ type Schema_TableSize struct {
func (x *Schema_TableSize) Reset() {
*x = Schema_TableSize{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[113]
+ mi := &file_vtadmin_proto_msgTypes[118]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6516,7 +6815,7 @@ func (x *Schema_TableSize) String() string {
func (*Schema_TableSize) ProtoMessage() {}
func (x *Schema_TableSize) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[113]
+ mi := &file_vtadmin_proto_msgTypes[118]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6565,7 +6864,7 @@ type GetSchemaMigrationsRequest_ClusterRequest struct {
func (x *GetSchemaMigrationsRequest_ClusterRequest) Reset() {
*x = GetSchemaMigrationsRequest_ClusterRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[115]
+ mi := &file_vtadmin_proto_msgTypes[120]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6578,7 +6877,7 @@ func (x *GetSchemaMigrationsRequest_ClusterRequest) String() string {
func (*GetSchemaMigrationsRequest_ClusterRequest) ProtoMessage() {}
func (x *GetSchemaMigrationsRequest_ClusterRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[115]
+ mi := &file_vtadmin_proto_msgTypes[120]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6626,7 +6925,7 @@ type ReloadSchemasResponse_KeyspaceResult struct {
func (x *ReloadSchemasResponse_KeyspaceResult) Reset() {
*x = ReloadSchemasResponse_KeyspaceResult{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[118]
+ mi := &file_vtadmin_proto_msgTypes[123]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6639,7 +6938,7 @@ func (x *ReloadSchemasResponse_KeyspaceResult) String() string {
func (*ReloadSchemasResponse_KeyspaceResult) ProtoMessage() {}
func (x *ReloadSchemasResponse_KeyspaceResult) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[118]
+ mi := &file_vtadmin_proto_msgTypes[123]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6652,7 +6951,7 @@ func (x *ReloadSchemasResponse_KeyspaceResult) ProtoReflect() protoreflect.Messa
// Deprecated: Use ReloadSchemasResponse_KeyspaceResult.ProtoReflect.Descriptor instead.
func (*ReloadSchemasResponse_KeyspaceResult) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{80, 0}
+ return file_vtadmin_proto_rawDescGZIP(), []int{85, 0}
}
func (x *ReloadSchemasResponse_KeyspaceResult) GetKeyspace() *Keyspace {
@@ -6687,7 +6986,7 @@ type ReloadSchemasResponse_ShardResult struct {
func (x *ReloadSchemasResponse_ShardResult) Reset() {
*x = ReloadSchemasResponse_ShardResult{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[119]
+ mi := &file_vtadmin_proto_msgTypes[124]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6700,7 +6999,7 @@ func (x *ReloadSchemasResponse_ShardResult) String() string {
func (*ReloadSchemasResponse_ShardResult) ProtoMessage() {}
func (x *ReloadSchemasResponse_ShardResult) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[119]
+ mi := &file_vtadmin_proto_msgTypes[124]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6713,7 +7012,7 @@ func (x *ReloadSchemasResponse_ShardResult) ProtoReflect() protoreflect.Message
// Deprecated: Use ReloadSchemasResponse_ShardResult.ProtoReflect.Descriptor instead.
func (*ReloadSchemasResponse_ShardResult) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{80, 1}
+ return file_vtadmin_proto_rawDescGZIP(), []int{85, 1}
}
func (x *ReloadSchemasResponse_ShardResult) GetShard() *Shard {
@@ -6749,7 +7048,7 @@ type ReloadSchemasResponse_TabletResult struct {
func (x *ReloadSchemasResponse_TabletResult) Reset() {
*x = ReloadSchemasResponse_TabletResult{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtadmin_proto_msgTypes[120]
+ mi := &file_vtadmin_proto_msgTypes[125]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6762,7 +7061,7 @@ func (x *ReloadSchemasResponse_TabletResult) String() string {
func (*ReloadSchemasResponse_TabletResult) ProtoMessage() {}
func (x *ReloadSchemasResponse_TabletResult) ProtoReflect() protoreflect.Message {
- mi := &file_vtadmin_proto_msgTypes[120]
+ mi := &file_vtadmin_proto_msgTypes[125]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6775,7 +7074,7 @@ func (x *ReloadSchemasResponse_TabletResult) ProtoReflect() protoreflect.Message
// Deprecated: Use ReloadSchemasResponse_TabletResult.ProtoReflect.Descriptor instead.
func (*ReloadSchemasResponse_TabletResult) Descriptor() ([]byte, []int) {
- return file_vtadmin_proto_rawDescGZIP(), []int{80, 2}
+ return file_vtadmin_proto_rawDescGZIP(), []int{85, 2}
}
func (x *ReloadSchemasResponse_TabletResult) GetTablet() *Tablet {
@@ -7290,688 +7589,752 @@ var file_vtadmin_proto_rawDesc = []byte{
0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
- 0x68, 0x22, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
- 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x22, 0x35, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74,
- 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x44, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x2d, 0x0a, 0x09, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x52, 0x08, 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x22, 0x34,
- 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69,
- 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
- 0x72, 0x49, 0x64, 0x73, 0x22, 0x3f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74,
- 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x52, 0x07, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72,
+ 0x68, 0x22, 0x5d, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76,
+ 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x22, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x22, 0x35, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x44, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d,
+ 0x0a, 0x09, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x52, 0x08, 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x22, 0x34, 0x0a,
+ 0x11, 0x47, 0x65, 0x74, 0x56, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x49, 0x64, 0x73, 0x22, 0x3f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x52, 0x07, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
+ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x69, 0x0a, 0x18, 0x47,
+ 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x6d, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57,
+ 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0x6c, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70, 0x57, 0x6f, 0x72,
0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
- 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xa0, 0x01, 0x0a,
- 0x13, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
- 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74,
- 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69,
- 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f,
- 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22,
- 0xe1, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x14, 0x77, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x42,
- 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x77,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
- 0x72, 0x1a, 0x60, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x42, 0x79,
- 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
- 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f,
- 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
- 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
- 0x02, 0x38, 0x01, 0x22, 0x80, 0x01, 0x0a, 0x1c, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
- 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
- 0x72, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x61, 0x0a, 0x11, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61,
- 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
- 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63,
- 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x58, 0x0a, 0x12, 0x50, 0x69, 0x6e,
- 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74,
- 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
- 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x22, 0x7e, 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x61,
- 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
- 0x64, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50,
- 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46,
- 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
- 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
- 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x70,
- 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69,
- 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45,
- 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x93, 0x01, 0x0a,
- 0x1b, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
- 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73,
- 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a,
- 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69,
- 0x61, 0x6c, 0x22, 0x36, 0x0a, 0x1c, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x63, 0x0a, 0x13, 0x52, 0x65,
- 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f,
- 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22,
- 0x5a, 0x0a, 0x14, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
- 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
- 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x9f, 0x02, 0x0a, 0x14,
- 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x07, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
- 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a,
- 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12,
- 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
- 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69,
- 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0xad, 0x04,
- 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x2d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f,
- 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x52, 0x0f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
- 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x76, 0x74, 0x61,
- 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x67, 0x0a, 0x0e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x74, 0x61,
- 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74,
- 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69,
- 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a,
- 0x5b, 0x0a, 0x0b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24,
- 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
- 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45,
- 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x4f, 0x0a, 0x0c,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x06,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76,
- 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x06, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xdb, 0x01,
- 0x0a, 0x18, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
- 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77,
- 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6d,
- 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e,
- 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
- 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x43, 0x0a, 0x19, 0x52,
- 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e,
- 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74,
- 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73,
- 0x22, 0x75, 0x0a, 0x25, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69,
- 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
- 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75,
- 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x26, 0x52, 0x65, 0x66, 0x72,
- 0x65, 0x73, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
- 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x07, 0x70, 0x72,
- 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
- 0x72, 0x22, 0x9e, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a,
- 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65,
- 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12, 0x14,
- 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66,
- 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76,
- 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69,
- 0x76, 0x65, 0x22, 0x34, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7e, 0x0a, 0x1b, 0x52, 0x65, 0x74, 0x72,
- 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74,
- 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75,
- 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d,
- 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52,
- 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x65, 0x0a, 0x15, 0x52, 0x75, 0x6e, 0x48,
- 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f,
- 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22,
- 0x5c, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75,
- 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x62, 0x0a,
- 0x12, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73,
- 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18,
- 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
- 0x73, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x52,
- 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
- 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
- 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x16, 0x0a,
- 0x14, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x22, 0xa0, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
+ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a,
+ 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69,
+ 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18,
+ 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x67, 0x0a, 0x14, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x5f, 0x62, 0x79, 0x5f,
+ 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e,
+ 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x42,
+ 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x60, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43,
+ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x80, 0x01, 0x0a, 0x1c, 0x4c,
+ 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
+ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x07, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x76, 0x0a,
+ 0x17, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73,
+ 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x61, 0x0a, 0x11, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c,
+ 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x58, 0x0a, 0x12, 0x50, 0x69, 0x6e, 0x67,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16,
+ 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
+ 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x22, 0x7e, 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x61, 0x69,
+ 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
+ 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6c,
+ 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x61,
+ 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43,
+ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12,
+ 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x12, 0x40, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
+ 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
+ 0x61, 0x73, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d,
+ 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x1b,
+ 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47,
+ 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
+ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61,
+ 0x6c, 0x22, 0x36, 0x0a, 0x1c, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a,
0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x5e,
- 0x0a, 0x18, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x66,
- 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61,
- 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05,
- 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
- 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x5d, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75,
- 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61,
- 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x6f, 0x0a, 0x1f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45,
- 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65,
- 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61,
+ 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x5a,
+ 0x0a, 0x14, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a,
+ 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x9f, 0x02, 0x0a, 0x14, 0x52,
+ 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x07, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
+ 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
+ 0x61, 0x73, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
+ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b,
+ 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23,
+ 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70,
+ 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0xad, 0x04, 0x0a,
+ 0x15, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x2d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61,
+ 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
+ 0x0f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
+ 0x12, 0x4f, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x76, 0x74, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x67, 0x0a, 0x0e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x74, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c,
+ 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x5b,
+ 0x0a, 0x0b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x76,
+ 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x4f, 0x0a, 0x0c, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xdb, 0x01, 0x0a,
+ 0x18, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
+ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61,
+ 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61,
+ 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
+ 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63,
+ 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63,
+ 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x43, 0x0a, 0x19, 0x52, 0x65,
+ 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69,
+ 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22,
+ 0x75, 0x0a, 0x25, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61,
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05,
0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x20, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x6d, 0x6f,
- 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x63,
- 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76,
- 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07,
- 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77,
- 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
- 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x12, 0x36, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6f,
- 0x6c, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x71, 0x0a, 0x21, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70,
- 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b,
+ 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x26, 0x52, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x07, 0x70, 0x72, 0x69,
+ 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
+ 0x22, 0x9e, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c,
+ 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12, 0x14, 0x0a,
+ 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f,
+ 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76,
+ 0x65, 0x22, 0x34, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7e, 0x0a, 0x1b, 0x52, 0x65, 0x74, 0x72, 0x79,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73,
+ 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07,
+ 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x65, 0x0a, 0x15, 0x52, 0x75, 0x6e, 0x48, 0x65,
+ 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x5c,
+ 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73,
+ 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x62, 0x0a, 0x12,
+ 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73,
+ 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x52, 0x65,
+ 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b,
0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x53, 0x0a, 0x0f,
- 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21,
- 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x73, 0x22, 0x77, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
- 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70,
- 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x5a, 0x0a, 0x1d, 0x56, 0x61,
- 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73,
+ 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x16, 0x0a, 0x14,
+ 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x5e, 0x0a,
+ 0x18, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x66, 0x0a,
+ 0x16, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61,
+ 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x5d, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73,
+ 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x75,
+ 0x73, 0x74, 0x65, 0x72, 0x22, 0x6f, 0x0a, 0x1f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78,
+ 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61,
+ 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74,
+ 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x20, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74,
+ 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x07, 0x63,
+ 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f,
+ 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
+ 0x12, 0x36, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6f, 0x6c,
+ 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x71, 0x0a, 0x21, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a,
+ 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x53, 0x0a, 0x0f, 0x56,
+ 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a,
+ 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73,
+ 0x22, 0x77, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73,
0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64,
- 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a,
- 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
- 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x73, 0x22, 0x5b, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56,
- 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
- 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74,
- 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x22, 0x6e, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73,
- 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a,
- 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
- 0x22, 0x5a, 0x0a, 0x10, 0x56, 0x54, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1a,
- 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71,
- 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0x2f, 0x0a, 0x11,
- 0x56, 0x54, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xad, 0x27,
- 0x0a, 0x07, 0x56, 0x54, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x4c, 0x0a, 0x0b, 0x41, 0x70, 0x70,
- 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
- 0x69, 0x6e, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65,
- 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x25, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65,
- 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x16, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e,
- 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d,
- 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x70, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e,
- 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69,
+ 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x5a, 0x0a, 0x1d, 0x56, 0x61, 0x6c,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12,
+ 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x73, 0x22, 0x5b, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
+ 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22,
+ 0x6e, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22,
+ 0x5a, 0x0a, 0x10, 0x56, 0x54, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0x2f, 0x0a, 0x11, 0x56,
+ 0x54, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x85, 0x2b, 0x0a,
+ 0x07, 0x56, 0x54, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x4c, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c,
+ 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x25, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
- 0x69, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74,
- 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x61, 0x64,
- 0x6d, 0x69, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f,
- 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1c,
- 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x4d, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12,
- 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
- 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b,
- 0x0a, 0x16, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x6f,
- 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
- 0x69, 0x6e, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x46, 0x61, 0x69, 0x6c,
- 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x27, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67,
- 0x65, 0x6e, 0x63, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x0a, 0x46,
- 0x69, 0x6e, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64,
- 0x6d, 0x69, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d,
+ 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x16, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x76,
+ 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x70, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x76,
+ 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
+ 0x69, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a,
+ 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1c, 0x2e,
+ 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d,
+ 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x1c,
+ 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76,
+ 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a,
+ 0x16, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76,
+ 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x6f,
+ 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x27, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65,
+ 0x6e, 0x63, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x0a, 0x46, 0x69,
+ 0x6e, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
+ 0x69, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x42, 0x61,
+ 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x42,
+ 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x4d, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x73,
+ 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65,
+ 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
+ 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x56, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74,
+ 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65,
+ 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x6c,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
+ 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65,
+ 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47,
+ 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x47, 0x61,
+ 0x74, 0x65, 0x73, 0x12, 0x18, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65,
+ 0x74, 0x47, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
+ 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0b, 0x47, 0x65,
+ 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
+ 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x47,
+ 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x76, 0x74,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x09, 0x47, 0x65,
+ 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x19, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x73, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65,
+ 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62,
+ 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x74, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x12, 0x2c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x2d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
+ 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x56, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65,
+ 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x47, 0x65, 0x74,
+ 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x76,
+ 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
+ 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x45, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74,
+ 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x13, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x72, 0x76, 0x56,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53,
+ 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a,
+ 0x09, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x76, 0x74, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x42,
- 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
+ 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74,
- 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
- 0x73, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x43,
- 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c,
- 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
- 0x12, 0x56, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65,
- 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47,
- 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43,
- 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
- 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47,
- 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
- 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x47,
- 0x61, 0x74, 0x65, 0x73, 0x12, 0x18, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47,
- 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
- 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0b, 0x47,
- 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61,
- 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
- 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c,
- 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x76,
- 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x61,
- 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x09, 0x47,
- 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x19, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
- 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x73, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47,
- 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x62, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x74,
- 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d,
- 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65,
- 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47,
- 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x47, 0x65,
- 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1f, 0x2e,
- 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20,
- 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65,
- 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x72, 0x76,
- 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x47, 0x65, 0x74,
- 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x1e, 0x2e, 0x76, 0x74,
- 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74,
- 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39,
- 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x76, 0x74,
- 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
- 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65,
- 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67,
- 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
- 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61,
- 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0a,
- 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61,
- 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65,
- 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64,
- 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47,
- 0x65, 0x74, 0x56, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x3f, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1b,
- 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x76, 0x74,
- 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0x00,
- 0x12, 0x4d, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73,
- 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
- 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x6a, 0x0a, 0x15, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d,
- 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
- 0x69, 0x6e, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d,
- 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x28, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x75, 0x6e,
- 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x50,
- 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64,
- 0x6d, 0x69, 0x6e, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
- 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46,
- 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24, 0x2e, 0x76,
- 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x61,
- 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x50, 0x6c, 0x61,
- 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x52,
- 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72,
- 0x61, 0x70, 0x68, 0x12, 0x24, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65,
- 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61,
- 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x74, 0x61, 0x64,
- 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61,
- 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x66,
- 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65,
- 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x61, 0x62,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x58, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79,
+ 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47,
+ 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x74,
+ 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x19, 0x47,
+ 0x65, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e,
+ 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
+ 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x47, 0x65, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e,
+ 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22,
+ 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73,
+ 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e,
+ 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a,
+ 0x0a, 0x47, 0x65, 0x74, 0x56, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x2e, 0x76, 0x74,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x2e, 0x76, 0x74,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70,
+ 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
+ 0x69, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x15, 0x4c,
+ 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x4c,
+ 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x10, 0x4d, 0x6f, 0x76, 0x65, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x76, 0x74,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x76,
+ 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x50,
+ 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x12, 0x24, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x50, 0x6c,
+ 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x74, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x6f,
+ 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x24, 0x2e, 0x76, 0x74, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x25, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69,
+ 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x52, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x76, 0x74,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x61, 0x62,
0x6c, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52,
- 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52,
- 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x6f, 0x61,
- 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
- 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
- 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x11, 0x52, 0x65, 0x6c,
- 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x21,
+ 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x76, 0x74,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50,
+ 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12,
+ 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f,
- 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76,
- 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x12, 0x22, 0x2e,
- 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f,
- 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x14, 0x52, 0x65, 0x74, 0x72,
- 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x24, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
- 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
- 0x65, 0x63, 0x6b, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x75,
- 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x75,
- 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61,
- 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
- 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74,
- 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69,
- 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74,
- 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65,
- 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x59, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
- 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
- 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f,
- 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x1f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x18, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78,
- 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64,
- 0x12, 0x28, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x6d, 0x6f,
- 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x61,
- 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72,
- 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x69, 0x64,
- 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x61,
- 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
- 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10,
- 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x12, 0x20, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
- 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56,
- 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x16, 0x56, 0x61, 0x6c,
- 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x61,
- 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69,
- 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64,
- 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x17,
- 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
- 0x6e, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c,
- 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67,
- 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
- 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
- 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x56, 0x54, 0x45, 0x78, 0x70,
- 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56,
- 0x54, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x54, 0x45, 0x78, 0x70, 0x6c,
- 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x26, 0x5a,
- 0x24, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73,
- 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74,
- 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x5c, 0x0a, 0x11, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x21, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
+ 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
+ 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f,
+ 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x43, 0x65, 0x6c, 0x6c, 0x12, 0x22, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c,
+ 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d,
+ 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x67, 0x0a, 0x14, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x48,
+ 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
+ 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
+ 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a,
+ 0x0b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1b, 0x2e, 0x76,
+ 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e,
+ 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x53, 0x65, 0x74,
+ 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x61, 0x64,
+ 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x76,
+ 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
+ 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
+ 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x18, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50,
+ 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x12, 0x28, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
+ 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x6d,
+ 0x6f, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43,
+ 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x76, 0x74, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69,
+ 0x6e, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x6d, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x61,
+ 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56,
+ 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x52, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
+ 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69,
+ 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56,
+ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x27,
+ 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24, 0x2e,
+ 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
+ 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44,
+ 0x0a, 0x09, 0x56, 0x54, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x76, 0x74,
+ 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x54, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e,
+ 0x2e, 0x56, 0x54, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x42, 0x26, 0x5a, 0x24, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69,
+ 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -7987,7 +8350,7 @@ func file_vtadmin_proto_rawDescGZIP() []byte {
}
var file_vtadmin_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_vtadmin_proto_msgTypes = make([]protoimpl.MessageInfo, 121)
+var file_vtadmin_proto_msgTypes = make([]protoimpl.MessageInfo, 126)
var file_vtadmin_proto_goTypes = []any{
(Tablet_ServingState)(0), // 0: vtadmin.Tablet.ServingState
(*Cluster)(nil), // 1: vtadmin.Cluster
@@ -8052,345 +8415,365 @@ var file_vtadmin_proto_goTypes = []any{
(*GetTabletsRequest)(nil), // 60: vtadmin.GetTabletsRequest
(*GetTabletsResponse)(nil), // 61: vtadmin.GetTabletsResponse
(*GetTopologyPathRequest)(nil), // 62: vtadmin.GetTopologyPathRequest
- (*GetVSchemaRequest)(nil), // 63: vtadmin.GetVSchemaRequest
- (*GetVSchemasRequest)(nil), // 64: vtadmin.GetVSchemasRequest
- (*GetVSchemasResponse)(nil), // 65: vtadmin.GetVSchemasResponse
- (*GetVtctldsRequest)(nil), // 66: vtadmin.GetVtctldsRequest
- (*GetVtctldsResponse)(nil), // 67: vtadmin.GetVtctldsResponse
- (*GetWorkflowRequest)(nil), // 68: vtadmin.GetWorkflowRequest
- (*GetWorkflowsRequest)(nil), // 69: vtadmin.GetWorkflowsRequest
- (*GetWorkflowsResponse)(nil), // 70: vtadmin.GetWorkflowsResponse
- (*LaunchSchemaMigrationRequest)(nil), // 71: vtadmin.LaunchSchemaMigrationRequest
- (*PingTabletRequest)(nil), // 72: vtadmin.PingTabletRequest
- (*PingTabletResponse)(nil), // 73: vtadmin.PingTabletResponse
- (*PlannedFailoverShardRequest)(nil), // 74: vtadmin.PlannedFailoverShardRequest
- (*PlannedFailoverShardResponse)(nil), // 75: vtadmin.PlannedFailoverShardResponse
- (*RebuildKeyspaceGraphRequest)(nil), // 76: vtadmin.RebuildKeyspaceGraphRequest
- (*RebuildKeyspaceGraphResponse)(nil), // 77: vtadmin.RebuildKeyspaceGraphResponse
- (*RefreshStateRequest)(nil), // 78: vtadmin.RefreshStateRequest
- (*RefreshStateResponse)(nil), // 79: vtadmin.RefreshStateResponse
- (*ReloadSchemasRequest)(nil), // 80: vtadmin.ReloadSchemasRequest
- (*ReloadSchemasResponse)(nil), // 81: vtadmin.ReloadSchemasResponse
- (*ReloadSchemaShardRequest)(nil), // 82: vtadmin.ReloadSchemaShardRequest
- (*ReloadSchemaShardResponse)(nil), // 83: vtadmin.ReloadSchemaShardResponse
- (*RefreshTabletReplicationSourceRequest)(nil), // 84: vtadmin.RefreshTabletReplicationSourceRequest
- (*RefreshTabletReplicationSourceResponse)(nil), // 85: vtadmin.RefreshTabletReplicationSourceResponse
- (*RemoveKeyspaceCellRequest)(nil), // 86: vtadmin.RemoveKeyspaceCellRequest
- (*RemoveKeyspaceCellResponse)(nil), // 87: vtadmin.RemoveKeyspaceCellResponse
- (*RetrySchemaMigrationRequest)(nil), // 88: vtadmin.RetrySchemaMigrationRequest
- (*RunHealthCheckRequest)(nil), // 89: vtadmin.RunHealthCheckRequest
- (*RunHealthCheckResponse)(nil), // 90: vtadmin.RunHealthCheckResponse
- (*SetReadOnlyRequest)(nil), // 91: vtadmin.SetReadOnlyRequest
- (*SetReadOnlyResponse)(nil), // 92: vtadmin.SetReadOnlyResponse
- (*SetReadWriteRequest)(nil), // 93: vtadmin.SetReadWriteRequest
- (*SetReadWriteResponse)(nil), // 94: vtadmin.SetReadWriteResponse
- (*StartReplicationRequest)(nil), // 95: vtadmin.StartReplicationRequest
- (*StartReplicationResponse)(nil), // 96: vtadmin.StartReplicationResponse
- (*StopReplicationRequest)(nil), // 97: vtadmin.StopReplicationRequest
- (*StopReplicationResponse)(nil), // 98: vtadmin.StopReplicationResponse
- (*TabletExternallyPromotedRequest)(nil), // 99: vtadmin.TabletExternallyPromotedRequest
- (*TabletExternallyPromotedResponse)(nil), // 100: vtadmin.TabletExternallyPromotedResponse
- (*TabletExternallyReparentedRequest)(nil), // 101: vtadmin.TabletExternallyReparentedRequest
- (*ValidateRequest)(nil), // 102: vtadmin.ValidateRequest
- (*ValidateKeyspaceRequest)(nil), // 103: vtadmin.ValidateKeyspaceRequest
- (*ValidateSchemaKeyspaceRequest)(nil), // 104: vtadmin.ValidateSchemaKeyspaceRequest
- (*ValidateShardRequest)(nil), // 105: vtadmin.ValidateShardRequest
- (*ValidateVersionKeyspaceRequest)(nil), // 106: vtadmin.ValidateVersionKeyspaceRequest
- (*ValidateVersionShardRequest)(nil), // 107: vtadmin.ValidateVersionShardRequest
- (*VTExplainRequest)(nil), // 108: vtadmin.VTExplainRequest
- (*VTExplainResponse)(nil), // 109: vtadmin.VTExplainResponse
- nil, // 110: vtadmin.ClusterCellsAliases.AliasesEntry
- nil, // 111: vtadmin.Keyspace.ShardsEntry
- nil, // 112: vtadmin.Schema.TableSizesEntry
- (*Schema_ShardTableSize)(nil), // 113: vtadmin.Schema.ShardTableSize
- (*Schema_TableSize)(nil), // 114: vtadmin.Schema.TableSize
- nil, // 115: vtadmin.Schema.TableSize.ByShardEntry
- (*GetSchemaMigrationsRequest_ClusterRequest)(nil), // 116: vtadmin.GetSchemaMigrationsRequest.ClusterRequest
- nil, // 117: vtadmin.GetSrvKeyspacesResponse.SrvKeyspacesEntry
- nil, // 118: vtadmin.GetWorkflowsResponse.WorkflowsByClusterEntry
- (*ReloadSchemasResponse_KeyspaceResult)(nil), // 119: vtadmin.ReloadSchemasResponse.KeyspaceResult
- (*ReloadSchemasResponse_ShardResult)(nil), // 120: vtadmin.ReloadSchemasResponse.ShardResult
- (*ReloadSchemasResponse_TabletResult)(nil), // 121: vtadmin.ReloadSchemasResponse.TabletResult
- (*mysqlctl.BackupInfo)(nil), // 122: mysqlctl.BackupInfo
- (*topodata.CellInfo)(nil), // 123: topodata.CellInfo
- (*vtctldata.ShardReplicationPositionsResponse)(nil), // 124: vtctldata.ShardReplicationPositionsResponse
- (*vtctldata.Keyspace)(nil), // 125: vtctldata.Keyspace
- (*tabletmanagerdata.TableDefinition)(nil), // 126: tabletmanagerdata.TableDefinition
- (*vtctldata.SchemaMigration)(nil), // 127: vtctldata.SchemaMigration
- (*vtctldata.Shard)(nil), // 128: vtctldata.Shard
- (*vschema.SrvVSchema)(nil), // 129: vschema.SrvVSchema
- (*topodata.Tablet)(nil), // 130: topodata.Tablet
- (*vschema.Keyspace)(nil), // 131: vschema.Keyspace
- (*vtctldata.Workflow)(nil), // 132: vtctldata.Workflow
- (*vtctldata.ApplySchemaRequest)(nil), // 133: vtctldata.ApplySchemaRequest
- (*vtctldata.CancelSchemaMigrationRequest)(nil), // 134: vtctldata.CancelSchemaMigrationRequest
- (*vtctldata.CleanupSchemaMigrationRequest)(nil), // 135: vtctldata.CleanupSchemaMigrationRequest
- (*vtctldata.CompleteSchemaMigrationRequest)(nil), // 136: vtctldata.CompleteSchemaMigrationRequest
- (*vtctldata.CreateKeyspaceRequest)(nil), // 137: vtctldata.CreateKeyspaceRequest
- (*vtctldata.CreateShardRequest)(nil), // 138: vtctldata.CreateShardRequest
- (*vtctldata.DeleteKeyspaceRequest)(nil), // 139: vtctldata.DeleteKeyspaceRequest
- (*vtctldata.DeleteShardsRequest)(nil), // 140: vtctldata.DeleteShardsRequest
- (*topodata.TabletAlias)(nil), // 141: topodata.TabletAlias
- (*vtctldata.EmergencyReparentShardRequest)(nil), // 142: vtctldata.EmergencyReparentShardRequest
- (*logutil.Event)(nil), // 143: logutil.Event
- (*vtctldata.GetBackupsRequest)(nil), // 144: vtctldata.GetBackupsRequest
- (*vtctldata.LaunchSchemaMigrationRequest)(nil), // 145: vtctldata.LaunchSchemaMigrationRequest
- (*vtctldata.PlannedReparentShardRequest)(nil), // 146: vtctldata.PlannedReparentShardRequest
- (*vtctldata.RetrySchemaMigrationRequest)(nil), // 147: vtctldata.RetrySchemaMigrationRequest
- (*topodata.CellsAlias)(nil), // 148: topodata.CellsAlias
- (*vtctldata.GetSchemaMigrationsRequest)(nil), // 149: vtctldata.GetSchemaMigrationsRequest
- (*vtctldata.GetSrvKeyspacesResponse)(nil), // 150: vtctldata.GetSrvKeyspacesResponse
- (*vtctldata.ApplySchemaResponse)(nil), // 151: vtctldata.ApplySchemaResponse
- (*vtctldata.CancelSchemaMigrationResponse)(nil), // 152: vtctldata.CancelSchemaMigrationResponse
- (*vtctldata.CleanupSchemaMigrationResponse)(nil), // 153: vtctldata.CleanupSchemaMigrationResponse
- (*vtctldata.CompleteSchemaMigrationResponse)(nil), // 154: vtctldata.CompleteSchemaMigrationResponse
- (*vtctldata.CreateShardResponse)(nil), // 155: vtctldata.CreateShardResponse
- (*vtctldata.DeleteKeyspaceResponse)(nil), // 156: vtctldata.DeleteKeyspaceResponse
- (*vtctldata.DeleteShardsResponse)(nil), // 157: vtctldata.DeleteShardsResponse
- (*vtctldata.GetFullStatusResponse)(nil), // 158: vtctldata.GetFullStatusResponse
- (*vtctldata.GetTopologyPathResponse)(nil), // 159: vtctldata.GetTopologyPathResponse
- (*vtctldata.LaunchSchemaMigrationResponse)(nil), // 160: vtctldata.LaunchSchemaMigrationResponse
- (*vtctldata.RetrySchemaMigrationResponse)(nil), // 161: vtctldata.RetrySchemaMigrationResponse
- (*vtctldata.ValidateResponse)(nil), // 162: vtctldata.ValidateResponse
- (*vtctldata.ValidateKeyspaceResponse)(nil), // 163: vtctldata.ValidateKeyspaceResponse
- (*vtctldata.ValidateSchemaKeyspaceResponse)(nil), // 164: vtctldata.ValidateSchemaKeyspaceResponse
- (*vtctldata.ValidateShardResponse)(nil), // 165: vtctldata.ValidateShardResponse
- (*vtctldata.ValidateVersionKeyspaceResponse)(nil), // 166: vtctldata.ValidateVersionKeyspaceResponse
- (*vtctldata.ValidateVersionShardResponse)(nil), // 167: vtctldata.ValidateVersionShardResponse
+ (*GetUnresolvedTransactionsRequest)(nil), // 63: vtadmin.GetUnresolvedTransactionsRequest
+ (*GetVSchemaRequest)(nil), // 64: vtadmin.GetVSchemaRequest
+ (*GetVSchemasRequest)(nil), // 65: vtadmin.GetVSchemasRequest
+ (*GetVSchemasResponse)(nil), // 66: vtadmin.GetVSchemasResponse
+ (*GetVtctldsRequest)(nil), // 67: vtadmin.GetVtctldsRequest
+ (*GetVtctldsResponse)(nil), // 68: vtadmin.GetVtctldsResponse
+ (*GetWorkflowRequest)(nil), // 69: vtadmin.GetWorkflowRequest
+ (*GetWorkflowStatusRequest)(nil), // 70: vtadmin.GetWorkflowStatusRequest
+ (*StartWorkflowRequest)(nil), // 71: vtadmin.StartWorkflowRequest
+ (*StopWorkflowRequest)(nil), // 72: vtadmin.StopWorkflowRequest
+ (*GetWorkflowsRequest)(nil), // 73: vtadmin.GetWorkflowsRequest
+ (*GetWorkflowsResponse)(nil), // 74: vtadmin.GetWorkflowsResponse
+ (*LaunchSchemaMigrationRequest)(nil), // 75: vtadmin.LaunchSchemaMigrationRequest
+ (*MoveTablesCreateRequest)(nil), // 76: vtadmin.MoveTablesCreateRequest
+ (*PingTabletRequest)(nil), // 77: vtadmin.PingTabletRequest
+ (*PingTabletResponse)(nil), // 78: vtadmin.PingTabletResponse
+ (*PlannedFailoverShardRequest)(nil), // 79: vtadmin.PlannedFailoverShardRequest
+ (*PlannedFailoverShardResponse)(nil), // 80: vtadmin.PlannedFailoverShardResponse
+ (*RebuildKeyspaceGraphRequest)(nil), // 81: vtadmin.RebuildKeyspaceGraphRequest
+ (*RebuildKeyspaceGraphResponse)(nil), // 82: vtadmin.RebuildKeyspaceGraphResponse
+ (*RefreshStateRequest)(nil), // 83: vtadmin.RefreshStateRequest
+ (*RefreshStateResponse)(nil), // 84: vtadmin.RefreshStateResponse
+ (*ReloadSchemasRequest)(nil), // 85: vtadmin.ReloadSchemasRequest
+ (*ReloadSchemasResponse)(nil), // 86: vtadmin.ReloadSchemasResponse
+ (*ReloadSchemaShardRequest)(nil), // 87: vtadmin.ReloadSchemaShardRequest
+ (*ReloadSchemaShardResponse)(nil), // 88: vtadmin.ReloadSchemaShardResponse
+ (*RefreshTabletReplicationSourceRequest)(nil), // 89: vtadmin.RefreshTabletReplicationSourceRequest
+ (*RefreshTabletReplicationSourceResponse)(nil), // 90: vtadmin.RefreshTabletReplicationSourceResponse
+ (*RemoveKeyspaceCellRequest)(nil), // 91: vtadmin.RemoveKeyspaceCellRequest
+ (*RemoveKeyspaceCellResponse)(nil), // 92: vtadmin.RemoveKeyspaceCellResponse
+ (*RetrySchemaMigrationRequest)(nil), // 93: vtadmin.RetrySchemaMigrationRequest
+ (*RunHealthCheckRequest)(nil), // 94: vtadmin.RunHealthCheckRequest
+ (*RunHealthCheckResponse)(nil), // 95: vtadmin.RunHealthCheckResponse
+ (*SetReadOnlyRequest)(nil), // 96: vtadmin.SetReadOnlyRequest
+ (*SetReadOnlyResponse)(nil), // 97: vtadmin.SetReadOnlyResponse
+ (*SetReadWriteRequest)(nil), // 98: vtadmin.SetReadWriteRequest
+ (*SetReadWriteResponse)(nil), // 99: vtadmin.SetReadWriteResponse
+ (*StartReplicationRequest)(nil), // 100: vtadmin.StartReplicationRequest
+ (*StartReplicationResponse)(nil), // 101: vtadmin.StartReplicationResponse
+ (*StopReplicationRequest)(nil), // 102: vtadmin.StopReplicationRequest
+ (*StopReplicationResponse)(nil), // 103: vtadmin.StopReplicationResponse
+ (*TabletExternallyPromotedRequest)(nil), // 104: vtadmin.TabletExternallyPromotedRequest
+ (*TabletExternallyPromotedResponse)(nil), // 105: vtadmin.TabletExternallyPromotedResponse
+ (*TabletExternallyReparentedRequest)(nil), // 106: vtadmin.TabletExternallyReparentedRequest
+ (*ValidateRequest)(nil), // 107: vtadmin.ValidateRequest
+ (*ValidateKeyspaceRequest)(nil), // 108: vtadmin.ValidateKeyspaceRequest
+ (*ValidateSchemaKeyspaceRequest)(nil), // 109: vtadmin.ValidateSchemaKeyspaceRequest
+ (*ValidateShardRequest)(nil), // 110: vtadmin.ValidateShardRequest
+ (*ValidateVersionKeyspaceRequest)(nil), // 111: vtadmin.ValidateVersionKeyspaceRequest
+ (*ValidateVersionShardRequest)(nil), // 112: vtadmin.ValidateVersionShardRequest
+ (*VTExplainRequest)(nil), // 113: vtadmin.VTExplainRequest
+ (*VTExplainResponse)(nil), // 114: vtadmin.VTExplainResponse
+ nil, // 115: vtadmin.ClusterCellsAliases.AliasesEntry
+ nil, // 116: vtadmin.Keyspace.ShardsEntry
+ nil, // 117: vtadmin.Schema.TableSizesEntry
+ (*Schema_ShardTableSize)(nil), // 118: vtadmin.Schema.ShardTableSize
+ (*Schema_TableSize)(nil), // 119: vtadmin.Schema.TableSize
+ nil, // 120: vtadmin.Schema.TableSize.ByShardEntry
+ (*GetSchemaMigrationsRequest_ClusterRequest)(nil), // 121: vtadmin.GetSchemaMigrationsRequest.ClusterRequest
+ nil, // 122: vtadmin.GetSrvKeyspacesResponse.SrvKeyspacesEntry
+ nil, // 123: vtadmin.GetWorkflowsResponse.WorkflowsByClusterEntry
+ (*ReloadSchemasResponse_KeyspaceResult)(nil), // 124: vtadmin.ReloadSchemasResponse.KeyspaceResult
+ (*ReloadSchemasResponse_ShardResult)(nil), // 125: vtadmin.ReloadSchemasResponse.ShardResult
+ (*ReloadSchemasResponse_TabletResult)(nil), // 126: vtadmin.ReloadSchemasResponse.TabletResult
+ (*mysqlctl.BackupInfo)(nil), // 127: mysqlctl.BackupInfo
+ (*topodata.CellInfo)(nil), // 128: topodata.CellInfo
+ (*vtctldata.ShardReplicationPositionsResponse)(nil), // 129: vtctldata.ShardReplicationPositionsResponse
+ (*vtctldata.Keyspace)(nil), // 130: vtctldata.Keyspace
+ (*tabletmanagerdata.TableDefinition)(nil), // 131: tabletmanagerdata.TableDefinition
+ (*vtctldata.SchemaMigration)(nil), // 132: vtctldata.SchemaMigration
+ (*vtctldata.Shard)(nil), // 133: vtctldata.Shard
+ (*vschema.SrvVSchema)(nil), // 134: vschema.SrvVSchema
+ (*topodata.Tablet)(nil), // 135: topodata.Tablet
+ (*vschema.Keyspace)(nil), // 136: vschema.Keyspace
+ (*vtctldata.Workflow)(nil), // 137: vtctldata.Workflow
+ (*vtctldata.ApplySchemaRequest)(nil), // 138: vtctldata.ApplySchemaRequest
+ (*vtctldata.CancelSchemaMigrationRequest)(nil), // 139: vtctldata.CancelSchemaMigrationRequest
+ (*vtctldata.CleanupSchemaMigrationRequest)(nil), // 140: vtctldata.CleanupSchemaMigrationRequest
+ (*vtctldata.CompleteSchemaMigrationRequest)(nil), // 141: vtctldata.CompleteSchemaMigrationRequest
+ (*vtctldata.CreateKeyspaceRequest)(nil), // 142: vtctldata.CreateKeyspaceRequest
+ (*vtctldata.CreateShardRequest)(nil), // 143: vtctldata.CreateShardRequest
+ (*vtctldata.DeleteKeyspaceRequest)(nil), // 144: vtctldata.DeleteKeyspaceRequest
+ (*vtctldata.DeleteShardsRequest)(nil), // 145: vtctldata.DeleteShardsRequest
+ (*topodata.TabletAlias)(nil), // 146: topodata.TabletAlias
+ (*vtctldata.EmergencyReparentShardRequest)(nil), // 147: vtctldata.EmergencyReparentShardRequest
+ (*logutil.Event)(nil), // 148: logutil.Event
+ (*vtctldata.GetBackupsRequest)(nil), // 149: vtctldata.GetBackupsRequest
+ (*vtctldata.LaunchSchemaMigrationRequest)(nil), // 150: vtctldata.LaunchSchemaMigrationRequest
+ (*vtctldata.MoveTablesCreateRequest)(nil), // 151: vtctldata.MoveTablesCreateRequest
+ (*vtctldata.PlannedReparentShardRequest)(nil), // 152: vtctldata.PlannedReparentShardRequest
+ (*vtctldata.RetrySchemaMigrationRequest)(nil), // 153: vtctldata.RetrySchemaMigrationRequest
+ (*topodata.CellsAlias)(nil), // 154: topodata.CellsAlias
+ (*vtctldata.GetSchemaMigrationsRequest)(nil), // 155: vtctldata.GetSchemaMigrationsRequest
+ (*vtctldata.GetSrvKeyspacesResponse)(nil), // 156: vtctldata.GetSrvKeyspacesResponse
+ (*vtctldata.ApplySchemaResponse)(nil), // 157: vtctldata.ApplySchemaResponse
+ (*vtctldata.CancelSchemaMigrationResponse)(nil), // 158: vtctldata.CancelSchemaMigrationResponse
+ (*vtctldata.CleanupSchemaMigrationResponse)(nil), // 159: vtctldata.CleanupSchemaMigrationResponse
+ (*vtctldata.CompleteSchemaMigrationResponse)(nil), // 160: vtctldata.CompleteSchemaMigrationResponse
+ (*vtctldata.CreateShardResponse)(nil), // 161: vtctldata.CreateShardResponse
+ (*vtctldata.DeleteKeyspaceResponse)(nil), // 162: vtctldata.DeleteKeyspaceResponse
+ (*vtctldata.DeleteShardsResponse)(nil), // 163: vtctldata.DeleteShardsResponse
+ (*vtctldata.GetFullStatusResponse)(nil), // 164: vtctldata.GetFullStatusResponse
+ (*vtctldata.GetTopologyPathResponse)(nil), // 165: vtctldata.GetTopologyPathResponse
+ (*vtctldata.GetUnresolvedTransactionsResponse)(nil), // 166: vtctldata.GetUnresolvedTransactionsResponse
+ (*vtctldata.WorkflowStatusResponse)(nil), // 167: vtctldata.WorkflowStatusResponse
+ (*vtctldata.WorkflowUpdateResponse)(nil), // 168: vtctldata.WorkflowUpdateResponse
+ (*vtctldata.LaunchSchemaMigrationResponse)(nil), // 169: vtctldata.LaunchSchemaMigrationResponse
+ (*vtctldata.RetrySchemaMigrationResponse)(nil), // 170: vtctldata.RetrySchemaMigrationResponse
+ (*vtctldata.ValidateResponse)(nil), // 171: vtctldata.ValidateResponse
+ (*vtctldata.ValidateKeyspaceResponse)(nil), // 172: vtctldata.ValidateKeyspaceResponse
+ (*vtctldata.ValidateSchemaKeyspaceResponse)(nil), // 173: vtctldata.ValidateSchemaKeyspaceResponse
+ (*vtctldata.ValidateShardResponse)(nil), // 174: vtctldata.ValidateShardResponse
+ (*vtctldata.ValidateVersionKeyspaceResponse)(nil), // 175: vtctldata.ValidateVersionKeyspaceResponse
+ (*vtctldata.ValidateVersionShardResponse)(nil), // 176: vtctldata.ValidateVersionShardResponse
}
var file_vtadmin_proto_depIdxs = []int32{
1, // 0: vtadmin.ClusterBackup.cluster:type_name -> vtadmin.Cluster
- 122, // 1: vtadmin.ClusterBackup.backup:type_name -> mysqlctl.BackupInfo
+ 127, // 1: vtadmin.ClusterBackup.backup:type_name -> mysqlctl.BackupInfo
1, // 2: vtadmin.ClusterCellsAliases.cluster:type_name -> vtadmin.Cluster
- 110, // 3: vtadmin.ClusterCellsAliases.aliases:type_name -> vtadmin.ClusterCellsAliases.AliasesEntry
+ 115, // 3: vtadmin.ClusterCellsAliases.aliases:type_name -> vtadmin.ClusterCellsAliases.AliasesEntry
1, // 4: vtadmin.ClusterCellInfo.cluster:type_name -> vtadmin.Cluster
- 123, // 5: vtadmin.ClusterCellInfo.cell_info:type_name -> topodata.CellInfo
+ 128, // 5: vtadmin.ClusterCellInfo.cell_info:type_name -> topodata.CellInfo
1, // 6: vtadmin.ClusterShardReplicationPosition.cluster:type_name -> vtadmin.Cluster
- 124, // 7: vtadmin.ClusterShardReplicationPosition.position_info:type_name -> vtctldata.ShardReplicationPositionsResponse
+ 129, // 7: vtadmin.ClusterShardReplicationPosition.position_info:type_name -> vtctldata.ShardReplicationPositionsResponse
16, // 8: vtadmin.ClusterWorkflows.workflows:type_name -> vtadmin.Workflow
1, // 9: vtadmin.Keyspace.cluster:type_name -> vtadmin.Cluster
- 125, // 10: vtadmin.Keyspace.keyspace:type_name -> vtctldata.Keyspace
- 111, // 11: vtadmin.Keyspace.shards:type_name -> vtadmin.Keyspace.ShardsEntry
+ 130, // 10: vtadmin.Keyspace.keyspace:type_name -> vtctldata.Keyspace
+ 116, // 11: vtadmin.Keyspace.shards:type_name -> vtadmin.Keyspace.ShardsEntry
1, // 12: vtadmin.Schema.cluster:type_name -> vtadmin.Cluster
- 126, // 13: vtadmin.Schema.table_definitions:type_name -> tabletmanagerdata.TableDefinition
- 112, // 14: vtadmin.Schema.table_sizes:type_name -> vtadmin.Schema.TableSizesEntry
+ 131, // 13: vtadmin.Schema.table_definitions:type_name -> tabletmanagerdata.TableDefinition
+ 117, // 14: vtadmin.Schema.table_sizes:type_name -> vtadmin.Schema.TableSizesEntry
1, // 15: vtadmin.SchemaMigration.cluster:type_name -> vtadmin.Cluster
- 127, // 16: vtadmin.SchemaMigration.schema_migration:type_name -> vtctldata.SchemaMigration
+ 132, // 16: vtadmin.SchemaMigration.schema_migration:type_name -> vtctldata.SchemaMigration
1, // 17: vtadmin.Shard.cluster:type_name -> vtadmin.Cluster
- 128, // 18: vtadmin.Shard.shard:type_name -> vtctldata.Shard
+ 133, // 18: vtadmin.Shard.shard:type_name -> vtctldata.Shard
1, // 19: vtadmin.SrvVSchema.cluster:type_name -> vtadmin.Cluster
- 129, // 20: vtadmin.SrvVSchema.srv_v_schema:type_name -> vschema.SrvVSchema
+ 134, // 20: vtadmin.SrvVSchema.srv_v_schema:type_name -> vschema.SrvVSchema
1, // 21: vtadmin.Tablet.cluster:type_name -> vtadmin.Cluster
- 130, // 22: vtadmin.Tablet.tablet:type_name -> topodata.Tablet
+ 135, // 22: vtadmin.Tablet.tablet:type_name -> topodata.Tablet
0, // 23: vtadmin.Tablet.state:type_name -> vtadmin.Tablet.ServingState
1, // 24: vtadmin.VSchema.cluster:type_name -> vtadmin.Cluster
- 131, // 25: vtadmin.VSchema.v_schema:type_name -> vschema.Keyspace
+ 136, // 25: vtadmin.VSchema.v_schema:type_name -> vschema.Keyspace
1, // 26: vtadmin.Vtctld.cluster:type_name -> vtadmin.Cluster
1, // 27: vtadmin.VTGate.cluster:type_name -> vtadmin.Cluster
1, // 28: vtadmin.Workflow.cluster:type_name -> vtadmin.Cluster
- 132, // 29: vtadmin.Workflow.workflow:type_name -> vtctldata.Workflow
- 133, // 30: vtadmin.ApplySchemaRequest.request:type_name -> vtctldata.ApplySchemaRequest
- 134, // 31: vtadmin.CancelSchemaMigrationRequest.request:type_name -> vtctldata.CancelSchemaMigrationRequest
- 135, // 32: vtadmin.CleanupSchemaMigrationRequest.request:type_name -> vtctldata.CleanupSchemaMigrationRequest
- 136, // 33: vtadmin.CompleteSchemaMigrationRequest.request:type_name -> vtctldata.CompleteSchemaMigrationRequest
- 137, // 34: vtadmin.CreateKeyspaceRequest.options:type_name -> vtctldata.CreateKeyspaceRequest
+ 137, // 29: vtadmin.Workflow.workflow:type_name -> vtctldata.Workflow
+ 138, // 30: vtadmin.ApplySchemaRequest.request:type_name -> vtctldata.ApplySchemaRequest
+ 139, // 31: vtadmin.CancelSchemaMigrationRequest.request:type_name -> vtctldata.CancelSchemaMigrationRequest
+ 140, // 32: vtadmin.CleanupSchemaMigrationRequest.request:type_name -> vtctldata.CleanupSchemaMigrationRequest
+ 141, // 33: vtadmin.CompleteSchemaMigrationRequest.request:type_name -> vtctldata.CompleteSchemaMigrationRequest
+ 142, // 34: vtadmin.CreateKeyspaceRequest.options:type_name -> vtctldata.CreateKeyspaceRequest
7, // 35: vtadmin.CreateKeyspaceResponse.keyspace:type_name -> vtadmin.Keyspace
- 138, // 36: vtadmin.CreateShardRequest.options:type_name -> vtctldata.CreateShardRequest
- 139, // 37: vtadmin.DeleteKeyspaceRequest.options:type_name -> vtctldata.DeleteKeyspaceRequest
- 140, // 38: vtadmin.DeleteShardsRequest.options:type_name -> vtctldata.DeleteShardsRequest
- 141, // 39: vtadmin.DeleteTabletRequest.alias:type_name -> topodata.TabletAlias
+ 143, // 36: vtadmin.CreateShardRequest.options:type_name -> vtctldata.CreateShardRequest
+ 144, // 37: vtadmin.DeleteKeyspaceRequest.options:type_name -> vtctldata.DeleteKeyspaceRequest
+ 145, // 38: vtadmin.DeleteShardsRequest.options:type_name -> vtctldata.DeleteShardsRequest
+ 146, // 39: vtadmin.DeleteTabletRequest.alias:type_name -> topodata.TabletAlias
1, // 40: vtadmin.DeleteTabletResponse.cluster:type_name -> vtadmin.Cluster
- 142, // 41: vtadmin.EmergencyFailoverShardRequest.options:type_name -> vtctldata.EmergencyReparentShardRequest
+ 147, // 41: vtadmin.EmergencyFailoverShardRequest.options:type_name -> vtctldata.EmergencyReparentShardRequest
1, // 42: vtadmin.EmergencyFailoverShardResponse.cluster:type_name -> vtadmin.Cluster
- 141, // 43: vtadmin.EmergencyFailoverShardResponse.promoted_primary:type_name -> topodata.TabletAlias
- 143, // 44: vtadmin.EmergencyFailoverShardResponse.events:type_name -> logutil.Event
+ 146, // 43: vtadmin.EmergencyFailoverShardResponse.promoted_primary:type_name -> topodata.TabletAlias
+ 148, // 44: vtadmin.EmergencyFailoverShardResponse.events:type_name -> logutil.Event
58, // 45: vtadmin.FindSchemaRequest.table_size_options:type_name -> vtadmin.GetSchemaTableSizeOptions
- 144, // 46: vtadmin.GetBackupsRequest.request_options:type_name -> vtctldata.GetBackupsRequest
+ 149, // 46: vtadmin.GetBackupsRequest.request_options:type_name -> vtctldata.GetBackupsRequest
2, // 47: vtadmin.GetBackupsResponse.backups:type_name -> vtadmin.ClusterBackup
4, // 48: vtadmin.GetCellInfosResponse.cell_infos:type_name -> vtadmin.ClusterCellInfo
3, // 49: vtadmin.GetCellsAliasesResponse.aliases:type_name -> vtadmin.ClusterCellsAliases
1, // 50: vtadmin.GetClustersResponse.clusters:type_name -> vtadmin.Cluster
- 141, // 51: vtadmin.GetFullStatusRequest.alias:type_name -> topodata.TabletAlias
+ 146, // 51: vtadmin.GetFullStatusRequest.alias:type_name -> topodata.TabletAlias
15, // 52: vtadmin.GetGatesResponse.gates:type_name -> vtadmin.VTGate
7, // 53: vtadmin.GetKeyspacesResponse.keyspaces:type_name -> vtadmin.Keyspace
58, // 54: vtadmin.GetSchemaRequest.table_size_options:type_name -> vtadmin.GetSchemaTableSizeOptions
58, // 55: vtadmin.GetSchemasRequest.table_size_options:type_name -> vtadmin.GetSchemaTableSizeOptions
8, // 56: vtadmin.GetSchemasResponse.schemas:type_name -> vtadmin.Schema
- 116, // 57: vtadmin.GetSchemaMigrationsRequest.cluster_requests:type_name -> vtadmin.GetSchemaMigrationsRequest.ClusterRequest
+ 121, // 57: vtadmin.GetSchemaMigrationsRequest.cluster_requests:type_name -> vtadmin.GetSchemaMigrationsRequest.ClusterRequest
9, // 58: vtadmin.GetSchemaMigrationsResponse.schema_migrations:type_name -> vtadmin.SchemaMigration
5, // 59: vtadmin.GetShardReplicationPositionsResponse.replication_positions:type_name -> vtadmin.ClusterShardReplicationPosition
- 117, // 60: vtadmin.GetSrvKeyspacesResponse.srv_keyspaces:type_name -> vtadmin.GetSrvKeyspacesResponse.SrvKeyspacesEntry
+ 122, // 60: vtadmin.GetSrvKeyspacesResponse.srv_keyspaces:type_name -> vtadmin.GetSrvKeyspacesResponse.SrvKeyspacesEntry
11, // 61: vtadmin.GetSrvVSchemasResponse.srv_v_schemas:type_name -> vtadmin.SrvVSchema
- 141, // 62: vtadmin.GetTabletRequest.alias:type_name -> topodata.TabletAlias
+ 146, // 62: vtadmin.GetTabletRequest.alias:type_name -> topodata.TabletAlias
12, // 63: vtadmin.GetTabletsResponse.tablets:type_name -> vtadmin.Tablet
13, // 64: vtadmin.GetVSchemasResponse.v_schemas:type_name -> vtadmin.VSchema
14, // 65: vtadmin.GetVtctldsResponse.vtctlds:type_name -> vtadmin.Vtctld
- 118, // 66: vtadmin.GetWorkflowsResponse.workflows_by_cluster:type_name -> vtadmin.GetWorkflowsResponse.WorkflowsByClusterEntry
- 145, // 67: vtadmin.LaunchSchemaMigrationRequest.request:type_name -> vtctldata.LaunchSchemaMigrationRequest
- 141, // 68: vtadmin.PingTabletRequest.alias:type_name -> topodata.TabletAlias
- 1, // 69: vtadmin.PingTabletResponse.cluster:type_name -> vtadmin.Cluster
- 146, // 70: vtadmin.PlannedFailoverShardRequest.options:type_name -> vtctldata.PlannedReparentShardRequest
- 1, // 71: vtadmin.PlannedFailoverShardResponse.cluster:type_name -> vtadmin.Cluster
- 141, // 72: vtadmin.PlannedFailoverShardResponse.promoted_primary:type_name -> topodata.TabletAlias
- 143, // 73: vtadmin.PlannedFailoverShardResponse.events:type_name -> logutil.Event
- 141, // 74: vtadmin.RefreshStateRequest.alias:type_name -> topodata.TabletAlias
- 1, // 75: vtadmin.RefreshStateResponse.cluster:type_name -> vtadmin.Cluster
- 141, // 76: vtadmin.ReloadSchemasRequest.tablets:type_name -> topodata.TabletAlias
- 119, // 77: vtadmin.ReloadSchemasResponse.keyspace_results:type_name -> vtadmin.ReloadSchemasResponse.KeyspaceResult
- 120, // 78: vtadmin.ReloadSchemasResponse.shard_results:type_name -> vtadmin.ReloadSchemasResponse.ShardResult
- 121, // 79: vtadmin.ReloadSchemasResponse.tablet_results:type_name -> vtadmin.ReloadSchemasResponse.TabletResult
- 143, // 80: vtadmin.ReloadSchemaShardResponse.events:type_name -> logutil.Event
- 141, // 81: vtadmin.RefreshTabletReplicationSourceRequest.alias:type_name -> topodata.TabletAlias
- 141, // 82: vtadmin.RefreshTabletReplicationSourceResponse.primary:type_name -> topodata.TabletAlias
- 1, // 83: vtadmin.RefreshTabletReplicationSourceResponse.cluster:type_name -> vtadmin.Cluster
- 147, // 84: vtadmin.RetrySchemaMigrationRequest.request:type_name -> vtctldata.RetrySchemaMigrationRequest
- 141, // 85: vtadmin.RunHealthCheckRequest.alias:type_name -> topodata.TabletAlias
- 1, // 86: vtadmin.RunHealthCheckResponse.cluster:type_name -> vtadmin.Cluster
- 141, // 87: vtadmin.SetReadOnlyRequest.alias:type_name -> topodata.TabletAlias
- 141, // 88: vtadmin.SetReadWriteRequest.alias:type_name -> topodata.TabletAlias
- 141, // 89: vtadmin.StartReplicationRequest.alias:type_name -> topodata.TabletAlias
- 1, // 90: vtadmin.StartReplicationResponse.cluster:type_name -> vtadmin.Cluster
- 141, // 91: vtadmin.StopReplicationRequest.alias:type_name -> topodata.TabletAlias
- 1, // 92: vtadmin.StopReplicationResponse.cluster:type_name -> vtadmin.Cluster
- 141, // 93: vtadmin.TabletExternallyPromotedRequest.alias:type_name -> topodata.TabletAlias
- 1, // 94: vtadmin.TabletExternallyPromotedResponse.cluster:type_name -> vtadmin.Cluster
- 141, // 95: vtadmin.TabletExternallyPromotedResponse.new_primary:type_name -> topodata.TabletAlias
- 141, // 96: vtadmin.TabletExternallyPromotedResponse.old_primary:type_name -> topodata.TabletAlias
- 141, // 97: vtadmin.TabletExternallyReparentedRequest.alias:type_name -> topodata.TabletAlias
- 148, // 98: vtadmin.ClusterCellsAliases.AliasesEntry.value:type_name -> topodata.CellsAlias
- 128, // 99: vtadmin.Keyspace.ShardsEntry.value:type_name -> vtctldata.Shard
- 114, // 100: vtadmin.Schema.TableSizesEntry.value:type_name -> vtadmin.Schema.TableSize
- 115, // 101: vtadmin.Schema.TableSize.by_shard:type_name -> vtadmin.Schema.TableSize.ByShardEntry
- 113, // 102: vtadmin.Schema.TableSize.ByShardEntry.value:type_name -> vtadmin.Schema.ShardTableSize
- 149, // 103: vtadmin.GetSchemaMigrationsRequest.ClusterRequest.request:type_name -> vtctldata.GetSchemaMigrationsRequest
- 150, // 104: vtadmin.GetSrvKeyspacesResponse.SrvKeyspacesEntry.value:type_name -> vtctldata.GetSrvKeyspacesResponse
- 6, // 105: vtadmin.GetWorkflowsResponse.WorkflowsByClusterEntry.value:type_name -> vtadmin.ClusterWorkflows
- 7, // 106: vtadmin.ReloadSchemasResponse.KeyspaceResult.keyspace:type_name -> vtadmin.Keyspace
- 143, // 107: vtadmin.ReloadSchemasResponse.KeyspaceResult.events:type_name -> logutil.Event
- 10, // 108: vtadmin.ReloadSchemasResponse.ShardResult.shard:type_name -> vtadmin.Shard
- 143, // 109: vtadmin.ReloadSchemasResponse.ShardResult.events:type_name -> logutil.Event
- 12, // 110: vtadmin.ReloadSchemasResponse.TabletResult.tablet:type_name -> vtadmin.Tablet
- 17, // 111: vtadmin.VTAdmin.ApplySchema:input_type -> vtadmin.ApplySchemaRequest
- 18, // 112: vtadmin.VTAdmin.CancelSchemaMigration:input_type -> vtadmin.CancelSchemaMigrationRequest
- 19, // 113: vtadmin.VTAdmin.CleanupSchemaMigration:input_type -> vtadmin.CleanupSchemaMigrationRequest
- 20, // 114: vtadmin.VTAdmin.CompleteSchemaMigration:input_type -> vtadmin.CompleteSchemaMigrationRequest
- 21, // 115: vtadmin.VTAdmin.CreateKeyspace:input_type -> vtadmin.CreateKeyspaceRequest
- 23, // 116: vtadmin.VTAdmin.CreateShard:input_type -> vtadmin.CreateShardRequest
- 24, // 117: vtadmin.VTAdmin.DeleteKeyspace:input_type -> vtadmin.DeleteKeyspaceRequest
- 25, // 118: vtadmin.VTAdmin.DeleteShards:input_type -> vtadmin.DeleteShardsRequest
- 26, // 119: vtadmin.VTAdmin.DeleteTablet:input_type -> vtadmin.DeleteTabletRequest
- 28, // 120: vtadmin.VTAdmin.EmergencyFailoverShard:input_type -> vtadmin.EmergencyFailoverShardRequest
- 30, // 121: vtadmin.VTAdmin.FindSchema:input_type -> vtadmin.FindSchemaRequest
- 31, // 122: vtadmin.VTAdmin.GetBackups:input_type -> vtadmin.GetBackupsRequest
- 33, // 123: vtadmin.VTAdmin.GetCellInfos:input_type -> vtadmin.GetCellInfosRequest
- 35, // 124: vtadmin.VTAdmin.GetCellsAliases:input_type -> vtadmin.GetCellsAliasesRequest
- 37, // 125: vtadmin.VTAdmin.GetClusters:input_type -> vtadmin.GetClustersRequest
- 39, // 126: vtadmin.VTAdmin.GetFullStatus:input_type -> vtadmin.GetFullStatusRequest
- 40, // 127: vtadmin.VTAdmin.GetGates:input_type -> vtadmin.GetGatesRequest
- 42, // 128: vtadmin.VTAdmin.GetKeyspace:input_type -> vtadmin.GetKeyspaceRequest
- 43, // 129: vtadmin.VTAdmin.GetKeyspaces:input_type -> vtadmin.GetKeyspacesRequest
- 45, // 130: vtadmin.VTAdmin.GetSchema:input_type -> vtadmin.GetSchemaRequest
- 46, // 131: vtadmin.VTAdmin.GetSchemas:input_type -> vtadmin.GetSchemasRequest
- 48, // 132: vtadmin.VTAdmin.GetSchemaMigrations:input_type -> vtadmin.GetSchemaMigrationsRequest
- 50, // 133: vtadmin.VTAdmin.GetShardReplicationPositions:input_type -> vtadmin.GetShardReplicationPositionsRequest
- 52, // 134: vtadmin.VTAdmin.GetSrvKeyspace:input_type -> vtadmin.GetSrvKeyspaceRequest
- 53, // 135: vtadmin.VTAdmin.GetSrvKeyspaces:input_type -> vtadmin.GetSrvKeyspacesRequest
- 55, // 136: vtadmin.VTAdmin.GetSrvVSchema:input_type -> vtadmin.GetSrvVSchemaRequest
- 56, // 137: vtadmin.VTAdmin.GetSrvVSchemas:input_type -> vtadmin.GetSrvVSchemasRequest
- 59, // 138: vtadmin.VTAdmin.GetTablet:input_type -> vtadmin.GetTabletRequest
- 60, // 139: vtadmin.VTAdmin.GetTablets:input_type -> vtadmin.GetTabletsRequest
- 62, // 140: vtadmin.VTAdmin.GetTopologyPath:input_type -> vtadmin.GetTopologyPathRequest
- 63, // 141: vtadmin.VTAdmin.GetVSchema:input_type -> vtadmin.GetVSchemaRequest
- 64, // 142: vtadmin.VTAdmin.GetVSchemas:input_type -> vtadmin.GetVSchemasRequest
- 66, // 143: vtadmin.VTAdmin.GetVtctlds:input_type -> vtadmin.GetVtctldsRequest
- 68, // 144: vtadmin.VTAdmin.GetWorkflow:input_type -> vtadmin.GetWorkflowRequest
- 69, // 145: vtadmin.VTAdmin.GetWorkflows:input_type -> vtadmin.GetWorkflowsRequest
- 71, // 146: vtadmin.VTAdmin.LaunchSchemaMigration:input_type -> vtadmin.LaunchSchemaMigrationRequest
- 72, // 147: vtadmin.VTAdmin.PingTablet:input_type -> vtadmin.PingTabletRequest
- 74, // 148: vtadmin.VTAdmin.PlannedFailoverShard:input_type -> vtadmin.PlannedFailoverShardRequest
- 76, // 149: vtadmin.VTAdmin.RebuildKeyspaceGraph:input_type -> vtadmin.RebuildKeyspaceGraphRequest
- 78, // 150: vtadmin.VTAdmin.RefreshState:input_type -> vtadmin.RefreshStateRequest
- 84, // 151: vtadmin.VTAdmin.RefreshTabletReplicationSource:input_type -> vtadmin.RefreshTabletReplicationSourceRequest
- 80, // 152: vtadmin.VTAdmin.ReloadSchemas:input_type -> vtadmin.ReloadSchemasRequest
- 82, // 153: vtadmin.VTAdmin.ReloadSchemaShard:input_type -> vtadmin.ReloadSchemaShardRequest
- 86, // 154: vtadmin.VTAdmin.RemoveKeyspaceCell:input_type -> vtadmin.RemoveKeyspaceCellRequest
- 88, // 155: vtadmin.VTAdmin.RetrySchemaMigration:input_type -> vtadmin.RetrySchemaMigrationRequest
- 89, // 156: vtadmin.VTAdmin.RunHealthCheck:input_type -> vtadmin.RunHealthCheckRequest
- 91, // 157: vtadmin.VTAdmin.SetReadOnly:input_type -> vtadmin.SetReadOnlyRequest
- 93, // 158: vtadmin.VTAdmin.SetReadWrite:input_type -> vtadmin.SetReadWriteRequest
- 95, // 159: vtadmin.VTAdmin.StartReplication:input_type -> vtadmin.StartReplicationRequest
- 97, // 160: vtadmin.VTAdmin.StopReplication:input_type -> vtadmin.StopReplicationRequest
- 99, // 161: vtadmin.VTAdmin.TabletExternallyPromoted:input_type -> vtadmin.TabletExternallyPromotedRequest
- 102, // 162: vtadmin.VTAdmin.Validate:input_type -> vtadmin.ValidateRequest
- 103, // 163: vtadmin.VTAdmin.ValidateKeyspace:input_type -> vtadmin.ValidateKeyspaceRequest
- 104, // 164: vtadmin.VTAdmin.ValidateSchemaKeyspace:input_type -> vtadmin.ValidateSchemaKeyspaceRequest
- 105, // 165: vtadmin.VTAdmin.ValidateShard:input_type -> vtadmin.ValidateShardRequest
- 106, // 166: vtadmin.VTAdmin.ValidateVersionKeyspace:input_type -> vtadmin.ValidateVersionKeyspaceRequest
- 107, // 167: vtadmin.VTAdmin.ValidateVersionShard:input_type -> vtadmin.ValidateVersionShardRequest
- 108, // 168: vtadmin.VTAdmin.VTExplain:input_type -> vtadmin.VTExplainRequest
- 151, // 169: vtadmin.VTAdmin.ApplySchema:output_type -> vtctldata.ApplySchemaResponse
- 152, // 170: vtadmin.VTAdmin.CancelSchemaMigration:output_type -> vtctldata.CancelSchemaMigrationResponse
- 153, // 171: vtadmin.VTAdmin.CleanupSchemaMigration:output_type -> vtctldata.CleanupSchemaMigrationResponse
- 154, // 172: vtadmin.VTAdmin.CompleteSchemaMigration:output_type -> vtctldata.CompleteSchemaMigrationResponse
- 22, // 173: vtadmin.VTAdmin.CreateKeyspace:output_type -> vtadmin.CreateKeyspaceResponse
- 155, // 174: vtadmin.VTAdmin.CreateShard:output_type -> vtctldata.CreateShardResponse
- 156, // 175: vtadmin.VTAdmin.DeleteKeyspace:output_type -> vtctldata.DeleteKeyspaceResponse
- 157, // 176: vtadmin.VTAdmin.DeleteShards:output_type -> vtctldata.DeleteShardsResponse
- 27, // 177: vtadmin.VTAdmin.DeleteTablet:output_type -> vtadmin.DeleteTabletResponse
- 29, // 178: vtadmin.VTAdmin.EmergencyFailoverShard:output_type -> vtadmin.EmergencyFailoverShardResponse
- 8, // 179: vtadmin.VTAdmin.FindSchema:output_type -> vtadmin.Schema
- 32, // 180: vtadmin.VTAdmin.GetBackups:output_type -> vtadmin.GetBackupsResponse
- 34, // 181: vtadmin.VTAdmin.GetCellInfos:output_type -> vtadmin.GetCellInfosResponse
- 36, // 182: vtadmin.VTAdmin.GetCellsAliases:output_type -> vtadmin.GetCellsAliasesResponse
- 38, // 183: vtadmin.VTAdmin.GetClusters:output_type -> vtadmin.GetClustersResponse
- 158, // 184: vtadmin.VTAdmin.GetFullStatus:output_type -> vtctldata.GetFullStatusResponse
- 41, // 185: vtadmin.VTAdmin.GetGates:output_type -> vtadmin.GetGatesResponse
- 7, // 186: vtadmin.VTAdmin.GetKeyspace:output_type -> vtadmin.Keyspace
- 44, // 187: vtadmin.VTAdmin.GetKeyspaces:output_type -> vtadmin.GetKeyspacesResponse
- 8, // 188: vtadmin.VTAdmin.GetSchema:output_type -> vtadmin.Schema
- 47, // 189: vtadmin.VTAdmin.GetSchemas:output_type -> vtadmin.GetSchemasResponse
- 49, // 190: vtadmin.VTAdmin.GetSchemaMigrations:output_type -> vtadmin.GetSchemaMigrationsResponse
- 51, // 191: vtadmin.VTAdmin.GetShardReplicationPositions:output_type -> vtadmin.GetShardReplicationPositionsResponse
- 150, // 192: vtadmin.VTAdmin.GetSrvKeyspace:output_type -> vtctldata.GetSrvKeyspacesResponse
- 54, // 193: vtadmin.VTAdmin.GetSrvKeyspaces:output_type -> vtadmin.GetSrvKeyspacesResponse
- 11, // 194: vtadmin.VTAdmin.GetSrvVSchema:output_type -> vtadmin.SrvVSchema
- 57, // 195: vtadmin.VTAdmin.GetSrvVSchemas:output_type -> vtadmin.GetSrvVSchemasResponse
- 12, // 196: vtadmin.VTAdmin.GetTablet:output_type -> vtadmin.Tablet
- 61, // 197: vtadmin.VTAdmin.GetTablets:output_type -> vtadmin.GetTabletsResponse
- 159, // 198: vtadmin.VTAdmin.GetTopologyPath:output_type -> vtctldata.GetTopologyPathResponse
- 13, // 199: vtadmin.VTAdmin.GetVSchema:output_type -> vtadmin.VSchema
- 65, // 200: vtadmin.VTAdmin.GetVSchemas:output_type -> vtadmin.GetVSchemasResponse
- 67, // 201: vtadmin.VTAdmin.GetVtctlds:output_type -> vtadmin.GetVtctldsResponse
- 16, // 202: vtadmin.VTAdmin.GetWorkflow:output_type -> vtadmin.Workflow
- 70, // 203: vtadmin.VTAdmin.GetWorkflows:output_type -> vtadmin.GetWorkflowsResponse
- 160, // 204: vtadmin.VTAdmin.LaunchSchemaMigration:output_type -> vtctldata.LaunchSchemaMigrationResponse
- 73, // 205: vtadmin.VTAdmin.PingTablet:output_type -> vtadmin.PingTabletResponse
- 75, // 206: vtadmin.VTAdmin.PlannedFailoverShard:output_type -> vtadmin.PlannedFailoverShardResponse
- 77, // 207: vtadmin.VTAdmin.RebuildKeyspaceGraph:output_type -> vtadmin.RebuildKeyspaceGraphResponse
- 79, // 208: vtadmin.VTAdmin.RefreshState:output_type -> vtadmin.RefreshStateResponse
- 85, // 209: vtadmin.VTAdmin.RefreshTabletReplicationSource:output_type -> vtadmin.RefreshTabletReplicationSourceResponse
- 81, // 210: vtadmin.VTAdmin.ReloadSchemas:output_type -> vtadmin.ReloadSchemasResponse
- 83, // 211: vtadmin.VTAdmin.ReloadSchemaShard:output_type -> vtadmin.ReloadSchemaShardResponse
- 87, // 212: vtadmin.VTAdmin.RemoveKeyspaceCell:output_type -> vtadmin.RemoveKeyspaceCellResponse
- 161, // 213: vtadmin.VTAdmin.RetrySchemaMigration:output_type -> vtctldata.RetrySchemaMigrationResponse
- 90, // 214: vtadmin.VTAdmin.RunHealthCheck:output_type -> vtadmin.RunHealthCheckResponse
- 92, // 215: vtadmin.VTAdmin.SetReadOnly:output_type -> vtadmin.SetReadOnlyResponse
- 94, // 216: vtadmin.VTAdmin.SetReadWrite:output_type -> vtadmin.SetReadWriteResponse
- 96, // 217: vtadmin.VTAdmin.StartReplication:output_type -> vtadmin.StartReplicationResponse
- 98, // 218: vtadmin.VTAdmin.StopReplication:output_type -> vtadmin.StopReplicationResponse
- 100, // 219: vtadmin.VTAdmin.TabletExternallyPromoted:output_type -> vtadmin.TabletExternallyPromotedResponse
- 162, // 220: vtadmin.VTAdmin.Validate:output_type -> vtctldata.ValidateResponse
- 163, // 221: vtadmin.VTAdmin.ValidateKeyspace:output_type -> vtctldata.ValidateKeyspaceResponse
- 164, // 222: vtadmin.VTAdmin.ValidateSchemaKeyspace:output_type -> vtctldata.ValidateSchemaKeyspaceResponse
- 165, // 223: vtadmin.VTAdmin.ValidateShard:output_type -> vtctldata.ValidateShardResponse
- 166, // 224: vtadmin.VTAdmin.ValidateVersionKeyspace:output_type -> vtctldata.ValidateVersionKeyspaceResponse
- 167, // 225: vtadmin.VTAdmin.ValidateVersionShard:output_type -> vtctldata.ValidateVersionShardResponse
- 109, // 226: vtadmin.VTAdmin.VTExplain:output_type -> vtadmin.VTExplainResponse
- 169, // [169:227] is the sub-list for method output_type
- 111, // [111:169] is the sub-list for method input_type
- 111, // [111:111] is the sub-list for extension type_name
- 111, // [111:111] is the sub-list for extension extendee
- 0, // [0:111] is the sub-list for field type_name
+ 123, // 66: vtadmin.GetWorkflowsResponse.workflows_by_cluster:type_name -> vtadmin.GetWorkflowsResponse.WorkflowsByClusterEntry
+ 150, // 67: vtadmin.LaunchSchemaMigrationRequest.request:type_name -> vtctldata.LaunchSchemaMigrationRequest
+ 151, // 68: vtadmin.MoveTablesCreateRequest.request:type_name -> vtctldata.MoveTablesCreateRequest
+ 146, // 69: vtadmin.PingTabletRequest.alias:type_name -> topodata.TabletAlias
+ 1, // 70: vtadmin.PingTabletResponse.cluster:type_name -> vtadmin.Cluster
+ 152, // 71: vtadmin.PlannedFailoverShardRequest.options:type_name -> vtctldata.PlannedReparentShardRequest
+ 1, // 72: vtadmin.PlannedFailoverShardResponse.cluster:type_name -> vtadmin.Cluster
+ 146, // 73: vtadmin.PlannedFailoverShardResponse.promoted_primary:type_name -> topodata.TabletAlias
+ 148, // 74: vtadmin.PlannedFailoverShardResponse.events:type_name -> logutil.Event
+ 146, // 75: vtadmin.RefreshStateRequest.alias:type_name -> topodata.TabletAlias
+ 1, // 76: vtadmin.RefreshStateResponse.cluster:type_name -> vtadmin.Cluster
+ 146, // 77: vtadmin.ReloadSchemasRequest.tablets:type_name -> topodata.TabletAlias
+ 124, // 78: vtadmin.ReloadSchemasResponse.keyspace_results:type_name -> vtadmin.ReloadSchemasResponse.KeyspaceResult
+ 125, // 79: vtadmin.ReloadSchemasResponse.shard_results:type_name -> vtadmin.ReloadSchemasResponse.ShardResult
+ 126, // 80: vtadmin.ReloadSchemasResponse.tablet_results:type_name -> vtadmin.ReloadSchemasResponse.TabletResult
+ 148, // 81: vtadmin.ReloadSchemaShardResponse.events:type_name -> logutil.Event
+ 146, // 82: vtadmin.RefreshTabletReplicationSourceRequest.alias:type_name -> topodata.TabletAlias
+ 146, // 83: vtadmin.RefreshTabletReplicationSourceResponse.primary:type_name -> topodata.TabletAlias
+ 1, // 84: vtadmin.RefreshTabletReplicationSourceResponse.cluster:type_name -> vtadmin.Cluster
+ 153, // 85: vtadmin.RetrySchemaMigrationRequest.request:type_name -> vtctldata.RetrySchemaMigrationRequest
+ 146, // 86: vtadmin.RunHealthCheckRequest.alias:type_name -> topodata.TabletAlias
+ 1, // 87: vtadmin.RunHealthCheckResponse.cluster:type_name -> vtadmin.Cluster
+ 146, // 88: vtadmin.SetReadOnlyRequest.alias:type_name -> topodata.TabletAlias
+ 146, // 89: vtadmin.SetReadWriteRequest.alias:type_name -> topodata.TabletAlias
+ 146, // 90: vtadmin.StartReplicationRequest.alias:type_name -> topodata.TabletAlias
+ 1, // 91: vtadmin.StartReplicationResponse.cluster:type_name -> vtadmin.Cluster
+ 146, // 92: vtadmin.StopReplicationRequest.alias:type_name -> topodata.TabletAlias
+ 1, // 93: vtadmin.StopReplicationResponse.cluster:type_name -> vtadmin.Cluster
+ 146, // 94: vtadmin.TabletExternallyPromotedRequest.alias:type_name -> topodata.TabletAlias
+ 1, // 95: vtadmin.TabletExternallyPromotedResponse.cluster:type_name -> vtadmin.Cluster
+ 146, // 96: vtadmin.TabletExternallyPromotedResponse.new_primary:type_name -> topodata.TabletAlias
+ 146, // 97: vtadmin.TabletExternallyPromotedResponse.old_primary:type_name -> topodata.TabletAlias
+ 146, // 98: vtadmin.TabletExternallyReparentedRequest.alias:type_name -> topodata.TabletAlias
+ 154, // 99: vtadmin.ClusterCellsAliases.AliasesEntry.value:type_name -> topodata.CellsAlias
+ 133, // 100: vtadmin.Keyspace.ShardsEntry.value:type_name -> vtctldata.Shard
+ 119, // 101: vtadmin.Schema.TableSizesEntry.value:type_name -> vtadmin.Schema.TableSize
+ 120, // 102: vtadmin.Schema.TableSize.by_shard:type_name -> vtadmin.Schema.TableSize.ByShardEntry
+ 118, // 103: vtadmin.Schema.TableSize.ByShardEntry.value:type_name -> vtadmin.Schema.ShardTableSize
+ 155, // 104: vtadmin.GetSchemaMigrationsRequest.ClusterRequest.request:type_name -> vtctldata.GetSchemaMigrationsRequest
+ 156, // 105: vtadmin.GetSrvKeyspacesResponse.SrvKeyspacesEntry.value:type_name -> vtctldata.GetSrvKeyspacesResponse
+ 6, // 106: vtadmin.GetWorkflowsResponse.WorkflowsByClusterEntry.value:type_name -> vtadmin.ClusterWorkflows
+ 7, // 107: vtadmin.ReloadSchemasResponse.KeyspaceResult.keyspace:type_name -> vtadmin.Keyspace
+ 148, // 108: vtadmin.ReloadSchemasResponse.KeyspaceResult.events:type_name -> logutil.Event
+ 10, // 109: vtadmin.ReloadSchemasResponse.ShardResult.shard:type_name -> vtadmin.Shard
+ 148, // 110: vtadmin.ReloadSchemasResponse.ShardResult.events:type_name -> logutil.Event
+ 12, // 111: vtadmin.ReloadSchemasResponse.TabletResult.tablet:type_name -> vtadmin.Tablet
+ 17, // 112: vtadmin.VTAdmin.ApplySchema:input_type -> vtadmin.ApplySchemaRequest
+ 18, // 113: vtadmin.VTAdmin.CancelSchemaMigration:input_type -> vtadmin.CancelSchemaMigrationRequest
+ 19, // 114: vtadmin.VTAdmin.CleanupSchemaMigration:input_type -> vtadmin.CleanupSchemaMigrationRequest
+ 20, // 115: vtadmin.VTAdmin.CompleteSchemaMigration:input_type -> vtadmin.CompleteSchemaMigrationRequest
+ 21, // 116: vtadmin.VTAdmin.CreateKeyspace:input_type -> vtadmin.CreateKeyspaceRequest
+ 23, // 117: vtadmin.VTAdmin.CreateShard:input_type -> vtadmin.CreateShardRequest
+ 24, // 118: vtadmin.VTAdmin.DeleteKeyspace:input_type -> vtadmin.DeleteKeyspaceRequest
+ 25, // 119: vtadmin.VTAdmin.DeleteShards:input_type -> vtadmin.DeleteShardsRequest
+ 26, // 120: vtadmin.VTAdmin.DeleteTablet:input_type -> vtadmin.DeleteTabletRequest
+ 28, // 121: vtadmin.VTAdmin.EmergencyFailoverShard:input_type -> vtadmin.EmergencyFailoverShardRequest
+ 30, // 122: vtadmin.VTAdmin.FindSchema:input_type -> vtadmin.FindSchemaRequest
+ 31, // 123: vtadmin.VTAdmin.GetBackups:input_type -> vtadmin.GetBackupsRequest
+ 33, // 124: vtadmin.VTAdmin.GetCellInfos:input_type -> vtadmin.GetCellInfosRequest
+ 35, // 125: vtadmin.VTAdmin.GetCellsAliases:input_type -> vtadmin.GetCellsAliasesRequest
+ 37, // 126: vtadmin.VTAdmin.GetClusters:input_type -> vtadmin.GetClustersRequest
+ 39, // 127: vtadmin.VTAdmin.GetFullStatus:input_type -> vtadmin.GetFullStatusRequest
+ 40, // 128: vtadmin.VTAdmin.GetGates:input_type -> vtadmin.GetGatesRequest
+ 42, // 129: vtadmin.VTAdmin.GetKeyspace:input_type -> vtadmin.GetKeyspaceRequest
+ 43, // 130: vtadmin.VTAdmin.GetKeyspaces:input_type -> vtadmin.GetKeyspacesRequest
+ 45, // 131: vtadmin.VTAdmin.GetSchema:input_type -> vtadmin.GetSchemaRequest
+ 46, // 132: vtadmin.VTAdmin.GetSchemas:input_type -> vtadmin.GetSchemasRequest
+ 48, // 133: vtadmin.VTAdmin.GetSchemaMigrations:input_type -> vtadmin.GetSchemaMigrationsRequest
+ 50, // 134: vtadmin.VTAdmin.GetShardReplicationPositions:input_type -> vtadmin.GetShardReplicationPositionsRequest
+ 52, // 135: vtadmin.VTAdmin.GetSrvKeyspace:input_type -> vtadmin.GetSrvKeyspaceRequest
+ 53, // 136: vtadmin.VTAdmin.GetSrvKeyspaces:input_type -> vtadmin.GetSrvKeyspacesRequest
+ 55, // 137: vtadmin.VTAdmin.GetSrvVSchema:input_type -> vtadmin.GetSrvVSchemaRequest
+ 56, // 138: vtadmin.VTAdmin.GetSrvVSchemas:input_type -> vtadmin.GetSrvVSchemasRequest
+ 59, // 139: vtadmin.VTAdmin.GetTablet:input_type -> vtadmin.GetTabletRequest
+ 60, // 140: vtadmin.VTAdmin.GetTablets:input_type -> vtadmin.GetTabletsRequest
+ 62, // 141: vtadmin.VTAdmin.GetTopologyPath:input_type -> vtadmin.GetTopologyPathRequest
+ 63, // 142: vtadmin.VTAdmin.GetUnresolvedTransactions:input_type -> vtadmin.GetUnresolvedTransactionsRequest
+ 64, // 143: vtadmin.VTAdmin.GetVSchema:input_type -> vtadmin.GetVSchemaRequest
+ 65, // 144: vtadmin.VTAdmin.GetVSchemas:input_type -> vtadmin.GetVSchemasRequest
+ 67, // 145: vtadmin.VTAdmin.GetVtctlds:input_type -> vtadmin.GetVtctldsRequest
+ 69, // 146: vtadmin.VTAdmin.GetWorkflow:input_type -> vtadmin.GetWorkflowRequest
+ 73, // 147: vtadmin.VTAdmin.GetWorkflows:input_type -> vtadmin.GetWorkflowsRequest
+ 70, // 148: vtadmin.VTAdmin.GetWorkflowStatus:input_type -> vtadmin.GetWorkflowStatusRequest
+ 71, // 149: vtadmin.VTAdmin.StartWorkflow:input_type -> vtadmin.StartWorkflowRequest
+ 72, // 150: vtadmin.VTAdmin.StopWorkflow:input_type -> vtadmin.StopWorkflowRequest
+ 75, // 151: vtadmin.VTAdmin.LaunchSchemaMigration:input_type -> vtadmin.LaunchSchemaMigrationRequest
+ 76, // 152: vtadmin.VTAdmin.MoveTablesCreate:input_type -> vtadmin.MoveTablesCreateRequest
+ 77, // 153: vtadmin.VTAdmin.PingTablet:input_type -> vtadmin.PingTabletRequest
+ 79, // 154: vtadmin.VTAdmin.PlannedFailoverShard:input_type -> vtadmin.PlannedFailoverShardRequest
+ 81, // 155: vtadmin.VTAdmin.RebuildKeyspaceGraph:input_type -> vtadmin.RebuildKeyspaceGraphRequest
+ 83, // 156: vtadmin.VTAdmin.RefreshState:input_type -> vtadmin.RefreshStateRequest
+ 89, // 157: vtadmin.VTAdmin.RefreshTabletReplicationSource:input_type -> vtadmin.RefreshTabletReplicationSourceRequest
+ 85, // 158: vtadmin.VTAdmin.ReloadSchemas:input_type -> vtadmin.ReloadSchemasRequest
+ 87, // 159: vtadmin.VTAdmin.ReloadSchemaShard:input_type -> vtadmin.ReloadSchemaShardRequest
+ 91, // 160: vtadmin.VTAdmin.RemoveKeyspaceCell:input_type -> vtadmin.RemoveKeyspaceCellRequest
+ 93, // 161: vtadmin.VTAdmin.RetrySchemaMigration:input_type -> vtadmin.RetrySchemaMigrationRequest
+ 94, // 162: vtadmin.VTAdmin.RunHealthCheck:input_type -> vtadmin.RunHealthCheckRequest
+ 96, // 163: vtadmin.VTAdmin.SetReadOnly:input_type -> vtadmin.SetReadOnlyRequest
+ 98, // 164: vtadmin.VTAdmin.SetReadWrite:input_type -> vtadmin.SetReadWriteRequest
+ 100, // 165: vtadmin.VTAdmin.StartReplication:input_type -> vtadmin.StartReplicationRequest
+ 102, // 166: vtadmin.VTAdmin.StopReplication:input_type -> vtadmin.StopReplicationRequest
+ 104, // 167: vtadmin.VTAdmin.TabletExternallyPromoted:input_type -> vtadmin.TabletExternallyPromotedRequest
+ 107, // 168: vtadmin.VTAdmin.Validate:input_type -> vtadmin.ValidateRequest
+ 108, // 169: vtadmin.VTAdmin.ValidateKeyspace:input_type -> vtadmin.ValidateKeyspaceRequest
+ 109, // 170: vtadmin.VTAdmin.ValidateSchemaKeyspace:input_type -> vtadmin.ValidateSchemaKeyspaceRequest
+ 110, // 171: vtadmin.VTAdmin.ValidateShard:input_type -> vtadmin.ValidateShardRequest
+ 111, // 172: vtadmin.VTAdmin.ValidateVersionKeyspace:input_type -> vtadmin.ValidateVersionKeyspaceRequest
+ 112, // 173: vtadmin.VTAdmin.ValidateVersionShard:input_type -> vtadmin.ValidateVersionShardRequest
+ 113, // 174: vtadmin.VTAdmin.VTExplain:input_type -> vtadmin.VTExplainRequest
+ 157, // 175: vtadmin.VTAdmin.ApplySchema:output_type -> vtctldata.ApplySchemaResponse
+ 158, // 176: vtadmin.VTAdmin.CancelSchemaMigration:output_type -> vtctldata.CancelSchemaMigrationResponse
+ 159, // 177: vtadmin.VTAdmin.CleanupSchemaMigration:output_type -> vtctldata.CleanupSchemaMigrationResponse
+ 160, // 178: vtadmin.VTAdmin.CompleteSchemaMigration:output_type -> vtctldata.CompleteSchemaMigrationResponse
+ 22, // 179: vtadmin.VTAdmin.CreateKeyspace:output_type -> vtadmin.CreateKeyspaceResponse
+ 161, // 180: vtadmin.VTAdmin.CreateShard:output_type -> vtctldata.CreateShardResponse
+ 162, // 181: vtadmin.VTAdmin.DeleteKeyspace:output_type -> vtctldata.DeleteKeyspaceResponse
+ 163, // 182: vtadmin.VTAdmin.DeleteShards:output_type -> vtctldata.DeleteShardsResponse
+ 27, // 183: vtadmin.VTAdmin.DeleteTablet:output_type -> vtadmin.DeleteTabletResponse
+ 29, // 184: vtadmin.VTAdmin.EmergencyFailoverShard:output_type -> vtadmin.EmergencyFailoverShardResponse
+ 8, // 185: vtadmin.VTAdmin.FindSchema:output_type -> vtadmin.Schema
+ 32, // 186: vtadmin.VTAdmin.GetBackups:output_type -> vtadmin.GetBackupsResponse
+ 34, // 187: vtadmin.VTAdmin.GetCellInfos:output_type -> vtadmin.GetCellInfosResponse
+ 36, // 188: vtadmin.VTAdmin.GetCellsAliases:output_type -> vtadmin.GetCellsAliasesResponse
+ 38, // 189: vtadmin.VTAdmin.GetClusters:output_type -> vtadmin.GetClustersResponse
+ 164, // 190: vtadmin.VTAdmin.GetFullStatus:output_type -> vtctldata.GetFullStatusResponse
+ 41, // 191: vtadmin.VTAdmin.GetGates:output_type -> vtadmin.GetGatesResponse
+ 7, // 192: vtadmin.VTAdmin.GetKeyspace:output_type -> vtadmin.Keyspace
+ 44, // 193: vtadmin.VTAdmin.GetKeyspaces:output_type -> vtadmin.GetKeyspacesResponse
+ 8, // 194: vtadmin.VTAdmin.GetSchema:output_type -> vtadmin.Schema
+ 47, // 195: vtadmin.VTAdmin.GetSchemas:output_type -> vtadmin.GetSchemasResponse
+ 49, // 196: vtadmin.VTAdmin.GetSchemaMigrations:output_type -> vtadmin.GetSchemaMigrationsResponse
+ 51, // 197: vtadmin.VTAdmin.GetShardReplicationPositions:output_type -> vtadmin.GetShardReplicationPositionsResponse
+ 156, // 198: vtadmin.VTAdmin.GetSrvKeyspace:output_type -> vtctldata.GetSrvKeyspacesResponse
+ 54, // 199: vtadmin.VTAdmin.GetSrvKeyspaces:output_type -> vtadmin.GetSrvKeyspacesResponse
+ 11, // 200: vtadmin.VTAdmin.GetSrvVSchema:output_type -> vtadmin.SrvVSchema
+ 57, // 201: vtadmin.VTAdmin.GetSrvVSchemas:output_type -> vtadmin.GetSrvVSchemasResponse
+ 12, // 202: vtadmin.VTAdmin.GetTablet:output_type -> vtadmin.Tablet
+ 61, // 203: vtadmin.VTAdmin.GetTablets:output_type -> vtadmin.GetTabletsResponse
+ 165, // 204: vtadmin.VTAdmin.GetTopologyPath:output_type -> vtctldata.GetTopologyPathResponse
+ 166, // 205: vtadmin.VTAdmin.GetUnresolvedTransactions:output_type -> vtctldata.GetUnresolvedTransactionsResponse
+ 13, // 206: vtadmin.VTAdmin.GetVSchema:output_type -> vtadmin.VSchema
+ 66, // 207: vtadmin.VTAdmin.GetVSchemas:output_type -> vtadmin.GetVSchemasResponse
+ 68, // 208: vtadmin.VTAdmin.GetVtctlds:output_type -> vtadmin.GetVtctldsResponse
+ 16, // 209: vtadmin.VTAdmin.GetWorkflow:output_type -> vtadmin.Workflow
+ 74, // 210: vtadmin.VTAdmin.GetWorkflows:output_type -> vtadmin.GetWorkflowsResponse
+ 167, // 211: vtadmin.VTAdmin.GetWorkflowStatus:output_type -> vtctldata.WorkflowStatusResponse
+ 168, // 212: vtadmin.VTAdmin.StartWorkflow:output_type -> vtctldata.WorkflowUpdateResponse
+ 168, // 213: vtadmin.VTAdmin.StopWorkflow:output_type -> vtctldata.WorkflowUpdateResponse
+ 169, // 214: vtadmin.VTAdmin.LaunchSchemaMigration:output_type -> vtctldata.LaunchSchemaMigrationResponse
+ 167, // 215: vtadmin.VTAdmin.MoveTablesCreate:output_type -> vtctldata.WorkflowStatusResponse
+ 78, // 216: vtadmin.VTAdmin.PingTablet:output_type -> vtadmin.PingTabletResponse
+ 80, // 217: vtadmin.VTAdmin.PlannedFailoverShard:output_type -> vtadmin.PlannedFailoverShardResponse
+ 82, // 218: vtadmin.VTAdmin.RebuildKeyspaceGraph:output_type -> vtadmin.RebuildKeyspaceGraphResponse
+ 84, // 219: vtadmin.VTAdmin.RefreshState:output_type -> vtadmin.RefreshStateResponse
+ 90, // 220: vtadmin.VTAdmin.RefreshTabletReplicationSource:output_type -> vtadmin.RefreshTabletReplicationSourceResponse
+ 86, // 221: vtadmin.VTAdmin.ReloadSchemas:output_type -> vtadmin.ReloadSchemasResponse
+ 88, // 222: vtadmin.VTAdmin.ReloadSchemaShard:output_type -> vtadmin.ReloadSchemaShardResponse
+ 92, // 223: vtadmin.VTAdmin.RemoveKeyspaceCell:output_type -> vtadmin.RemoveKeyspaceCellResponse
+ 170, // 224: vtadmin.VTAdmin.RetrySchemaMigration:output_type -> vtctldata.RetrySchemaMigrationResponse
+ 95, // 225: vtadmin.VTAdmin.RunHealthCheck:output_type -> vtadmin.RunHealthCheckResponse
+ 97, // 226: vtadmin.VTAdmin.SetReadOnly:output_type -> vtadmin.SetReadOnlyResponse
+ 99, // 227: vtadmin.VTAdmin.SetReadWrite:output_type -> vtadmin.SetReadWriteResponse
+ 101, // 228: vtadmin.VTAdmin.StartReplication:output_type -> vtadmin.StartReplicationResponse
+ 103, // 229: vtadmin.VTAdmin.StopReplication:output_type -> vtadmin.StopReplicationResponse
+ 105, // 230: vtadmin.VTAdmin.TabletExternallyPromoted:output_type -> vtadmin.TabletExternallyPromotedResponse
+ 171, // 231: vtadmin.VTAdmin.Validate:output_type -> vtctldata.ValidateResponse
+ 172, // 232: vtadmin.VTAdmin.ValidateKeyspace:output_type -> vtctldata.ValidateKeyspaceResponse
+ 173, // 233: vtadmin.VTAdmin.ValidateSchemaKeyspace:output_type -> vtctldata.ValidateSchemaKeyspaceResponse
+ 174, // 234: vtadmin.VTAdmin.ValidateShard:output_type -> vtctldata.ValidateShardResponse
+ 175, // 235: vtadmin.VTAdmin.ValidateVersionKeyspace:output_type -> vtctldata.ValidateVersionKeyspaceResponse
+ 176, // 236: vtadmin.VTAdmin.ValidateVersionShard:output_type -> vtctldata.ValidateVersionShardResponse
+ 114, // 237: vtadmin.VTAdmin.VTExplain:output_type -> vtadmin.VTExplainResponse
+ 175, // [175:238] is the sub-list for method output_type
+ 112, // [112:175] is the sub-list for method input_type
+ 112, // [112:112] is the sub-list for extension type_name
+ 112, // [112:112] is the sub-list for extension extendee
+ 0, // [0:112] is the sub-list for field type_name
}
func init() { file_vtadmin_proto_init() }
@@ -9144,7 +9527,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[62].Exporter = func(v any, i int) any {
- switch v := v.(*GetVSchemaRequest); i {
+ switch v := v.(*GetUnresolvedTransactionsRequest); i {
case 0:
return &v.state
case 1:
@@ -9156,7 +9539,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[63].Exporter = func(v any, i int) any {
- switch v := v.(*GetVSchemasRequest); i {
+ switch v := v.(*GetVSchemaRequest); i {
case 0:
return &v.state
case 1:
@@ -9168,7 +9551,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[64].Exporter = func(v any, i int) any {
- switch v := v.(*GetVSchemasResponse); i {
+ switch v := v.(*GetVSchemasRequest); i {
case 0:
return &v.state
case 1:
@@ -9180,7 +9563,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[65].Exporter = func(v any, i int) any {
- switch v := v.(*GetVtctldsRequest); i {
+ switch v := v.(*GetVSchemasResponse); i {
case 0:
return &v.state
case 1:
@@ -9192,7 +9575,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[66].Exporter = func(v any, i int) any {
- switch v := v.(*GetVtctldsResponse); i {
+ switch v := v.(*GetVtctldsRequest); i {
case 0:
return &v.state
case 1:
@@ -9204,7 +9587,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[67].Exporter = func(v any, i int) any {
- switch v := v.(*GetWorkflowRequest); i {
+ switch v := v.(*GetVtctldsResponse); i {
case 0:
return &v.state
case 1:
@@ -9216,7 +9599,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[68].Exporter = func(v any, i int) any {
- switch v := v.(*GetWorkflowsRequest); i {
+ switch v := v.(*GetWorkflowRequest); i {
case 0:
return &v.state
case 1:
@@ -9228,7 +9611,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[69].Exporter = func(v any, i int) any {
- switch v := v.(*GetWorkflowsResponse); i {
+ switch v := v.(*GetWorkflowStatusRequest); i {
case 0:
return &v.state
case 1:
@@ -9240,7 +9623,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[70].Exporter = func(v any, i int) any {
- switch v := v.(*LaunchSchemaMigrationRequest); i {
+ switch v := v.(*StartWorkflowRequest); i {
case 0:
return &v.state
case 1:
@@ -9252,7 +9635,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[71].Exporter = func(v any, i int) any {
- switch v := v.(*PingTabletRequest); i {
+ switch v := v.(*StopWorkflowRequest); i {
case 0:
return &v.state
case 1:
@@ -9264,7 +9647,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[72].Exporter = func(v any, i int) any {
- switch v := v.(*PingTabletResponse); i {
+ switch v := v.(*GetWorkflowsRequest); i {
case 0:
return &v.state
case 1:
@@ -9276,7 +9659,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[73].Exporter = func(v any, i int) any {
- switch v := v.(*PlannedFailoverShardRequest); i {
+ switch v := v.(*GetWorkflowsResponse); i {
case 0:
return &v.state
case 1:
@@ -9288,7 +9671,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[74].Exporter = func(v any, i int) any {
- switch v := v.(*PlannedFailoverShardResponse); i {
+ switch v := v.(*LaunchSchemaMigrationRequest); i {
case 0:
return &v.state
case 1:
@@ -9300,7 +9683,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[75].Exporter = func(v any, i int) any {
- switch v := v.(*RebuildKeyspaceGraphRequest); i {
+ switch v := v.(*MoveTablesCreateRequest); i {
case 0:
return &v.state
case 1:
@@ -9312,7 +9695,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[76].Exporter = func(v any, i int) any {
- switch v := v.(*RebuildKeyspaceGraphResponse); i {
+ switch v := v.(*PingTabletRequest); i {
case 0:
return &v.state
case 1:
@@ -9324,7 +9707,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[77].Exporter = func(v any, i int) any {
- switch v := v.(*RefreshStateRequest); i {
+ switch v := v.(*PingTabletResponse); i {
case 0:
return &v.state
case 1:
@@ -9336,7 +9719,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[78].Exporter = func(v any, i int) any {
- switch v := v.(*RefreshStateResponse); i {
+ switch v := v.(*PlannedFailoverShardRequest); i {
case 0:
return &v.state
case 1:
@@ -9348,7 +9731,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[79].Exporter = func(v any, i int) any {
- switch v := v.(*ReloadSchemasRequest); i {
+ switch v := v.(*PlannedFailoverShardResponse); i {
case 0:
return &v.state
case 1:
@@ -9360,7 +9743,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[80].Exporter = func(v any, i int) any {
- switch v := v.(*ReloadSchemasResponse); i {
+ switch v := v.(*RebuildKeyspaceGraphRequest); i {
case 0:
return &v.state
case 1:
@@ -9372,7 +9755,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[81].Exporter = func(v any, i int) any {
- switch v := v.(*ReloadSchemaShardRequest); i {
+ switch v := v.(*RebuildKeyspaceGraphResponse); i {
case 0:
return &v.state
case 1:
@@ -9384,7 +9767,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[82].Exporter = func(v any, i int) any {
- switch v := v.(*ReloadSchemaShardResponse); i {
+ switch v := v.(*RefreshStateRequest); i {
case 0:
return &v.state
case 1:
@@ -9396,7 +9779,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[83].Exporter = func(v any, i int) any {
- switch v := v.(*RefreshTabletReplicationSourceRequest); i {
+ switch v := v.(*RefreshStateResponse); i {
case 0:
return &v.state
case 1:
@@ -9408,7 +9791,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[84].Exporter = func(v any, i int) any {
- switch v := v.(*RefreshTabletReplicationSourceResponse); i {
+ switch v := v.(*ReloadSchemasRequest); i {
case 0:
return &v.state
case 1:
@@ -9420,7 +9803,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[85].Exporter = func(v any, i int) any {
- switch v := v.(*RemoveKeyspaceCellRequest); i {
+ switch v := v.(*ReloadSchemasResponse); i {
case 0:
return &v.state
case 1:
@@ -9432,7 +9815,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[86].Exporter = func(v any, i int) any {
- switch v := v.(*RemoveKeyspaceCellResponse); i {
+ switch v := v.(*ReloadSchemaShardRequest); i {
case 0:
return &v.state
case 1:
@@ -9444,7 +9827,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[87].Exporter = func(v any, i int) any {
- switch v := v.(*RetrySchemaMigrationRequest); i {
+ switch v := v.(*ReloadSchemaShardResponse); i {
case 0:
return &v.state
case 1:
@@ -9456,7 +9839,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[88].Exporter = func(v any, i int) any {
- switch v := v.(*RunHealthCheckRequest); i {
+ switch v := v.(*RefreshTabletReplicationSourceRequest); i {
case 0:
return &v.state
case 1:
@@ -9468,7 +9851,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[89].Exporter = func(v any, i int) any {
- switch v := v.(*RunHealthCheckResponse); i {
+ switch v := v.(*RefreshTabletReplicationSourceResponse); i {
case 0:
return &v.state
case 1:
@@ -9480,7 +9863,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[90].Exporter = func(v any, i int) any {
- switch v := v.(*SetReadOnlyRequest); i {
+ switch v := v.(*RemoveKeyspaceCellRequest); i {
case 0:
return &v.state
case 1:
@@ -9492,7 +9875,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[91].Exporter = func(v any, i int) any {
- switch v := v.(*SetReadOnlyResponse); i {
+ switch v := v.(*RemoveKeyspaceCellResponse); i {
case 0:
return &v.state
case 1:
@@ -9504,7 +9887,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[92].Exporter = func(v any, i int) any {
- switch v := v.(*SetReadWriteRequest); i {
+ switch v := v.(*RetrySchemaMigrationRequest); i {
case 0:
return &v.state
case 1:
@@ -9516,7 +9899,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[93].Exporter = func(v any, i int) any {
- switch v := v.(*SetReadWriteResponse); i {
+ switch v := v.(*RunHealthCheckRequest); i {
case 0:
return &v.state
case 1:
@@ -9528,7 +9911,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[94].Exporter = func(v any, i int) any {
- switch v := v.(*StartReplicationRequest); i {
+ switch v := v.(*RunHealthCheckResponse); i {
case 0:
return &v.state
case 1:
@@ -9540,7 +9923,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[95].Exporter = func(v any, i int) any {
- switch v := v.(*StartReplicationResponse); i {
+ switch v := v.(*SetReadOnlyRequest); i {
case 0:
return &v.state
case 1:
@@ -9552,7 +9935,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[96].Exporter = func(v any, i int) any {
- switch v := v.(*StopReplicationRequest); i {
+ switch v := v.(*SetReadOnlyResponse); i {
case 0:
return &v.state
case 1:
@@ -9564,7 +9947,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[97].Exporter = func(v any, i int) any {
- switch v := v.(*StopReplicationResponse); i {
+ switch v := v.(*SetReadWriteRequest); i {
case 0:
return &v.state
case 1:
@@ -9576,7 +9959,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[98].Exporter = func(v any, i int) any {
- switch v := v.(*TabletExternallyPromotedRequest); i {
+ switch v := v.(*SetReadWriteResponse); i {
case 0:
return &v.state
case 1:
@@ -9588,7 +9971,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[99].Exporter = func(v any, i int) any {
- switch v := v.(*TabletExternallyPromotedResponse); i {
+ switch v := v.(*StartReplicationRequest); i {
case 0:
return &v.state
case 1:
@@ -9600,7 +9983,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[100].Exporter = func(v any, i int) any {
- switch v := v.(*TabletExternallyReparentedRequest); i {
+ switch v := v.(*StartReplicationResponse); i {
case 0:
return &v.state
case 1:
@@ -9612,7 +9995,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[101].Exporter = func(v any, i int) any {
- switch v := v.(*ValidateRequest); i {
+ switch v := v.(*StopReplicationRequest); i {
case 0:
return &v.state
case 1:
@@ -9624,7 +10007,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[102].Exporter = func(v any, i int) any {
- switch v := v.(*ValidateKeyspaceRequest); i {
+ switch v := v.(*StopReplicationResponse); i {
case 0:
return &v.state
case 1:
@@ -9636,7 +10019,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[103].Exporter = func(v any, i int) any {
- switch v := v.(*ValidateSchemaKeyspaceRequest); i {
+ switch v := v.(*TabletExternallyPromotedRequest); i {
case 0:
return &v.state
case 1:
@@ -9648,7 +10031,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[104].Exporter = func(v any, i int) any {
- switch v := v.(*ValidateShardRequest); i {
+ switch v := v.(*TabletExternallyPromotedResponse); i {
case 0:
return &v.state
case 1:
@@ -9660,7 +10043,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[105].Exporter = func(v any, i int) any {
- switch v := v.(*ValidateVersionKeyspaceRequest); i {
+ switch v := v.(*TabletExternallyReparentedRequest); i {
case 0:
return &v.state
case 1:
@@ -9672,7 +10055,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[106].Exporter = func(v any, i int) any {
- switch v := v.(*ValidateVersionShardRequest); i {
+ switch v := v.(*ValidateRequest); i {
case 0:
return &v.state
case 1:
@@ -9684,7 +10067,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[107].Exporter = func(v any, i int) any {
- switch v := v.(*VTExplainRequest); i {
+ switch v := v.(*ValidateKeyspaceRequest); i {
case 0:
return &v.state
case 1:
@@ -9696,7 +10079,43 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[108].Exporter = func(v any, i int) any {
- switch v := v.(*VTExplainResponse); i {
+ switch v := v.(*ValidateSchemaKeyspaceRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_vtadmin_proto_msgTypes[109].Exporter = func(v any, i int) any {
+ switch v := v.(*ValidateShardRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_vtadmin_proto_msgTypes[110].Exporter = func(v any, i int) any {
+ switch v := v.(*ValidateVersionKeyspaceRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_vtadmin_proto_msgTypes[111].Exporter = func(v any, i int) any {
+ switch v := v.(*ValidateVersionShardRequest); i {
case 0:
return &v.state
case 1:
@@ -9708,7 +10127,7 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[112].Exporter = func(v any, i int) any {
- switch v := v.(*Schema_ShardTableSize); i {
+ switch v := v.(*VTExplainRequest); i {
case 0:
return &v.state
case 1:
@@ -9720,6 +10139,30 @@ func file_vtadmin_proto_init() {
}
}
file_vtadmin_proto_msgTypes[113].Exporter = func(v any, i int) any {
+ switch v := v.(*VTExplainResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_vtadmin_proto_msgTypes[117].Exporter = func(v any, i int) any {
+ switch v := v.(*Schema_ShardTableSize); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_vtadmin_proto_msgTypes[118].Exporter = func(v any, i int) any {
switch v := v.(*Schema_TableSize); i {
case 0:
return &v.state
@@ -9731,7 +10174,7 @@ func file_vtadmin_proto_init() {
return nil
}
}
- file_vtadmin_proto_msgTypes[115].Exporter = func(v any, i int) any {
+ file_vtadmin_proto_msgTypes[120].Exporter = func(v any, i int) any {
switch v := v.(*GetSchemaMigrationsRequest_ClusterRequest); i {
case 0:
return &v.state
@@ -9743,7 +10186,7 @@ func file_vtadmin_proto_init() {
return nil
}
}
- file_vtadmin_proto_msgTypes[118].Exporter = func(v any, i int) any {
+ file_vtadmin_proto_msgTypes[123].Exporter = func(v any, i int) any {
switch v := v.(*ReloadSchemasResponse_KeyspaceResult); i {
case 0:
return &v.state
@@ -9755,7 +10198,7 @@ func file_vtadmin_proto_init() {
return nil
}
}
- file_vtadmin_proto_msgTypes[119].Exporter = func(v any, i int) any {
+ file_vtadmin_proto_msgTypes[124].Exporter = func(v any, i int) any {
switch v := v.(*ReloadSchemasResponse_ShardResult); i {
case 0:
return &v.state
@@ -9767,7 +10210,7 @@ func file_vtadmin_proto_init() {
return nil
}
}
- file_vtadmin_proto_msgTypes[120].Exporter = func(v any, i int) any {
+ file_vtadmin_proto_msgTypes[125].Exporter = func(v any, i int) any {
switch v := v.(*ReloadSchemasResponse_TabletResult); i {
case 0:
return &v.state
@@ -9786,7 +10229,7 @@ func file_vtadmin_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_vtadmin_proto_rawDesc,
NumEnums: 1,
- NumMessages: 121,
+ NumMessages: 126,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/go/vt/proto/vtadmin/vtadmin_grpc.pb.go b/go/vt/proto/vtadmin/vtadmin_grpc.pb.go
index 1e377d0659f..f3df0417cdc 100644
--- a/go/vt/proto/vtadmin/vtadmin_grpc.pb.go
+++ b/go/vt/proto/vtadmin/vtadmin_grpc.pb.go
@@ -104,6 +104,8 @@ type VTAdminClient interface {
GetTablets(ctx context.Context, in *GetTabletsRequest, opts ...grpc.CallOption) (*GetTabletsResponse, error)
// GetTopologyPath returns the cell located at the specified path in the topology server.
GetTopologyPath(ctx context.Context, in *GetTopologyPathRequest, opts ...grpc.CallOption) (*vtctldata.GetTopologyPathResponse, error)
+ // GetUnresolvedTransactions returns the unresolved transactions for the request.
+ GetUnresolvedTransactions(ctx context.Context, in *GetUnresolvedTransactionsRequest, opts ...grpc.CallOption) (*vtctldata.GetUnresolvedTransactionsResponse, error)
// GetVSchema returns a VSchema for the specified keyspace in the specified
// cluster.
GetVSchema(ctx context.Context, in *GetVSchemaRequest, opts ...grpc.CallOption) (*VSchema, error)
@@ -116,9 +118,18 @@ type VTAdminClient interface {
GetWorkflow(ctx context.Context, in *GetWorkflowRequest, opts ...grpc.CallOption) (*Workflow, error)
// GetWorkflows returns the Workflows for all specified clusters.
GetWorkflows(ctx context.Context, in *GetWorkflowsRequest, opts ...grpc.CallOption) (*GetWorkflowsResponse, error)
+ // GetWorkflowStatus returns the status for a specific workflow.
+ GetWorkflowStatus(ctx context.Context, in *GetWorkflowStatusRequest, opts ...grpc.CallOption) (*vtctldata.WorkflowStatusResponse, error)
+ // StartWorkflow starts a vreplication workflow.
+ StartWorkflow(ctx context.Context, in *StartWorkflowRequest, opts ...grpc.CallOption) (*vtctldata.WorkflowUpdateResponse, error)
+ // StopWorkflow stops a vreplication workflow.
+ StopWorkflow(ctx context.Context, in *StopWorkflowRequest, opts ...grpc.CallOption) (*vtctldata.WorkflowUpdateResponse, error)
// LaunchSchemaMigration launches one or all migrations in the given
// cluster executed with --postpone-launch.
LaunchSchemaMigration(ctx context.Context, in *LaunchSchemaMigrationRequest, opts ...grpc.CallOption) (*vtctldata.LaunchSchemaMigrationResponse, error)
+ // MoveTablesCreate creates a workflow which moves one or more tables from a
+ // source keyspace to a target keyspace.
+ MoveTablesCreate(ctx context.Context, in *MoveTablesCreateRequest, opts ...grpc.CallOption) (*vtctldata.WorkflowStatusResponse, error)
// PingTablet checks that the specified tablet is awake and responding to
// RPCs. This command can be blocked by other in-flight operations.
PingTablet(ctx context.Context, in *PingTabletRequest, opts ...grpc.CallOption) (*PingTabletResponse, error)
@@ -470,6 +481,15 @@ func (c *vTAdminClient) GetTopologyPath(ctx context.Context, in *GetTopologyPath
return out, nil
}
+func (c *vTAdminClient) GetUnresolvedTransactions(ctx context.Context, in *GetUnresolvedTransactionsRequest, opts ...grpc.CallOption) (*vtctldata.GetUnresolvedTransactionsResponse, error) {
+ out := new(vtctldata.GetUnresolvedTransactionsResponse)
+ err := c.cc.Invoke(ctx, "/vtadmin.VTAdmin/GetUnresolvedTransactions", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *vTAdminClient) GetVSchema(ctx context.Context, in *GetVSchemaRequest, opts ...grpc.CallOption) (*VSchema, error) {
out := new(VSchema)
err := c.cc.Invoke(ctx, "/vtadmin.VTAdmin/GetVSchema", in, out, opts...)
@@ -515,6 +535,33 @@ func (c *vTAdminClient) GetWorkflows(ctx context.Context, in *GetWorkflowsReques
return out, nil
}
+func (c *vTAdminClient) GetWorkflowStatus(ctx context.Context, in *GetWorkflowStatusRequest, opts ...grpc.CallOption) (*vtctldata.WorkflowStatusResponse, error) {
+ out := new(vtctldata.WorkflowStatusResponse)
+ err := c.cc.Invoke(ctx, "/vtadmin.VTAdmin/GetWorkflowStatus", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *vTAdminClient) StartWorkflow(ctx context.Context, in *StartWorkflowRequest, opts ...grpc.CallOption) (*vtctldata.WorkflowUpdateResponse, error) {
+ out := new(vtctldata.WorkflowUpdateResponse)
+ err := c.cc.Invoke(ctx, "/vtadmin.VTAdmin/StartWorkflow", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *vTAdminClient) StopWorkflow(ctx context.Context, in *StopWorkflowRequest, opts ...grpc.CallOption) (*vtctldata.WorkflowUpdateResponse, error) {
+ out := new(vtctldata.WorkflowUpdateResponse)
+ err := c.cc.Invoke(ctx, "/vtadmin.VTAdmin/StopWorkflow", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *vTAdminClient) LaunchSchemaMigration(ctx context.Context, in *LaunchSchemaMigrationRequest, opts ...grpc.CallOption) (*vtctldata.LaunchSchemaMigrationResponse, error) {
out := new(vtctldata.LaunchSchemaMigrationResponse)
err := c.cc.Invoke(ctx, "/vtadmin.VTAdmin/LaunchSchemaMigration", in, out, opts...)
@@ -524,6 +571,15 @@ func (c *vTAdminClient) LaunchSchemaMigration(ctx context.Context, in *LaunchSch
return out, nil
}
+func (c *vTAdminClient) MoveTablesCreate(ctx context.Context, in *MoveTablesCreateRequest, opts ...grpc.CallOption) (*vtctldata.WorkflowStatusResponse, error) {
+ out := new(vtctldata.WorkflowStatusResponse)
+ err := c.cc.Invoke(ctx, "/vtadmin.VTAdmin/MoveTablesCreate", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *vTAdminClient) PingTablet(ctx context.Context, in *PingTabletRequest, opts ...grpc.CallOption) (*PingTabletResponse, error) {
out := new(PingTabletResponse)
err := c.cc.Invoke(ctx, "/vtadmin.VTAdmin/PingTablet", in, out, opts...)
@@ -807,6 +863,8 @@ type VTAdminServer interface {
GetTablets(context.Context, *GetTabletsRequest) (*GetTabletsResponse, error)
// GetTopologyPath returns the cell located at the specified path in the topology server.
GetTopologyPath(context.Context, *GetTopologyPathRequest) (*vtctldata.GetTopologyPathResponse, error)
+ // GetUnresolvedTransactions returns the unresolved transactions for the request.
+ GetUnresolvedTransactions(context.Context, *GetUnresolvedTransactionsRequest) (*vtctldata.GetUnresolvedTransactionsResponse, error)
// GetVSchema returns a VSchema for the specified keyspace in the specified
// cluster.
GetVSchema(context.Context, *GetVSchemaRequest) (*VSchema, error)
@@ -819,9 +877,18 @@ type VTAdminServer interface {
GetWorkflow(context.Context, *GetWorkflowRequest) (*Workflow, error)
// GetWorkflows returns the Workflows for all specified clusters.
GetWorkflows(context.Context, *GetWorkflowsRequest) (*GetWorkflowsResponse, error)
+ // GetWorkflowStatus returns the status for a specific workflow.
+ GetWorkflowStatus(context.Context, *GetWorkflowStatusRequest) (*vtctldata.WorkflowStatusResponse, error)
+ // StartWorkflow starts a vreplication workflow.
+ StartWorkflow(context.Context, *StartWorkflowRequest) (*vtctldata.WorkflowUpdateResponse, error)
+ // StopWorkflow stops a vreplication workflow.
+ StopWorkflow(context.Context, *StopWorkflowRequest) (*vtctldata.WorkflowUpdateResponse, error)
// LaunchSchemaMigration launches one or all migrations in the given
// cluster executed with --postpone-launch.
LaunchSchemaMigration(context.Context, *LaunchSchemaMigrationRequest) (*vtctldata.LaunchSchemaMigrationResponse, error)
+ // MoveTablesCreate creates a workflow which moves one or more tables from a
+ // source keyspace to a target keyspace.
+ MoveTablesCreate(context.Context, *MoveTablesCreateRequest) (*vtctldata.WorkflowStatusResponse, error)
// PingTablet checks that the specified tablet is awake and responding to
// RPCs. This command can be blocked by other in-flight operations.
PingTablet(context.Context, *PingTabletRequest) (*PingTabletResponse, error)
@@ -990,6 +1057,9 @@ func (UnimplementedVTAdminServer) GetTablets(context.Context, *GetTabletsRequest
func (UnimplementedVTAdminServer) GetTopologyPath(context.Context, *GetTopologyPathRequest) (*vtctldata.GetTopologyPathResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetTopologyPath not implemented")
}
+func (UnimplementedVTAdminServer) GetUnresolvedTransactions(context.Context, *GetUnresolvedTransactionsRequest) (*vtctldata.GetUnresolvedTransactionsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetUnresolvedTransactions not implemented")
+}
func (UnimplementedVTAdminServer) GetVSchema(context.Context, *GetVSchemaRequest) (*VSchema, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetVSchema not implemented")
}
@@ -1005,9 +1075,21 @@ func (UnimplementedVTAdminServer) GetWorkflow(context.Context, *GetWorkflowReque
func (UnimplementedVTAdminServer) GetWorkflows(context.Context, *GetWorkflowsRequest) (*GetWorkflowsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetWorkflows not implemented")
}
+func (UnimplementedVTAdminServer) GetWorkflowStatus(context.Context, *GetWorkflowStatusRequest) (*vtctldata.WorkflowStatusResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetWorkflowStatus not implemented")
+}
+func (UnimplementedVTAdminServer) StartWorkflow(context.Context, *StartWorkflowRequest) (*vtctldata.WorkflowUpdateResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method StartWorkflow not implemented")
+}
+func (UnimplementedVTAdminServer) StopWorkflow(context.Context, *StopWorkflowRequest) (*vtctldata.WorkflowUpdateResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method StopWorkflow not implemented")
+}
func (UnimplementedVTAdminServer) LaunchSchemaMigration(context.Context, *LaunchSchemaMigrationRequest) (*vtctldata.LaunchSchemaMigrationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method LaunchSchemaMigration not implemented")
}
+func (UnimplementedVTAdminServer) MoveTablesCreate(context.Context, *MoveTablesCreateRequest) (*vtctldata.WorkflowStatusResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method MoveTablesCreate not implemented")
+}
func (UnimplementedVTAdminServer) PingTablet(context.Context, *PingTabletRequest) (*PingTabletResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method PingTablet not implemented")
}
@@ -1627,6 +1709,24 @@ func _VTAdmin_GetTopologyPath_Handler(srv interface{}, ctx context.Context, dec
return interceptor(ctx, in, info, handler)
}
+func _VTAdmin_GetUnresolvedTransactions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetUnresolvedTransactionsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VTAdminServer).GetUnresolvedTransactions(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/vtadmin.VTAdmin/GetUnresolvedTransactions",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VTAdminServer).GetUnresolvedTransactions(ctx, req.(*GetUnresolvedTransactionsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _VTAdmin_GetVSchema_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetVSchemaRequest)
if err := dec(in); err != nil {
@@ -1717,6 +1817,60 @@ func _VTAdmin_GetWorkflows_Handler(srv interface{}, ctx context.Context, dec fun
return interceptor(ctx, in, info, handler)
}
+func _VTAdmin_GetWorkflowStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetWorkflowStatusRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VTAdminServer).GetWorkflowStatus(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/vtadmin.VTAdmin/GetWorkflowStatus",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VTAdminServer).GetWorkflowStatus(ctx, req.(*GetWorkflowStatusRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VTAdmin_StartWorkflow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(StartWorkflowRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VTAdminServer).StartWorkflow(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/vtadmin.VTAdmin/StartWorkflow",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VTAdminServer).StartWorkflow(ctx, req.(*StartWorkflowRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _VTAdmin_StopWorkflow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(StopWorkflowRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VTAdminServer).StopWorkflow(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/vtadmin.VTAdmin/StopWorkflow",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VTAdminServer).StopWorkflow(ctx, req.(*StopWorkflowRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _VTAdmin_LaunchSchemaMigration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(LaunchSchemaMigrationRequest)
if err := dec(in); err != nil {
@@ -1735,6 +1889,24 @@ func _VTAdmin_LaunchSchemaMigration_Handler(srv interface{}, ctx context.Context
return interceptor(ctx, in, info, handler)
}
+func _VTAdmin_MoveTablesCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(MoveTablesCreateRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VTAdminServer).MoveTablesCreate(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/vtadmin.VTAdmin/MoveTablesCreate",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VTAdminServer).MoveTablesCreate(ctx, req.(*MoveTablesCreateRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _VTAdmin_PingTablet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(PingTabletRequest)
if err := dec(in); err != nil {
@@ -2258,6 +2430,10 @@ var VTAdmin_ServiceDesc = grpc.ServiceDesc{
MethodName: "GetTopologyPath",
Handler: _VTAdmin_GetTopologyPath_Handler,
},
+ {
+ MethodName: "GetUnresolvedTransactions",
+ Handler: _VTAdmin_GetUnresolvedTransactions_Handler,
+ },
{
MethodName: "GetVSchema",
Handler: _VTAdmin_GetVSchema_Handler,
@@ -2278,10 +2454,26 @@ var VTAdmin_ServiceDesc = grpc.ServiceDesc{
MethodName: "GetWorkflows",
Handler: _VTAdmin_GetWorkflows_Handler,
},
+ {
+ MethodName: "GetWorkflowStatus",
+ Handler: _VTAdmin_GetWorkflowStatus_Handler,
+ },
+ {
+ MethodName: "StartWorkflow",
+ Handler: _VTAdmin_StartWorkflow_Handler,
+ },
+ {
+ MethodName: "StopWorkflow",
+ Handler: _VTAdmin_StopWorkflow_Handler,
+ },
{
MethodName: "LaunchSchemaMigration",
Handler: _VTAdmin_LaunchSchemaMigration_Handler,
},
+ {
+ MethodName: "MoveTablesCreate",
+ Handler: _VTAdmin_MoveTablesCreate_Handler,
+ },
{
MethodName: "PingTablet",
Handler: _VTAdmin_PingTablet_Handler,
diff --git a/go/vt/proto/vtadmin/vtadmin_vtproto.pb.go b/go/vt/proto/vtadmin/vtadmin_vtproto.pb.go
index ce506cb7215..bcbc42371cf 100644
--- a/go/vt/proto/vtadmin/vtadmin_vtproto.pb.go
+++ b/go/vt/proto/vtadmin/vtadmin_vtproto.pb.go
@@ -1,15 +1,15 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: vtadmin.proto
package vtadmin
import (
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
- bits "math/bits"
logutil "vitess.io/vitess/go/vt/proto/logutil"
mysqlctl "vitess.io/vitess/go/vt/proto/mysqlctl"
tabletmanagerdata "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
@@ -29,10 +29,9 @@ func (m *Cluster) CloneVT() *Cluster {
if m == nil {
return (*Cluster)(nil)
}
- r := &Cluster{
- Id: m.Id,
- Name: m.Name,
- }
+ r := new(Cluster)
+ r.Id = m.Id
+ r.Name = m.Name
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -48,10 +47,9 @@ func (m *ClusterBackup) CloneVT() *ClusterBackup {
if m == nil {
return (*ClusterBackup)(nil)
}
- r := &ClusterBackup{
- Cluster: m.Cluster.CloneVT(),
- Backup: m.Backup.CloneVT(),
- }
+ r := new(ClusterBackup)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Backup = m.Backup.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -67,9 +65,8 @@ func (m *ClusterCellsAliases) CloneVT() *ClusterCellsAliases {
if m == nil {
return (*ClusterCellsAliases)(nil)
}
- r := &ClusterCellsAliases{
- Cluster: m.Cluster.CloneVT(),
- }
+ r := new(ClusterCellsAliases)
+ r.Cluster = m.Cluster.CloneVT()
if rhs := m.Aliases; rhs != nil {
tmpContainer := make(map[string]*topodata.CellsAlias, len(rhs))
for k, v := range rhs {
@@ -92,11 +89,10 @@ func (m *ClusterCellInfo) CloneVT() *ClusterCellInfo {
if m == nil {
return (*ClusterCellInfo)(nil)
}
- r := &ClusterCellInfo{
- Cluster: m.Cluster.CloneVT(),
- Name: m.Name,
- CellInfo: m.CellInfo.CloneVT(),
- }
+ r := new(ClusterCellInfo)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Name = m.Name
+ r.CellInfo = m.CellInfo.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -112,12 +108,11 @@ func (m *ClusterShardReplicationPosition) CloneVT() *ClusterShardReplicationPosi
if m == nil {
return (*ClusterShardReplicationPosition)(nil)
}
- r := &ClusterShardReplicationPosition{
- Cluster: m.Cluster.CloneVT(),
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- PositionInfo: m.PositionInfo.CloneVT(),
- }
+ r := new(ClusterShardReplicationPosition)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.PositionInfo = m.PositionInfo.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -133,7 +128,7 @@ func (m *ClusterWorkflows) CloneVT() *ClusterWorkflows {
if m == nil {
return (*ClusterWorkflows)(nil)
}
- r := &ClusterWorkflows{}
+ r := new(ClusterWorkflows)
if rhs := m.Workflows; rhs != nil {
tmpContainer := make([]*Workflow, len(rhs))
for k, v := range rhs {
@@ -161,10 +156,9 @@ func (m *Keyspace) CloneVT() *Keyspace {
if m == nil {
return (*Keyspace)(nil)
}
- r := &Keyspace{
- Cluster: m.Cluster.CloneVT(),
- Keyspace: m.Keyspace.CloneVT(),
- }
+ r := new(Keyspace)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Keyspace = m.Keyspace.CloneVT()
if rhs := m.Shards; rhs != nil {
tmpContainer := make(map[string]*vtctldata.Shard, len(rhs))
for k, v := range rhs {
@@ -187,10 +181,9 @@ func (m *Schema_ShardTableSize) CloneVT() *Schema_ShardTableSize {
if m == nil {
return (*Schema_ShardTableSize)(nil)
}
- r := &Schema_ShardTableSize{
- RowCount: m.RowCount,
- DataLength: m.DataLength,
- }
+ r := new(Schema_ShardTableSize)
+ r.RowCount = m.RowCount
+ r.DataLength = m.DataLength
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -206,10 +199,9 @@ func (m *Schema_TableSize) CloneVT() *Schema_TableSize {
if m == nil {
return (*Schema_TableSize)(nil)
}
- r := &Schema_TableSize{
- RowCount: m.RowCount,
- DataLength: m.DataLength,
- }
+ r := new(Schema_TableSize)
+ r.RowCount = m.RowCount
+ r.DataLength = m.DataLength
if rhs := m.ByShard; rhs != nil {
tmpContainer := make(map[string]*Schema_ShardTableSize, len(rhs))
for k, v := range rhs {
@@ -232,10 +224,9 @@ func (m *Schema) CloneVT() *Schema {
if m == nil {
return (*Schema)(nil)
}
- r := &Schema{
- Cluster: m.Cluster.CloneVT(),
- Keyspace: m.Keyspace,
- }
+ r := new(Schema)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Keyspace = m.Keyspace
if rhs := m.TableDefinitions; rhs != nil {
tmpContainer := make([]*tabletmanagerdata.TableDefinition, len(rhs))
for k, v := range rhs {
@@ -265,10 +256,9 @@ func (m *SchemaMigration) CloneVT() *SchemaMigration {
if m == nil {
return (*SchemaMigration)(nil)
}
- r := &SchemaMigration{
- Cluster: m.Cluster.CloneVT(),
- SchemaMigration: m.SchemaMigration.CloneVT(),
- }
+ r := new(SchemaMigration)
+ r.Cluster = m.Cluster.CloneVT()
+ r.SchemaMigration = m.SchemaMigration.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -284,10 +274,9 @@ func (m *Shard) CloneVT() *Shard {
if m == nil {
return (*Shard)(nil)
}
- r := &Shard{
- Cluster: m.Cluster.CloneVT(),
- Shard: m.Shard.CloneVT(),
- }
+ r := new(Shard)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Shard = m.Shard.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -303,11 +292,10 @@ func (m *SrvVSchema) CloneVT() *SrvVSchema {
if m == nil {
return (*SrvVSchema)(nil)
}
- r := &SrvVSchema{
- Cell: m.Cell,
- Cluster: m.Cluster.CloneVT(),
- SrvVSchema: m.SrvVSchema.CloneVT(),
- }
+ r := new(SrvVSchema)
+ r.Cell = m.Cell
+ r.Cluster = m.Cluster.CloneVT()
+ r.SrvVSchema = m.SrvVSchema.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -323,12 +311,11 @@ func (m *Tablet) CloneVT() *Tablet {
if m == nil {
return (*Tablet)(nil)
}
- r := &Tablet{
- Cluster: m.Cluster.CloneVT(),
- Tablet: m.Tablet.CloneVT(),
- State: m.State,
- FQDN: m.FQDN,
- }
+ r := new(Tablet)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Tablet = m.Tablet.CloneVT()
+ r.State = m.State
+ r.FQDN = m.FQDN
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -344,11 +331,10 @@ func (m *VSchema) CloneVT() *VSchema {
if m == nil {
return (*VSchema)(nil)
}
- r := &VSchema{
- Cluster: m.Cluster.CloneVT(),
- Name: m.Name,
- VSchema: m.VSchema.CloneVT(),
- }
+ r := new(VSchema)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Name = m.Name
+ r.VSchema = m.VSchema.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -364,11 +350,10 @@ func (m *Vtctld) CloneVT() *Vtctld {
if m == nil {
return (*Vtctld)(nil)
}
- r := &Vtctld{
- Hostname: m.Hostname,
- Cluster: m.Cluster.CloneVT(),
- FQDN: m.FQDN,
- }
+ r := new(Vtctld)
+ r.Hostname = m.Hostname
+ r.Cluster = m.Cluster.CloneVT()
+ r.FQDN = m.FQDN
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -384,13 +369,12 @@ func (m *VTGate) CloneVT() *VTGate {
if m == nil {
return (*VTGate)(nil)
}
- r := &VTGate{
- Hostname: m.Hostname,
- Pool: m.Pool,
- Cell: m.Cell,
- Cluster: m.Cluster.CloneVT(),
- FQDN: m.FQDN,
- }
+ r := new(VTGate)
+ r.Hostname = m.Hostname
+ r.Pool = m.Pool
+ r.Cell = m.Cell
+ r.Cluster = m.Cluster.CloneVT()
+ r.FQDN = m.FQDN
if rhs := m.Keyspaces; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -411,11 +395,10 @@ func (m *Workflow) CloneVT() *Workflow {
if m == nil {
return (*Workflow)(nil)
}
- r := &Workflow{
- Cluster: m.Cluster.CloneVT(),
- Keyspace: m.Keyspace,
- Workflow: m.Workflow.CloneVT(),
- }
+ r := new(Workflow)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Keyspace = m.Keyspace
+ r.Workflow = m.Workflow.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -431,10 +414,9 @@ func (m *ApplySchemaRequest) CloneVT() *ApplySchemaRequest {
if m == nil {
return (*ApplySchemaRequest)(nil)
}
- r := &ApplySchemaRequest{
- ClusterId: m.ClusterId,
- Request: m.Request.CloneVT(),
- }
+ r := new(ApplySchemaRequest)
+ r.ClusterId = m.ClusterId
+ r.Request = m.Request.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -450,10 +432,9 @@ func (m *CancelSchemaMigrationRequest) CloneVT() *CancelSchemaMigrationRequest {
if m == nil {
return (*CancelSchemaMigrationRequest)(nil)
}
- r := &CancelSchemaMigrationRequest{
- ClusterId: m.ClusterId,
- Request: m.Request.CloneVT(),
- }
+ r := new(CancelSchemaMigrationRequest)
+ r.ClusterId = m.ClusterId
+ r.Request = m.Request.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -469,10 +450,9 @@ func (m *CleanupSchemaMigrationRequest) CloneVT() *CleanupSchemaMigrationRequest
if m == nil {
return (*CleanupSchemaMigrationRequest)(nil)
}
- r := &CleanupSchemaMigrationRequest{
- ClusterId: m.ClusterId,
- Request: m.Request.CloneVT(),
- }
+ r := new(CleanupSchemaMigrationRequest)
+ r.ClusterId = m.ClusterId
+ r.Request = m.Request.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -488,10 +468,9 @@ func (m *CompleteSchemaMigrationRequest) CloneVT() *CompleteSchemaMigrationReque
if m == nil {
return (*CompleteSchemaMigrationRequest)(nil)
}
- r := &CompleteSchemaMigrationRequest{
- ClusterId: m.ClusterId,
- Request: m.Request.CloneVT(),
- }
+ r := new(CompleteSchemaMigrationRequest)
+ r.ClusterId = m.ClusterId
+ r.Request = m.Request.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -507,10 +486,9 @@ func (m *CreateKeyspaceRequest) CloneVT() *CreateKeyspaceRequest {
if m == nil {
return (*CreateKeyspaceRequest)(nil)
}
- r := &CreateKeyspaceRequest{
- ClusterId: m.ClusterId,
- Options: m.Options.CloneVT(),
- }
+ r := new(CreateKeyspaceRequest)
+ r.ClusterId = m.ClusterId
+ r.Options = m.Options.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -526,9 +504,8 @@ func (m *CreateKeyspaceResponse) CloneVT() *CreateKeyspaceResponse {
if m == nil {
return (*CreateKeyspaceResponse)(nil)
}
- r := &CreateKeyspaceResponse{
- Keyspace: m.Keyspace.CloneVT(),
- }
+ r := new(CreateKeyspaceResponse)
+ r.Keyspace = m.Keyspace.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -544,10 +521,9 @@ func (m *CreateShardRequest) CloneVT() *CreateShardRequest {
if m == nil {
return (*CreateShardRequest)(nil)
}
- r := &CreateShardRequest{
- ClusterId: m.ClusterId,
- Options: m.Options.CloneVT(),
- }
+ r := new(CreateShardRequest)
+ r.ClusterId = m.ClusterId
+ r.Options = m.Options.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -563,10 +539,9 @@ func (m *DeleteKeyspaceRequest) CloneVT() *DeleteKeyspaceRequest {
if m == nil {
return (*DeleteKeyspaceRequest)(nil)
}
- r := &DeleteKeyspaceRequest{
- ClusterId: m.ClusterId,
- Options: m.Options.CloneVT(),
- }
+ r := new(DeleteKeyspaceRequest)
+ r.ClusterId = m.ClusterId
+ r.Options = m.Options.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -582,10 +557,9 @@ func (m *DeleteShardsRequest) CloneVT() *DeleteShardsRequest {
if m == nil {
return (*DeleteShardsRequest)(nil)
}
- r := &DeleteShardsRequest{
- ClusterId: m.ClusterId,
- Options: m.Options.CloneVT(),
- }
+ r := new(DeleteShardsRequest)
+ r.ClusterId = m.ClusterId
+ r.Options = m.Options.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -601,10 +575,9 @@ func (m *DeleteTabletRequest) CloneVT() *DeleteTabletRequest {
if m == nil {
return (*DeleteTabletRequest)(nil)
}
- r := &DeleteTabletRequest{
- Alias: m.Alias.CloneVT(),
- AllowPrimary: m.AllowPrimary,
- }
+ r := new(DeleteTabletRequest)
+ r.Alias = m.Alias.CloneVT()
+ r.AllowPrimary = m.AllowPrimary
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -625,10 +598,9 @@ func (m *DeleteTabletResponse) CloneVT() *DeleteTabletResponse {
if m == nil {
return (*DeleteTabletResponse)(nil)
}
- r := &DeleteTabletResponse{
- Status: m.Status,
- Cluster: m.Cluster.CloneVT(),
- }
+ r := new(DeleteTabletResponse)
+ r.Status = m.Status
+ r.Cluster = m.Cluster.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -644,10 +616,9 @@ func (m *EmergencyFailoverShardRequest) CloneVT() *EmergencyFailoverShardRequest
if m == nil {
return (*EmergencyFailoverShardRequest)(nil)
}
- r := &EmergencyFailoverShardRequest{
- ClusterId: m.ClusterId,
- Options: m.Options.CloneVT(),
- }
+ r := new(EmergencyFailoverShardRequest)
+ r.ClusterId = m.ClusterId
+ r.Options = m.Options.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -663,12 +634,11 @@ func (m *EmergencyFailoverShardResponse) CloneVT() *EmergencyFailoverShardRespon
if m == nil {
return (*EmergencyFailoverShardResponse)(nil)
}
- r := &EmergencyFailoverShardResponse{
- Cluster: m.Cluster.CloneVT(),
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- PromotedPrimary: m.PromotedPrimary.CloneVT(),
- }
+ r := new(EmergencyFailoverShardResponse)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.PromotedPrimary = m.PromotedPrimary.CloneVT()
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*logutil.Event, len(rhs))
for k, v := range rhs {
@@ -691,10 +661,9 @@ func (m *FindSchemaRequest) CloneVT() *FindSchemaRequest {
if m == nil {
return (*FindSchemaRequest)(nil)
}
- r := &FindSchemaRequest{
- Table: m.Table,
- TableSizeOptions: m.TableSizeOptions.CloneVT(),
- }
+ r := new(FindSchemaRequest)
+ r.Table = m.Table
+ r.TableSizeOptions = m.TableSizeOptions.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -715,9 +684,8 @@ func (m *GetBackupsRequest) CloneVT() *GetBackupsRequest {
if m == nil {
return (*GetBackupsRequest)(nil)
}
- r := &GetBackupsRequest{
- RequestOptions: m.RequestOptions.CloneVT(),
- }
+ r := new(GetBackupsRequest)
+ r.RequestOptions = m.RequestOptions.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -748,7 +716,7 @@ func (m *GetBackupsResponse) CloneVT() *GetBackupsResponse {
if m == nil {
return (*GetBackupsResponse)(nil)
}
- r := &GetBackupsResponse{}
+ r := new(GetBackupsResponse)
if rhs := m.Backups; rhs != nil {
tmpContainer := make([]*ClusterBackup, len(rhs))
for k, v := range rhs {
@@ -771,9 +739,8 @@ func (m *GetCellInfosRequest) CloneVT() *GetCellInfosRequest {
if m == nil {
return (*GetCellInfosRequest)(nil)
}
- r := &GetCellInfosRequest{
- NamesOnly: m.NamesOnly,
- }
+ r := new(GetCellInfosRequest)
+ r.NamesOnly = m.NamesOnly
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -799,7 +766,7 @@ func (m *GetCellInfosResponse) CloneVT() *GetCellInfosResponse {
if m == nil {
return (*GetCellInfosResponse)(nil)
}
- r := &GetCellInfosResponse{}
+ r := new(GetCellInfosResponse)
if rhs := m.CellInfos; rhs != nil {
tmpContainer := make([]*ClusterCellInfo, len(rhs))
for k, v := range rhs {
@@ -822,7 +789,7 @@ func (m *GetCellsAliasesRequest) CloneVT() *GetCellsAliasesRequest {
if m == nil {
return (*GetCellsAliasesRequest)(nil)
}
- r := &GetCellsAliasesRequest{}
+ r := new(GetCellsAliasesRequest)
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -843,7 +810,7 @@ func (m *GetCellsAliasesResponse) CloneVT() *GetCellsAliasesResponse {
if m == nil {
return (*GetCellsAliasesResponse)(nil)
}
- r := &GetCellsAliasesResponse{}
+ r := new(GetCellsAliasesResponse)
if rhs := m.Aliases; rhs != nil {
tmpContainer := make([]*ClusterCellsAliases, len(rhs))
for k, v := range rhs {
@@ -866,7 +833,7 @@ func (m *GetClustersRequest) CloneVT() *GetClustersRequest {
if m == nil {
return (*GetClustersRequest)(nil)
}
- r := &GetClustersRequest{}
+ r := new(GetClustersRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -882,7 +849,7 @@ func (m *GetClustersResponse) CloneVT() *GetClustersResponse {
if m == nil {
return (*GetClustersResponse)(nil)
}
- r := &GetClustersResponse{}
+ r := new(GetClustersResponse)
if rhs := m.Clusters; rhs != nil {
tmpContainer := make([]*Cluster, len(rhs))
for k, v := range rhs {
@@ -905,10 +872,9 @@ func (m *GetFullStatusRequest) CloneVT() *GetFullStatusRequest {
if m == nil {
return (*GetFullStatusRequest)(nil)
}
- r := &GetFullStatusRequest{
- ClusterId: m.ClusterId,
- Alias: m.Alias.CloneVT(),
- }
+ r := new(GetFullStatusRequest)
+ r.ClusterId = m.ClusterId
+ r.Alias = m.Alias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -924,7 +890,7 @@ func (m *GetGatesRequest) CloneVT() *GetGatesRequest {
if m == nil {
return (*GetGatesRequest)(nil)
}
- r := &GetGatesRequest{}
+ r := new(GetGatesRequest)
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -945,7 +911,7 @@ func (m *GetGatesResponse) CloneVT() *GetGatesResponse {
if m == nil {
return (*GetGatesResponse)(nil)
}
- r := &GetGatesResponse{}
+ r := new(GetGatesResponse)
if rhs := m.Gates; rhs != nil {
tmpContainer := make([]*VTGate, len(rhs))
for k, v := range rhs {
@@ -968,10 +934,9 @@ func (m *GetKeyspaceRequest) CloneVT() *GetKeyspaceRequest {
if m == nil {
return (*GetKeyspaceRequest)(nil)
}
- r := &GetKeyspaceRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- }
+ r := new(GetKeyspaceRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -987,7 +952,7 @@ func (m *GetKeyspacesRequest) CloneVT() *GetKeyspacesRequest {
if m == nil {
return (*GetKeyspacesRequest)(nil)
}
- r := &GetKeyspacesRequest{}
+ r := new(GetKeyspacesRequest)
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1008,7 +973,7 @@ func (m *GetKeyspacesResponse) CloneVT() *GetKeyspacesResponse {
if m == nil {
return (*GetKeyspacesResponse)(nil)
}
- r := &GetKeyspacesResponse{}
+ r := new(GetKeyspacesResponse)
if rhs := m.Keyspaces; rhs != nil {
tmpContainer := make([]*Keyspace, len(rhs))
for k, v := range rhs {
@@ -1031,12 +996,11 @@ func (m *GetSchemaRequest) CloneVT() *GetSchemaRequest {
if m == nil {
return (*GetSchemaRequest)(nil)
}
- r := &GetSchemaRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- Table: m.Table,
- TableSizeOptions: m.TableSizeOptions.CloneVT(),
- }
+ r := new(GetSchemaRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ r.Table = m.Table
+ r.TableSizeOptions = m.TableSizeOptions.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1052,9 +1016,8 @@ func (m *GetSchemasRequest) CloneVT() *GetSchemasRequest {
if m == nil {
return (*GetSchemasRequest)(nil)
}
- r := &GetSchemasRequest{
- TableSizeOptions: m.TableSizeOptions.CloneVT(),
- }
+ r := new(GetSchemasRequest)
+ r.TableSizeOptions = m.TableSizeOptions.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1075,7 +1038,7 @@ func (m *GetSchemasResponse) CloneVT() *GetSchemasResponse {
if m == nil {
return (*GetSchemasResponse)(nil)
}
- r := &GetSchemasResponse{}
+ r := new(GetSchemasResponse)
if rhs := m.Schemas; rhs != nil {
tmpContainer := make([]*Schema, len(rhs))
for k, v := range rhs {
@@ -1098,10 +1061,9 @@ func (m *GetSchemaMigrationsRequest_ClusterRequest) CloneVT() *GetSchemaMigratio
if m == nil {
return (*GetSchemaMigrationsRequest_ClusterRequest)(nil)
}
- r := &GetSchemaMigrationsRequest_ClusterRequest{
- ClusterId: m.ClusterId,
- Request: m.Request.CloneVT(),
- }
+ r := new(GetSchemaMigrationsRequest_ClusterRequest)
+ r.ClusterId = m.ClusterId
+ r.Request = m.Request.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1117,7 +1079,7 @@ func (m *GetSchemaMigrationsRequest) CloneVT() *GetSchemaMigrationsRequest {
if m == nil {
return (*GetSchemaMigrationsRequest)(nil)
}
- r := &GetSchemaMigrationsRequest{}
+ r := new(GetSchemaMigrationsRequest)
if rhs := m.ClusterRequests; rhs != nil {
tmpContainer := make([]*GetSchemaMigrationsRequest_ClusterRequest, len(rhs))
for k, v := range rhs {
@@ -1140,7 +1102,7 @@ func (m *GetSchemaMigrationsResponse) CloneVT() *GetSchemaMigrationsResponse {
if m == nil {
return (*GetSchemaMigrationsResponse)(nil)
}
- r := &GetSchemaMigrationsResponse{}
+ r := new(GetSchemaMigrationsResponse)
if rhs := m.SchemaMigrations; rhs != nil {
tmpContainer := make([]*SchemaMigration, len(rhs))
for k, v := range rhs {
@@ -1163,7 +1125,7 @@ func (m *GetShardReplicationPositionsRequest) CloneVT() *GetShardReplicationPosi
if m == nil {
return (*GetShardReplicationPositionsRequest)(nil)
}
- r := &GetShardReplicationPositionsRequest{}
+ r := new(GetShardReplicationPositionsRequest)
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1194,7 +1156,7 @@ func (m *GetShardReplicationPositionsResponse) CloneVT() *GetShardReplicationPos
if m == nil {
return (*GetShardReplicationPositionsResponse)(nil)
}
- r := &GetShardReplicationPositionsResponse{}
+ r := new(GetShardReplicationPositionsResponse)
if rhs := m.ReplicationPositions; rhs != nil {
tmpContainer := make([]*ClusterShardReplicationPosition, len(rhs))
for k, v := range rhs {
@@ -1217,10 +1179,9 @@ func (m *GetSrvKeyspaceRequest) CloneVT() *GetSrvKeyspaceRequest {
if m == nil {
return (*GetSrvKeyspaceRequest)(nil)
}
- r := &GetSrvKeyspaceRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- }
+ r := new(GetSrvKeyspaceRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1241,7 +1202,7 @@ func (m *GetSrvKeyspacesRequest) CloneVT() *GetSrvKeyspacesRequest {
if m == nil {
return (*GetSrvKeyspacesRequest)(nil)
}
- r := &GetSrvKeyspacesRequest{}
+ r := new(GetSrvKeyspacesRequest)
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1267,7 +1228,7 @@ func (m *GetSrvKeyspacesResponse) CloneVT() *GetSrvKeyspacesResponse {
if m == nil {
return (*GetSrvKeyspacesResponse)(nil)
}
- r := &GetSrvKeyspacesResponse{}
+ r := new(GetSrvKeyspacesResponse)
if rhs := m.SrvKeyspaces; rhs != nil {
tmpContainer := make(map[string]*vtctldata.GetSrvKeyspacesResponse, len(rhs))
for k, v := range rhs {
@@ -1290,10 +1251,9 @@ func (m *GetSrvVSchemaRequest) CloneVT() *GetSrvVSchemaRequest {
if m == nil {
return (*GetSrvVSchemaRequest)(nil)
}
- r := &GetSrvVSchemaRequest{
- ClusterId: m.ClusterId,
- Cell: m.Cell,
- }
+ r := new(GetSrvVSchemaRequest)
+ r.ClusterId = m.ClusterId
+ r.Cell = m.Cell
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1309,7 +1269,7 @@ func (m *GetSrvVSchemasRequest) CloneVT() *GetSrvVSchemasRequest {
if m == nil {
return (*GetSrvVSchemasRequest)(nil)
}
- r := &GetSrvVSchemasRequest{}
+ r := new(GetSrvVSchemasRequest)
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1335,7 +1295,7 @@ func (m *GetSrvVSchemasResponse) CloneVT() *GetSrvVSchemasResponse {
if m == nil {
return (*GetSrvVSchemasResponse)(nil)
}
- r := &GetSrvVSchemasResponse{}
+ r := new(GetSrvVSchemasResponse)
if rhs := m.SrvVSchemas; rhs != nil {
tmpContainer := make([]*SrvVSchema, len(rhs))
for k, v := range rhs {
@@ -1358,10 +1318,9 @@ func (m *GetSchemaTableSizeOptions) CloneVT() *GetSchemaTableSizeOptions {
if m == nil {
return (*GetSchemaTableSizeOptions)(nil)
}
- r := &GetSchemaTableSizeOptions{
- AggregateSizes: m.AggregateSizes,
- IncludeNonServingShards: m.IncludeNonServingShards,
- }
+ r := new(GetSchemaTableSizeOptions)
+ r.AggregateSizes = m.AggregateSizes
+ r.IncludeNonServingShards = m.IncludeNonServingShards
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1377,9 +1336,8 @@ func (m *GetTabletRequest) CloneVT() *GetTabletRequest {
if m == nil {
return (*GetTabletRequest)(nil)
}
- r := &GetTabletRequest{
- Alias: m.Alias.CloneVT(),
- }
+ r := new(GetTabletRequest)
+ r.Alias = m.Alias.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1400,7 +1358,7 @@ func (m *GetTabletsRequest) CloneVT() *GetTabletsRequest {
if m == nil {
return (*GetTabletsRequest)(nil)
}
- r := &GetTabletsRequest{}
+ r := new(GetTabletsRequest)
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1421,7 +1379,7 @@ func (m *GetTabletsResponse) CloneVT() *GetTabletsResponse {
if m == nil {
return (*GetTabletsResponse)(nil)
}
- r := &GetTabletsResponse{}
+ r := new(GetTabletsResponse)
if rhs := m.Tablets; rhs != nil {
tmpContainer := make([]*Tablet, len(rhs))
for k, v := range rhs {
@@ -1444,10 +1402,9 @@ func (m *GetTopologyPathRequest) CloneVT() *GetTopologyPathRequest {
if m == nil {
return (*GetTopologyPathRequest)(nil)
}
- r := &GetTopologyPathRequest{
- ClusterId: m.ClusterId,
- Path: m.Path,
- }
+ r := new(GetTopologyPathRequest)
+ r.ClusterId = m.ClusterId
+ r.Path = m.Path
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1459,14 +1416,31 @@ func (m *GetTopologyPathRequest) CloneMessageVT() proto.Message {
return m.CloneVT()
}
+func (m *GetUnresolvedTransactionsRequest) CloneVT() *GetUnresolvedTransactionsRequest {
+ if m == nil {
+ return (*GetUnresolvedTransactionsRequest)(nil)
+ }
+ r := new(GetUnresolvedTransactionsRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *GetUnresolvedTransactionsRequest) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
func (m *GetVSchemaRequest) CloneVT() *GetVSchemaRequest {
if m == nil {
return (*GetVSchemaRequest)(nil)
}
- r := &GetVSchemaRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- }
+ r := new(GetVSchemaRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1482,7 +1456,7 @@ func (m *GetVSchemasRequest) CloneVT() *GetVSchemasRequest {
if m == nil {
return (*GetVSchemasRequest)(nil)
}
- r := &GetVSchemasRequest{}
+ r := new(GetVSchemasRequest)
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1503,7 +1477,7 @@ func (m *GetVSchemasResponse) CloneVT() *GetVSchemasResponse {
if m == nil {
return (*GetVSchemasResponse)(nil)
}
- r := &GetVSchemasResponse{}
+ r := new(GetVSchemasResponse)
if rhs := m.VSchemas; rhs != nil {
tmpContainer := make([]*VSchema, len(rhs))
for k, v := range rhs {
@@ -1526,7 +1500,7 @@ func (m *GetVtctldsRequest) CloneVT() *GetVtctldsRequest {
if m == nil {
return (*GetVtctldsRequest)(nil)
}
- r := &GetVtctldsRequest{}
+ r := new(GetVtctldsRequest)
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1547,7 +1521,7 @@ func (m *GetVtctldsResponse) CloneVT() *GetVtctldsResponse {
if m == nil {
return (*GetVtctldsResponse)(nil)
}
- r := &GetVtctldsResponse{}
+ r := new(GetVtctldsResponse)
if rhs := m.Vtctlds; rhs != nil {
tmpContainer := make([]*Vtctld, len(rhs))
for k, v := range rhs {
@@ -1570,12 +1544,11 @@ func (m *GetWorkflowRequest) CloneVT() *GetWorkflowRequest {
if m == nil {
return (*GetWorkflowRequest)(nil)
}
- r := &GetWorkflowRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- Name: m.Name,
- ActiveOnly: m.ActiveOnly,
- }
+ r := new(GetWorkflowRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ r.Name = m.Name
+ r.ActiveOnly = m.ActiveOnly
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1587,13 +1560,69 @@ func (m *GetWorkflowRequest) CloneMessageVT() proto.Message {
return m.CloneVT()
}
+func (m *GetWorkflowStatusRequest) CloneVT() *GetWorkflowStatusRequest {
+ if m == nil {
+ return (*GetWorkflowStatusRequest)(nil)
+ }
+ r := new(GetWorkflowStatusRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ r.Name = m.Name
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *GetWorkflowStatusRequest) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
+func (m *StartWorkflowRequest) CloneVT() *StartWorkflowRequest {
+ if m == nil {
+ return (*StartWorkflowRequest)(nil)
+ }
+ r := new(StartWorkflowRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ r.Workflow = m.Workflow
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *StartWorkflowRequest) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
+func (m *StopWorkflowRequest) CloneVT() *StopWorkflowRequest {
+ if m == nil {
+ return (*StopWorkflowRequest)(nil)
+ }
+ r := new(StopWorkflowRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ r.Workflow = m.Workflow
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *StopWorkflowRequest) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
func (m *GetWorkflowsRequest) CloneVT() *GetWorkflowsRequest {
if m == nil {
return (*GetWorkflowsRequest)(nil)
}
- r := &GetWorkflowsRequest{
- ActiveOnly: m.ActiveOnly,
- }
+ r := new(GetWorkflowsRequest)
+ r.ActiveOnly = m.ActiveOnly
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1624,7 +1653,7 @@ func (m *GetWorkflowsResponse) CloneVT() *GetWorkflowsResponse {
if m == nil {
return (*GetWorkflowsResponse)(nil)
}
- r := &GetWorkflowsResponse{}
+ r := new(GetWorkflowsResponse)
if rhs := m.WorkflowsByCluster; rhs != nil {
tmpContainer := make(map[string]*ClusterWorkflows, len(rhs))
for k, v := range rhs {
@@ -1647,10 +1676,9 @@ func (m *LaunchSchemaMigrationRequest) CloneVT() *LaunchSchemaMigrationRequest {
if m == nil {
return (*LaunchSchemaMigrationRequest)(nil)
}
- r := &LaunchSchemaMigrationRequest{
- ClusterId: m.ClusterId,
- Request: m.Request.CloneVT(),
- }
+ r := new(LaunchSchemaMigrationRequest)
+ r.ClusterId = m.ClusterId
+ r.Request = m.Request.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1662,13 +1690,30 @@ func (m *LaunchSchemaMigrationRequest) CloneMessageVT() proto.Message {
return m.CloneVT()
}
+func (m *MoveTablesCreateRequest) CloneVT() *MoveTablesCreateRequest {
+ if m == nil {
+ return (*MoveTablesCreateRequest)(nil)
+ }
+ r := new(MoveTablesCreateRequest)
+ r.ClusterId = m.ClusterId
+ r.Request = m.Request.CloneVT()
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *MoveTablesCreateRequest) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
func (m *PingTabletRequest) CloneVT() *PingTabletRequest {
if m == nil {
return (*PingTabletRequest)(nil)
}
- r := &PingTabletRequest{
- Alias: m.Alias.CloneVT(),
- }
+ r := new(PingTabletRequest)
+ r.Alias = m.Alias.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1689,10 +1734,9 @@ func (m *PingTabletResponse) CloneVT() *PingTabletResponse {
if m == nil {
return (*PingTabletResponse)(nil)
}
- r := &PingTabletResponse{
- Status: m.Status,
- Cluster: m.Cluster.CloneVT(),
- }
+ r := new(PingTabletResponse)
+ r.Status = m.Status
+ r.Cluster = m.Cluster.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1708,10 +1752,9 @@ func (m *PlannedFailoverShardRequest) CloneVT() *PlannedFailoverShardRequest {
if m == nil {
return (*PlannedFailoverShardRequest)(nil)
}
- r := &PlannedFailoverShardRequest{
- ClusterId: m.ClusterId,
- Options: m.Options.CloneVT(),
- }
+ r := new(PlannedFailoverShardRequest)
+ r.ClusterId = m.ClusterId
+ r.Options = m.Options.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1727,12 +1770,11 @@ func (m *PlannedFailoverShardResponse) CloneVT() *PlannedFailoverShardResponse {
if m == nil {
return (*PlannedFailoverShardResponse)(nil)
}
- r := &PlannedFailoverShardResponse{
- Cluster: m.Cluster.CloneVT(),
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- PromotedPrimary: m.PromotedPrimary.CloneVT(),
- }
+ r := new(PlannedFailoverShardResponse)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.PromotedPrimary = m.PromotedPrimary.CloneVT()
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*logutil.Event, len(rhs))
for k, v := range rhs {
@@ -1755,11 +1797,10 @@ func (m *RebuildKeyspaceGraphRequest) CloneVT() *RebuildKeyspaceGraphRequest {
if m == nil {
return (*RebuildKeyspaceGraphRequest)(nil)
}
- r := &RebuildKeyspaceGraphRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- AllowPartial: m.AllowPartial,
- }
+ r := new(RebuildKeyspaceGraphRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ r.AllowPartial = m.AllowPartial
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1780,9 +1821,8 @@ func (m *RebuildKeyspaceGraphResponse) CloneVT() *RebuildKeyspaceGraphResponse {
if m == nil {
return (*RebuildKeyspaceGraphResponse)(nil)
}
- r := &RebuildKeyspaceGraphResponse{
- Status: m.Status,
- }
+ r := new(RebuildKeyspaceGraphResponse)
+ r.Status = m.Status
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1798,9 +1838,8 @@ func (m *RefreshStateRequest) CloneVT() *RefreshStateRequest {
if m == nil {
return (*RefreshStateRequest)(nil)
}
- r := &RefreshStateRequest{
- Alias: m.Alias.CloneVT(),
- }
+ r := new(RefreshStateRequest)
+ r.Alias = m.Alias.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1821,10 +1860,9 @@ func (m *RefreshStateResponse) CloneVT() *RefreshStateResponse {
if m == nil {
return (*RefreshStateResponse)(nil)
}
- r := &RefreshStateResponse{
- Status: m.Status,
- Cluster: m.Cluster.CloneVT(),
- }
+ r := new(RefreshStateResponse)
+ r.Status = m.Status
+ r.Cluster = m.Cluster.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1840,11 +1878,10 @@ func (m *ReloadSchemasRequest) CloneVT() *ReloadSchemasRequest {
if m == nil {
return (*ReloadSchemasRequest)(nil)
}
- r := &ReloadSchemasRequest{
- Concurrency: m.Concurrency,
- WaitPosition: m.WaitPosition,
- IncludePrimary: m.IncludePrimary,
- }
+ r := new(ReloadSchemasRequest)
+ r.Concurrency = m.Concurrency
+ r.WaitPosition = m.WaitPosition
+ r.IncludePrimary = m.IncludePrimary
if rhs := m.Keyspaces; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1882,9 +1919,8 @@ func (m *ReloadSchemasResponse_KeyspaceResult) CloneVT() *ReloadSchemasResponse_
if m == nil {
return (*ReloadSchemasResponse_KeyspaceResult)(nil)
}
- r := &ReloadSchemasResponse_KeyspaceResult{
- Keyspace: m.Keyspace.CloneVT(),
- }
+ r := new(ReloadSchemasResponse_KeyspaceResult)
+ r.Keyspace = m.Keyspace.CloneVT()
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*logutil.Event, len(rhs))
for k, v := range rhs {
@@ -1907,9 +1943,8 @@ func (m *ReloadSchemasResponse_ShardResult) CloneVT() *ReloadSchemasResponse_Sha
if m == nil {
return (*ReloadSchemasResponse_ShardResult)(nil)
}
- r := &ReloadSchemasResponse_ShardResult{
- Shard: m.Shard.CloneVT(),
- }
+ r := new(ReloadSchemasResponse_ShardResult)
+ r.Shard = m.Shard.CloneVT()
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*logutil.Event, len(rhs))
for k, v := range rhs {
@@ -1932,10 +1967,9 @@ func (m *ReloadSchemasResponse_TabletResult) CloneVT() *ReloadSchemasResponse_Ta
if m == nil {
return (*ReloadSchemasResponse_TabletResult)(nil)
}
- r := &ReloadSchemasResponse_TabletResult{
- Tablet: m.Tablet.CloneVT(),
- Result: m.Result,
- }
+ r := new(ReloadSchemasResponse_TabletResult)
+ r.Tablet = m.Tablet.CloneVT()
+ r.Result = m.Result
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1951,7 +1985,7 @@ func (m *ReloadSchemasResponse) CloneVT() *ReloadSchemasResponse {
if m == nil {
return (*ReloadSchemasResponse)(nil)
}
- r := &ReloadSchemasResponse{}
+ r := new(ReloadSchemasResponse)
if rhs := m.KeyspaceResults; rhs != nil {
tmpContainer := make([]*ReloadSchemasResponse_KeyspaceResult, len(rhs))
for k, v := range rhs {
@@ -1988,14 +2022,13 @@ func (m *ReloadSchemaShardRequest) CloneVT() *ReloadSchemaShardRequest {
if m == nil {
return (*ReloadSchemaShardRequest)(nil)
}
- r := &ReloadSchemaShardRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- WaitPosition: m.WaitPosition,
- IncludePrimary: m.IncludePrimary,
- Concurrency: m.Concurrency,
- }
+ r := new(ReloadSchemaShardRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.WaitPosition = m.WaitPosition
+ r.IncludePrimary = m.IncludePrimary
+ r.Concurrency = m.Concurrency
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2011,7 +2044,7 @@ func (m *ReloadSchemaShardResponse) CloneVT() *ReloadSchemaShardResponse {
if m == nil {
return (*ReloadSchemaShardResponse)(nil)
}
- r := &ReloadSchemaShardResponse{}
+ r := new(ReloadSchemaShardResponse)
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*logutil.Event, len(rhs))
for k, v := range rhs {
@@ -2034,9 +2067,8 @@ func (m *RefreshTabletReplicationSourceRequest) CloneVT() *RefreshTabletReplicat
if m == nil {
return (*RefreshTabletReplicationSourceRequest)(nil)
}
- r := &RefreshTabletReplicationSourceRequest{
- Alias: m.Alias.CloneVT(),
- }
+ r := new(RefreshTabletReplicationSourceRequest)
+ r.Alias = m.Alias.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2057,12 +2089,11 @@ func (m *RefreshTabletReplicationSourceResponse) CloneVT() *RefreshTabletReplica
if m == nil {
return (*RefreshTabletReplicationSourceResponse)(nil)
}
- r := &RefreshTabletReplicationSourceResponse{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Primary: m.Primary.CloneVT(),
- Cluster: m.Cluster.CloneVT(),
- }
+ r := new(RefreshTabletReplicationSourceResponse)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Primary = m.Primary.CloneVT()
+ r.Cluster = m.Cluster.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2078,13 +2109,12 @@ func (m *RemoveKeyspaceCellRequest) CloneVT() *RemoveKeyspaceCellRequest {
if m == nil {
return (*RemoveKeyspaceCellRequest)(nil)
}
- r := &RemoveKeyspaceCellRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- Cell: m.Cell,
- Force: m.Force,
- Recursive: m.Recursive,
- }
+ r := new(RemoveKeyspaceCellRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ r.Cell = m.Cell
+ r.Force = m.Force
+ r.Recursive = m.Recursive
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2100,9 +2130,8 @@ func (m *RemoveKeyspaceCellResponse) CloneVT() *RemoveKeyspaceCellResponse {
if m == nil {
return (*RemoveKeyspaceCellResponse)(nil)
}
- r := &RemoveKeyspaceCellResponse{
- Status: m.Status,
- }
+ r := new(RemoveKeyspaceCellResponse)
+ r.Status = m.Status
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2118,10 +2147,9 @@ func (m *RetrySchemaMigrationRequest) CloneVT() *RetrySchemaMigrationRequest {
if m == nil {
return (*RetrySchemaMigrationRequest)(nil)
}
- r := &RetrySchemaMigrationRequest{
- ClusterId: m.ClusterId,
- Request: m.Request.CloneVT(),
- }
+ r := new(RetrySchemaMigrationRequest)
+ r.ClusterId = m.ClusterId
+ r.Request = m.Request.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2137,9 +2165,8 @@ func (m *RunHealthCheckRequest) CloneVT() *RunHealthCheckRequest {
if m == nil {
return (*RunHealthCheckRequest)(nil)
}
- r := &RunHealthCheckRequest{
- Alias: m.Alias.CloneVT(),
- }
+ r := new(RunHealthCheckRequest)
+ r.Alias = m.Alias.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2160,10 +2187,9 @@ func (m *RunHealthCheckResponse) CloneVT() *RunHealthCheckResponse {
if m == nil {
return (*RunHealthCheckResponse)(nil)
}
- r := &RunHealthCheckResponse{
- Status: m.Status,
- Cluster: m.Cluster.CloneVT(),
- }
+ r := new(RunHealthCheckResponse)
+ r.Status = m.Status
+ r.Cluster = m.Cluster.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2179,9 +2205,8 @@ func (m *SetReadOnlyRequest) CloneVT() *SetReadOnlyRequest {
if m == nil {
return (*SetReadOnlyRequest)(nil)
}
- r := &SetReadOnlyRequest{
- Alias: m.Alias.CloneVT(),
- }
+ r := new(SetReadOnlyRequest)
+ r.Alias = m.Alias.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2202,7 +2227,7 @@ func (m *SetReadOnlyResponse) CloneVT() *SetReadOnlyResponse {
if m == nil {
return (*SetReadOnlyResponse)(nil)
}
- r := &SetReadOnlyResponse{}
+ r := new(SetReadOnlyResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2218,9 +2243,8 @@ func (m *SetReadWriteRequest) CloneVT() *SetReadWriteRequest {
if m == nil {
return (*SetReadWriteRequest)(nil)
}
- r := &SetReadWriteRequest{
- Alias: m.Alias.CloneVT(),
- }
+ r := new(SetReadWriteRequest)
+ r.Alias = m.Alias.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2241,7 +2265,7 @@ func (m *SetReadWriteResponse) CloneVT() *SetReadWriteResponse {
if m == nil {
return (*SetReadWriteResponse)(nil)
}
- r := &SetReadWriteResponse{}
+ r := new(SetReadWriteResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2257,9 +2281,8 @@ func (m *StartReplicationRequest) CloneVT() *StartReplicationRequest {
if m == nil {
return (*StartReplicationRequest)(nil)
}
- r := &StartReplicationRequest{
- Alias: m.Alias.CloneVT(),
- }
+ r := new(StartReplicationRequest)
+ r.Alias = m.Alias.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2280,10 +2303,9 @@ func (m *StartReplicationResponse) CloneVT() *StartReplicationResponse {
if m == nil {
return (*StartReplicationResponse)(nil)
}
- r := &StartReplicationResponse{
- Status: m.Status,
- Cluster: m.Cluster.CloneVT(),
- }
+ r := new(StartReplicationResponse)
+ r.Status = m.Status
+ r.Cluster = m.Cluster.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2299,9 +2321,8 @@ func (m *StopReplicationRequest) CloneVT() *StopReplicationRequest {
if m == nil {
return (*StopReplicationRequest)(nil)
}
- r := &StopReplicationRequest{
- Alias: m.Alias.CloneVT(),
- }
+ r := new(StopReplicationRequest)
+ r.Alias = m.Alias.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2322,10 +2343,9 @@ func (m *StopReplicationResponse) CloneVT() *StopReplicationResponse {
if m == nil {
return (*StopReplicationResponse)(nil)
}
- r := &StopReplicationResponse{
- Status: m.Status,
- Cluster: m.Cluster.CloneVT(),
- }
+ r := new(StopReplicationResponse)
+ r.Status = m.Status
+ r.Cluster = m.Cluster.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2341,9 +2361,8 @@ func (m *TabletExternallyPromotedRequest) CloneVT() *TabletExternallyPromotedReq
if m == nil {
return (*TabletExternallyPromotedRequest)(nil)
}
- r := &TabletExternallyPromotedRequest{
- Alias: m.Alias.CloneVT(),
- }
+ r := new(TabletExternallyPromotedRequest)
+ r.Alias = m.Alias.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2364,13 +2383,12 @@ func (m *TabletExternallyPromotedResponse) CloneVT() *TabletExternallyPromotedRe
if m == nil {
return (*TabletExternallyPromotedResponse)(nil)
}
- r := &TabletExternallyPromotedResponse{
- Cluster: m.Cluster.CloneVT(),
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- NewPrimary: m.NewPrimary.CloneVT(),
- OldPrimary: m.OldPrimary.CloneVT(),
- }
+ r := new(TabletExternallyPromotedResponse)
+ r.Cluster = m.Cluster.CloneVT()
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.NewPrimary = m.NewPrimary.CloneVT()
+ r.OldPrimary = m.OldPrimary.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2386,9 +2404,8 @@ func (m *TabletExternallyReparentedRequest) CloneVT() *TabletExternallyReparente
if m == nil {
return (*TabletExternallyReparentedRequest)(nil)
}
- r := &TabletExternallyReparentedRequest{
- Alias: m.Alias.CloneVT(),
- }
+ r := new(TabletExternallyReparentedRequest)
+ r.Alias = m.Alias.CloneVT()
if rhs := m.ClusterIds; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2409,10 +2426,9 @@ func (m *ValidateRequest) CloneVT() *ValidateRequest {
if m == nil {
return (*ValidateRequest)(nil)
}
- r := &ValidateRequest{
- ClusterId: m.ClusterId,
- PingTablets: m.PingTablets,
- }
+ r := new(ValidateRequest)
+ r.ClusterId = m.ClusterId
+ r.PingTablets = m.PingTablets
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2428,11 +2444,10 @@ func (m *ValidateKeyspaceRequest) CloneVT() *ValidateKeyspaceRequest {
if m == nil {
return (*ValidateKeyspaceRequest)(nil)
}
- r := &ValidateKeyspaceRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- PingTablets: m.PingTablets,
- }
+ r := new(ValidateKeyspaceRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ r.PingTablets = m.PingTablets
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2448,10 +2463,9 @@ func (m *ValidateSchemaKeyspaceRequest) CloneVT() *ValidateSchemaKeyspaceRequest
if m == nil {
return (*ValidateSchemaKeyspaceRequest)(nil)
}
- r := &ValidateSchemaKeyspaceRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- }
+ r := new(ValidateSchemaKeyspaceRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2467,12 +2481,11 @@ func (m *ValidateShardRequest) CloneVT() *ValidateShardRequest {
if m == nil {
return (*ValidateShardRequest)(nil)
}
- r := &ValidateShardRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- PingTablets: m.PingTablets,
- }
+ r := new(ValidateShardRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.PingTablets = m.PingTablets
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2488,10 +2501,9 @@ func (m *ValidateVersionKeyspaceRequest) CloneVT() *ValidateVersionKeyspaceReque
if m == nil {
return (*ValidateVersionKeyspaceRequest)(nil)
}
- r := &ValidateVersionKeyspaceRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- }
+ r := new(ValidateVersionKeyspaceRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2507,11 +2519,10 @@ func (m *ValidateVersionShardRequest) CloneVT() *ValidateVersionShardRequest {
if m == nil {
return (*ValidateVersionShardRequest)(nil)
}
- r := &ValidateVersionShardRequest{
- ClusterId: m.ClusterId,
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- }
+ r := new(ValidateVersionShardRequest)
+ r.ClusterId = m.ClusterId
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2527,11 +2538,10 @@ func (m *VTExplainRequest) CloneVT() *VTExplainRequest {
if m == nil {
return (*VTExplainRequest)(nil)
}
- r := &VTExplainRequest{
- Cluster: m.Cluster,
- Keyspace: m.Keyspace,
- Sql: m.Sql,
- }
+ r := new(VTExplainRequest)
+ r.Cluster = m.Cluster
+ r.Keyspace = m.Keyspace
+ r.Sql = m.Sql
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2547,9 +2557,8 @@ func (m *VTExplainResponse) CloneVT() *VTExplainResponse {
if m == nil {
return (*VTExplainResponse)(nil)
}
- r := &VTExplainResponse{
- Response: m.Response,
- }
+ r := new(VTExplainResponse)
+ r.Response = m.Response
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2594,14 +2603,14 @@ func (m *Cluster) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x12
}
if len(m.Id) > 0 {
i -= len(m.Id)
copy(dAtA[i:], m.Id)
- i = encodeVarint(dAtA, i, uint64(len(m.Id)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Id)))
i--
dAtA[i] = 0xa
}
@@ -2644,7 +2653,7 @@ func (m *ClusterBackup) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2654,7 +2663,7 @@ func (m *ClusterBackup) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2700,15 +2709,15 @@ func (m *ClusterCellsAliases) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -2719,7 +2728,7 @@ func (m *ClusterCellsAliases) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2762,14 +2771,14 @@ func (m *ClusterCellInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x12
}
@@ -2779,7 +2788,7 @@ func (m *ClusterCellInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2822,21 +2831,21 @@ func (m *ClusterShardReplicationPosition) MarshalToSizedBufferVT(dAtA []byte) (i
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
@@ -2846,7 +2855,7 @@ func (m *ClusterShardReplicationPosition) MarshalToSizedBufferVT(dAtA []byte) (i
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2887,7 +2896,7 @@ func (m *ClusterWorkflows) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Warnings) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Warnings[iNdEx])
copy(dAtA[i:], m.Warnings[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Warnings[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Warnings[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -2899,7 +2908,7 @@ func (m *ClusterWorkflows) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -2946,15 +2955,15 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x1a
}
@@ -2965,7 +2974,7 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -2975,7 +2984,7 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3013,12 +3022,12 @@ func (m *Schema_ShardTableSize) MarshalToSizedBufferVT(dAtA []byte) (int, error)
copy(dAtA[i:], m.unknownFields)
}
if m.DataLength != 0 {
- i = encodeVarint(dAtA, i, uint64(m.DataLength))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DataLength))
i--
dAtA[i] = 0x10
}
if m.RowCount != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RowCount))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowCount))
i--
dAtA[i] = 0x8
}
@@ -3064,26 +3073,26 @@ func (m *Schema_TableSize) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x1a
}
}
if m.DataLength != 0 {
- i = encodeVarint(dAtA, i, uint64(m.DataLength))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DataLength))
i--
dAtA[i] = 0x10
}
if m.RowCount != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RowCount))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowCount))
i--
dAtA[i] = 0x8
}
@@ -3129,15 +3138,15 @@ func (m *Schema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x22
}
@@ -3149,7 +3158,7 @@ func (m *Schema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3157,7 +3166,7 @@ func (m *Schema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
@@ -3167,7 +3176,7 @@ func (m *Schema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3210,7 +3219,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3220,7 +3229,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3263,7 +3272,7 @@ func (m *Shard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3273,7 +3282,7 @@ func (m *Shard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3316,7 +3325,7 @@ func (m *SrvVSchema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -3326,14 +3335,14 @@ func (m *SrvVSchema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0xa
}
@@ -3373,12 +3382,12 @@ func (m *Tablet) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.FQDN) > 0 {
i -= len(m.FQDN)
copy(dAtA[i:], m.FQDN)
- i = encodeVarint(dAtA, i, uint64(len(m.FQDN)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FQDN)))
i--
dAtA[i] = 0x22
}
if m.State != 0 {
- i = encodeVarint(dAtA, i, uint64(m.State))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.State))
i--
dAtA[i] = 0x18
}
@@ -3388,7 +3397,7 @@ func (m *Tablet) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -3398,7 +3407,7 @@ func (m *Tablet) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3441,14 +3450,14 @@ func (m *VSchema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x12
}
@@ -3458,7 +3467,7 @@ func (m *VSchema) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3498,7 +3507,7 @@ func (m *Vtctld) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.FQDN) > 0 {
i -= len(m.FQDN)
copy(dAtA[i:], m.FQDN)
- i = encodeVarint(dAtA, i, uint64(len(m.FQDN)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FQDN)))
i--
dAtA[i] = 0x1a
}
@@ -3508,14 +3517,14 @@ func (m *Vtctld) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Hostname) > 0 {
i -= len(m.Hostname)
copy(dAtA[i:], m.Hostname)
- i = encodeVarint(dAtA, i, uint64(len(m.Hostname)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Hostname)))
i--
dAtA[i] = 0xa
}
@@ -3555,7 +3564,7 @@ func (m *VTGate) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.FQDN) > 0 {
i -= len(m.FQDN)
copy(dAtA[i:], m.FQDN)
- i = encodeVarint(dAtA, i, uint64(len(m.FQDN)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FQDN)))
i--
dAtA[i] = 0x32
}
@@ -3563,7 +3572,7 @@ func (m *VTGate) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Keyspaces) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Keyspaces[iNdEx])
copy(dAtA[i:], m.Keyspaces[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspaces[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspaces[iNdEx])))
i--
dAtA[i] = 0x2a
}
@@ -3574,28 +3583,28 @@ func (m *VTGate) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0x1a
}
if len(m.Pool) > 0 {
i -= len(m.Pool)
copy(dAtA[i:], m.Pool)
- i = encodeVarint(dAtA, i, uint64(len(m.Pool)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Pool)))
i--
dAtA[i] = 0x12
}
if len(m.Hostname) > 0 {
i -= len(m.Hostname)
copy(dAtA[i:], m.Hostname)
- i = encodeVarint(dAtA, i, uint64(len(m.Hostname)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Hostname)))
i--
dAtA[i] = 0xa
}
@@ -3638,14 +3647,14 @@ func (m *Workflow) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
@@ -3655,7 +3664,7 @@ func (m *Workflow) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3698,14 +3707,14 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -3748,14 +3757,14 @@ func (m *CancelSchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -3798,14 +3807,14 @@ func (m *CleanupSchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -3848,14 +3857,14 @@ func (m *CompleteSchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -3898,14 +3907,14 @@ func (m *CreateKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -3948,7 +3957,7 @@ func (m *CreateKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -3991,14 +4000,14 @@ func (m *CreateShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -4041,14 +4050,14 @@ func (m *DeleteKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -4091,14 +4100,14 @@ func (m *DeleteShardsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -4149,7 +4158,7 @@ func (m *DeleteTabletRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -4160,7 +4169,7 @@ func (m *DeleteTabletRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4203,14 +4212,14 @@ func (m *DeleteTabletResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Status) > 0 {
i -= len(m.Status)
copy(dAtA[i:], m.Status)
- i = encodeVarint(dAtA, i, uint64(len(m.Status)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Status)))
i--
dAtA[i] = 0xa
}
@@ -4253,14 +4262,14 @@ func (m *EmergencyFailoverShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -4304,7 +4313,7 @@ func (m *EmergencyFailoverShardResponse) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -4315,21 +4324,21 @@ func (m *EmergencyFailoverShardResponse) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
@@ -4339,7 +4348,7 @@ func (m *EmergencyFailoverShardResponse) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4382,7 +4391,7 @@ func (m *FindSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -4390,7 +4399,7 @@ func (m *FindSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -4398,7 +4407,7 @@ func (m *FindSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Table) > 0 {
i -= len(m.Table)
copy(dAtA[i:], m.Table)
- i = encodeVarint(dAtA, i, uint64(len(m.Table)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Table)))
i--
dAtA[i] = 0xa
}
@@ -4441,7 +4450,7 @@ func (m *GetBackupsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -4449,7 +4458,7 @@ func (m *GetBackupsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.KeyspaceShards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.KeyspaceShards[iNdEx])
copy(dAtA[i:], m.KeyspaceShards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.KeyspaceShards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.KeyspaceShards[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -4458,7 +4467,7 @@ func (m *GetBackupsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Keyspaces) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Keyspaces[iNdEx])
copy(dAtA[i:], m.Keyspaces[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspaces[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspaces[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -4467,7 +4476,7 @@ func (m *GetBackupsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -4512,7 +4521,7 @@ func (m *GetBackupsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4564,7 +4573,7 @@ func (m *GetCellInfosRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -4573,7 +4582,7 @@ func (m *GetCellInfosRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -4618,7 +4627,7 @@ func (m *GetCellInfosResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4660,7 +4669,7 @@ func (m *GetCellsAliasesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -4705,7 +4714,7 @@ func (m *GetCellsAliasesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4783,7 +4792,7 @@ func (m *GetClustersResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4827,14 +4836,14 @@ func (m *GetFullStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -4875,7 +4884,7 @@ func (m *GetGatesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -4920,7 +4929,7 @@ func (m *GetGatesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -4961,14 +4970,14 @@ func (m *GetKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -5009,7 +5018,7 @@ func (m *GetKeyspacesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -5054,7 +5063,7 @@ func (m *GetKeyspacesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5098,28 +5107,28 @@ func (m *GetSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if len(m.Table) > 0 {
i -= len(m.Table)
copy(dAtA[i:], m.Table)
- i = encodeVarint(dAtA, i, uint64(len(m.Table)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Table)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -5162,7 +5171,7 @@ func (m *GetSchemasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -5170,7 +5179,7 @@ func (m *GetSchemasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -5215,7 +5224,7 @@ func (m *GetSchemasResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5259,14 +5268,14 @@ func (m *GetSchemaMigrationsRequest_ClusterRequest) MarshalToSizedBufferVT(dAtA
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -5310,7 +5319,7 @@ func (m *GetSchemaMigrationsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5355,7 +5364,7 @@ func (m *GetSchemaMigrationsResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5397,7 +5406,7 @@ func (m *GetShardReplicationPositionsRequest) MarshalToSizedBufferVT(dAtA []byte
for iNdEx := len(m.KeyspaceShards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.KeyspaceShards[iNdEx])
copy(dAtA[i:], m.KeyspaceShards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.KeyspaceShards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.KeyspaceShards[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -5406,7 +5415,7 @@ func (m *GetShardReplicationPositionsRequest) MarshalToSizedBufferVT(dAtA []byte
for iNdEx := len(m.Keyspaces) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Keyspaces[iNdEx])
copy(dAtA[i:], m.Keyspaces[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspaces[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspaces[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -5415,7 +5424,7 @@ func (m *GetShardReplicationPositionsRequest) MarshalToSizedBufferVT(dAtA []byte
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -5460,7 +5469,7 @@ func (m *GetShardReplicationPositionsResponse) MarshalToSizedBufferVT(dAtA []byt
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5502,7 +5511,7 @@ func (m *GetSrvKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -5510,14 +5519,14 @@ func (m *GetSrvKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -5558,7 +5567,7 @@ func (m *GetSrvKeyspacesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -5567,7 +5576,7 @@ func (m *GetSrvKeyspacesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -5614,15 +5623,15 @@ func (m *GetSrvKeyspacesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -5663,14 +5672,14 @@ func (m *GetSrvVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -5711,7 +5720,7 @@ func (m *GetSrvVSchemasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -5720,7 +5729,7 @@ func (m *GetSrvVSchemasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -5765,7 +5774,7 @@ func (m *GetSrvVSchemasResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5860,7 +5869,7 @@ func (m *GetTabletRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -5871,7 +5880,7 @@ func (m *GetTabletRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5912,7 +5921,7 @@ func (m *GetTabletsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -5957,7 +5966,7 @@ func (m *GetTabletsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5998,14 +6007,61 @@ func (m *GetTopologyPathRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Path) > 0 {
i -= len(m.Path)
copy(dAtA[i:], m.Path)
- i = encodeVarint(dAtA, i, uint64(len(m.Path)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Path)))
+ i--
+ dAtA[i] = 0x12
+ }
+ if len(m.ClusterId) > 0 {
+ i -= len(m.ClusterId)
+ copy(dAtA[i:], m.ClusterId)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *GetUnresolvedTransactionsRequest) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *GetUnresolvedTransactionsRequest) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *GetUnresolvedTransactionsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if len(m.Keyspace) > 0 {
+ i -= len(m.Keyspace)
+ copy(dAtA[i:], m.Keyspace)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -6045,14 +6101,14 @@ func (m *GetVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -6093,7 +6149,7 @@ func (m *GetVSchemasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -6138,7 +6194,7 @@ func (m *GetVSchemasResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -6180,7 +6236,7 @@ func (m *GetVtctldsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -6225,7 +6281,7 @@ func (m *GetVtctldsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -6276,28 +6332,28 @@ func (m *GetWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func (m *GetWorkflowsRequest) MarshalVT() (dAtA []byte, err error) {
+func (m *GetWorkflowStatusRequest) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
@@ -6310,12 +6366,12 @@ func (m *GetWorkflowsRequest) MarshalVT() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *GetWorkflowsRequest) MarshalToVT(dAtA []byte) (int, error) {
+func (m *GetWorkflowStatusRequest) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
-func (m *GetWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+func (m *GetWorkflowStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
@@ -6327,47 +6383,31 @@ func (m *GetWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
- if len(m.IgnoreKeyspaces) > 0 {
- for iNdEx := len(m.IgnoreKeyspaces) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.IgnoreKeyspaces[iNdEx])
- copy(dAtA[i:], m.IgnoreKeyspaces[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.IgnoreKeyspaces[iNdEx])))
- i--
- dAtA[i] = 0x22
- }
- }
- if len(m.Keyspaces) > 0 {
- for iNdEx := len(m.Keyspaces) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.Keyspaces[iNdEx])
- copy(dAtA[i:], m.Keyspaces[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspaces[iNdEx])))
- i--
- dAtA[i] = 0x1a
- }
- }
- if m.ActiveOnly {
+ if len(m.Name) > 0 {
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
- if m.ActiveOnly {
- dAtA[i] = 1
- } else {
- dAtA[i] = 0
- }
+ dAtA[i] = 0x1a
+ }
+ if len(m.Keyspace) > 0 {
+ i -= len(m.Keyspace)
+ copy(dAtA[i:], m.Keyspace)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
- dAtA[i] = 0x10
+ dAtA[i] = 0x12
}
- if len(m.ClusterIds) > 0 {
- for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
- i -= len(m.ClusterIds[iNdEx])
- copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
- i--
- dAtA[i] = 0xa
- }
+ if len(m.ClusterId) > 0 {
+ i -= len(m.ClusterId)
+ copy(dAtA[i:], m.ClusterId)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i--
+ dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func (m *GetWorkflowsResponse) MarshalVT() (dAtA []byte, err error) {
+func (m *StartWorkflowRequest) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
}
@@ -6380,12 +6420,12 @@ func (m *GetWorkflowsResponse) MarshalVT() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *GetWorkflowsResponse) MarshalToVT(dAtA []byte) (int, error) {
+func (m *StartWorkflowRequest) MarshalToVT(dAtA []byte) (int, error) {
size := m.SizeVT()
return m.MarshalToSizedBufferVT(dAtA[:size])
}
-func (m *GetWorkflowsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+func (m *StartWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if m == nil {
return 0, nil
}
@@ -6397,27 +6437,205 @@ func (m *GetWorkflowsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
- if len(m.WorkflowsByCluster) > 0 {
- for k := range m.WorkflowsByCluster {
- v := m.WorkflowsByCluster[k]
- baseI := i
- size, err := v.MarshalToSizedBufferVT(dAtA[:i])
- if err != nil {
- return 0, err
- }
- i -= size
- i = encodeVarint(dAtA, i, uint64(size))
- i--
- dAtA[i] = 0x12
- i -= len(k)
- copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
- i--
- dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
- i--
- dAtA[i] = 0xa
- }
+ if len(m.Workflow) > 0 {
+ i -= len(m.Workflow)
+ copy(dAtA[i:], m.Workflow)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i--
+ dAtA[i] = 0x1a
+ }
+ if len(m.Keyspace) > 0 {
+ i -= len(m.Keyspace)
+ copy(dAtA[i:], m.Keyspace)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i--
+ dAtA[i] = 0x12
+ }
+ if len(m.ClusterId) > 0 {
+ i -= len(m.ClusterId)
+ copy(dAtA[i:], m.ClusterId)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *StopWorkflowRequest) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *StopWorkflowRequest) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *StopWorkflowRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if len(m.Workflow) > 0 {
+ i -= len(m.Workflow)
+ copy(dAtA[i:], m.Workflow)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i--
+ dAtA[i] = 0x1a
+ }
+ if len(m.Keyspace) > 0 {
+ i -= len(m.Keyspace)
+ copy(dAtA[i:], m.Keyspace)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i--
+ dAtA[i] = 0x12
+ }
+ if len(m.ClusterId) > 0 {
+ i -= len(m.ClusterId)
+ copy(dAtA[i:], m.ClusterId)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *GetWorkflowsRequest) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *GetWorkflowsRequest) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *GetWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if len(m.IgnoreKeyspaces) > 0 {
+ for iNdEx := len(m.IgnoreKeyspaces) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.IgnoreKeyspaces[iNdEx])
+ copy(dAtA[i:], m.IgnoreKeyspaces[iNdEx])
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.IgnoreKeyspaces[iNdEx])))
+ i--
+ dAtA[i] = 0x22
+ }
+ }
+ if len(m.Keyspaces) > 0 {
+ for iNdEx := len(m.Keyspaces) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.Keyspaces[iNdEx])
+ copy(dAtA[i:], m.Keyspaces[iNdEx])
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspaces[iNdEx])))
+ i--
+ dAtA[i] = 0x1a
+ }
+ }
+ if m.ActiveOnly {
+ i--
+ if m.ActiveOnly {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x10
+ }
+ if len(m.ClusterIds) > 0 {
+ for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.ClusterIds[iNdEx])
+ copy(dAtA[i:], m.ClusterIds[iNdEx])
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i--
+ dAtA[i] = 0xa
+ }
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *GetWorkflowsResponse) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *GetWorkflowsResponse) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *GetWorkflowsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if len(m.WorkflowsByCluster) > 0 {
+ for k := range m.WorkflowsByCluster {
+ v := m.WorkflowsByCluster[k]
+ baseI := i
+ size, err := v.MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x12
+ i -= len(k)
+ copy(dAtA[i:], k)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
+ i--
+ dAtA[i] = 0xa
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
+ i--
+ dAtA[i] = 0xa
+ }
}
return len(dAtA) - i, nil
}
@@ -6458,14 +6676,64 @@ func (m *LaunchSchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x12
+ }
+ if len(m.ClusterId) > 0 {
+ i -= len(m.ClusterId)
+ copy(dAtA[i:], m.ClusterId)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *MoveTablesCreateRequest) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *MoveTablesCreateRequest) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *MoveTablesCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if m.Request != nil {
+ size, err := m.Request.MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -6506,7 +6774,7 @@ func (m *PingTabletRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -6517,7 +6785,7 @@ func (m *PingTabletRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -6560,14 +6828,14 @@ func (m *PingTabletResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Status) > 0 {
i -= len(m.Status)
copy(dAtA[i:], m.Status)
- i = encodeVarint(dAtA, i, uint64(len(m.Status)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Status)))
i--
dAtA[i] = 0xa
}
@@ -6610,14 +6878,14 @@ func (m *PlannedFailoverShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -6661,7 +6929,7 @@ func (m *PlannedFailoverShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -6672,21 +6940,21 @@ func (m *PlannedFailoverShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
@@ -6696,7 +6964,7 @@ func (m *PlannedFailoverShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -6747,7 +7015,7 @@ func (m *RebuildKeyspaceGraphRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -6755,14 +7023,14 @@ func (m *RebuildKeyspaceGraphRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -6802,7 +7070,7 @@ func (m *RebuildKeyspaceGraphResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Status) > 0 {
i -= len(m.Status)
copy(dAtA[i:], m.Status)
- i = encodeVarint(dAtA, i, uint64(len(m.Status)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Status)))
i--
dAtA[i] = 0xa
}
@@ -6843,7 +7111,7 @@ func (m *RefreshStateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -6854,7 +7122,7 @@ func (m *RefreshStateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -6897,14 +7165,14 @@ func (m *RefreshStateResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Status) > 0 {
i -= len(m.Status)
copy(dAtA[i:], m.Status)
- i = encodeVarint(dAtA, i, uint64(len(m.Status)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Status)))
i--
dAtA[i] = 0xa
}
@@ -6954,12 +7222,12 @@ func (m *ReloadSchemasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.WaitPosition) > 0 {
i -= len(m.WaitPosition)
copy(dAtA[i:], m.WaitPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
i--
dAtA[i] = 0x32
}
if m.Concurrency != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Concurrency))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Concurrency))
i--
dAtA[i] = 0x28
}
@@ -6967,7 +7235,7 @@ func (m *ReloadSchemasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -6979,7 +7247,7 @@ func (m *ReloadSchemasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -6988,7 +7256,7 @@ func (m *ReloadSchemasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.KeyspaceShards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.KeyspaceShards[iNdEx])
copy(dAtA[i:], m.KeyspaceShards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.KeyspaceShards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.KeyspaceShards[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -6997,7 +7265,7 @@ func (m *ReloadSchemasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Keyspaces) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Keyspaces[iNdEx])
copy(dAtA[i:], m.Keyspaces[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspaces[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspaces[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -7042,7 +7310,7 @@ func (m *ReloadSchemasResponse_KeyspaceResult) MarshalToSizedBufferVT(dAtA []byt
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -7053,7 +7321,7 @@ func (m *ReloadSchemasResponse_KeyspaceResult) MarshalToSizedBufferVT(dAtA []byt
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7097,7 +7365,7 @@ func (m *ReloadSchemasResponse_ShardResult) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -7108,7 +7376,7 @@ func (m *ReloadSchemasResponse_ShardResult) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7148,7 +7416,7 @@ func (m *ReloadSchemasResponse_TabletResult) MarshalToSizedBufferVT(dAtA []byte)
if len(m.Result) > 0 {
i -= len(m.Result)
copy(dAtA[i:], m.Result)
- i = encodeVarint(dAtA, i, uint64(len(m.Result)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Result)))
i--
dAtA[i] = 0x12
}
@@ -7158,7 +7426,7 @@ func (m *ReloadSchemasResponse_TabletResult) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7202,7 +7470,7 @@ func (m *ReloadSchemasResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -7214,7 +7482,7 @@ func (m *ReloadSchemasResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -7226,7 +7494,7 @@ func (m *ReloadSchemasResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7265,7 +7533,7 @@ func (m *ReloadSchemaShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
copy(dAtA[i:], m.unknownFields)
}
if m.Concurrency != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Concurrency))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Concurrency))
i--
dAtA[i] = 0x30
}
@@ -7282,28 +7550,28 @@ func (m *ReloadSchemaShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
if len(m.WaitPosition) > 0 {
i -= len(m.WaitPosition)
copy(dAtA[i:], m.WaitPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
i--
dAtA[i] = 0x22
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -7347,7 +7615,7 @@ func (m *ReloadSchemaShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7389,7 +7657,7 @@ func (m *RefreshTabletReplicationSourceRequest) MarshalToSizedBufferVT(dAtA []by
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -7400,7 +7668,7 @@ func (m *RefreshTabletReplicationSourceRequest) MarshalToSizedBufferVT(dAtA []by
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7443,7 +7711,7 @@ func (m *RefreshTabletReplicationSourceResponse) MarshalToSizedBufferVT(dAtA []b
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -7453,21 +7721,21 @@ func (m *RefreshTabletReplicationSourceResponse) MarshalToSizedBufferVT(dAtA []b
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -7527,21 +7795,21 @@ func (m *RemoveKeyspaceCellRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -7581,7 +7849,7 @@ func (m *RemoveKeyspaceCellResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
if len(m.Status) > 0 {
i -= len(m.Status)
copy(dAtA[i:], m.Status)
- i = encodeVarint(dAtA, i, uint64(len(m.Status)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Status)))
i--
dAtA[i] = 0xa
}
@@ -7624,14 +7892,14 @@ func (m *RetrySchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -7672,7 +7940,7 @@ func (m *RunHealthCheckRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -7683,7 +7951,7 @@ func (m *RunHealthCheckRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7726,14 +7994,14 @@ func (m *RunHealthCheckResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Status) > 0 {
i -= len(m.Status)
copy(dAtA[i:], m.Status)
- i = encodeVarint(dAtA, i, uint64(len(m.Status)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Status)))
i--
dAtA[i] = 0xa
}
@@ -7774,7 +8042,7 @@ func (m *SetReadOnlyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -7785,7 +8053,7 @@ func (m *SetReadOnlyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7859,7 +8127,7 @@ func (m *SetReadWriteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -7870,7 +8138,7 @@ func (m *SetReadWriteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7944,7 +8212,7 @@ func (m *StartReplicationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -7955,7 +8223,7 @@ func (m *StartReplicationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7998,14 +8266,14 @@ func (m *StartReplicationResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Status) > 0 {
i -= len(m.Status)
copy(dAtA[i:], m.Status)
- i = encodeVarint(dAtA, i, uint64(len(m.Status)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Status)))
i--
dAtA[i] = 0xa
}
@@ -8046,7 +8314,7 @@ func (m *StopReplicationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -8057,7 +8325,7 @@ func (m *StopReplicationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8100,14 +8368,14 @@ func (m *StopReplicationResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Status) > 0 {
i -= len(m.Status)
copy(dAtA[i:], m.Status)
- i = encodeVarint(dAtA, i, uint64(len(m.Status)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Status)))
i--
dAtA[i] = 0xa
}
@@ -8148,7 +8416,7 @@ func (m *TabletExternallyPromotedRequest) MarshalToSizedBufferVT(dAtA []byte) (i
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -8159,7 +8427,7 @@ func (m *TabletExternallyPromotedRequest) MarshalToSizedBufferVT(dAtA []byte) (i
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8202,7 +8470,7 @@ func (m *TabletExternallyPromotedResponse) MarshalToSizedBufferVT(dAtA []byte) (
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -8212,21 +8480,21 @@ func (m *TabletExternallyPromotedResponse) MarshalToSizedBufferVT(dAtA []byte) (
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
@@ -8236,7 +8504,7 @@ func (m *TabletExternallyPromotedResponse) MarshalToSizedBufferVT(dAtA []byte) (
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8277,7 +8545,7 @@ func (m *TabletExternallyReparentedRequest) MarshalToSizedBufferVT(dAtA []byte)
for iNdEx := len(m.ClusterIds) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ClusterIds[iNdEx])
copy(dAtA[i:], m.ClusterIds[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterIds[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -8288,7 +8556,7 @@ func (m *TabletExternallyReparentedRequest) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8338,7 +8606,7 @@ func (m *ValidateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -8388,14 +8656,14 @@ func (m *ValidateKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -8435,14 +8703,14 @@ func (m *ValidateSchemaKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -8492,21 +8760,21 @@ func (m *ValidateShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -8546,14 +8814,14 @@ func (m *ValidateVersionKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (in
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -8593,21 +8861,21 @@ func (m *ValidateVersionShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.ClusterId) > 0 {
i -= len(m.ClusterId)
copy(dAtA[i:], m.ClusterId)
- i = encodeVarint(dAtA, i, uint64(len(m.ClusterId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ClusterId)))
i--
dAtA[i] = 0xa
}
@@ -8647,21 +8915,21 @@ func (m *VTExplainRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Sql) > 0 {
i -= len(m.Sql)
copy(dAtA[i:], m.Sql)
- i = encodeVarint(dAtA, i, uint64(len(m.Sql)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Sql)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.Cluster) > 0 {
i -= len(m.Cluster)
copy(dAtA[i:], m.Cluster)
- i = encodeVarint(dAtA, i, uint64(len(m.Cluster)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cluster)))
i--
dAtA[i] = 0xa
}
@@ -8701,24 +8969,13 @@ func (m *VTExplainResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Response) > 0 {
i -= len(m.Response)
copy(dAtA[i:], m.Response)
- i = encodeVarint(dAtA, i, uint64(len(m.Response)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Response)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *Cluster) SizeVT() (n int) {
if m == nil {
return 0
@@ -8727,11 +8984,11 @@ func (m *Cluster) SizeVT() (n int) {
_ = l
l = len(m.Id)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -8745,11 +9002,11 @@ func (m *ClusterBackup) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Backup != nil {
l = m.Backup.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -8763,7 +9020,7 @@ func (m *ClusterCellsAliases) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Aliases) > 0 {
for k, v := range m.Aliases {
@@ -8773,9 +9030,9 @@ func (m *ClusterCellsAliases) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -8790,15 +9047,15 @@ func (m *ClusterCellInfo) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CellInfo != nil {
l = m.CellInfo.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -8812,19 +9069,19 @@ func (m *ClusterShardReplicationPosition) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PositionInfo != nil {
l = m.PositionInfo.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -8839,13 +9096,13 @@ func (m *ClusterWorkflows) SizeVT() (n int) {
if len(m.Workflows) > 0 {
for _, e := range m.Workflows {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Warnings) > 0 {
for _, s := range m.Warnings {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -8860,11 +9117,11 @@ func (m *Keyspace) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Keyspace != nil {
l = m.Keyspace.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Shards) > 0 {
for k, v := range m.Shards {
@@ -8874,9 +9131,9 @@ func (m *Keyspace) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -8890,10 +9147,10 @@ func (m *Schema_ShardTableSize) SizeVT() (n int) {
var l int
_ = l
if m.RowCount != 0 {
- n += 1 + sov(uint64(m.RowCount))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.RowCount))
}
if m.DataLength != 0 {
- n += 1 + sov(uint64(m.DataLength))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.DataLength))
}
n += len(m.unknownFields)
return n
@@ -8906,10 +9163,10 @@ func (m *Schema_TableSize) SizeVT() (n int) {
var l int
_ = l
if m.RowCount != 0 {
- n += 1 + sov(uint64(m.RowCount))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.RowCount))
}
if m.DataLength != 0 {
- n += 1 + sov(uint64(m.DataLength))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.DataLength))
}
if len(m.ByShard) > 0 {
for k, v := range m.ByShard {
@@ -8919,9 +9176,9 @@ func (m *Schema_TableSize) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -8936,16 +9193,16 @@ func (m *Schema) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.TableDefinitions) > 0 {
for _, e := range m.TableDefinitions {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TableSizes) > 0 {
@@ -8956,9 +9213,9 @@ func (m *Schema) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -8973,11 +9230,11 @@ func (m *SchemaMigration) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SchemaMigration != nil {
l = m.SchemaMigration.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -8991,11 +9248,11 @@ func (m *Shard) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Shard != nil {
l = m.Shard.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9009,15 +9266,15 @@ func (m *SrvVSchema) SizeVT() (n int) {
_ = l
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SrvVSchema != nil {
l = m.SrvVSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9031,18 +9288,18 @@ func (m *Tablet) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Tablet != nil {
l = m.Tablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.State != 0 {
- n += 1 + sov(uint64(m.State))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.State))
}
l = len(m.FQDN)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9056,15 +9313,15 @@ func (m *VSchema) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.VSchema != nil {
l = m.VSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9078,15 +9335,15 @@ func (m *Vtctld) SizeVT() (n int) {
_ = l
l = len(m.Hostname)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.FQDN)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9100,29 +9357,29 @@ func (m *VTGate) SizeVT() (n int) {
_ = l
l = len(m.Hostname)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Pool)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Keyspaces) > 0 {
for _, s := range m.Keyspaces {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.FQDN)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9136,15 +9393,15 @@ func (m *Workflow) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Workflow != nil {
l = m.Workflow.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9158,11 +9415,11 @@ func (m *ApplySchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Request != nil {
l = m.Request.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9176,11 +9433,11 @@ func (m *CancelSchemaMigrationRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Request != nil {
l = m.Request.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9194,11 +9451,11 @@ func (m *CleanupSchemaMigrationRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Request != nil {
l = m.Request.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9212,11 +9469,11 @@ func (m *CompleteSchemaMigrationRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Request != nil {
l = m.Request.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9230,11 +9487,11 @@ func (m *CreateKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9248,7 +9505,7 @@ func (m *CreateKeyspaceResponse) SizeVT() (n int) {
_ = l
if m.Keyspace != nil {
l = m.Keyspace.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9262,11 +9519,11 @@ func (m *CreateShardRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9280,11 +9537,11 @@ func (m *DeleteKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9298,11 +9555,11 @@ func (m *DeleteShardsRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9316,12 +9573,12 @@ func (m *DeleteTabletRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.AllowPrimary {
@@ -9339,11 +9596,11 @@ func (m *DeleteTabletResponse) SizeVT() (n int) {
_ = l
l = len(m.Status)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9357,11 +9614,11 @@ func (m *EmergencyFailoverShardRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9375,24 +9632,24 @@ func (m *EmergencyFailoverShardResponse) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PromotedPrimary != nil {
l = m.PromotedPrimary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9407,17 +9664,17 @@ func (m *FindSchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.Table)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.TableSizeOptions != nil {
l = m.TableSizeOptions.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9432,24 +9689,24 @@ func (m *GetBackupsRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Keyspaces) > 0 {
for _, s := range m.Keyspaces {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.KeyspaceShards) > 0 {
for _, s := range m.KeyspaceShards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.RequestOptions != nil {
l = m.RequestOptions.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9464,7 +9721,7 @@ func (m *GetBackupsResponse) SizeVT() (n int) {
if len(m.Backups) > 0 {
for _, e := range m.Backups {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9480,13 +9737,13 @@ func (m *GetCellInfosRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.NamesOnly {
@@ -9505,7 +9762,7 @@ func (m *GetCellInfosResponse) SizeVT() (n int) {
if len(m.CellInfos) > 0 {
for _, e := range m.CellInfos {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9521,7 +9778,7 @@ func (m *GetCellsAliasesRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9537,7 +9794,7 @@ func (m *GetCellsAliasesResponse) SizeVT() (n int) {
if len(m.Aliases) > 0 {
for _, e := range m.Aliases {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9563,7 +9820,7 @@ func (m *GetClustersResponse) SizeVT() (n int) {
if len(m.Clusters) > 0 {
for _, e := range m.Clusters {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9578,11 +9835,11 @@ func (m *GetFullStatusRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9597,7 +9854,7 @@ func (m *GetGatesRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9613,7 +9870,7 @@ func (m *GetGatesResponse) SizeVT() (n int) {
if len(m.Gates) > 0 {
for _, e := range m.Gates {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9628,11 +9885,11 @@ func (m *GetKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9647,7 +9904,7 @@ func (m *GetKeyspacesRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9663,7 +9920,7 @@ func (m *GetKeyspacesResponse) SizeVT() (n int) {
if len(m.Keyspaces) > 0 {
for _, e := range m.Keyspaces {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9678,19 +9935,19 @@ func (m *GetSchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Table)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TableSizeOptions != nil {
l = m.TableSizeOptions.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9705,12 +9962,12 @@ func (m *GetSchemasRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.TableSizeOptions != nil {
l = m.TableSizeOptions.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9725,7 +9982,7 @@ func (m *GetSchemasResponse) SizeVT() (n int) {
if len(m.Schemas) > 0 {
for _, e := range m.Schemas {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9740,11 +9997,11 @@ func (m *GetSchemaMigrationsRequest_ClusterRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Request != nil {
l = m.Request.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9759,7 +10016,7 @@ func (m *GetSchemaMigrationsRequest) SizeVT() (n int) {
if len(m.ClusterRequests) > 0 {
for _, e := range m.ClusterRequests {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9775,7 +10032,7 @@ func (m *GetSchemaMigrationsResponse) SizeVT() (n int) {
if len(m.SchemaMigrations) > 0 {
for _, e := range m.SchemaMigrations {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9791,19 +10048,19 @@ func (m *GetShardReplicationPositionsRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Keyspaces) > 0 {
for _, s := range m.Keyspaces {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.KeyspaceShards) > 0 {
for _, s := range m.KeyspaceShards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9819,7 +10076,7 @@ func (m *GetShardReplicationPositionsResponse) SizeVT() (n int) {
if len(m.ReplicationPositions) > 0 {
for _, e := range m.ReplicationPositions {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9834,16 +10091,16 @@ func (m *GetSrvKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9859,13 +10116,13 @@ func (m *GetSrvKeyspacesRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9886,9 +10143,9 @@ func (m *GetSrvKeyspacesResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -9903,11 +10160,11 @@ func (m *GetSrvVSchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -9922,13 +10179,13 @@ func (m *GetSrvVSchemasRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9944,7 +10201,7 @@ func (m *GetSrvVSchemasResponse) SizeVT() (n int) {
if len(m.SrvVSchemas) > 0 {
for _, e := range m.SrvVSchemas {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9975,12 +10232,12 @@ func (m *GetTabletRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -9996,7 +10253,7 @@ func (m *GetTabletsRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10012,7 +10269,7 @@ func (m *GetTabletsResponse) SizeVT() (n int) {
if len(m.Tablets) > 0 {
for _, e := range m.Tablets {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10027,11 +10284,29 @@ func (m *GetTopologyPathRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Path)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *GetUnresolvedTransactionsRequest) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.ClusterId)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ l = len(m.Keyspace)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10045,11 +10320,11 @@ func (m *GetVSchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10064,7 +10339,7 @@ func (m *GetVSchemasRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10080,7 +10355,7 @@ func (m *GetVSchemasResponse) SizeVT() (n int) {
if len(m.VSchemas) > 0 {
for _, e := range m.VSchemas {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10096,7 +10371,7 @@ func (m *GetVtctldsRequest) SizeVT() (n int) {
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10112,7 +10387,7 @@ func (m *GetVtctldsResponse) SizeVT() (n int) {
if len(m.Vtctlds) > 0 {
for _, e := range m.Vtctlds {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10127,15 +10402,15 @@ func (m *GetWorkflowRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ActiveOnly {
n += 2
@@ -10144,31 +10419,97 @@ func (m *GetWorkflowRequest) SizeVT() (n int) {
return n
}
-func (m *GetWorkflowsRequest) SizeVT() (n int) {
+func (m *GetWorkflowStatusRequest) SizeVT() (n int) {
if m == nil {
return 0
}
var l int
_ = l
- if len(m.ClusterIds) > 0 {
- for _, s := range m.ClusterIds {
- l = len(s)
- n += 1 + l + sov(uint64(l))
- }
+ l = len(m.ClusterId)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
- if m.ActiveOnly {
- n += 2
+ l = len(m.Keyspace)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
- if len(m.Keyspaces) > 0 {
- for _, s := range m.Keyspaces {
- l = len(s)
- n += 1 + l + sov(uint64(l))
- }
+ l = len(m.Name)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
- if len(m.IgnoreKeyspaces) > 0 {
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *StartWorkflowRequest) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.ClusterId)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ l = len(m.Keyspace)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ l = len(m.Workflow)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *StopWorkflowRequest) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.ClusterId)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ l = len(m.Keyspace)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ l = len(m.Workflow)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *GetWorkflowsRequest) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.ClusterIds) > 0 {
+ for _, s := range m.ClusterIds {
+ l = len(s)
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ }
+ if m.ActiveOnly {
+ n += 2
+ }
+ if len(m.Keyspaces) > 0 {
+ for _, s := range m.Keyspaces {
+ l = len(s)
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ }
+ if len(m.IgnoreKeyspaces) > 0 {
for _, s := range m.IgnoreKeyspaces {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10189,9 +10530,9 @@ func (m *GetWorkflowsResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -10206,11 +10547,29 @@ func (m *LaunchSchemaMigrationRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if m.Request != nil {
+ l = m.Request.SizeVT()
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *MoveTablesCreateRequest) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.ClusterId)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Request != nil {
l = m.Request.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10224,12 +10583,12 @@ func (m *PingTabletRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10244,11 +10603,11 @@ func (m *PingTabletResponse) SizeVT() (n int) {
_ = l
l = len(m.Status)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10262,11 +10621,11 @@ func (m *PlannedFailoverShardRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10280,24 +10639,24 @@ func (m *PlannedFailoverShardResponse) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PromotedPrimary != nil {
l = m.PromotedPrimary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10312,16 +10671,16 @@ func (m *RebuildKeyspaceGraphRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.AllowPartial {
@@ -10339,7 +10698,7 @@ func (m *RebuildKeyspaceGraphResponse) SizeVT() (n int) {
_ = l
l = len(m.Status)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10353,12 +10712,12 @@ func (m *RefreshStateRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10373,11 +10732,11 @@ func (m *RefreshStateResponse) SizeVT() (n int) {
_ = l
l = len(m.Status)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10392,33 +10751,33 @@ func (m *ReloadSchemasRequest) SizeVT() (n int) {
if len(m.Keyspaces) > 0 {
for _, s := range m.Keyspaces {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.KeyspaceShards) > 0 {
for _, s := range m.KeyspaceShards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Tablets) > 0 {
for _, e := range m.Tablets {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Concurrency != 0 {
- n += 1 + sov(uint64(m.Concurrency))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Concurrency))
}
l = len(m.WaitPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.IncludePrimary {
n += 2
@@ -10435,12 +10794,12 @@ func (m *ReloadSchemasResponse_KeyspaceResult) SizeVT() (n int) {
_ = l
if m.Keyspace != nil {
l = m.Keyspace.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10455,12 +10814,12 @@ func (m *ReloadSchemasResponse_ShardResult) SizeVT() (n int) {
_ = l
if m.Shard != nil {
l = m.Shard.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10475,11 +10834,11 @@ func (m *ReloadSchemasResponse_TabletResult) SizeVT() (n int) {
_ = l
if m.Tablet != nil {
l = m.Tablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Result)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10494,19 +10853,19 @@ func (m *ReloadSchemasResponse) SizeVT() (n int) {
if len(m.KeyspaceResults) > 0 {
for _, e := range m.KeyspaceResults {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ShardResults) > 0 {
for _, e := range m.ShardResults {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TabletResults) > 0 {
for _, e := range m.TabletResults {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10521,25 +10880,25 @@ func (m *ReloadSchemaShardRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.WaitPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.IncludePrimary {
n += 2
}
if m.Concurrency != 0 {
- n += 1 + sov(uint64(m.Concurrency))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Concurrency))
}
n += len(m.unknownFields)
return n
@@ -10554,7 +10913,7 @@ func (m *ReloadSchemaShardResponse) SizeVT() (n int) {
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10569,12 +10928,12 @@ func (m *RefreshTabletReplicationSourceRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10589,19 +10948,19 @@ func (m *RefreshTabletReplicationSourceResponse) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Primary != nil {
l = m.Primary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10615,15 +10974,15 @@ func (m *RemoveKeyspaceCellRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Force {
n += 2
@@ -10643,7 +11002,7 @@ func (m *RemoveKeyspaceCellResponse) SizeVT() (n int) {
_ = l
l = len(m.Status)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10657,11 +11016,11 @@ func (m *RetrySchemaMigrationRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Request != nil {
l = m.Request.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10675,12 +11034,12 @@ func (m *RunHealthCheckRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10695,11 +11054,11 @@ func (m *RunHealthCheckResponse) SizeVT() (n int) {
_ = l
l = len(m.Status)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10713,12 +11072,12 @@ func (m *SetReadOnlyRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10743,12 +11102,12 @@ func (m *SetReadWriteRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10773,12 +11132,12 @@ func (m *StartReplicationRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10793,11 +11152,11 @@ func (m *StartReplicationResponse) SizeVT() (n int) {
_ = l
l = len(m.Status)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10811,12 +11170,12 @@ func (m *StopReplicationRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10831,11 +11190,11 @@ func (m *StopReplicationResponse) SizeVT() (n int) {
_ = l
l = len(m.Status)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10849,12 +11208,12 @@ func (m *TabletExternallyPromotedRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10869,23 +11228,23 @@ func (m *TabletExternallyPromotedResponse) SizeVT() (n int) {
_ = l
if m.Cluster != nil {
l = m.Cluster.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.NewPrimary != nil {
l = m.NewPrimary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.OldPrimary != nil {
l = m.OldPrimary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10899,12 +11258,12 @@ func (m *TabletExternallyReparentedRequest) SizeVT() (n int) {
_ = l
if m.Alias != nil {
l = m.Alias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ClusterIds) > 0 {
for _, s := range m.ClusterIds {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -10919,7 +11278,7 @@ func (m *ValidateRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PingTablets {
n += 2
@@ -10936,11 +11295,11 @@ func (m *ValidateKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PingTablets {
n += 2
@@ -10957,11 +11316,11 @@ func (m *ValidateSchemaKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -10975,15 +11334,15 @@ func (m *ValidateShardRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PingTablets {
n += 2
@@ -11000,11 +11359,11 @@ func (m *ValidateVersionKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11018,15 +11377,15 @@ func (m *ValidateVersionShardRequest) SizeVT() (n int) {
_ = l
l = len(m.ClusterId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11040,15 +11399,15 @@ func (m *VTExplainRequest) SizeVT() (n int) {
_ = l
l = len(m.Cluster)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Sql)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -11062,18 +11421,12 @@ func (m *VTExplainResponse) SizeVT() (n int) {
_ = l
l = len(m.Response)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *Cluster) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -11082,7 +11435,7 @@ func (m *Cluster) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11110,7 +11463,7 @@ func (m *Cluster) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11124,11 +11477,11 @@ func (m *Cluster) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11142,7 +11495,7 @@ func (m *Cluster) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11156,11 +11509,11 @@ func (m *Cluster) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11169,12 +11522,12 @@ func (m *Cluster) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11197,7 +11550,7 @@ func (m *ClusterBackup) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11225,7 +11578,7 @@ func (m *ClusterBackup) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11238,11 +11591,11 @@ func (m *ClusterBackup) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11261,7 +11614,7 @@ func (m *ClusterBackup) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11274,11 +11627,11 @@ func (m *ClusterBackup) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11292,12 +11645,12 @@ func (m *ClusterBackup) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11320,7 +11673,7 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11348,7 +11701,7 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11361,11 +11714,11 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11384,7 +11737,7 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11397,11 +11750,11 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11416,7 +11769,7 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11433,7 +11786,7 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11447,11 +11800,11 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -11462,7 +11815,7 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11475,11 +11828,11 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -11491,12 +11844,12 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -11508,12 +11861,12 @@ func (m *ClusterCellsAliases) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11536,7 +11889,7 @@ func (m *ClusterCellInfo) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11564,7 +11917,7 @@ func (m *ClusterCellInfo) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11577,11 +11930,11 @@ func (m *ClusterCellInfo) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11600,7 +11953,7 @@ func (m *ClusterCellInfo) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11614,11 +11967,11 @@ func (m *ClusterCellInfo) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11632,7 +11985,7 @@ func (m *ClusterCellInfo) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11645,11 +11998,11 @@ func (m *ClusterCellInfo) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11663,12 +12016,12 @@ func (m *ClusterCellInfo) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11691,7 +12044,7 @@ func (m *ClusterShardReplicationPosition) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11719,7 +12072,7 @@ func (m *ClusterShardReplicationPosition) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11732,11 +12085,11 @@ func (m *ClusterShardReplicationPosition) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11755,7 +12108,7 @@ func (m *ClusterShardReplicationPosition) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11769,11 +12122,11 @@ func (m *ClusterShardReplicationPosition) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11787,7 +12140,7 @@ func (m *ClusterShardReplicationPosition) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11801,11 +12154,11 @@ func (m *ClusterShardReplicationPosition) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11819,7 +12172,7 @@ func (m *ClusterShardReplicationPosition) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11832,11 +12185,11 @@ func (m *ClusterShardReplicationPosition) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11850,12 +12203,12 @@ func (m *ClusterShardReplicationPosition) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11878,7 +12231,7 @@ func (m *ClusterWorkflows) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11906,7 +12259,7 @@ func (m *ClusterWorkflows) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11919,11 +12272,11 @@ func (m *ClusterWorkflows) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11940,7 +12293,7 @@ func (m *ClusterWorkflows) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -11954,11 +12307,11 @@ func (m *ClusterWorkflows) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -11967,12 +12320,12 @@ func (m *ClusterWorkflows) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -11995,7 +12348,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12023,7 +12376,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12036,11 +12389,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12059,7 +12412,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12072,11 +12425,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12095,7 +12448,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12108,11 +12461,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12127,7 +12480,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12144,7 +12497,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12158,11 +12511,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -12173,7 +12526,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12186,11 +12539,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -12202,12 +12555,12 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -12219,12 +12572,12 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12247,7 +12600,7 @@ func (m *Schema_ShardTableSize) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12275,7 +12628,7 @@ func (m *Schema_ShardTableSize) UnmarshalVT(dAtA []byte) error {
m.RowCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12294,7 +12647,7 @@ func (m *Schema_ShardTableSize) UnmarshalVT(dAtA []byte) error {
m.DataLength = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12308,12 +12661,12 @@ func (m *Schema_ShardTableSize) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12336,7 +12689,7 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12364,7 +12717,7 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
m.RowCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12383,7 +12736,7 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
m.DataLength = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12402,7 +12755,7 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12415,11 +12768,11 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12434,7 +12787,7 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12451,7 +12804,7 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12465,11 +12818,11 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -12480,7 +12833,7 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12493,11 +12846,11 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -12509,12 +12862,12 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -12526,12 +12879,12 @@ func (m *Schema_TableSize) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12554,7 +12907,7 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12582,7 +12935,7 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12595,11 +12948,11 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12618,7 +12971,7 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12632,11 +12985,11 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12650,7 +13003,7 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12663,11 +13016,11 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12684,7 +13037,7 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12697,11 +13050,11 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12716,7 +13069,7 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12733,7 +13086,7 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12747,11 +13100,11 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -12762,7 +13115,7 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12775,11 +13128,11 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -12791,12 +13144,12 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -12808,12 +13161,12 @@ func (m *Schema) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12836,7 +13189,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12864,7 +13217,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12877,11 +13230,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12900,7 +13253,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12913,11 +13266,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -12931,12 +13284,12 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -12959,7 +13312,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -12987,7 +13340,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13000,11 +13353,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13023,7 +13376,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13036,11 +13389,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13054,12 +13407,12 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13082,7 +13435,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13110,7 +13463,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13124,11 +13477,11 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13142,7 +13495,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13155,11 +13508,11 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13178,7 +13531,7 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13191,11 +13544,11 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13209,12 +13562,12 @@ func (m *SrvVSchema) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13237,7 +13590,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13265,7 +13618,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13278,11 +13631,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13301,7 +13654,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13314,11 +13667,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13337,7 +13690,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
m.State = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13356,7 +13709,7 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13370,11 +13723,11 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13383,12 +13736,12 @@ func (m *Tablet) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13411,7 +13764,7 @@ func (m *VSchema) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13439,7 +13792,7 @@ func (m *VSchema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13452,11 +13805,11 @@ func (m *VSchema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13475,7 +13828,7 @@ func (m *VSchema) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13489,11 +13842,11 @@ func (m *VSchema) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13507,7 +13860,7 @@ func (m *VSchema) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13520,11 +13873,11 @@ func (m *VSchema) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13538,12 +13891,12 @@ func (m *VSchema) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13566,7 +13919,7 @@ func (m *Vtctld) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13594,7 +13947,7 @@ func (m *Vtctld) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13608,11 +13961,11 @@ func (m *Vtctld) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13626,7 +13979,7 @@ func (m *Vtctld) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13639,11 +13992,11 @@ func (m *Vtctld) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13662,7 +14015,7 @@ func (m *Vtctld) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13676,11 +14029,11 @@ func (m *Vtctld) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13689,12 +14042,12 @@ func (m *Vtctld) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13717,7 +14070,7 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13745,7 +14098,7 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13759,11 +14112,11 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13777,7 +14130,7 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13791,11 +14144,11 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13809,7 +14162,7 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13823,11 +14176,11 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13841,7 +14194,7 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13854,11 +14207,11 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13877,7 +14230,7 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13891,11 +14244,11 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13909,7 +14262,7 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13923,11 +14276,11 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -13936,12 +14289,12 @@ func (m *VTGate) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -13964,7 +14317,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -13992,7 +14345,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14005,11 +14358,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14028,7 +14381,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14042,11 +14395,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14060,7 +14413,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14073,11 +14426,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14091,12 +14444,12 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14119,7 +14472,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14147,7 +14500,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14161,11 +14514,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14179,7 +14532,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14192,11 +14545,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14210,12 +14563,12 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14238,7 +14591,7 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14266,7 +14619,7 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14280,11 +14633,11 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14298,7 +14651,7 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14311,11 +14664,11 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14329,12 +14682,12 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14357,7 +14710,7 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14385,7 +14738,7 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14399,11 +14752,11 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14417,7 +14770,7 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14430,11 +14783,11 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14448,12 +14801,12 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14476,7 +14829,7 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14504,7 +14857,7 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14518,11 +14871,11 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14536,7 +14889,7 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14549,11 +14902,11 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14567,12 +14920,12 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14595,7 +14948,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14623,7 +14976,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14637,11 +14990,11 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14655,7 +15008,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14668,11 +15021,11 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14686,12 +15039,12 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14714,7 +15067,7 @@ func (m *CreateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14742,7 +15095,7 @@ func (m *CreateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14755,11 +15108,11 @@ func (m *CreateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14773,12 +15126,12 @@ func (m *CreateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14801,7 +15154,7 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14829,7 +15182,7 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14843,11 +15196,11 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14861,7 +15214,7 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14874,11 +15227,11 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14892,12 +15245,12 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -14920,7 +15273,7 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14948,7 +15301,7 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14962,11 +15315,11 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -14980,7 +15333,7 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -14993,11 +15346,11 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15011,12 +15364,12 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15039,7 +15392,7 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15067,7 +15420,7 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15081,11 +15434,11 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15099,7 +15452,7 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15112,11 +15465,11 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15130,12 +15483,12 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15158,7 +15511,7 @@ func (m *DeleteTabletRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15186,7 +15539,7 @@ func (m *DeleteTabletRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15199,11 +15552,11 @@ func (m *DeleteTabletRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15222,7 +15575,7 @@ func (m *DeleteTabletRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15236,11 +15589,11 @@ func (m *DeleteTabletRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15254,7 +15607,7 @@ func (m *DeleteTabletRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15269,12 +15622,12 @@ func (m *DeleteTabletRequest) UnmarshalVT(dAtA []byte) error {
m.AllowPrimary = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15297,7 +15650,7 @@ func (m *DeleteTabletResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15325,7 +15678,7 @@ func (m *DeleteTabletResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15339,11 +15692,11 @@ func (m *DeleteTabletResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15357,7 +15710,7 @@ func (m *DeleteTabletResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15370,11 +15723,11 @@ func (m *DeleteTabletResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15388,12 +15741,12 @@ func (m *DeleteTabletResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15416,7 +15769,7 @@ func (m *EmergencyFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15444,7 +15797,7 @@ func (m *EmergencyFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15458,11 +15811,11 @@ func (m *EmergencyFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15476,7 +15829,7 @@ func (m *EmergencyFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15489,11 +15842,11 @@ func (m *EmergencyFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15507,12 +15860,12 @@ func (m *EmergencyFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15535,7 +15888,7 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15563,7 +15916,7 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15576,11 +15929,11 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15599,7 +15952,7 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15613,11 +15966,11 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15631,7 +15984,7 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15645,11 +15998,11 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15663,7 +16016,7 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15676,11 +16029,11 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15699,7 +16052,7 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15712,11 +16065,11 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15728,12 +16081,12 @@ func (m *EmergencyFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15756,7 +16109,7 @@ func (m *FindSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15784,7 +16137,7 @@ func (m *FindSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15798,11 +16151,11 @@ func (m *FindSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15816,7 +16169,7 @@ func (m *FindSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15830,11 +16183,11 @@ func (m *FindSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15848,7 +16201,7 @@ func (m *FindSchemaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15861,11 +16214,11 @@ func (m *FindSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15879,12 +16232,12 @@ func (m *FindSchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -15907,7 +16260,7 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15935,7 +16288,7 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15949,11 +16302,11 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15967,7 +16320,7 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -15981,11 +16334,11 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -15999,7 +16352,7 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16013,11 +16366,11 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16031,7 +16384,7 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16044,11 +16397,11 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16062,12 +16415,12 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16090,7 +16443,7 @@ func (m *GetBackupsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16118,7 +16471,7 @@ func (m *GetBackupsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16131,11 +16484,11 @@ func (m *GetBackupsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16147,12 +16500,12 @@ func (m *GetBackupsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16175,7 +16528,7 @@ func (m *GetCellInfosRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16203,7 +16556,7 @@ func (m *GetCellInfosRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16217,11 +16570,11 @@ func (m *GetCellInfosRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16235,7 +16588,7 @@ func (m *GetCellInfosRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16249,11 +16602,11 @@ func (m *GetCellInfosRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16267,7 +16620,7 @@ func (m *GetCellInfosRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16282,12 +16635,12 @@ func (m *GetCellInfosRequest) UnmarshalVT(dAtA []byte) error {
m.NamesOnly = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16310,7 +16663,7 @@ func (m *GetCellInfosResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16338,7 +16691,7 @@ func (m *GetCellInfosResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16351,11 +16704,11 @@ func (m *GetCellInfosResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16367,12 +16720,12 @@ func (m *GetCellInfosResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16395,7 +16748,7 @@ func (m *GetCellsAliasesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16423,7 +16776,7 @@ func (m *GetCellsAliasesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16437,11 +16790,11 @@ func (m *GetCellsAliasesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16450,12 +16803,12 @@ func (m *GetCellsAliasesRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16478,7 +16831,7 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16506,7 +16859,7 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16519,11 +16872,11 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16535,12 +16888,12 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16563,7 +16916,7 @@ func (m *GetClustersRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16586,12 +16939,12 @@ func (m *GetClustersRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16614,7 +16967,7 @@ func (m *GetClustersResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16642,7 +16995,7 @@ func (m *GetClustersResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16655,11 +17008,11 @@ func (m *GetClustersResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16671,12 +17024,12 @@ func (m *GetClustersResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16699,7 +17052,7 @@ func (m *GetFullStatusRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16727,7 +17080,7 @@ func (m *GetFullStatusRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16741,11 +17094,11 @@ func (m *GetFullStatusRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16759,7 +17112,7 @@ func (m *GetFullStatusRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16772,11 +17125,11 @@ func (m *GetFullStatusRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16790,12 +17143,12 @@ func (m *GetFullStatusRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16818,7 +17171,7 @@ func (m *GetGatesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16846,7 +17199,7 @@ func (m *GetGatesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16860,11 +17213,11 @@ func (m *GetGatesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16873,12 +17226,12 @@ func (m *GetGatesRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16901,7 +17254,7 @@ func (m *GetGatesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16929,7 +17282,7 @@ func (m *GetGatesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -16942,11 +17295,11 @@ func (m *GetGatesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -16958,12 +17311,12 @@ func (m *GetGatesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -16986,7 +17339,7 @@ func (m *GetKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17014,7 +17367,7 @@ func (m *GetKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17028,11 +17381,11 @@ func (m *GetKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17046,7 +17399,7 @@ func (m *GetKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17060,11 +17413,11 @@ func (m *GetKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17073,12 +17426,12 @@ func (m *GetKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17101,7 +17454,7 @@ func (m *GetKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17129,7 +17482,7 @@ func (m *GetKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17143,11 +17496,11 @@ func (m *GetKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17156,12 +17509,12 @@ func (m *GetKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17184,7 +17537,7 @@ func (m *GetKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17212,7 +17565,7 @@ func (m *GetKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17225,11 +17578,11 @@ func (m *GetKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17241,12 +17594,12 @@ func (m *GetKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17269,7 +17622,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17297,7 +17650,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17311,11 +17664,11 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17329,7 +17682,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17343,11 +17696,11 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17361,7 +17714,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17375,11 +17728,11 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17393,7 +17746,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17406,11 +17759,11 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17424,12 +17777,12 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17452,7 +17805,7 @@ func (m *GetSchemasRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17480,7 +17833,7 @@ func (m *GetSchemasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17494,11 +17847,11 @@ func (m *GetSchemasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17512,7 +17865,7 @@ func (m *GetSchemasRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17525,11 +17878,11 @@ func (m *GetSchemasRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17543,12 +17896,12 @@ func (m *GetSchemasRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17571,7 +17924,7 @@ func (m *GetSchemasResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17599,7 +17952,7 @@ func (m *GetSchemasResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17612,11 +17965,11 @@ func (m *GetSchemasResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17628,12 +17981,12 @@ func (m *GetSchemasResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17656,7 +18009,7 @@ func (m *GetSchemaMigrationsRequest_ClusterRequest) UnmarshalVT(dAtA []byte) err
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17684,7 +18037,7 @@ func (m *GetSchemaMigrationsRequest_ClusterRequest) UnmarshalVT(dAtA []byte) err
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17698,11 +18051,11 @@ func (m *GetSchemaMigrationsRequest_ClusterRequest) UnmarshalVT(dAtA []byte) err
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17716,7 +18069,7 @@ func (m *GetSchemaMigrationsRequest_ClusterRequest) UnmarshalVT(dAtA []byte) err
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17729,11 +18082,11 @@ func (m *GetSchemaMigrationsRequest_ClusterRequest) UnmarshalVT(dAtA []byte) err
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17747,12 +18100,12 @@ func (m *GetSchemaMigrationsRequest_ClusterRequest) UnmarshalVT(dAtA []byte) err
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17775,7 +18128,7 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17803,7 +18156,7 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17816,11 +18169,11 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17832,12 +18185,12 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17860,7 +18213,7 @@ func (m *GetSchemaMigrationsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17888,7 +18241,7 @@ func (m *GetSchemaMigrationsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17901,11 +18254,11 @@ func (m *GetSchemaMigrationsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -17917,12 +18270,12 @@ func (m *GetSchemaMigrationsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -17945,7 +18298,7 @@ func (m *GetShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17973,7 +18326,7 @@ func (m *GetShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -17987,11 +18340,11 @@ func (m *GetShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18005,7 +18358,7 @@ func (m *GetShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18019,11 +18372,11 @@ func (m *GetShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18037,7 +18390,7 @@ func (m *GetShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18051,11 +18404,11 @@ func (m *GetShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18064,12 +18417,12 @@ func (m *GetShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18092,7 +18445,7 @@ func (m *GetShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18120,7 +18473,7 @@ func (m *GetShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18133,11 +18486,11 @@ func (m *GetShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18149,12 +18502,12 @@ func (m *GetShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18177,7 +18530,7 @@ func (m *GetSrvKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18205,7 +18558,7 @@ func (m *GetSrvKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18219,11 +18572,11 @@ func (m *GetSrvKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18237,7 +18590,7 @@ func (m *GetSrvKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18251,11 +18604,11 @@ func (m *GetSrvKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18269,7 +18622,7 @@ func (m *GetSrvKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18283,11 +18636,11 @@ func (m *GetSrvKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18296,12 +18649,12 @@ func (m *GetSrvKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18324,7 +18677,7 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18352,7 +18705,7 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18366,11 +18719,11 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18384,7 +18737,7 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18398,11 +18751,11 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18411,12 +18764,12 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18439,7 +18792,7 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18467,7 +18820,7 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18480,11 +18833,11 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18499,7 +18852,7 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18516,7 +18869,7 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18530,11 +18883,11 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -18545,7 +18898,7 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18558,11 +18911,11 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -18574,12 +18927,12 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -18591,12 +18944,12 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18619,7 +18972,7 @@ func (m *GetSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18647,7 +19000,7 @@ func (m *GetSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18661,11 +19014,11 @@ func (m *GetSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18679,7 +19032,7 @@ func (m *GetSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18693,11 +19046,11 @@ func (m *GetSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18706,12 +19059,12 @@ func (m *GetSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18734,7 +19087,7 @@ func (m *GetSrvVSchemasRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18762,7 +19115,7 @@ func (m *GetSrvVSchemasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18776,11 +19129,11 @@ func (m *GetSrvVSchemasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18794,7 +19147,7 @@ func (m *GetSrvVSchemasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18808,11 +19161,11 @@ func (m *GetSrvVSchemasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18821,12 +19174,12 @@ func (m *GetSrvVSchemasRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18849,7 +19202,7 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18877,7 +19230,7 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18890,11 +19243,11 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -18906,12 +19259,12 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -18934,7 +19287,7 @@ func (m *GetSchemaTableSizeOptions) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18962,7 +19315,7 @@ func (m *GetSchemaTableSizeOptions) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18982,7 +19335,7 @@ func (m *GetSchemaTableSizeOptions) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -18997,12 +19350,12 @@ func (m *GetSchemaTableSizeOptions) UnmarshalVT(dAtA []byte) error {
m.IncludeNonServingShards = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19025,7 +19378,7 @@ func (m *GetTabletRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19053,7 +19406,7 @@ func (m *GetTabletRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19066,11 +19419,11 @@ func (m *GetTabletRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19089,7 +19442,7 @@ func (m *GetTabletRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19103,11 +19456,11 @@ func (m *GetTabletRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19116,12 +19469,12 @@ func (m *GetTabletRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19144,7 +19497,7 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19172,7 +19525,7 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19186,11 +19539,11 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19199,12 +19552,12 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19227,7 +19580,7 @@ func (m *GetTabletsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19255,7 +19608,7 @@ func (m *GetTabletsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19268,11 +19621,11 @@ func (m *GetTabletsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19284,12 +19637,12 @@ func (m *GetTabletsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19312,7 +19665,7 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19340,7 +19693,7 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19354,11 +19707,11 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19372,7 +19725,7 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19386,11 +19739,11 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19399,12 +19752,127 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *GetUnresolvedTransactionsRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: GetUnresolvedTransactionsRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: GetUnresolvedTransactionsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ClusterId", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ClusterId = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Keyspace", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Keyspace = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19427,7 +19895,7 @@ func (m *GetVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19455,7 +19923,7 @@ func (m *GetVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19469,11 +19937,11 @@ func (m *GetVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19487,7 +19955,7 @@ func (m *GetVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19501,11 +19969,11 @@ func (m *GetVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19514,12 +19982,12 @@ func (m *GetVSchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19542,7 +20010,7 @@ func (m *GetVSchemasRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19570,7 +20038,7 @@ func (m *GetVSchemasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19584,11 +20052,11 @@ func (m *GetVSchemasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19597,12 +20065,12 @@ func (m *GetVSchemasRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19625,7 +20093,7 @@ func (m *GetVSchemasResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19653,7 +20121,7 @@ func (m *GetVSchemasResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19666,11 +20134,11 @@ func (m *GetVSchemasResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19682,12 +20150,12 @@ func (m *GetVSchemasResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19710,7 +20178,7 @@ func (m *GetVtctldsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19738,7 +20206,7 @@ func (m *GetVtctldsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19752,11 +20220,11 @@ func (m *GetVtctldsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19765,12 +20233,12 @@ func (m *GetVtctldsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19793,7 +20261,406 @@ func (m *GetVtctldsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: GetVtctldsResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: GetVtctldsResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Vtctlds", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Vtctlds = append(m.Vtctlds, &Vtctld{})
+ if err := m.Vtctlds[len(m.Vtctlds)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *GetWorkflowRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: GetWorkflowRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: GetWorkflowRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ClusterId", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ClusterId = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Keyspace", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Keyspace = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 4:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ActiveOnly", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.ActiveOnly = bool(v != 0)
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *GetWorkflowStatusRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: GetWorkflowStatusRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: GetWorkflowStatusRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ClusterId", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ClusterId = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Keyspace", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Keyspace = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *StartWorkflowRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19808,54 +20675,116 @@ func (m *GetVtctldsResponse) UnmarshalVT(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: GetVtctldsResponse: wiretype end group for non-group")
+ return fmt.Errorf("proto: StartWorkflowRequest: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: GetVtctldsResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: StartWorkflowRequest: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Vtctlds", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field ClusterId", wireType)
}
- var msglen int
+ var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
- msglen |= int(b&0x7F) << shift
+ stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
- if msglen < 0 {
- return ErrInvalidLength
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
}
- postIndex := iNdEx + msglen
+ postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Vtctlds = append(m.Vtctlds, &Vtctld{})
- if err := m.Vtctlds[len(m.Vtctlds)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
- return err
+ m.ClusterId = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Keyspace", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Keyspace = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Workflow", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
}
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Workflow = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -19870,7 +20799,7 @@ func (m *GetVtctldsResponse) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-func (m *GetWorkflowRequest) UnmarshalVT(dAtA []byte) error {
+func (m *StopWorkflowRequest) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -19878,7 +20807,7 @@ func (m *GetWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19893,10 +20822,10 @@ func (m *GetWorkflowRequest) UnmarshalVT(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: GetWorkflowRequest: wiretype end group for non-group")
+ return fmt.Errorf("proto: StopWorkflowRequest: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: GetWorkflowRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: StopWorkflowRequest: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
@@ -19906,7 +20835,7 @@ func (m *GetWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19920,11 +20849,11 @@ func (m *GetWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19938,7 +20867,7 @@ func (m *GetWorkflowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19952,11 +20881,11 @@ func (m *GetWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -19965,12 +20894,12 @@ func (m *GetWorkflowRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
case 3:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Workflow", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -19984,45 +20913,25 @@ func (m *GetWorkflowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Name = string(dAtA[iNdEx:postIndex])
+ m.Workflow = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 4:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field ActiveOnly", wireType)
- }
- var v int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflow
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= int(b&0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.ActiveOnly = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20045,7 +20954,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20073,7 +20982,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20087,11 +20996,11 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20105,7 +21014,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20125,7 +21034,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20139,11 +21048,11 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20157,7 +21066,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20171,11 +21080,11 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20184,12 +21093,12 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20212,7 +21121,7 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20240,7 +21149,7 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20253,11 +21162,11 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20272,7 +21181,7 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20289,7 +21198,7 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20303,11 +21212,11 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -20318,7 +21227,7 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20331,11 +21240,11 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -20347,12 +21256,12 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -20364,12 +21273,12 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20392,7 +21301,7 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20420,7 +21329,7 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20434,11 +21343,11 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20452,7 +21361,7 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20465,11 +21374,11 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20483,12 +21392,131 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: MoveTablesCreateRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MoveTablesCreateRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ClusterId", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ClusterId = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Request", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Request == nil {
+ m.Request = &vtctldata.MoveTablesCreateRequest{}
+ }
+ if err := m.Request.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20511,7 +21539,7 @@ func (m *PingTabletRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20539,7 +21567,7 @@ func (m *PingTabletRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20552,11 +21580,11 @@ func (m *PingTabletRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20575,7 +21603,7 @@ func (m *PingTabletRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20589,11 +21617,11 @@ func (m *PingTabletRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20602,12 +21630,12 @@ func (m *PingTabletRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20630,7 +21658,7 @@ func (m *PingTabletResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20658,7 +21686,7 @@ func (m *PingTabletResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20672,11 +21700,11 @@ func (m *PingTabletResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20690,7 +21718,7 @@ func (m *PingTabletResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20703,11 +21731,11 @@ func (m *PingTabletResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20721,12 +21749,12 @@ func (m *PingTabletResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20749,7 +21777,7 @@ func (m *PlannedFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20777,7 +21805,7 @@ func (m *PlannedFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20791,11 +21819,11 @@ func (m *PlannedFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20809,7 +21837,7 @@ func (m *PlannedFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20822,11 +21850,11 @@ func (m *PlannedFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20840,12 +21868,12 @@ func (m *PlannedFailoverShardRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -20868,7 +21896,7 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20896,7 +21924,7 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20909,11 +21937,11 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20932,7 +21960,7 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20946,11 +21974,11 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20964,7 +21992,7 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -20978,11 +22006,11 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -20996,7 +22024,7 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21009,11 +22037,11 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21032,7 +22060,7 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21045,11 +22073,11 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21061,12 +22089,12 @@ func (m *PlannedFailoverShardResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21089,7 +22117,7 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21117,7 +22145,7 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21131,11 +22159,11 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21149,7 +22177,7 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21163,11 +22191,11 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21181,7 +22209,7 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21195,11 +22223,11 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21213,7 +22241,7 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21228,12 +22256,12 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
m.AllowPartial = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21256,7 +22284,7 @@ func (m *RebuildKeyspaceGraphResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21284,7 +22312,7 @@ func (m *RebuildKeyspaceGraphResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21298,11 +22326,11 @@ func (m *RebuildKeyspaceGraphResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21311,12 +22339,12 @@ func (m *RebuildKeyspaceGraphResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21339,7 +22367,7 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21367,7 +22395,7 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21380,11 +22408,11 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21403,7 +22431,7 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21417,11 +22445,11 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21430,12 +22458,12 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21458,7 +22486,7 @@ func (m *RefreshStateResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21486,7 +22514,7 @@ func (m *RefreshStateResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21500,11 +22528,11 @@ func (m *RefreshStateResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21518,7 +22546,7 @@ func (m *RefreshStateResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21531,11 +22559,11 @@ func (m *RefreshStateResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21549,12 +22577,12 @@ func (m *RefreshStateResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21577,7 +22605,7 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21605,7 +22633,7 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21619,11 +22647,11 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21637,7 +22665,7 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21651,11 +22679,11 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21669,7 +22697,7 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21682,11 +22710,11 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21703,7 +22731,7 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21717,11 +22745,11 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21735,7 +22763,7 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
m.Concurrency = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21754,7 +22782,7 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21768,11 +22796,11 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21786,7 +22814,7 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21801,12 +22829,12 @@ func (m *ReloadSchemasRequest) UnmarshalVT(dAtA []byte) error {
m.IncludePrimary = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21829,7 +22857,7 @@ func (m *ReloadSchemasResponse_KeyspaceResult) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21857,7 +22885,7 @@ func (m *ReloadSchemasResponse_KeyspaceResult) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21870,11 +22898,11 @@ func (m *ReloadSchemasResponse_KeyspaceResult) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21893,7 +22921,7 @@ func (m *ReloadSchemasResponse_KeyspaceResult) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21906,11 +22934,11 @@ func (m *ReloadSchemasResponse_KeyspaceResult) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -21922,12 +22950,12 @@ func (m *ReloadSchemasResponse_KeyspaceResult) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -21950,7 +22978,7 @@ func (m *ReloadSchemasResponse_ShardResult) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21978,7 +23006,7 @@ func (m *ReloadSchemasResponse_ShardResult) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -21991,11 +23019,11 @@ func (m *ReloadSchemasResponse_ShardResult) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22014,7 +23042,7 @@ func (m *ReloadSchemasResponse_ShardResult) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22027,11 +23055,11 @@ func (m *ReloadSchemasResponse_ShardResult) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22043,12 +23071,12 @@ func (m *ReloadSchemasResponse_ShardResult) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -22071,7 +23099,7 @@ func (m *ReloadSchemasResponse_TabletResult) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22099,7 +23127,7 @@ func (m *ReloadSchemasResponse_TabletResult) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22112,11 +23140,11 @@ func (m *ReloadSchemasResponse_TabletResult) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22135,7 +23163,7 @@ func (m *ReloadSchemasResponse_TabletResult) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22149,11 +23177,11 @@ func (m *ReloadSchemasResponse_TabletResult) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22162,12 +23190,12 @@ func (m *ReloadSchemasResponse_TabletResult) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -22190,7 +23218,7 @@ func (m *ReloadSchemasResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22218,7 +23246,7 @@ func (m *ReloadSchemasResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22231,11 +23259,11 @@ func (m *ReloadSchemasResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22252,7 +23280,7 @@ func (m *ReloadSchemasResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22265,11 +23293,11 @@ func (m *ReloadSchemasResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22286,7 +23314,7 @@ func (m *ReloadSchemasResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22299,11 +23327,11 @@ func (m *ReloadSchemasResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22315,12 +23343,12 @@ func (m *ReloadSchemasResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -22343,7 +23371,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22371,7 +23399,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22385,11 +23413,11 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22403,7 +23431,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22417,11 +23445,11 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22435,7 +23463,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22449,11 +23477,11 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22467,7 +23495,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22481,11 +23509,11 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22499,7 +23527,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22519,7 +23547,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
m.Concurrency = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22533,12 +23561,12 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -22561,7 +23589,7 @@ func (m *ReloadSchemaShardResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22589,7 +23617,7 @@ func (m *ReloadSchemaShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22602,11 +23630,11 @@ func (m *ReloadSchemaShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22618,12 +23646,12 @@ func (m *ReloadSchemaShardResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -22646,7 +23674,7 @@ func (m *RefreshTabletReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22674,7 +23702,7 @@ func (m *RefreshTabletReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22687,11 +23715,11 @@ func (m *RefreshTabletReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22710,7 +23738,7 @@ func (m *RefreshTabletReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22724,11 +23752,11 @@ func (m *RefreshTabletReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22737,12 +23765,12 @@ func (m *RefreshTabletReplicationSourceRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -22765,7 +23793,7 @@ func (m *RefreshTabletReplicationSourceResponse) UnmarshalVT(dAtA []byte) error
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22793,7 +23821,7 @@ func (m *RefreshTabletReplicationSourceResponse) UnmarshalVT(dAtA []byte) error
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22807,11 +23835,11 @@ func (m *RefreshTabletReplicationSourceResponse) UnmarshalVT(dAtA []byte) error
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22825,7 +23853,7 @@ func (m *RefreshTabletReplicationSourceResponse) UnmarshalVT(dAtA []byte) error
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22839,11 +23867,11 @@ func (m *RefreshTabletReplicationSourceResponse) UnmarshalVT(dAtA []byte) error
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22857,7 +23885,7 @@ func (m *RefreshTabletReplicationSourceResponse) UnmarshalVT(dAtA []byte) error
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22870,11 +23898,11 @@ func (m *RefreshTabletReplicationSourceResponse) UnmarshalVT(dAtA []byte) error
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22893,7 +23921,7 @@ func (m *RefreshTabletReplicationSourceResponse) UnmarshalVT(dAtA []byte) error
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22906,11 +23934,11 @@ func (m *RefreshTabletReplicationSourceResponse) UnmarshalVT(dAtA []byte) error
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -22924,12 +23952,12 @@ func (m *RefreshTabletReplicationSourceResponse) UnmarshalVT(dAtA []byte) error
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -22952,7 +23980,7 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22980,7 +24008,7 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -22994,11 +24022,11 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23012,7 +24040,7 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23026,11 +24054,11 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23044,7 +24072,7 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23058,11 +24086,11 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23076,7 +24104,7 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23096,7 +24124,7 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23111,12 +24139,12 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
m.Recursive = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23139,7 +24167,7 @@ func (m *RemoveKeyspaceCellResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23167,7 +24195,7 @@ func (m *RemoveKeyspaceCellResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23181,11 +24209,11 @@ func (m *RemoveKeyspaceCellResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23194,12 +24222,12 @@ func (m *RemoveKeyspaceCellResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23222,7 +24250,7 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23250,7 +24278,7 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23264,11 +24292,11 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23282,7 +24310,7 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23295,11 +24323,11 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23313,12 +24341,12 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23341,7 +24369,7 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23369,7 +24397,7 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23382,11 +24410,11 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23405,7 +24433,7 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23419,11 +24447,11 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23432,12 +24460,12 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23460,7 +24488,7 @@ func (m *RunHealthCheckResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23488,7 +24516,7 @@ func (m *RunHealthCheckResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23502,11 +24530,11 @@ func (m *RunHealthCheckResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23520,7 +24548,7 @@ func (m *RunHealthCheckResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23533,11 +24561,11 @@ func (m *RunHealthCheckResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23551,12 +24579,12 @@ func (m *RunHealthCheckResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23579,7 +24607,7 @@ func (m *SetReadOnlyRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23607,7 +24635,7 @@ func (m *SetReadOnlyRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23620,11 +24648,11 @@ func (m *SetReadOnlyRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23643,7 +24671,7 @@ func (m *SetReadOnlyRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23657,11 +24685,11 @@ func (m *SetReadOnlyRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23670,12 +24698,12 @@ func (m *SetReadOnlyRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23698,7 +24726,7 @@ func (m *SetReadOnlyResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23721,12 +24749,12 @@ func (m *SetReadOnlyResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23749,7 +24777,7 @@ func (m *SetReadWriteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23777,7 +24805,7 @@ func (m *SetReadWriteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23790,11 +24818,11 @@ func (m *SetReadWriteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23813,7 +24841,7 @@ func (m *SetReadWriteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23827,11 +24855,11 @@ func (m *SetReadWriteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23840,12 +24868,12 @@ func (m *SetReadWriteRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23868,7 +24896,7 @@ func (m *SetReadWriteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23891,12 +24919,12 @@ func (m *SetReadWriteResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -23919,7 +24947,7 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23947,7 +24975,7 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23960,11 +24988,11 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -23983,7 +25011,7 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -23997,11 +25025,11 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24010,12 +25038,12 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24038,7 +25066,7 @@ func (m *StartReplicationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24066,7 +25094,7 @@ func (m *StartReplicationResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24080,11 +25108,11 @@ func (m *StartReplicationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24098,7 +25126,7 @@ func (m *StartReplicationResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24111,11 +25139,11 @@ func (m *StartReplicationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24129,12 +25157,12 @@ func (m *StartReplicationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24157,7 +25185,7 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24185,7 +25213,7 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24198,11 +25226,11 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24221,7 +25249,7 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24235,11 +25263,11 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24248,12 +25276,12 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24276,7 +25304,7 @@ func (m *StopReplicationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24304,7 +25332,7 @@ func (m *StopReplicationResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24318,11 +25346,11 @@ func (m *StopReplicationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24336,7 +25364,7 @@ func (m *StopReplicationResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24349,11 +25377,11 @@ func (m *StopReplicationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24367,12 +25395,12 @@ func (m *StopReplicationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24395,7 +25423,7 @@ func (m *TabletExternallyPromotedRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24423,7 +25451,7 @@ func (m *TabletExternallyPromotedRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24436,11 +25464,11 @@ func (m *TabletExternallyPromotedRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24459,7 +25487,7 @@ func (m *TabletExternallyPromotedRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24473,11 +25501,11 @@ func (m *TabletExternallyPromotedRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24486,12 +25514,12 @@ func (m *TabletExternallyPromotedRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24514,7 +25542,7 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24542,7 +25570,7 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24555,11 +25583,11 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24578,7 +25606,7 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24592,11 +25620,11 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24610,7 +25638,7 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24624,11 +25652,11 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24642,7 +25670,7 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24655,11 +25683,11 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24678,7 +25706,7 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24691,11 +25719,11 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24709,12 +25737,12 @@ func (m *TabletExternallyPromotedResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24737,7 +25765,7 @@ func (m *TabletExternallyReparentedRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24765,7 +25793,7 @@ func (m *TabletExternallyReparentedRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24778,11 +25806,11 @@ func (m *TabletExternallyReparentedRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24801,7 +25829,7 @@ func (m *TabletExternallyReparentedRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24815,11 +25843,11 @@ func (m *TabletExternallyReparentedRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24828,12 +25856,12 @@ func (m *TabletExternallyReparentedRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24856,7 +25884,7 @@ func (m *ValidateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24884,7 +25912,7 @@ func (m *ValidateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24898,11 +25926,11 @@ func (m *ValidateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -24916,7 +25944,7 @@ func (m *ValidateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24931,12 +25959,12 @@ func (m *ValidateRequest) UnmarshalVT(dAtA []byte) error {
m.PingTablets = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -24959,7 +25987,7 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -24987,7 +26015,7 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25001,11 +26029,11 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25019,7 +26047,7 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25033,11 +26061,11 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25051,7 +26079,7 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25066,12 +26094,12 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
m.PingTablets = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25094,7 +26122,7 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25122,7 +26150,7 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25136,11 +26164,11 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25154,7 +26182,7 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25168,11 +26196,11 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25181,12 +26209,12 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25209,7 +26237,7 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25237,7 +26265,7 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25251,11 +26279,11 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25269,7 +26297,7 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25283,11 +26311,11 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25301,7 +26329,7 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25315,11 +26343,11 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25333,7 +26361,7 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25348,12 +26376,12 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
m.PingTablets = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25376,7 +26404,7 @@ func (m *ValidateVersionKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25404,7 +26432,7 @@ func (m *ValidateVersionKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25418,11 +26446,11 @@ func (m *ValidateVersionKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25436,7 +26464,7 @@ func (m *ValidateVersionKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25450,11 +26478,11 @@ func (m *ValidateVersionKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25463,12 +26491,12 @@ func (m *ValidateVersionKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25491,7 +26519,7 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25519,7 +26547,7 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25533,11 +26561,11 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25551,7 +26579,7 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25565,11 +26593,11 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25583,7 +26611,7 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25597,11 +26625,11 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25610,12 +26638,12 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25638,7 +26666,7 @@ func (m *VTExplainRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25666,7 +26694,7 @@ func (m *VTExplainRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25680,11 +26708,11 @@ func (m *VTExplainRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25698,7 +26726,7 @@ func (m *VTExplainRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25712,11 +26740,11 @@ func (m *VTExplainRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25730,7 +26758,7 @@ func (m *VTExplainRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25744,11 +26772,11 @@ func (m *VTExplainRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25757,12 +26785,12 @@ func (m *VTExplainRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25785,7 +26813,7 @@ func (m *VTExplainResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25813,7 +26841,7 @@ func (m *VTExplainResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -25827,11 +26855,11 @@ func (m *VTExplainResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -25840,12 +26868,12 @@ func (m *VTExplainResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -25860,88 +26888,3 @@ func (m *VTExplainResponse) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/vtctldata/vtctldata.pb.go b/go/vt/proto/vtctldata/vtctldata.pb.go
index 51a94298a40..cc63c73728e 100644
--- a/go/vt/proto/vtctldata/vtctldata.pb.go
+++ b/go/vt/proto/vtctldata/vtctldata.pb.go
@@ -487,6 +487,8 @@ type MaterializeSettings struct {
TabletSelectionPreference tabletmanagerdata.TabletSelectionPreference `protobuf:"varint,15,opt,name=tablet_selection_preference,json=tabletSelectionPreference,proto3,enum=tabletmanagerdata.TabletSelectionPreference" json:"tablet_selection_preference,omitempty"`
AtomicCopy bool `protobuf:"varint,16,opt,name=atomic_copy,json=atomicCopy,proto3" json:"atomic_copy,omitempty"`
WorkflowOptions *WorkflowOptions `protobuf:"bytes,17,opt,name=workflow_options,json=workflowOptions,proto3" json:"workflow_options,omitempty"`
+ // ReferenceTables is set to a csv list of tables, if the materialization is for reference tables.
+ ReferenceTables []string `protobuf:"bytes,18,rep,name=reference_tables,json=referenceTables,proto3" json:"reference_tables,omitempty"`
}
func (x *MaterializeSettings) Reset() {
@@ -640,6 +642,13 @@ func (x *MaterializeSettings) GetWorkflowOptions() *WorkflowOptions {
return nil
}
+func (x *MaterializeSettings) GetReferenceTables() []string {
+ if x != nil {
+ return x.ReferenceTables
+ }
+ return nil
+}
+
type Keyspace struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -1241,7 +1250,8 @@ type WorkflowOptions struct {
StripShardedAutoIncrement bool `protobuf:"varint,2,opt,name=strip_sharded_auto_increment,json=stripShardedAutoIncrement,proto3" json:"strip_sharded_auto_increment,omitempty"`
// Shards on which vreplication streams in the target keyspace are created for this workflow and to which the data
// from the source will be vreplicated.
- Shards []string `protobuf:"bytes,3,rep,name=shards,proto3" json:"shards,omitempty"`
+ Shards []string `protobuf:"bytes,3,rep,name=shards,proto3" json:"shards,omitempty"`
+ Config map[string]string `protobuf:"bytes,4,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *WorkflowOptions) Reset() {
@@ -1297,6 +1307,13 @@ func (x *WorkflowOptions) GetShards() []string {
return nil
}
+func (x *WorkflowOptions) GetConfig() map[string]string {
+ if x != nil {
+ return x.Config
+ }
+ return nil
+}
+
// TODO: comment the hell out of this.
type Workflow struct {
state protoimpl.MessageState
@@ -7531,6 +7548,201 @@ func (x *TopologyCell) GetVersion() int64 {
return 0
}
+type GetUnresolvedTransactionsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Keyspace string `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
+ AbandonAge int64 `protobuf:"varint,2,opt,name=abandon_age,json=abandonAge,proto3" json:"abandon_age,omitempty"` // in seconds
+}
+
+func (x *GetUnresolvedTransactionsRequest) Reset() {
+ *x = GetUnresolvedTransactionsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_vtctldata_proto_msgTypes[115]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetUnresolvedTransactionsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetUnresolvedTransactionsRequest) ProtoMessage() {}
+
+func (x *GetUnresolvedTransactionsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_vtctldata_proto_msgTypes[115]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetUnresolvedTransactionsRequest.ProtoReflect.Descriptor instead.
+func (*GetUnresolvedTransactionsRequest) Descriptor() ([]byte, []int) {
+ return file_vtctldata_proto_rawDescGZIP(), []int{115}
+}
+
+func (x *GetUnresolvedTransactionsRequest) GetKeyspace() string {
+ if x != nil {
+ return x.Keyspace
+ }
+ return ""
+}
+
+func (x *GetUnresolvedTransactionsRequest) GetAbandonAge() int64 {
+ if x != nil {
+ return x.AbandonAge
+ }
+ return 0
+}
+
+type GetUnresolvedTransactionsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Transactions []*query.TransactionMetadata `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"`
+}
+
+func (x *GetUnresolvedTransactionsResponse) Reset() {
+ *x = GetUnresolvedTransactionsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_vtctldata_proto_msgTypes[116]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetUnresolvedTransactionsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetUnresolvedTransactionsResponse) ProtoMessage() {}
+
+func (x *GetUnresolvedTransactionsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_vtctldata_proto_msgTypes[116]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetUnresolvedTransactionsResponse.ProtoReflect.Descriptor instead.
+func (*GetUnresolvedTransactionsResponse) Descriptor() ([]byte, []int) {
+ return file_vtctldata_proto_rawDescGZIP(), []int{116}
+}
+
+func (x *GetUnresolvedTransactionsResponse) GetTransactions() []*query.TransactionMetadata {
+ if x != nil {
+ return x.Transactions
+ }
+ return nil
+}
+
+type ConcludeTransactionRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Dtid string `protobuf:"bytes,1,opt,name=dtid,proto3" json:"dtid,omitempty"`
+ Participants []*query.Target `protobuf:"bytes,2,rep,name=participants,proto3" json:"participants,omitempty"`
+}
+
+func (x *ConcludeTransactionRequest) Reset() {
+ *x = ConcludeTransactionRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_vtctldata_proto_msgTypes[117]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ConcludeTransactionRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConcludeTransactionRequest) ProtoMessage() {}
+
+func (x *ConcludeTransactionRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_vtctldata_proto_msgTypes[117]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConcludeTransactionRequest.ProtoReflect.Descriptor instead.
+func (*ConcludeTransactionRequest) Descriptor() ([]byte, []int) {
+ return file_vtctldata_proto_rawDescGZIP(), []int{117}
+}
+
+func (x *ConcludeTransactionRequest) GetDtid() string {
+ if x != nil {
+ return x.Dtid
+ }
+ return ""
+}
+
+func (x *ConcludeTransactionRequest) GetParticipants() []*query.Target {
+ if x != nil {
+ return x.Participants
+ }
+ return nil
+}
+
+type ConcludeTransactionResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ConcludeTransactionResponse) Reset() {
+ *x = ConcludeTransactionResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_vtctldata_proto_msgTypes[118]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ConcludeTransactionResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConcludeTransactionResponse) ProtoMessage() {}
+
+func (x *ConcludeTransactionResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_vtctldata_proto_msgTypes[118]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConcludeTransactionResponse.ProtoReflect.Descriptor instead.
+func (*ConcludeTransactionResponse) Descriptor() ([]byte, []int) {
+ return file_vtctldata_proto_rawDescGZIP(), []int{118}
+}
+
type GetVSchemaRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -7542,7 +7754,7 @@ type GetVSchemaRequest struct {
func (x *GetVSchemaRequest) Reset() {
*x = GetVSchemaRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[115]
+ mi := &file_vtctldata_proto_msgTypes[119]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7555,7 +7767,7 @@ func (x *GetVSchemaRequest) String() string {
func (*GetVSchemaRequest) ProtoMessage() {}
func (x *GetVSchemaRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[115]
+ mi := &file_vtctldata_proto_msgTypes[119]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7568,7 +7780,7 @@ func (x *GetVSchemaRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetVSchemaRequest.ProtoReflect.Descriptor instead.
func (*GetVSchemaRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{115}
+ return file_vtctldata_proto_rawDescGZIP(), []int{119}
}
func (x *GetVSchemaRequest) GetKeyspace() string {
@@ -7589,7 +7801,7 @@ type GetVersionRequest struct {
func (x *GetVersionRequest) Reset() {
*x = GetVersionRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[116]
+ mi := &file_vtctldata_proto_msgTypes[120]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7602,7 +7814,7 @@ func (x *GetVersionRequest) String() string {
func (*GetVersionRequest) ProtoMessage() {}
func (x *GetVersionRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[116]
+ mi := &file_vtctldata_proto_msgTypes[120]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7615,7 +7827,7 @@ func (x *GetVersionRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetVersionRequest.ProtoReflect.Descriptor instead.
func (*GetVersionRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{116}
+ return file_vtctldata_proto_rawDescGZIP(), []int{120}
}
func (x *GetVersionRequest) GetTabletAlias() *topodata.TabletAlias {
@@ -7636,7 +7848,7 @@ type GetVersionResponse struct {
func (x *GetVersionResponse) Reset() {
*x = GetVersionResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[117]
+ mi := &file_vtctldata_proto_msgTypes[121]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7649,7 +7861,7 @@ func (x *GetVersionResponse) String() string {
func (*GetVersionResponse) ProtoMessage() {}
func (x *GetVersionResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[117]
+ mi := &file_vtctldata_proto_msgTypes[121]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7662,7 +7874,7 @@ func (x *GetVersionResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead.
func (*GetVersionResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{117}
+ return file_vtctldata_proto_rawDescGZIP(), []int{121}
}
func (x *GetVersionResponse) GetVersion() string {
@@ -7683,7 +7895,7 @@ type GetVSchemaResponse struct {
func (x *GetVSchemaResponse) Reset() {
*x = GetVSchemaResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[118]
+ mi := &file_vtctldata_proto_msgTypes[122]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7696,7 +7908,7 @@ func (x *GetVSchemaResponse) String() string {
func (*GetVSchemaResponse) ProtoMessage() {}
func (x *GetVSchemaResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[118]
+ mi := &file_vtctldata_proto_msgTypes[122]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7709,7 +7921,7 @@ func (x *GetVSchemaResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetVSchemaResponse.ProtoReflect.Descriptor instead.
func (*GetVSchemaResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{118}
+ return file_vtctldata_proto_rawDescGZIP(), []int{122}
}
func (x *GetVSchemaResponse) GetVSchema() *vschema.Keyspace {
@@ -7736,7 +7948,7 @@ type GetWorkflowsRequest struct {
func (x *GetWorkflowsRequest) Reset() {
*x = GetWorkflowsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[119]
+ mi := &file_vtctldata_proto_msgTypes[123]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7749,7 +7961,7 @@ func (x *GetWorkflowsRequest) String() string {
func (*GetWorkflowsRequest) ProtoMessage() {}
func (x *GetWorkflowsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[119]
+ mi := &file_vtctldata_proto_msgTypes[123]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7762,7 +7974,7 @@ func (x *GetWorkflowsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetWorkflowsRequest.ProtoReflect.Descriptor instead.
func (*GetWorkflowsRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{119}
+ return file_vtctldata_proto_rawDescGZIP(), []int{123}
}
func (x *GetWorkflowsRequest) GetKeyspace() string {
@@ -7818,7 +8030,7 @@ type GetWorkflowsResponse struct {
func (x *GetWorkflowsResponse) Reset() {
*x = GetWorkflowsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[120]
+ mi := &file_vtctldata_proto_msgTypes[124]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7831,7 +8043,7 @@ func (x *GetWorkflowsResponse) String() string {
func (*GetWorkflowsResponse) ProtoMessage() {}
func (x *GetWorkflowsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[120]
+ mi := &file_vtctldata_proto_msgTypes[124]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7844,7 +8056,7 @@ func (x *GetWorkflowsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetWorkflowsResponse.ProtoReflect.Descriptor instead.
func (*GetWorkflowsResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{120}
+ return file_vtctldata_proto_rawDescGZIP(), []int{124}
}
func (x *GetWorkflowsResponse) GetWorkflows() []*Workflow {
@@ -7869,7 +8081,7 @@ type InitShardPrimaryRequest struct {
func (x *InitShardPrimaryRequest) Reset() {
*x = InitShardPrimaryRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[121]
+ mi := &file_vtctldata_proto_msgTypes[125]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7882,7 +8094,7 @@ func (x *InitShardPrimaryRequest) String() string {
func (*InitShardPrimaryRequest) ProtoMessage() {}
func (x *InitShardPrimaryRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[121]
+ mi := &file_vtctldata_proto_msgTypes[125]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7895,7 +8107,7 @@ func (x *InitShardPrimaryRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use InitShardPrimaryRequest.ProtoReflect.Descriptor instead.
func (*InitShardPrimaryRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{121}
+ return file_vtctldata_proto_rawDescGZIP(), []int{125}
}
func (x *InitShardPrimaryRequest) GetKeyspace() string {
@@ -7944,7 +8156,7 @@ type InitShardPrimaryResponse struct {
func (x *InitShardPrimaryResponse) Reset() {
*x = InitShardPrimaryResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[122]
+ mi := &file_vtctldata_proto_msgTypes[126]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7957,7 +8169,7 @@ func (x *InitShardPrimaryResponse) String() string {
func (*InitShardPrimaryResponse) ProtoMessage() {}
func (x *InitShardPrimaryResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[122]
+ mi := &file_vtctldata_proto_msgTypes[126]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7970,7 +8182,7 @@ func (x *InitShardPrimaryResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use InitShardPrimaryResponse.ProtoReflect.Descriptor instead.
func (*InitShardPrimaryResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{122}
+ return file_vtctldata_proto_rawDescGZIP(), []int{126}
}
func (x *InitShardPrimaryResponse) GetEvents() []*logutil.Event {
@@ -7992,7 +8204,7 @@ type LaunchSchemaMigrationRequest struct {
func (x *LaunchSchemaMigrationRequest) Reset() {
*x = LaunchSchemaMigrationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[123]
+ mi := &file_vtctldata_proto_msgTypes[127]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8005,7 +8217,7 @@ func (x *LaunchSchemaMigrationRequest) String() string {
func (*LaunchSchemaMigrationRequest) ProtoMessage() {}
func (x *LaunchSchemaMigrationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[123]
+ mi := &file_vtctldata_proto_msgTypes[127]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8018,7 +8230,7 @@ func (x *LaunchSchemaMigrationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use LaunchSchemaMigrationRequest.ProtoReflect.Descriptor instead.
func (*LaunchSchemaMigrationRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{123}
+ return file_vtctldata_proto_rawDescGZIP(), []int{127}
}
func (x *LaunchSchemaMigrationRequest) GetKeyspace() string {
@@ -8046,7 +8258,7 @@ type LaunchSchemaMigrationResponse struct {
func (x *LaunchSchemaMigrationResponse) Reset() {
*x = LaunchSchemaMigrationResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[124]
+ mi := &file_vtctldata_proto_msgTypes[128]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8059,7 +8271,7 @@ func (x *LaunchSchemaMigrationResponse) String() string {
func (*LaunchSchemaMigrationResponse) ProtoMessage() {}
func (x *LaunchSchemaMigrationResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[124]
+ mi := &file_vtctldata_proto_msgTypes[128]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8072,7 +8284,7 @@ func (x *LaunchSchemaMigrationResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use LaunchSchemaMigrationResponse.ProtoReflect.Descriptor instead.
func (*LaunchSchemaMigrationResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{124}
+ return file_vtctldata_proto_rawDescGZIP(), []int{128}
}
func (x *LaunchSchemaMigrationResponse) GetRowsAffectedByShard() map[string]uint64 {
@@ -8099,7 +8311,7 @@ type LookupVindexCreateRequest struct {
func (x *LookupVindexCreateRequest) Reset() {
*x = LookupVindexCreateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[125]
+ mi := &file_vtctldata_proto_msgTypes[129]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8112,7 +8324,7 @@ func (x *LookupVindexCreateRequest) String() string {
func (*LookupVindexCreateRequest) ProtoMessage() {}
func (x *LookupVindexCreateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[125]
+ mi := &file_vtctldata_proto_msgTypes[129]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8125,7 +8337,7 @@ func (x *LookupVindexCreateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use LookupVindexCreateRequest.ProtoReflect.Descriptor instead.
func (*LookupVindexCreateRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{125}
+ return file_vtctldata_proto_rawDescGZIP(), []int{129}
}
func (x *LookupVindexCreateRequest) GetKeyspace() string {
@@ -8186,7 +8398,7 @@ type LookupVindexCreateResponse struct {
func (x *LookupVindexCreateResponse) Reset() {
*x = LookupVindexCreateResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[126]
+ mi := &file_vtctldata_proto_msgTypes[130]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8199,7 +8411,7 @@ func (x *LookupVindexCreateResponse) String() string {
func (*LookupVindexCreateResponse) ProtoMessage() {}
func (x *LookupVindexCreateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[126]
+ mi := &file_vtctldata_proto_msgTypes[130]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8212,7 +8424,7 @@ func (x *LookupVindexCreateResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use LookupVindexCreateResponse.ProtoReflect.Descriptor instead.
func (*LookupVindexCreateResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{126}
+ return file_vtctldata_proto_rawDescGZIP(), []int{130}
}
type LookupVindexExternalizeRequest struct {
@@ -8231,7 +8443,7 @@ type LookupVindexExternalizeRequest struct {
func (x *LookupVindexExternalizeRequest) Reset() {
*x = LookupVindexExternalizeRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[127]
+ mi := &file_vtctldata_proto_msgTypes[131]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8244,7 +8456,7 @@ func (x *LookupVindexExternalizeRequest) String() string {
func (*LookupVindexExternalizeRequest) ProtoMessage() {}
func (x *LookupVindexExternalizeRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[127]
+ mi := &file_vtctldata_proto_msgTypes[131]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8257,7 +8469,7 @@ func (x *LookupVindexExternalizeRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use LookupVindexExternalizeRequest.ProtoReflect.Descriptor instead.
func (*LookupVindexExternalizeRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{127}
+ return file_vtctldata_proto_rawDescGZIP(), []int{131}
}
func (x *LookupVindexExternalizeRequest) GetKeyspace() string {
@@ -8293,7 +8505,7 @@ type LookupVindexExternalizeResponse struct {
func (x *LookupVindexExternalizeResponse) Reset() {
*x = LookupVindexExternalizeResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[128]
+ mi := &file_vtctldata_proto_msgTypes[132]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8306,7 +8518,7 @@ func (x *LookupVindexExternalizeResponse) String() string {
func (*LookupVindexExternalizeResponse) ProtoMessage() {}
func (x *LookupVindexExternalizeResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[128]
+ mi := &file_vtctldata_proto_msgTypes[132]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8319,7 +8531,7 @@ func (x *LookupVindexExternalizeResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use LookupVindexExternalizeResponse.ProtoReflect.Descriptor instead.
func (*LookupVindexExternalizeResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{128}
+ return file_vtctldata_proto_rawDescGZIP(), []int{132}
}
func (x *LookupVindexExternalizeResponse) GetWorkflowDeleted() bool {
@@ -8340,7 +8552,7 @@ type MaterializeCreateRequest struct {
func (x *MaterializeCreateRequest) Reset() {
*x = MaterializeCreateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[129]
+ mi := &file_vtctldata_proto_msgTypes[133]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8353,7 +8565,7 @@ func (x *MaterializeCreateRequest) String() string {
func (*MaterializeCreateRequest) ProtoMessage() {}
func (x *MaterializeCreateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[129]
+ mi := &file_vtctldata_proto_msgTypes[133]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8366,7 +8578,7 @@ func (x *MaterializeCreateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MaterializeCreateRequest.ProtoReflect.Descriptor instead.
func (*MaterializeCreateRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{129}
+ return file_vtctldata_proto_rawDescGZIP(), []int{133}
}
func (x *MaterializeCreateRequest) GetSettings() *MaterializeSettings {
@@ -8385,7 +8597,7 @@ type MaterializeCreateResponse struct {
func (x *MaterializeCreateResponse) Reset() {
*x = MaterializeCreateResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[130]
+ mi := &file_vtctldata_proto_msgTypes[134]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8398,7 +8610,7 @@ func (x *MaterializeCreateResponse) String() string {
func (*MaterializeCreateResponse) ProtoMessage() {}
func (x *MaterializeCreateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[130]
+ mi := &file_vtctldata_proto_msgTypes[134]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8411,7 +8623,7 @@ func (x *MaterializeCreateResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MaterializeCreateResponse.ProtoReflect.Descriptor instead.
func (*MaterializeCreateResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{130}
+ return file_vtctldata_proto_rawDescGZIP(), []int{134}
}
type MigrateCreateRequest struct {
@@ -8450,7 +8662,7 @@ type MigrateCreateRequest struct {
func (x *MigrateCreateRequest) Reset() {
*x = MigrateCreateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[131]
+ mi := &file_vtctldata_proto_msgTypes[135]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8463,7 +8675,7 @@ func (x *MigrateCreateRequest) String() string {
func (*MigrateCreateRequest) ProtoMessage() {}
func (x *MigrateCreateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[131]
+ mi := &file_vtctldata_proto_msgTypes[135]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8476,7 +8688,7 @@ func (x *MigrateCreateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MigrateCreateRequest.ProtoReflect.Descriptor instead.
func (*MigrateCreateRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{131}
+ return file_vtctldata_proto_rawDescGZIP(), []int{135}
}
func (x *MigrateCreateRequest) GetWorkflow() string {
@@ -8614,7 +8826,7 @@ type MigrateCompleteRequest struct {
func (x *MigrateCompleteRequest) Reset() {
*x = MigrateCompleteRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[132]
+ mi := &file_vtctldata_proto_msgTypes[136]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8627,7 +8839,7 @@ func (x *MigrateCompleteRequest) String() string {
func (*MigrateCompleteRequest) ProtoMessage() {}
func (x *MigrateCompleteRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[132]
+ mi := &file_vtctldata_proto_msgTypes[136]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8640,7 +8852,7 @@ func (x *MigrateCompleteRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MigrateCompleteRequest.ProtoReflect.Descriptor instead.
func (*MigrateCompleteRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{132}
+ return file_vtctldata_proto_rawDescGZIP(), []int{136}
}
func (x *MigrateCompleteRequest) GetWorkflow() string {
@@ -8697,7 +8909,7 @@ type MigrateCompleteResponse struct {
func (x *MigrateCompleteResponse) Reset() {
*x = MigrateCompleteResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[133]
+ mi := &file_vtctldata_proto_msgTypes[137]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8710,7 +8922,7 @@ func (x *MigrateCompleteResponse) String() string {
func (*MigrateCompleteResponse) ProtoMessage() {}
func (x *MigrateCompleteResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[133]
+ mi := &file_vtctldata_proto_msgTypes[137]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8723,7 +8935,7 @@ func (x *MigrateCompleteResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MigrateCompleteResponse.ProtoReflect.Descriptor instead.
func (*MigrateCompleteResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{133}
+ return file_vtctldata_proto_rawDescGZIP(), []int{137}
}
func (x *MigrateCompleteResponse) GetSummary() string {
@@ -8754,7 +8966,7 @@ type MountRegisterRequest struct {
func (x *MountRegisterRequest) Reset() {
*x = MountRegisterRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[134]
+ mi := &file_vtctldata_proto_msgTypes[138]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8767,7 +8979,7 @@ func (x *MountRegisterRequest) String() string {
func (*MountRegisterRequest) ProtoMessage() {}
func (x *MountRegisterRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[134]
+ mi := &file_vtctldata_proto_msgTypes[138]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8780,7 +8992,7 @@ func (x *MountRegisterRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MountRegisterRequest.ProtoReflect.Descriptor instead.
func (*MountRegisterRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{134}
+ return file_vtctldata_proto_rawDescGZIP(), []int{138}
}
func (x *MountRegisterRequest) GetTopoType() string {
@@ -8820,7 +9032,7 @@ type MountRegisterResponse struct {
func (x *MountRegisterResponse) Reset() {
*x = MountRegisterResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[135]
+ mi := &file_vtctldata_proto_msgTypes[139]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8833,7 +9045,7 @@ func (x *MountRegisterResponse) String() string {
func (*MountRegisterResponse) ProtoMessage() {}
func (x *MountRegisterResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[135]
+ mi := &file_vtctldata_proto_msgTypes[139]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8846,7 +9058,7 @@ func (x *MountRegisterResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MountRegisterResponse.ProtoReflect.Descriptor instead.
func (*MountRegisterResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{135}
+ return file_vtctldata_proto_rawDescGZIP(), []int{139}
}
type MountUnregisterRequest struct {
@@ -8860,7 +9072,7 @@ type MountUnregisterRequest struct {
func (x *MountUnregisterRequest) Reset() {
*x = MountUnregisterRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[136]
+ mi := &file_vtctldata_proto_msgTypes[140]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8873,7 +9085,7 @@ func (x *MountUnregisterRequest) String() string {
func (*MountUnregisterRequest) ProtoMessage() {}
func (x *MountUnregisterRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[136]
+ mi := &file_vtctldata_proto_msgTypes[140]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8886,7 +9098,7 @@ func (x *MountUnregisterRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MountUnregisterRequest.ProtoReflect.Descriptor instead.
func (*MountUnregisterRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{136}
+ return file_vtctldata_proto_rawDescGZIP(), []int{140}
}
func (x *MountUnregisterRequest) GetName() string {
@@ -8905,7 +9117,7 @@ type MountUnregisterResponse struct {
func (x *MountUnregisterResponse) Reset() {
*x = MountUnregisterResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[137]
+ mi := &file_vtctldata_proto_msgTypes[141]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8918,7 +9130,7 @@ func (x *MountUnregisterResponse) String() string {
func (*MountUnregisterResponse) ProtoMessage() {}
func (x *MountUnregisterResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[137]
+ mi := &file_vtctldata_proto_msgTypes[141]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8931,7 +9143,7 @@ func (x *MountUnregisterResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MountUnregisterResponse.ProtoReflect.Descriptor instead.
func (*MountUnregisterResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{137}
+ return file_vtctldata_proto_rawDescGZIP(), []int{141}
}
type MountShowRequest struct {
@@ -8945,7 +9157,7 @@ type MountShowRequest struct {
func (x *MountShowRequest) Reset() {
*x = MountShowRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[138]
+ mi := &file_vtctldata_proto_msgTypes[142]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8958,7 +9170,7 @@ func (x *MountShowRequest) String() string {
func (*MountShowRequest) ProtoMessage() {}
func (x *MountShowRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[138]
+ mi := &file_vtctldata_proto_msgTypes[142]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8971,7 +9183,7 @@ func (x *MountShowRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MountShowRequest.ProtoReflect.Descriptor instead.
func (*MountShowRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{138}
+ return file_vtctldata_proto_rawDescGZIP(), []int{142}
}
func (x *MountShowRequest) GetName() string {
@@ -8995,7 +9207,7 @@ type MountShowResponse struct {
func (x *MountShowResponse) Reset() {
*x = MountShowResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[139]
+ mi := &file_vtctldata_proto_msgTypes[143]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9008,7 +9220,7 @@ func (x *MountShowResponse) String() string {
func (*MountShowResponse) ProtoMessage() {}
func (x *MountShowResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[139]
+ mi := &file_vtctldata_proto_msgTypes[143]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9021,7 +9233,7 @@ func (x *MountShowResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MountShowResponse.ProtoReflect.Descriptor instead.
func (*MountShowResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{139}
+ return file_vtctldata_proto_rawDescGZIP(), []int{143}
}
func (x *MountShowResponse) GetTopoType() string {
@@ -9061,7 +9273,7 @@ type MountListRequest struct {
func (x *MountListRequest) Reset() {
*x = MountListRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[140]
+ mi := &file_vtctldata_proto_msgTypes[144]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9074,7 +9286,7 @@ func (x *MountListRequest) String() string {
func (*MountListRequest) ProtoMessage() {}
func (x *MountListRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[140]
+ mi := &file_vtctldata_proto_msgTypes[144]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9087,7 +9299,7 @@ func (x *MountListRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MountListRequest.ProtoReflect.Descriptor instead.
func (*MountListRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{140}
+ return file_vtctldata_proto_rawDescGZIP(), []int{144}
}
type MountListResponse struct {
@@ -9101,7 +9313,7 @@ type MountListResponse struct {
func (x *MountListResponse) Reset() {
*x = MountListResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[141]
+ mi := &file_vtctldata_proto_msgTypes[145]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9114,7 +9326,7 @@ func (x *MountListResponse) String() string {
func (*MountListResponse) ProtoMessage() {}
func (x *MountListResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[141]
+ mi := &file_vtctldata_proto_msgTypes[145]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9127,7 +9339,7 @@ func (x *MountListResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MountListResponse.ProtoReflect.Descriptor instead.
func (*MountListResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{141}
+ return file_vtctldata_proto_rawDescGZIP(), []int{145}
}
func (x *MountListResponse) GetNames() []string {
@@ -9178,7 +9390,7 @@ type MoveTablesCreateRequest struct {
func (x *MoveTablesCreateRequest) Reset() {
*x = MoveTablesCreateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[142]
+ mi := &file_vtctldata_proto_msgTypes[146]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9191,7 +9403,7 @@ func (x *MoveTablesCreateRequest) String() string {
func (*MoveTablesCreateRequest) ProtoMessage() {}
func (x *MoveTablesCreateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[142]
+ mi := &file_vtctldata_proto_msgTypes[146]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9204,7 +9416,7 @@ func (x *MoveTablesCreateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MoveTablesCreateRequest.ProtoReflect.Descriptor instead.
func (*MoveTablesCreateRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{142}
+ return file_vtctldata_proto_rawDescGZIP(), []int{146}
}
func (x *MoveTablesCreateRequest) GetWorkflow() string {
@@ -9359,7 +9571,7 @@ type MoveTablesCreateResponse struct {
func (x *MoveTablesCreateResponse) Reset() {
*x = MoveTablesCreateResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[143]
+ mi := &file_vtctldata_proto_msgTypes[147]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9372,7 +9584,7 @@ func (x *MoveTablesCreateResponse) String() string {
func (*MoveTablesCreateResponse) ProtoMessage() {}
func (x *MoveTablesCreateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[143]
+ mi := &file_vtctldata_proto_msgTypes[147]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9385,7 +9597,7 @@ func (x *MoveTablesCreateResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MoveTablesCreateResponse.ProtoReflect.Descriptor instead.
func (*MoveTablesCreateResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{143}
+ return file_vtctldata_proto_rawDescGZIP(), []int{147}
}
func (x *MoveTablesCreateResponse) GetSummary() string {
@@ -9419,7 +9631,7 @@ type MoveTablesCompleteRequest struct {
func (x *MoveTablesCompleteRequest) Reset() {
*x = MoveTablesCompleteRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[144]
+ mi := &file_vtctldata_proto_msgTypes[148]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9432,7 +9644,7 @@ func (x *MoveTablesCompleteRequest) String() string {
func (*MoveTablesCompleteRequest) ProtoMessage() {}
func (x *MoveTablesCompleteRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[144]
+ mi := &file_vtctldata_proto_msgTypes[148]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9445,7 +9657,7 @@ func (x *MoveTablesCompleteRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use MoveTablesCompleteRequest.ProtoReflect.Descriptor instead.
func (*MoveTablesCompleteRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{144}
+ return file_vtctldata_proto_rawDescGZIP(), []int{148}
}
func (x *MoveTablesCompleteRequest) GetWorkflow() string {
@@ -9509,7 +9721,7 @@ type MoveTablesCompleteResponse struct {
func (x *MoveTablesCompleteResponse) Reset() {
*x = MoveTablesCompleteResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[145]
+ mi := &file_vtctldata_proto_msgTypes[149]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9522,7 +9734,7 @@ func (x *MoveTablesCompleteResponse) String() string {
func (*MoveTablesCompleteResponse) ProtoMessage() {}
func (x *MoveTablesCompleteResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[145]
+ mi := &file_vtctldata_proto_msgTypes[149]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9535,7 +9747,7 @@ func (x *MoveTablesCompleteResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use MoveTablesCompleteResponse.ProtoReflect.Descriptor instead.
func (*MoveTablesCompleteResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{145}
+ return file_vtctldata_proto_rawDescGZIP(), []int{149}
}
func (x *MoveTablesCompleteResponse) GetSummary() string {
@@ -9563,7 +9775,7 @@ type PingTabletRequest struct {
func (x *PingTabletRequest) Reset() {
*x = PingTabletRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[146]
+ mi := &file_vtctldata_proto_msgTypes[150]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9576,7 +9788,7 @@ func (x *PingTabletRequest) String() string {
func (*PingTabletRequest) ProtoMessage() {}
func (x *PingTabletRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[146]
+ mi := &file_vtctldata_proto_msgTypes[150]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9589,7 +9801,7 @@ func (x *PingTabletRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use PingTabletRequest.ProtoReflect.Descriptor instead.
func (*PingTabletRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{146}
+ return file_vtctldata_proto_rawDescGZIP(), []int{150}
}
func (x *PingTabletRequest) GetTabletAlias() *topodata.TabletAlias {
@@ -9608,7 +9820,7 @@ type PingTabletResponse struct {
func (x *PingTabletResponse) Reset() {
*x = PingTabletResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[147]
+ mi := &file_vtctldata_proto_msgTypes[151]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9621,7 +9833,7 @@ func (x *PingTabletResponse) String() string {
func (*PingTabletResponse) ProtoMessage() {}
func (x *PingTabletResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[147]
+ mi := &file_vtctldata_proto_msgTypes[151]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9634,7 +9846,7 @@ func (x *PingTabletResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use PingTabletResponse.ProtoReflect.Descriptor instead.
func (*PingTabletResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{147}
+ return file_vtctldata_proto_rawDescGZIP(), []int{151}
}
type PlannedReparentShardRequest struct {
@@ -9675,7 +9887,7 @@ type PlannedReparentShardRequest struct {
func (x *PlannedReparentShardRequest) Reset() {
*x = PlannedReparentShardRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[148]
+ mi := &file_vtctldata_proto_msgTypes[152]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9688,7 +9900,7 @@ func (x *PlannedReparentShardRequest) String() string {
func (*PlannedReparentShardRequest) ProtoMessage() {}
func (x *PlannedReparentShardRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[148]
+ mi := &file_vtctldata_proto_msgTypes[152]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9701,7 +9913,7 @@ func (x *PlannedReparentShardRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use PlannedReparentShardRequest.ProtoReflect.Descriptor instead.
func (*PlannedReparentShardRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{148}
+ return file_vtctldata_proto_rawDescGZIP(), []int{152}
}
func (x *PlannedReparentShardRequest) GetKeyspace() string {
@@ -9773,7 +9985,7 @@ type PlannedReparentShardResponse struct {
func (x *PlannedReparentShardResponse) Reset() {
*x = PlannedReparentShardResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[149]
+ mi := &file_vtctldata_proto_msgTypes[153]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9786,7 +9998,7 @@ func (x *PlannedReparentShardResponse) String() string {
func (*PlannedReparentShardResponse) ProtoMessage() {}
func (x *PlannedReparentShardResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[149]
+ mi := &file_vtctldata_proto_msgTypes[153]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9799,7 +10011,7 @@ func (x *PlannedReparentShardResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use PlannedReparentShardResponse.ProtoReflect.Descriptor instead.
func (*PlannedReparentShardResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{149}
+ return file_vtctldata_proto_rawDescGZIP(), []int{153}
}
func (x *PlannedReparentShardResponse) GetKeyspace() string {
@@ -9845,7 +10057,7 @@ type RebuildKeyspaceGraphRequest struct {
func (x *RebuildKeyspaceGraphRequest) Reset() {
*x = RebuildKeyspaceGraphRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[150]
+ mi := &file_vtctldata_proto_msgTypes[154]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9858,7 +10070,7 @@ func (x *RebuildKeyspaceGraphRequest) String() string {
func (*RebuildKeyspaceGraphRequest) ProtoMessage() {}
func (x *RebuildKeyspaceGraphRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[150]
+ mi := &file_vtctldata_proto_msgTypes[154]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9871,7 +10083,7 @@ func (x *RebuildKeyspaceGraphRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RebuildKeyspaceGraphRequest.ProtoReflect.Descriptor instead.
func (*RebuildKeyspaceGraphRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{150}
+ return file_vtctldata_proto_rawDescGZIP(), []int{154}
}
func (x *RebuildKeyspaceGraphRequest) GetKeyspace() string {
@@ -9904,7 +10116,7 @@ type RebuildKeyspaceGraphResponse struct {
func (x *RebuildKeyspaceGraphResponse) Reset() {
*x = RebuildKeyspaceGraphResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[151]
+ mi := &file_vtctldata_proto_msgTypes[155]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9917,7 +10129,7 @@ func (x *RebuildKeyspaceGraphResponse) String() string {
func (*RebuildKeyspaceGraphResponse) ProtoMessage() {}
func (x *RebuildKeyspaceGraphResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[151]
+ mi := &file_vtctldata_proto_msgTypes[155]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9930,7 +10142,7 @@ func (x *RebuildKeyspaceGraphResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RebuildKeyspaceGraphResponse.ProtoReflect.Descriptor instead.
func (*RebuildKeyspaceGraphResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{151}
+ return file_vtctldata_proto_rawDescGZIP(), []int{155}
}
type RebuildVSchemaGraphRequest struct {
@@ -9946,7 +10158,7 @@ type RebuildVSchemaGraphRequest struct {
func (x *RebuildVSchemaGraphRequest) Reset() {
*x = RebuildVSchemaGraphRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[152]
+ mi := &file_vtctldata_proto_msgTypes[156]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9959,7 +10171,7 @@ func (x *RebuildVSchemaGraphRequest) String() string {
func (*RebuildVSchemaGraphRequest) ProtoMessage() {}
func (x *RebuildVSchemaGraphRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[152]
+ mi := &file_vtctldata_proto_msgTypes[156]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9972,7 +10184,7 @@ func (x *RebuildVSchemaGraphRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RebuildVSchemaGraphRequest.ProtoReflect.Descriptor instead.
func (*RebuildVSchemaGraphRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{152}
+ return file_vtctldata_proto_rawDescGZIP(), []int{156}
}
func (x *RebuildVSchemaGraphRequest) GetCells() []string {
@@ -9991,7 +10203,7 @@ type RebuildVSchemaGraphResponse struct {
func (x *RebuildVSchemaGraphResponse) Reset() {
*x = RebuildVSchemaGraphResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[153]
+ mi := &file_vtctldata_proto_msgTypes[157]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10004,7 +10216,7 @@ func (x *RebuildVSchemaGraphResponse) String() string {
func (*RebuildVSchemaGraphResponse) ProtoMessage() {}
func (x *RebuildVSchemaGraphResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[153]
+ mi := &file_vtctldata_proto_msgTypes[157]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10017,7 +10229,7 @@ func (x *RebuildVSchemaGraphResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RebuildVSchemaGraphResponse.ProtoReflect.Descriptor instead.
func (*RebuildVSchemaGraphResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{153}
+ return file_vtctldata_proto_rawDescGZIP(), []int{157}
}
type RefreshStateRequest struct {
@@ -10031,7 +10243,7 @@ type RefreshStateRequest struct {
func (x *RefreshStateRequest) Reset() {
*x = RefreshStateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[154]
+ mi := &file_vtctldata_proto_msgTypes[158]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10044,7 +10256,7 @@ func (x *RefreshStateRequest) String() string {
func (*RefreshStateRequest) ProtoMessage() {}
func (x *RefreshStateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[154]
+ mi := &file_vtctldata_proto_msgTypes[158]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10057,7 +10269,7 @@ func (x *RefreshStateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RefreshStateRequest.ProtoReflect.Descriptor instead.
func (*RefreshStateRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{154}
+ return file_vtctldata_proto_rawDescGZIP(), []int{158}
}
func (x *RefreshStateRequest) GetTabletAlias() *topodata.TabletAlias {
@@ -10076,7 +10288,7 @@ type RefreshStateResponse struct {
func (x *RefreshStateResponse) Reset() {
*x = RefreshStateResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[155]
+ mi := &file_vtctldata_proto_msgTypes[159]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10089,7 +10301,7 @@ func (x *RefreshStateResponse) String() string {
func (*RefreshStateResponse) ProtoMessage() {}
func (x *RefreshStateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[155]
+ mi := &file_vtctldata_proto_msgTypes[159]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10102,7 +10314,7 @@ func (x *RefreshStateResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RefreshStateResponse.ProtoReflect.Descriptor instead.
func (*RefreshStateResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{155}
+ return file_vtctldata_proto_rawDescGZIP(), []int{159}
}
type RefreshStateByShardRequest struct {
@@ -10118,7 +10330,7 @@ type RefreshStateByShardRequest struct {
func (x *RefreshStateByShardRequest) Reset() {
*x = RefreshStateByShardRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[156]
+ mi := &file_vtctldata_proto_msgTypes[160]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10131,7 +10343,7 @@ func (x *RefreshStateByShardRequest) String() string {
func (*RefreshStateByShardRequest) ProtoMessage() {}
func (x *RefreshStateByShardRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[156]
+ mi := &file_vtctldata_proto_msgTypes[160]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10144,7 +10356,7 @@ func (x *RefreshStateByShardRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RefreshStateByShardRequest.ProtoReflect.Descriptor instead.
func (*RefreshStateByShardRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{156}
+ return file_vtctldata_proto_rawDescGZIP(), []int{160}
}
func (x *RefreshStateByShardRequest) GetKeyspace() string {
@@ -10181,7 +10393,7 @@ type RefreshStateByShardResponse struct {
func (x *RefreshStateByShardResponse) Reset() {
*x = RefreshStateByShardResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[157]
+ mi := &file_vtctldata_proto_msgTypes[161]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10194,7 +10406,7 @@ func (x *RefreshStateByShardResponse) String() string {
func (*RefreshStateByShardResponse) ProtoMessage() {}
func (x *RefreshStateByShardResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[157]
+ mi := &file_vtctldata_proto_msgTypes[161]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10207,7 +10419,7 @@ func (x *RefreshStateByShardResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RefreshStateByShardResponse.ProtoReflect.Descriptor instead.
func (*RefreshStateByShardResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{157}
+ return file_vtctldata_proto_rawDescGZIP(), []int{161}
}
func (x *RefreshStateByShardResponse) GetIsPartialRefresh() bool {
@@ -10235,7 +10447,7 @@ type ReloadSchemaRequest struct {
func (x *ReloadSchemaRequest) Reset() {
*x = ReloadSchemaRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[158]
+ mi := &file_vtctldata_proto_msgTypes[162]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10248,7 +10460,7 @@ func (x *ReloadSchemaRequest) String() string {
func (*ReloadSchemaRequest) ProtoMessage() {}
func (x *ReloadSchemaRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[158]
+ mi := &file_vtctldata_proto_msgTypes[162]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10261,7 +10473,7 @@ func (x *ReloadSchemaRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReloadSchemaRequest.ProtoReflect.Descriptor instead.
func (*ReloadSchemaRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{158}
+ return file_vtctldata_proto_rawDescGZIP(), []int{162}
}
func (x *ReloadSchemaRequest) GetTabletAlias() *topodata.TabletAlias {
@@ -10280,7 +10492,7 @@ type ReloadSchemaResponse struct {
func (x *ReloadSchemaResponse) Reset() {
*x = ReloadSchemaResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[159]
+ mi := &file_vtctldata_proto_msgTypes[163]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10293,7 +10505,7 @@ func (x *ReloadSchemaResponse) String() string {
func (*ReloadSchemaResponse) ProtoMessage() {}
func (x *ReloadSchemaResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[159]
+ mi := &file_vtctldata_proto_msgTypes[163]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10306,7 +10518,7 @@ func (x *ReloadSchemaResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReloadSchemaResponse.ProtoReflect.Descriptor instead.
func (*ReloadSchemaResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{159}
+ return file_vtctldata_proto_rawDescGZIP(), []int{163}
}
type ReloadSchemaKeyspaceRequest struct {
@@ -10326,7 +10538,7 @@ type ReloadSchemaKeyspaceRequest struct {
func (x *ReloadSchemaKeyspaceRequest) Reset() {
*x = ReloadSchemaKeyspaceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[160]
+ mi := &file_vtctldata_proto_msgTypes[164]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10339,7 +10551,7 @@ func (x *ReloadSchemaKeyspaceRequest) String() string {
func (*ReloadSchemaKeyspaceRequest) ProtoMessage() {}
func (x *ReloadSchemaKeyspaceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[160]
+ mi := &file_vtctldata_proto_msgTypes[164]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10352,7 +10564,7 @@ func (x *ReloadSchemaKeyspaceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReloadSchemaKeyspaceRequest.ProtoReflect.Descriptor instead.
func (*ReloadSchemaKeyspaceRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{160}
+ return file_vtctldata_proto_rawDescGZIP(), []int{164}
}
func (x *ReloadSchemaKeyspaceRequest) GetKeyspace() string {
@@ -10394,7 +10606,7 @@ type ReloadSchemaKeyspaceResponse struct {
func (x *ReloadSchemaKeyspaceResponse) Reset() {
*x = ReloadSchemaKeyspaceResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[161]
+ mi := &file_vtctldata_proto_msgTypes[165]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10407,7 +10619,7 @@ func (x *ReloadSchemaKeyspaceResponse) String() string {
func (*ReloadSchemaKeyspaceResponse) ProtoMessage() {}
func (x *ReloadSchemaKeyspaceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[161]
+ mi := &file_vtctldata_proto_msgTypes[165]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10420,7 +10632,7 @@ func (x *ReloadSchemaKeyspaceResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReloadSchemaKeyspaceResponse.ProtoReflect.Descriptor instead.
func (*ReloadSchemaKeyspaceResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{161}
+ return file_vtctldata_proto_rawDescGZIP(), []int{165}
}
func (x *ReloadSchemaKeyspaceResponse) GetEvents() []*logutil.Event {
@@ -10446,7 +10658,7 @@ type ReloadSchemaShardRequest struct {
func (x *ReloadSchemaShardRequest) Reset() {
*x = ReloadSchemaShardRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[162]
+ mi := &file_vtctldata_proto_msgTypes[166]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10459,7 +10671,7 @@ func (x *ReloadSchemaShardRequest) String() string {
func (*ReloadSchemaShardRequest) ProtoMessage() {}
func (x *ReloadSchemaShardRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[162]
+ mi := &file_vtctldata_proto_msgTypes[166]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10472,7 +10684,7 @@ func (x *ReloadSchemaShardRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReloadSchemaShardRequest.ProtoReflect.Descriptor instead.
func (*ReloadSchemaShardRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{162}
+ return file_vtctldata_proto_rawDescGZIP(), []int{166}
}
func (x *ReloadSchemaShardRequest) GetKeyspace() string {
@@ -10521,7 +10733,7 @@ type ReloadSchemaShardResponse struct {
func (x *ReloadSchemaShardResponse) Reset() {
*x = ReloadSchemaShardResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[163]
+ mi := &file_vtctldata_proto_msgTypes[167]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10534,7 +10746,7 @@ func (x *ReloadSchemaShardResponse) String() string {
func (*ReloadSchemaShardResponse) ProtoMessage() {}
func (x *ReloadSchemaShardResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[163]
+ mi := &file_vtctldata_proto_msgTypes[167]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10547,7 +10759,7 @@ func (x *ReloadSchemaShardResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReloadSchemaShardResponse.ProtoReflect.Descriptor instead.
func (*ReloadSchemaShardResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{163}
+ return file_vtctldata_proto_rawDescGZIP(), []int{167}
}
func (x *ReloadSchemaShardResponse) GetEvents() []*logutil.Event {
@@ -10570,7 +10782,7 @@ type RemoveBackupRequest struct {
func (x *RemoveBackupRequest) Reset() {
*x = RemoveBackupRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[164]
+ mi := &file_vtctldata_proto_msgTypes[168]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10583,7 +10795,7 @@ func (x *RemoveBackupRequest) String() string {
func (*RemoveBackupRequest) ProtoMessage() {}
func (x *RemoveBackupRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[164]
+ mi := &file_vtctldata_proto_msgTypes[168]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10596,7 +10808,7 @@ func (x *RemoveBackupRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveBackupRequest.ProtoReflect.Descriptor instead.
func (*RemoveBackupRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{164}
+ return file_vtctldata_proto_rawDescGZIP(), []int{168}
}
func (x *RemoveBackupRequest) GetKeyspace() string {
@@ -10629,7 +10841,7 @@ type RemoveBackupResponse struct {
func (x *RemoveBackupResponse) Reset() {
*x = RemoveBackupResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[165]
+ mi := &file_vtctldata_proto_msgTypes[169]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10642,7 +10854,7 @@ func (x *RemoveBackupResponse) String() string {
func (*RemoveBackupResponse) ProtoMessage() {}
func (x *RemoveBackupResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[165]
+ mi := &file_vtctldata_proto_msgTypes[169]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10655,7 +10867,7 @@ func (x *RemoveBackupResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveBackupResponse.ProtoReflect.Descriptor instead.
func (*RemoveBackupResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{165}
+ return file_vtctldata_proto_rawDescGZIP(), []int{169}
}
type RemoveKeyspaceCellRequest struct {
@@ -10677,7 +10889,7 @@ type RemoveKeyspaceCellRequest struct {
func (x *RemoveKeyspaceCellRequest) Reset() {
*x = RemoveKeyspaceCellRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[166]
+ mi := &file_vtctldata_proto_msgTypes[170]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10690,7 +10902,7 @@ func (x *RemoveKeyspaceCellRequest) String() string {
func (*RemoveKeyspaceCellRequest) ProtoMessage() {}
func (x *RemoveKeyspaceCellRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[166]
+ mi := &file_vtctldata_proto_msgTypes[170]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10703,7 +10915,7 @@ func (x *RemoveKeyspaceCellRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveKeyspaceCellRequest.ProtoReflect.Descriptor instead.
func (*RemoveKeyspaceCellRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{166}
+ return file_vtctldata_proto_rawDescGZIP(), []int{170}
}
func (x *RemoveKeyspaceCellRequest) GetKeyspace() string {
@@ -10743,7 +10955,7 @@ type RemoveKeyspaceCellResponse struct {
func (x *RemoveKeyspaceCellResponse) Reset() {
*x = RemoveKeyspaceCellResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[167]
+ mi := &file_vtctldata_proto_msgTypes[171]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10756,7 +10968,7 @@ func (x *RemoveKeyspaceCellResponse) String() string {
func (*RemoveKeyspaceCellResponse) ProtoMessage() {}
func (x *RemoveKeyspaceCellResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[167]
+ mi := &file_vtctldata_proto_msgTypes[171]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10769,7 +10981,7 @@ func (x *RemoveKeyspaceCellResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveKeyspaceCellResponse.ProtoReflect.Descriptor instead.
func (*RemoveKeyspaceCellResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{167}
+ return file_vtctldata_proto_rawDescGZIP(), []int{171}
}
type RemoveShardCellRequest struct {
@@ -10792,7 +11004,7 @@ type RemoveShardCellRequest struct {
func (x *RemoveShardCellRequest) Reset() {
*x = RemoveShardCellRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[168]
+ mi := &file_vtctldata_proto_msgTypes[172]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10805,7 +11017,7 @@ func (x *RemoveShardCellRequest) String() string {
func (*RemoveShardCellRequest) ProtoMessage() {}
func (x *RemoveShardCellRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[168]
+ mi := &file_vtctldata_proto_msgTypes[172]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10818,7 +11030,7 @@ func (x *RemoveShardCellRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveShardCellRequest.ProtoReflect.Descriptor instead.
func (*RemoveShardCellRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{168}
+ return file_vtctldata_proto_rawDescGZIP(), []int{172}
}
func (x *RemoveShardCellRequest) GetKeyspace() string {
@@ -10865,7 +11077,7 @@ type RemoveShardCellResponse struct {
func (x *RemoveShardCellResponse) Reset() {
*x = RemoveShardCellResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[169]
+ mi := &file_vtctldata_proto_msgTypes[173]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10878,7 +11090,7 @@ func (x *RemoveShardCellResponse) String() string {
func (*RemoveShardCellResponse) ProtoMessage() {}
func (x *RemoveShardCellResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[169]
+ mi := &file_vtctldata_proto_msgTypes[173]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10891,7 +11103,7 @@ func (x *RemoveShardCellResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveShardCellResponse.ProtoReflect.Descriptor instead.
func (*RemoveShardCellResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{169}
+ return file_vtctldata_proto_rawDescGZIP(), []int{173}
}
type ReparentTabletRequest struct {
@@ -10907,7 +11119,7 @@ type ReparentTabletRequest struct {
func (x *ReparentTabletRequest) Reset() {
*x = ReparentTabletRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[170]
+ mi := &file_vtctldata_proto_msgTypes[174]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10920,7 +11132,7 @@ func (x *ReparentTabletRequest) String() string {
func (*ReparentTabletRequest) ProtoMessage() {}
func (x *ReparentTabletRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[170]
+ mi := &file_vtctldata_proto_msgTypes[174]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10933,7 +11145,7 @@ func (x *ReparentTabletRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReparentTabletRequest.ProtoReflect.Descriptor instead.
func (*ReparentTabletRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{170}
+ return file_vtctldata_proto_rawDescGZIP(), []int{174}
}
func (x *ReparentTabletRequest) GetTablet() *topodata.TabletAlias {
@@ -10959,7 +11171,7 @@ type ReparentTabletResponse struct {
func (x *ReparentTabletResponse) Reset() {
*x = ReparentTabletResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[171]
+ mi := &file_vtctldata_proto_msgTypes[175]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10972,7 +11184,7 @@ func (x *ReparentTabletResponse) String() string {
func (*ReparentTabletResponse) ProtoMessage() {}
func (x *ReparentTabletResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[171]
+ mi := &file_vtctldata_proto_msgTypes[175]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10985,7 +11197,7 @@ func (x *ReparentTabletResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReparentTabletResponse.ProtoReflect.Descriptor instead.
func (*ReparentTabletResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{171}
+ return file_vtctldata_proto_rawDescGZIP(), []int{175}
}
func (x *ReparentTabletResponse) GetKeyspace() string {
@@ -11031,13 +11243,14 @@ type ReshardCreateRequest struct {
// DeferSecondaryKeys specifies if secondary keys should be created in one shot after table copy finishes.
DeferSecondaryKeys bool `protobuf:"varint,11,opt,name=defer_secondary_keys,json=deferSecondaryKeys,proto3" json:"defer_secondary_keys,omitempty"`
// Start the workflow after creating it.
- AutoStart bool `protobuf:"varint,12,opt,name=auto_start,json=autoStart,proto3" json:"auto_start,omitempty"`
+ AutoStart bool `protobuf:"varint,12,opt,name=auto_start,json=autoStart,proto3" json:"auto_start,omitempty"`
+ WorkflowOptions *WorkflowOptions `protobuf:"bytes,13,opt,name=workflow_options,json=workflowOptions,proto3" json:"workflow_options,omitempty"`
}
func (x *ReshardCreateRequest) Reset() {
*x = ReshardCreateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[172]
+ mi := &file_vtctldata_proto_msgTypes[176]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11050,7 +11263,7 @@ func (x *ReshardCreateRequest) String() string {
func (*ReshardCreateRequest) ProtoMessage() {}
func (x *ReshardCreateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[172]
+ mi := &file_vtctldata_proto_msgTypes[176]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11063,7 +11276,7 @@ func (x *ReshardCreateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReshardCreateRequest.ProtoReflect.Descriptor instead.
func (*ReshardCreateRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{172}
+ return file_vtctldata_proto_rawDescGZIP(), []int{176}
}
func (x *ReshardCreateRequest) GetWorkflow() string {
@@ -11150,10 +11363,17 @@ func (x *ReshardCreateRequest) GetAutoStart() bool {
return false
}
-type RestoreFromBackupRequest struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
+func (x *ReshardCreateRequest) GetWorkflowOptions() *WorkflowOptions {
+ if x != nil {
+ return x.WorkflowOptions
+ }
+ return nil
+}
+
+type RestoreFromBackupRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
TabletAlias *topodata.TabletAlias `protobuf:"bytes,1,opt,name=tablet_alias,json=tabletAlias,proto3" json:"tablet_alias,omitempty"`
// BackupTime, if set, will use the backup taken most closely at or before
@@ -11173,7 +11393,7 @@ type RestoreFromBackupRequest struct {
func (x *RestoreFromBackupRequest) Reset() {
*x = RestoreFromBackupRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[173]
+ mi := &file_vtctldata_proto_msgTypes[177]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11186,7 +11406,7 @@ func (x *RestoreFromBackupRequest) String() string {
func (*RestoreFromBackupRequest) ProtoMessage() {}
func (x *RestoreFromBackupRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[173]
+ mi := &file_vtctldata_proto_msgTypes[177]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11199,7 +11419,7 @@ func (x *RestoreFromBackupRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RestoreFromBackupRequest.ProtoReflect.Descriptor instead.
func (*RestoreFromBackupRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{173}
+ return file_vtctldata_proto_rawDescGZIP(), []int{177}
}
func (x *RestoreFromBackupRequest) GetTabletAlias() *topodata.TabletAlias {
@@ -11252,7 +11472,7 @@ type RestoreFromBackupResponse struct {
func (x *RestoreFromBackupResponse) Reset() {
*x = RestoreFromBackupResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[174]
+ mi := &file_vtctldata_proto_msgTypes[178]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11265,7 +11485,7 @@ func (x *RestoreFromBackupResponse) String() string {
func (*RestoreFromBackupResponse) ProtoMessage() {}
func (x *RestoreFromBackupResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[174]
+ mi := &file_vtctldata_proto_msgTypes[178]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11278,7 +11498,7 @@ func (x *RestoreFromBackupResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RestoreFromBackupResponse.ProtoReflect.Descriptor instead.
func (*RestoreFromBackupResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{174}
+ return file_vtctldata_proto_rawDescGZIP(), []int{178}
}
func (x *RestoreFromBackupResponse) GetTabletAlias() *topodata.TabletAlias {
@@ -11321,7 +11541,7 @@ type RetrySchemaMigrationRequest struct {
func (x *RetrySchemaMigrationRequest) Reset() {
*x = RetrySchemaMigrationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[175]
+ mi := &file_vtctldata_proto_msgTypes[179]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11334,7 +11554,7 @@ func (x *RetrySchemaMigrationRequest) String() string {
func (*RetrySchemaMigrationRequest) ProtoMessage() {}
func (x *RetrySchemaMigrationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[175]
+ mi := &file_vtctldata_proto_msgTypes[179]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11347,7 +11567,7 @@ func (x *RetrySchemaMigrationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RetrySchemaMigrationRequest.ProtoReflect.Descriptor instead.
func (*RetrySchemaMigrationRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{175}
+ return file_vtctldata_proto_rawDescGZIP(), []int{179}
}
func (x *RetrySchemaMigrationRequest) GetKeyspace() string {
@@ -11375,7 +11595,7 @@ type RetrySchemaMigrationResponse struct {
func (x *RetrySchemaMigrationResponse) Reset() {
*x = RetrySchemaMigrationResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[176]
+ mi := &file_vtctldata_proto_msgTypes[180]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11388,7 +11608,7 @@ func (x *RetrySchemaMigrationResponse) String() string {
func (*RetrySchemaMigrationResponse) ProtoMessage() {}
func (x *RetrySchemaMigrationResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[176]
+ mi := &file_vtctldata_proto_msgTypes[180]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11401,7 +11621,7 @@ func (x *RetrySchemaMigrationResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RetrySchemaMigrationResponse.ProtoReflect.Descriptor instead.
func (*RetrySchemaMigrationResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{176}
+ return file_vtctldata_proto_rawDescGZIP(), []int{180}
}
func (x *RetrySchemaMigrationResponse) GetRowsAffectedByShard() map[string]uint64 {
@@ -11422,7 +11642,7 @@ type RunHealthCheckRequest struct {
func (x *RunHealthCheckRequest) Reset() {
*x = RunHealthCheckRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[177]
+ mi := &file_vtctldata_proto_msgTypes[181]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11435,7 +11655,7 @@ func (x *RunHealthCheckRequest) String() string {
func (*RunHealthCheckRequest) ProtoMessage() {}
func (x *RunHealthCheckRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[177]
+ mi := &file_vtctldata_proto_msgTypes[181]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11448,7 +11668,7 @@ func (x *RunHealthCheckRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RunHealthCheckRequest.ProtoReflect.Descriptor instead.
func (*RunHealthCheckRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{177}
+ return file_vtctldata_proto_rawDescGZIP(), []int{181}
}
func (x *RunHealthCheckRequest) GetTabletAlias() *topodata.TabletAlias {
@@ -11467,7 +11687,7 @@ type RunHealthCheckResponse struct {
func (x *RunHealthCheckResponse) Reset() {
*x = RunHealthCheckResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[178]
+ mi := &file_vtctldata_proto_msgTypes[182]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11480,7 +11700,7 @@ func (x *RunHealthCheckResponse) String() string {
func (*RunHealthCheckResponse) ProtoMessage() {}
func (x *RunHealthCheckResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[178]
+ mi := &file_vtctldata_proto_msgTypes[182]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11493,7 +11713,7 @@ func (x *RunHealthCheckResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RunHealthCheckResponse.ProtoReflect.Descriptor instead.
func (*RunHealthCheckResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{178}
+ return file_vtctldata_proto_rawDescGZIP(), []int{182}
}
type SetKeyspaceDurabilityPolicyRequest struct {
@@ -11508,7 +11728,7 @@ type SetKeyspaceDurabilityPolicyRequest struct {
func (x *SetKeyspaceDurabilityPolicyRequest) Reset() {
*x = SetKeyspaceDurabilityPolicyRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[179]
+ mi := &file_vtctldata_proto_msgTypes[183]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11521,7 +11741,7 @@ func (x *SetKeyspaceDurabilityPolicyRequest) String() string {
func (*SetKeyspaceDurabilityPolicyRequest) ProtoMessage() {}
func (x *SetKeyspaceDurabilityPolicyRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[179]
+ mi := &file_vtctldata_proto_msgTypes[183]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11534,7 +11754,7 @@ func (x *SetKeyspaceDurabilityPolicyRequest) ProtoReflect() protoreflect.Message
// Deprecated: Use SetKeyspaceDurabilityPolicyRequest.ProtoReflect.Descriptor instead.
func (*SetKeyspaceDurabilityPolicyRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{179}
+ return file_vtctldata_proto_rawDescGZIP(), []int{183}
}
func (x *SetKeyspaceDurabilityPolicyRequest) GetKeyspace() string {
@@ -11563,7 +11783,7 @@ type SetKeyspaceDurabilityPolicyResponse struct {
func (x *SetKeyspaceDurabilityPolicyResponse) Reset() {
*x = SetKeyspaceDurabilityPolicyResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[180]
+ mi := &file_vtctldata_proto_msgTypes[184]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11576,7 +11796,7 @@ func (x *SetKeyspaceDurabilityPolicyResponse) String() string {
func (*SetKeyspaceDurabilityPolicyResponse) ProtoMessage() {}
func (x *SetKeyspaceDurabilityPolicyResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[180]
+ mi := &file_vtctldata_proto_msgTypes[184]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11589,7 +11809,7 @@ func (x *SetKeyspaceDurabilityPolicyResponse) ProtoReflect() protoreflect.Messag
// Deprecated: Use SetKeyspaceDurabilityPolicyResponse.ProtoReflect.Descriptor instead.
func (*SetKeyspaceDurabilityPolicyResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{180}
+ return file_vtctldata_proto_rawDescGZIP(), []int{184}
}
func (x *SetKeyspaceDurabilityPolicyResponse) GetKeyspace() *topodata.Keyspace {
@@ -11611,7 +11831,7 @@ type SetKeyspaceShardingInfoRequest struct {
func (x *SetKeyspaceShardingInfoRequest) Reset() {
*x = SetKeyspaceShardingInfoRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[181]
+ mi := &file_vtctldata_proto_msgTypes[185]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11624,7 +11844,7 @@ func (x *SetKeyspaceShardingInfoRequest) String() string {
func (*SetKeyspaceShardingInfoRequest) ProtoMessage() {}
func (x *SetKeyspaceShardingInfoRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[181]
+ mi := &file_vtctldata_proto_msgTypes[185]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11637,7 +11857,7 @@ func (x *SetKeyspaceShardingInfoRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetKeyspaceShardingInfoRequest.ProtoReflect.Descriptor instead.
func (*SetKeyspaceShardingInfoRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{181}
+ return file_vtctldata_proto_rawDescGZIP(), []int{185}
}
func (x *SetKeyspaceShardingInfoRequest) GetKeyspace() string {
@@ -11666,7 +11886,7 @@ type SetKeyspaceShardingInfoResponse struct {
func (x *SetKeyspaceShardingInfoResponse) Reset() {
*x = SetKeyspaceShardingInfoResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[182]
+ mi := &file_vtctldata_proto_msgTypes[186]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11679,7 +11899,7 @@ func (x *SetKeyspaceShardingInfoResponse) String() string {
func (*SetKeyspaceShardingInfoResponse) ProtoMessage() {}
func (x *SetKeyspaceShardingInfoResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[182]
+ mi := &file_vtctldata_proto_msgTypes[186]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11692,7 +11912,7 @@ func (x *SetKeyspaceShardingInfoResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetKeyspaceShardingInfoResponse.ProtoReflect.Descriptor instead.
func (*SetKeyspaceShardingInfoResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{182}
+ return file_vtctldata_proto_rawDescGZIP(), []int{186}
}
func (x *SetKeyspaceShardingInfoResponse) GetKeyspace() *topodata.Keyspace {
@@ -11715,7 +11935,7 @@ type SetShardIsPrimaryServingRequest struct {
func (x *SetShardIsPrimaryServingRequest) Reset() {
*x = SetShardIsPrimaryServingRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[183]
+ mi := &file_vtctldata_proto_msgTypes[187]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11728,7 +11948,7 @@ func (x *SetShardIsPrimaryServingRequest) String() string {
func (*SetShardIsPrimaryServingRequest) ProtoMessage() {}
func (x *SetShardIsPrimaryServingRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[183]
+ mi := &file_vtctldata_proto_msgTypes[187]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11741,7 +11961,7 @@ func (x *SetShardIsPrimaryServingRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetShardIsPrimaryServingRequest.ProtoReflect.Descriptor instead.
func (*SetShardIsPrimaryServingRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{183}
+ return file_vtctldata_proto_rawDescGZIP(), []int{187}
}
func (x *SetShardIsPrimaryServingRequest) GetKeyspace() string {
@@ -11777,7 +11997,7 @@ type SetShardIsPrimaryServingResponse struct {
func (x *SetShardIsPrimaryServingResponse) Reset() {
*x = SetShardIsPrimaryServingResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[184]
+ mi := &file_vtctldata_proto_msgTypes[188]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11790,7 +12010,7 @@ func (x *SetShardIsPrimaryServingResponse) String() string {
func (*SetShardIsPrimaryServingResponse) ProtoMessage() {}
func (x *SetShardIsPrimaryServingResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[184]
+ mi := &file_vtctldata_proto_msgTypes[188]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11803,7 +12023,7 @@ func (x *SetShardIsPrimaryServingResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetShardIsPrimaryServingResponse.ProtoReflect.Descriptor instead.
func (*SetShardIsPrimaryServingResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{184}
+ return file_vtctldata_proto_rawDescGZIP(), []int{188}
}
func (x *SetShardIsPrimaryServingResponse) GetShard() *topodata.Shard {
@@ -11844,7 +12064,7 @@ type SetShardTabletControlRequest struct {
func (x *SetShardTabletControlRequest) Reset() {
*x = SetShardTabletControlRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[185]
+ mi := &file_vtctldata_proto_msgTypes[189]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11857,7 +12077,7 @@ func (x *SetShardTabletControlRequest) String() string {
func (*SetShardTabletControlRequest) ProtoMessage() {}
func (x *SetShardTabletControlRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[185]
+ mi := &file_vtctldata_proto_msgTypes[189]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11870,7 +12090,7 @@ func (x *SetShardTabletControlRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetShardTabletControlRequest.ProtoReflect.Descriptor instead.
func (*SetShardTabletControlRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{185}
+ return file_vtctldata_proto_rawDescGZIP(), []int{189}
}
func (x *SetShardTabletControlRequest) GetKeyspace() string {
@@ -11934,7 +12154,7 @@ type SetShardTabletControlResponse struct {
func (x *SetShardTabletControlResponse) Reset() {
*x = SetShardTabletControlResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[186]
+ mi := &file_vtctldata_proto_msgTypes[190]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11947,7 +12167,7 @@ func (x *SetShardTabletControlResponse) String() string {
func (*SetShardTabletControlResponse) ProtoMessage() {}
func (x *SetShardTabletControlResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[186]
+ mi := &file_vtctldata_proto_msgTypes[190]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11960,7 +12180,7 @@ func (x *SetShardTabletControlResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetShardTabletControlResponse.ProtoReflect.Descriptor instead.
func (*SetShardTabletControlResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{186}
+ return file_vtctldata_proto_rawDescGZIP(), []int{190}
}
func (x *SetShardTabletControlResponse) GetShard() *topodata.Shard {
@@ -11982,7 +12202,7 @@ type SetWritableRequest struct {
func (x *SetWritableRequest) Reset() {
*x = SetWritableRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[187]
+ mi := &file_vtctldata_proto_msgTypes[191]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11995,7 +12215,7 @@ func (x *SetWritableRequest) String() string {
func (*SetWritableRequest) ProtoMessage() {}
func (x *SetWritableRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[187]
+ mi := &file_vtctldata_proto_msgTypes[191]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12008,7 +12228,7 @@ func (x *SetWritableRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetWritableRequest.ProtoReflect.Descriptor instead.
func (*SetWritableRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{187}
+ return file_vtctldata_proto_rawDescGZIP(), []int{191}
}
func (x *SetWritableRequest) GetTabletAlias() *topodata.TabletAlias {
@@ -12034,7 +12254,7 @@ type SetWritableResponse struct {
func (x *SetWritableResponse) Reset() {
*x = SetWritableResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[188]
+ mi := &file_vtctldata_proto_msgTypes[192]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12047,7 +12267,7 @@ func (x *SetWritableResponse) String() string {
func (*SetWritableResponse) ProtoMessage() {}
func (x *SetWritableResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[188]
+ mi := &file_vtctldata_proto_msgTypes[192]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12060,7 +12280,7 @@ func (x *SetWritableResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetWritableResponse.ProtoReflect.Descriptor instead.
func (*SetWritableResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{188}
+ return file_vtctldata_proto_rawDescGZIP(), []int{192}
}
type ShardReplicationAddRequest struct {
@@ -12076,7 +12296,7 @@ type ShardReplicationAddRequest struct {
func (x *ShardReplicationAddRequest) Reset() {
*x = ShardReplicationAddRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[189]
+ mi := &file_vtctldata_proto_msgTypes[193]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12089,7 +12309,7 @@ func (x *ShardReplicationAddRequest) String() string {
func (*ShardReplicationAddRequest) ProtoMessage() {}
func (x *ShardReplicationAddRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[189]
+ mi := &file_vtctldata_proto_msgTypes[193]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12102,7 +12322,7 @@ func (x *ShardReplicationAddRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ShardReplicationAddRequest.ProtoReflect.Descriptor instead.
func (*ShardReplicationAddRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{189}
+ return file_vtctldata_proto_rawDescGZIP(), []int{193}
}
func (x *ShardReplicationAddRequest) GetKeyspace() string {
@@ -12135,7 +12355,7 @@ type ShardReplicationAddResponse struct {
func (x *ShardReplicationAddResponse) Reset() {
*x = ShardReplicationAddResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[190]
+ mi := &file_vtctldata_proto_msgTypes[194]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12148,7 +12368,7 @@ func (x *ShardReplicationAddResponse) String() string {
func (*ShardReplicationAddResponse) ProtoMessage() {}
func (x *ShardReplicationAddResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[190]
+ mi := &file_vtctldata_proto_msgTypes[194]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12161,7 +12381,7 @@ func (x *ShardReplicationAddResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ShardReplicationAddResponse.ProtoReflect.Descriptor instead.
func (*ShardReplicationAddResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{190}
+ return file_vtctldata_proto_rawDescGZIP(), []int{194}
}
type ShardReplicationFixRequest struct {
@@ -12177,7 +12397,7 @@ type ShardReplicationFixRequest struct {
func (x *ShardReplicationFixRequest) Reset() {
*x = ShardReplicationFixRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[191]
+ mi := &file_vtctldata_proto_msgTypes[195]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12190,7 +12410,7 @@ func (x *ShardReplicationFixRequest) String() string {
func (*ShardReplicationFixRequest) ProtoMessage() {}
func (x *ShardReplicationFixRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[191]
+ mi := &file_vtctldata_proto_msgTypes[195]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12203,7 +12423,7 @@ func (x *ShardReplicationFixRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ShardReplicationFixRequest.ProtoReflect.Descriptor instead.
func (*ShardReplicationFixRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{191}
+ return file_vtctldata_proto_rawDescGZIP(), []int{195}
}
func (x *ShardReplicationFixRequest) GetKeyspace() string {
@@ -12241,7 +12461,7 @@ type ShardReplicationFixResponse struct {
func (x *ShardReplicationFixResponse) Reset() {
*x = ShardReplicationFixResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[192]
+ mi := &file_vtctldata_proto_msgTypes[196]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12254,7 +12474,7 @@ func (x *ShardReplicationFixResponse) String() string {
func (*ShardReplicationFixResponse) ProtoMessage() {}
func (x *ShardReplicationFixResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[192]
+ mi := &file_vtctldata_proto_msgTypes[196]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12267,7 +12487,7 @@ func (x *ShardReplicationFixResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ShardReplicationFixResponse.ProtoReflect.Descriptor instead.
func (*ShardReplicationFixResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{192}
+ return file_vtctldata_proto_rawDescGZIP(), []int{196}
}
func (x *ShardReplicationFixResponse) GetError() *topodata.ShardReplicationError {
@@ -12289,7 +12509,7 @@ type ShardReplicationPositionsRequest struct {
func (x *ShardReplicationPositionsRequest) Reset() {
*x = ShardReplicationPositionsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[193]
+ mi := &file_vtctldata_proto_msgTypes[197]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12302,7 +12522,7 @@ func (x *ShardReplicationPositionsRequest) String() string {
func (*ShardReplicationPositionsRequest) ProtoMessage() {}
func (x *ShardReplicationPositionsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[193]
+ mi := &file_vtctldata_proto_msgTypes[197]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12315,7 +12535,7 @@ func (x *ShardReplicationPositionsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ShardReplicationPositionsRequest.ProtoReflect.Descriptor instead.
func (*ShardReplicationPositionsRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{193}
+ return file_vtctldata_proto_rawDescGZIP(), []int{197}
}
func (x *ShardReplicationPositionsRequest) GetKeyspace() string {
@@ -12348,7 +12568,7 @@ type ShardReplicationPositionsResponse struct {
func (x *ShardReplicationPositionsResponse) Reset() {
*x = ShardReplicationPositionsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[194]
+ mi := &file_vtctldata_proto_msgTypes[198]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12361,7 +12581,7 @@ func (x *ShardReplicationPositionsResponse) String() string {
func (*ShardReplicationPositionsResponse) ProtoMessage() {}
func (x *ShardReplicationPositionsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[194]
+ mi := &file_vtctldata_proto_msgTypes[198]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12374,7 +12594,7 @@ func (x *ShardReplicationPositionsResponse) ProtoReflect() protoreflect.Message
// Deprecated: Use ShardReplicationPositionsResponse.ProtoReflect.Descriptor instead.
func (*ShardReplicationPositionsResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{194}
+ return file_vtctldata_proto_rawDescGZIP(), []int{198}
}
func (x *ShardReplicationPositionsResponse) GetReplicationStatuses() map[string]*replicationdata.Status {
@@ -12404,7 +12624,7 @@ type ShardReplicationRemoveRequest struct {
func (x *ShardReplicationRemoveRequest) Reset() {
*x = ShardReplicationRemoveRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[195]
+ mi := &file_vtctldata_proto_msgTypes[199]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12417,7 +12637,7 @@ func (x *ShardReplicationRemoveRequest) String() string {
func (*ShardReplicationRemoveRequest) ProtoMessage() {}
func (x *ShardReplicationRemoveRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[195]
+ mi := &file_vtctldata_proto_msgTypes[199]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12430,7 +12650,7 @@ func (x *ShardReplicationRemoveRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ShardReplicationRemoveRequest.ProtoReflect.Descriptor instead.
func (*ShardReplicationRemoveRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{195}
+ return file_vtctldata_proto_rawDescGZIP(), []int{199}
}
func (x *ShardReplicationRemoveRequest) GetKeyspace() string {
@@ -12463,7 +12683,7 @@ type ShardReplicationRemoveResponse struct {
func (x *ShardReplicationRemoveResponse) Reset() {
*x = ShardReplicationRemoveResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[196]
+ mi := &file_vtctldata_proto_msgTypes[200]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12476,7 +12696,7 @@ func (x *ShardReplicationRemoveResponse) String() string {
func (*ShardReplicationRemoveResponse) ProtoMessage() {}
func (x *ShardReplicationRemoveResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[196]
+ mi := &file_vtctldata_proto_msgTypes[200]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12489,7 +12709,7 @@ func (x *ShardReplicationRemoveResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ShardReplicationRemoveResponse.ProtoReflect.Descriptor instead.
func (*ShardReplicationRemoveResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{196}
+ return file_vtctldata_proto_rawDescGZIP(), []int{200}
}
type SleepTabletRequest struct {
@@ -12504,7 +12724,7 @@ type SleepTabletRequest struct {
func (x *SleepTabletRequest) Reset() {
*x = SleepTabletRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[197]
+ mi := &file_vtctldata_proto_msgTypes[201]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12517,7 +12737,7 @@ func (x *SleepTabletRequest) String() string {
func (*SleepTabletRequest) ProtoMessage() {}
func (x *SleepTabletRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[197]
+ mi := &file_vtctldata_proto_msgTypes[201]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12530,7 +12750,7 @@ func (x *SleepTabletRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SleepTabletRequest.ProtoReflect.Descriptor instead.
func (*SleepTabletRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{197}
+ return file_vtctldata_proto_rawDescGZIP(), []int{201}
}
func (x *SleepTabletRequest) GetTabletAlias() *topodata.TabletAlias {
@@ -12556,7 +12776,7 @@ type SleepTabletResponse struct {
func (x *SleepTabletResponse) Reset() {
*x = SleepTabletResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[198]
+ mi := &file_vtctldata_proto_msgTypes[202]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12569,7 +12789,7 @@ func (x *SleepTabletResponse) String() string {
func (*SleepTabletResponse) ProtoMessage() {}
func (x *SleepTabletResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[198]
+ mi := &file_vtctldata_proto_msgTypes[202]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12582,7 +12802,7 @@ func (x *SleepTabletResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SleepTabletResponse.ProtoReflect.Descriptor instead.
func (*SleepTabletResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{198}
+ return file_vtctldata_proto_rawDescGZIP(), []int{202}
}
type SourceShardAddRequest struct {
@@ -12606,7 +12826,7 @@ type SourceShardAddRequest struct {
func (x *SourceShardAddRequest) Reset() {
*x = SourceShardAddRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[199]
+ mi := &file_vtctldata_proto_msgTypes[203]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12619,7 +12839,7 @@ func (x *SourceShardAddRequest) String() string {
func (*SourceShardAddRequest) ProtoMessage() {}
func (x *SourceShardAddRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[199]
+ mi := &file_vtctldata_proto_msgTypes[203]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12632,7 +12852,7 @@ func (x *SourceShardAddRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SourceShardAddRequest.ProtoReflect.Descriptor instead.
func (*SourceShardAddRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{199}
+ return file_vtctldata_proto_rawDescGZIP(), []int{203}
}
func (x *SourceShardAddRequest) GetKeyspace() string {
@@ -12696,7 +12916,7 @@ type SourceShardAddResponse struct {
func (x *SourceShardAddResponse) Reset() {
*x = SourceShardAddResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[200]
+ mi := &file_vtctldata_proto_msgTypes[204]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12709,7 +12929,7 @@ func (x *SourceShardAddResponse) String() string {
func (*SourceShardAddResponse) ProtoMessage() {}
func (x *SourceShardAddResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[200]
+ mi := &file_vtctldata_proto_msgTypes[204]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12722,7 +12942,7 @@ func (x *SourceShardAddResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SourceShardAddResponse.ProtoReflect.Descriptor instead.
func (*SourceShardAddResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{200}
+ return file_vtctldata_proto_rawDescGZIP(), []int{204}
}
func (x *SourceShardAddResponse) GetShard() *topodata.Shard {
@@ -12745,7 +12965,7 @@ type SourceShardDeleteRequest struct {
func (x *SourceShardDeleteRequest) Reset() {
*x = SourceShardDeleteRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[201]
+ mi := &file_vtctldata_proto_msgTypes[205]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12758,7 +12978,7 @@ func (x *SourceShardDeleteRequest) String() string {
func (*SourceShardDeleteRequest) ProtoMessage() {}
func (x *SourceShardDeleteRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[201]
+ mi := &file_vtctldata_proto_msgTypes[205]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12771,7 +12991,7 @@ func (x *SourceShardDeleteRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SourceShardDeleteRequest.ProtoReflect.Descriptor instead.
func (*SourceShardDeleteRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{201}
+ return file_vtctldata_proto_rawDescGZIP(), []int{205}
}
func (x *SourceShardDeleteRequest) GetKeyspace() string {
@@ -12807,7 +13027,7 @@ type SourceShardDeleteResponse struct {
func (x *SourceShardDeleteResponse) Reset() {
*x = SourceShardDeleteResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[202]
+ mi := &file_vtctldata_proto_msgTypes[206]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12820,7 +13040,7 @@ func (x *SourceShardDeleteResponse) String() string {
func (*SourceShardDeleteResponse) ProtoMessage() {}
func (x *SourceShardDeleteResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[202]
+ mi := &file_vtctldata_proto_msgTypes[206]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12833,7 +13053,7 @@ func (x *SourceShardDeleteResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SourceShardDeleteResponse.ProtoReflect.Descriptor instead.
func (*SourceShardDeleteResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{202}
+ return file_vtctldata_proto_rawDescGZIP(), []int{206}
}
func (x *SourceShardDeleteResponse) GetShard() *topodata.Shard {
@@ -12854,7 +13074,7 @@ type StartReplicationRequest struct {
func (x *StartReplicationRequest) Reset() {
*x = StartReplicationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[203]
+ mi := &file_vtctldata_proto_msgTypes[207]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12867,7 +13087,7 @@ func (x *StartReplicationRequest) String() string {
func (*StartReplicationRequest) ProtoMessage() {}
func (x *StartReplicationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[203]
+ mi := &file_vtctldata_proto_msgTypes[207]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12880,7 +13100,7 @@ func (x *StartReplicationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use StartReplicationRequest.ProtoReflect.Descriptor instead.
func (*StartReplicationRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{203}
+ return file_vtctldata_proto_rawDescGZIP(), []int{207}
}
func (x *StartReplicationRequest) GetTabletAlias() *topodata.TabletAlias {
@@ -12899,7 +13119,7 @@ type StartReplicationResponse struct {
func (x *StartReplicationResponse) Reset() {
*x = StartReplicationResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[204]
+ mi := &file_vtctldata_proto_msgTypes[208]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12912,7 +13132,7 @@ func (x *StartReplicationResponse) String() string {
func (*StartReplicationResponse) ProtoMessage() {}
func (x *StartReplicationResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[204]
+ mi := &file_vtctldata_proto_msgTypes[208]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12925,7 +13145,7 @@ func (x *StartReplicationResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use StartReplicationResponse.ProtoReflect.Descriptor instead.
func (*StartReplicationResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{204}
+ return file_vtctldata_proto_rawDescGZIP(), []int{208}
}
type StopReplicationRequest struct {
@@ -12939,7 +13159,7 @@ type StopReplicationRequest struct {
func (x *StopReplicationRequest) Reset() {
*x = StopReplicationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[205]
+ mi := &file_vtctldata_proto_msgTypes[209]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12952,7 +13172,7 @@ func (x *StopReplicationRequest) String() string {
func (*StopReplicationRequest) ProtoMessage() {}
func (x *StopReplicationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[205]
+ mi := &file_vtctldata_proto_msgTypes[209]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -12965,7 +13185,7 @@ func (x *StopReplicationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use StopReplicationRequest.ProtoReflect.Descriptor instead.
func (*StopReplicationRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{205}
+ return file_vtctldata_proto_rawDescGZIP(), []int{209}
}
func (x *StopReplicationRequest) GetTabletAlias() *topodata.TabletAlias {
@@ -12984,7 +13204,7 @@ type StopReplicationResponse struct {
func (x *StopReplicationResponse) Reset() {
*x = StopReplicationResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[206]
+ mi := &file_vtctldata_proto_msgTypes[210]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -12997,7 +13217,7 @@ func (x *StopReplicationResponse) String() string {
func (*StopReplicationResponse) ProtoMessage() {}
func (x *StopReplicationResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[206]
+ mi := &file_vtctldata_proto_msgTypes[210]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13010,7 +13230,7 @@ func (x *StopReplicationResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use StopReplicationResponse.ProtoReflect.Descriptor instead.
func (*StopReplicationResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{206}
+ return file_vtctldata_proto_rawDescGZIP(), []int{210}
}
type TabletExternallyReparentedRequest struct {
@@ -13026,7 +13246,7 @@ type TabletExternallyReparentedRequest struct {
func (x *TabletExternallyReparentedRequest) Reset() {
*x = TabletExternallyReparentedRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[207]
+ mi := &file_vtctldata_proto_msgTypes[211]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13039,7 +13259,7 @@ func (x *TabletExternallyReparentedRequest) String() string {
func (*TabletExternallyReparentedRequest) ProtoMessage() {}
func (x *TabletExternallyReparentedRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[207]
+ mi := &file_vtctldata_proto_msgTypes[211]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13052,7 +13272,7 @@ func (x *TabletExternallyReparentedRequest) ProtoReflect() protoreflect.Message
// Deprecated: Use TabletExternallyReparentedRequest.ProtoReflect.Descriptor instead.
func (*TabletExternallyReparentedRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{207}
+ return file_vtctldata_proto_rawDescGZIP(), []int{211}
}
func (x *TabletExternallyReparentedRequest) GetTablet() *topodata.TabletAlias {
@@ -13076,7 +13296,7 @@ type TabletExternallyReparentedResponse struct {
func (x *TabletExternallyReparentedResponse) Reset() {
*x = TabletExternallyReparentedResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[208]
+ mi := &file_vtctldata_proto_msgTypes[212]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13089,7 +13309,7 @@ func (x *TabletExternallyReparentedResponse) String() string {
func (*TabletExternallyReparentedResponse) ProtoMessage() {}
func (x *TabletExternallyReparentedResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[208]
+ mi := &file_vtctldata_proto_msgTypes[212]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13102,7 +13322,7 @@ func (x *TabletExternallyReparentedResponse) ProtoReflect() protoreflect.Message
// Deprecated: Use TabletExternallyReparentedResponse.ProtoReflect.Descriptor instead.
func (*TabletExternallyReparentedResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{208}
+ return file_vtctldata_proto_rawDescGZIP(), []int{212}
}
func (x *TabletExternallyReparentedResponse) GetKeyspace() string {
@@ -13145,7 +13365,7 @@ type UpdateCellInfoRequest struct {
func (x *UpdateCellInfoRequest) Reset() {
*x = UpdateCellInfoRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[209]
+ mi := &file_vtctldata_proto_msgTypes[213]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13158,7 +13378,7 @@ func (x *UpdateCellInfoRequest) String() string {
func (*UpdateCellInfoRequest) ProtoMessage() {}
func (x *UpdateCellInfoRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[209]
+ mi := &file_vtctldata_proto_msgTypes[213]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13171,7 +13391,7 @@ func (x *UpdateCellInfoRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateCellInfoRequest.ProtoReflect.Descriptor instead.
func (*UpdateCellInfoRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{209}
+ return file_vtctldata_proto_rawDescGZIP(), []int{213}
}
func (x *UpdateCellInfoRequest) GetName() string {
@@ -13200,7 +13420,7 @@ type UpdateCellInfoResponse struct {
func (x *UpdateCellInfoResponse) Reset() {
*x = UpdateCellInfoResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[210]
+ mi := &file_vtctldata_proto_msgTypes[214]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13213,7 +13433,7 @@ func (x *UpdateCellInfoResponse) String() string {
func (*UpdateCellInfoResponse) ProtoMessage() {}
func (x *UpdateCellInfoResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[210]
+ mi := &file_vtctldata_proto_msgTypes[214]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13226,7 +13446,7 @@ func (x *UpdateCellInfoResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateCellInfoResponse.ProtoReflect.Descriptor instead.
func (*UpdateCellInfoResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{210}
+ return file_vtctldata_proto_rawDescGZIP(), []int{214}
}
func (x *UpdateCellInfoResponse) GetName() string {
@@ -13255,7 +13475,7 @@ type UpdateCellsAliasRequest struct {
func (x *UpdateCellsAliasRequest) Reset() {
*x = UpdateCellsAliasRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[211]
+ mi := &file_vtctldata_proto_msgTypes[215]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13268,7 +13488,7 @@ func (x *UpdateCellsAliasRequest) String() string {
func (*UpdateCellsAliasRequest) ProtoMessage() {}
func (x *UpdateCellsAliasRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[211]
+ mi := &file_vtctldata_proto_msgTypes[215]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13281,7 +13501,7 @@ func (x *UpdateCellsAliasRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateCellsAliasRequest.ProtoReflect.Descriptor instead.
func (*UpdateCellsAliasRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{211}
+ return file_vtctldata_proto_rawDescGZIP(), []int{215}
}
func (x *UpdateCellsAliasRequest) GetName() string {
@@ -13310,7 +13530,7 @@ type UpdateCellsAliasResponse struct {
func (x *UpdateCellsAliasResponse) Reset() {
*x = UpdateCellsAliasResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[212]
+ mi := &file_vtctldata_proto_msgTypes[216]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13323,7 +13543,7 @@ func (x *UpdateCellsAliasResponse) String() string {
func (*UpdateCellsAliasResponse) ProtoMessage() {}
func (x *UpdateCellsAliasResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[212]
+ mi := &file_vtctldata_proto_msgTypes[216]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13336,7 +13556,7 @@ func (x *UpdateCellsAliasResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateCellsAliasResponse.ProtoReflect.Descriptor instead.
func (*UpdateCellsAliasResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{212}
+ return file_vtctldata_proto_rawDescGZIP(), []int{216}
}
func (x *UpdateCellsAliasResponse) GetName() string {
@@ -13364,7 +13584,7 @@ type ValidateRequest struct {
func (x *ValidateRequest) Reset() {
*x = ValidateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[213]
+ mi := &file_vtctldata_proto_msgTypes[217]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13377,7 +13597,7 @@ func (x *ValidateRequest) String() string {
func (*ValidateRequest) ProtoMessage() {}
func (x *ValidateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[213]
+ mi := &file_vtctldata_proto_msgTypes[217]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13390,7 +13610,7 @@ func (x *ValidateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateRequest.ProtoReflect.Descriptor instead.
func (*ValidateRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{213}
+ return file_vtctldata_proto_rawDescGZIP(), []int{217}
}
func (x *ValidateRequest) GetPingTablets() bool {
@@ -13412,7 +13632,7 @@ type ValidateResponse struct {
func (x *ValidateResponse) Reset() {
*x = ValidateResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[214]
+ mi := &file_vtctldata_proto_msgTypes[218]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13425,7 +13645,7 @@ func (x *ValidateResponse) String() string {
func (*ValidateResponse) ProtoMessage() {}
func (x *ValidateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[214]
+ mi := &file_vtctldata_proto_msgTypes[218]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13438,7 +13658,7 @@ func (x *ValidateResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateResponse.ProtoReflect.Descriptor instead.
func (*ValidateResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{214}
+ return file_vtctldata_proto_rawDescGZIP(), []int{218}
}
func (x *ValidateResponse) GetResults() []string {
@@ -13467,7 +13687,7 @@ type ValidateKeyspaceRequest struct {
func (x *ValidateKeyspaceRequest) Reset() {
*x = ValidateKeyspaceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[215]
+ mi := &file_vtctldata_proto_msgTypes[219]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13480,7 +13700,7 @@ func (x *ValidateKeyspaceRequest) String() string {
func (*ValidateKeyspaceRequest) ProtoMessage() {}
func (x *ValidateKeyspaceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[215]
+ mi := &file_vtctldata_proto_msgTypes[219]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13493,7 +13713,7 @@ func (x *ValidateKeyspaceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateKeyspaceRequest.ProtoReflect.Descriptor instead.
func (*ValidateKeyspaceRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{215}
+ return file_vtctldata_proto_rawDescGZIP(), []int{219}
}
func (x *ValidateKeyspaceRequest) GetKeyspace() string {
@@ -13522,7 +13742,7 @@ type ValidateKeyspaceResponse struct {
func (x *ValidateKeyspaceResponse) Reset() {
*x = ValidateKeyspaceResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[216]
+ mi := &file_vtctldata_proto_msgTypes[220]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13535,7 +13755,7 @@ func (x *ValidateKeyspaceResponse) String() string {
func (*ValidateKeyspaceResponse) ProtoMessage() {}
func (x *ValidateKeyspaceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[216]
+ mi := &file_vtctldata_proto_msgTypes[220]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13548,7 +13768,7 @@ func (x *ValidateKeyspaceResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateKeyspaceResponse.ProtoReflect.Descriptor instead.
func (*ValidateKeyspaceResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{216}
+ return file_vtctldata_proto_rawDescGZIP(), []int{220}
}
func (x *ValidateKeyspaceResponse) GetResults() []string {
@@ -13580,7 +13800,7 @@ type ValidateSchemaKeyspaceRequest struct {
func (x *ValidateSchemaKeyspaceRequest) Reset() {
*x = ValidateSchemaKeyspaceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[217]
+ mi := &file_vtctldata_proto_msgTypes[221]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13593,7 +13813,7 @@ func (x *ValidateSchemaKeyspaceRequest) String() string {
func (*ValidateSchemaKeyspaceRequest) ProtoMessage() {}
func (x *ValidateSchemaKeyspaceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[217]
+ mi := &file_vtctldata_proto_msgTypes[221]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13606,7 +13826,7 @@ func (x *ValidateSchemaKeyspaceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateSchemaKeyspaceRequest.ProtoReflect.Descriptor instead.
func (*ValidateSchemaKeyspaceRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{217}
+ return file_vtctldata_proto_rawDescGZIP(), []int{221}
}
func (x *ValidateSchemaKeyspaceRequest) GetKeyspace() string {
@@ -13656,7 +13876,7 @@ type ValidateSchemaKeyspaceResponse struct {
func (x *ValidateSchemaKeyspaceResponse) Reset() {
*x = ValidateSchemaKeyspaceResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[218]
+ mi := &file_vtctldata_proto_msgTypes[222]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13669,7 +13889,7 @@ func (x *ValidateSchemaKeyspaceResponse) String() string {
func (*ValidateSchemaKeyspaceResponse) ProtoMessage() {}
func (x *ValidateSchemaKeyspaceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[218]
+ mi := &file_vtctldata_proto_msgTypes[222]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13682,7 +13902,7 @@ func (x *ValidateSchemaKeyspaceResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateSchemaKeyspaceResponse.ProtoReflect.Descriptor instead.
func (*ValidateSchemaKeyspaceResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{218}
+ return file_vtctldata_proto_rawDescGZIP(), []int{222}
}
func (x *ValidateSchemaKeyspaceResponse) GetResults() []string {
@@ -13712,7 +13932,7 @@ type ValidateShardRequest struct {
func (x *ValidateShardRequest) Reset() {
*x = ValidateShardRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[219]
+ mi := &file_vtctldata_proto_msgTypes[223]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13725,7 +13945,7 @@ func (x *ValidateShardRequest) String() string {
func (*ValidateShardRequest) ProtoMessage() {}
func (x *ValidateShardRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[219]
+ mi := &file_vtctldata_proto_msgTypes[223]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13738,7 +13958,7 @@ func (x *ValidateShardRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateShardRequest.ProtoReflect.Descriptor instead.
func (*ValidateShardRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{219}
+ return file_vtctldata_proto_rawDescGZIP(), []int{223}
}
func (x *ValidateShardRequest) GetKeyspace() string {
@@ -13773,7 +13993,7 @@ type ValidateShardResponse struct {
func (x *ValidateShardResponse) Reset() {
*x = ValidateShardResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[220]
+ mi := &file_vtctldata_proto_msgTypes[224]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13786,7 +14006,7 @@ func (x *ValidateShardResponse) String() string {
func (*ValidateShardResponse) ProtoMessage() {}
func (x *ValidateShardResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[220]
+ mi := &file_vtctldata_proto_msgTypes[224]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13799,7 +14019,7 @@ func (x *ValidateShardResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateShardResponse.ProtoReflect.Descriptor instead.
func (*ValidateShardResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{220}
+ return file_vtctldata_proto_rawDescGZIP(), []int{224}
}
func (x *ValidateShardResponse) GetResults() []string {
@@ -13820,7 +14040,7 @@ type ValidateVersionKeyspaceRequest struct {
func (x *ValidateVersionKeyspaceRequest) Reset() {
*x = ValidateVersionKeyspaceRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[221]
+ mi := &file_vtctldata_proto_msgTypes[225]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13833,7 +14053,7 @@ func (x *ValidateVersionKeyspaceRequest) String() string {
func (*ValidateVersionKeyspaceRequest) ProtoMessage() {}
func (x *ValidateVersionKeyspaceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[221]
+ mi := &file_vtctldata_proto_msgTypes[225]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13846,7 +14066,7 @@ func (x *ValidateVersionKeyspaceRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateVersionKeyspaceRequest.ProtoReflect.Descriptor instead.
func (*ValidateVersionKeyspaceRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{221}
+ return file_vtctldata_proto_rawDescGZIP(), []int{225}
}
func (x *ValidateVersionKeyspaceRequest) GetKeyspace() string {
@@ -13868,7 +14088,7 @@ type ValidateVersionKeyspaceResponse struct {
func (x *ValidateVersionKeyspaceResponse) Reset() {
*x = ValidateVersionKeyspaceResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[222]
+ mi := &file_vtctldata_proto_msgTypes[226]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13881,7 +14101,7 @@ func (x *ValidateVersionKeyspaceResponse) String() string {
func (*ValidateVersionKeyspaceResponse) ProtoMessage() {}
func (x *ValidateVersionKeyspaceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[222]
+ mi := &file_vtctldata_proto_msgTypes[226]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13894,7 +14114,7 @@ func (x *ValidateVersionKeyspaceResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateVersionKeyspaceResponse.ProtoReflect.Descriptor instead.
func (*ValidateVersionKeyspaceResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{222}
+ return file_vtctldata_proto_rawDescGZIP(), []int{226}
}
func (x *ValidateVersionKeyspaceResponse) GetResults() []string {
@@ -13923,7 +14143,7 @@ type ValidateVersionShardRequest struct {
func (x *ValidateVersionShardRequest) Reset() {
*x = ValidateVersionShardRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[223]
+ mi := &file_vtctldata_proto_msgTypes[227]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13936,7 +14156,7 @@ func (x *ValidateVersionShardRequest) String() string {
func (*ValidateVersionShardRequest) ProtoMessage() {}
func (x *ValidateVersionShardRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[223]
+ mi := &file_vtctldata_proto_msgTypes[227]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -13949,7 +14169,7 @@ func (x *ValidateVersionShardRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateVersionShardRequest.ProtoReflect.Descriptor instead.
func (*ValidateVersionShardRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{223}
+ return file_vtctldata_proto_rawDescGZIP(), []int{227}
}
func (x *ValidateVersionShardRequest) GetKeyspace() string {
@@ -13977,7 +14197,7 @@ type ValidateVersionShardResponse struct {
func (x *ValidateVersionShardResponse) Reset() {
*x = ValidateVersionShardResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[224]
+ mi := &file_vtctldata_proto_msgTypes[228]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -13990,7 +14210,7 @@ func (x *ValidateVersionShardResponse) String() string {
func (*ValidateVersionShardResponse) ProtoMessage() {}
func (x *ValidateVersionShardResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[224]
+ mi := &file_vtctldata_proto_msgTypes[228]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14003,7 +14223,7 @@ func (x *ValidateVersionShardResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateVersionShardResponse.ProtoReflect.Descriptor instead.
func (*ValidateVersionShardResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{224}
+ return file_vtctldata_proto_rawDescGZIP(), []int{228}
}
func (x *ValidateVersionShardResponse) GetResults() []string {
@@ -14027,7 +14247,7 @@ type ValidateVSchemaRequest struct {
func (x *ValidateVSchemaRequest) Reset() {
*x = ValidateVSchemaRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[225]
+ mi := &file_vtctldata_proto_msgTypes[229]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14040,7 +14260,7 @@ func (x *ValidateVSchemaRequest) String() string {
func (*ValidateVSchemaRequest) ProtoMessage() {}
func (x *ValidateVSchemaRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[225]
+ mi := &file_vtctldata_proto_msgTypes[229]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14053,7 +14273,7 @@ func (x *ValidateVSchemaRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateVSchemaRequest.ProtoReflect.Descriptor instead.
func (*ValidateVSchemaRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{225}
+ return file_vtctldata_proto_rawDescGZIP(), []int{229}
}
func (x *ValidateVSchemaRequest) GetKeyspace() string {
@@ -14096,7 +14316,7 @@ type ValidateVSchemaResponse struct {
func (x *ValidateVSchemaResponse) Reset() {
*x = ValidateVSchemaResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[226]
+ mi := &file_vtctldata_proto_msgTypes[230]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14109,7 +14329,7 @@ func (x *ValidateVSchemaResponse) String() string {
func (*ValidateVSchemaResponse) ProtoMessage() {}
func (x *ValidateVSchemaResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[226]
+ mi := &file_vtctldata_proto_msgTypes[230]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14122,7 +14342,7 @@ func (x *ValidateVSchemaResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ValidateVSchemaResponse.ProtoReflect.Descriptor instead.
func (*ValidateVSchemaResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{226}
+ return file_vtctldata_proto_rawDescGZIP(), []int{230}
}
func (x *ValidateVSchemaResponse) GetResults() []string {
@@ -14164,12 +14384,14 @@ type VDiffCreateRequest struct {
Verbose bool `protobuf:"varint,18,opt,name=verbose,proto3" json:"verbose,omitempty"`
MaxReportSampleRows int64 `protobuf:"varint,19,opt,name=max_report_sample_rows,json=maxReportSampleRows,proto3" json:"max_report_sample_rows,omitempty"`
MaxDiffDuration *vttime.Duration `protobuf:"bytes,20,opt,name=max_diff_duration,json=maxDiffDuration,proto3" json:"max_diff_duration,omitempty"`
+ RowDiffColumnTruncateAt int64 `protobuf:"varint,21,opt,name=row_diff_column_truncate_at,json=rowDiffColumnTruncateAt,proto3" json:"row_diff_column_truncate_at,omitempty"`
+ AutoStart *bool `protobuf:"varint,22,opt,name=auto_start,json=autoStart,proto3,oneof" json:"auto_start,omitempty"`
}
func (x *VDiffCreateRequest) Reset() {
*x = VDiffCreateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[227]
+ mi := &file_vtctldata_proto_msgTypes[231]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14182,7 +14404,7 @@ func (x *VDiffCreateRequest) String() string {
func (*VDiffCreateRequest) ProtoMessage() {}
func (x *VDiffCreateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[227]
+ mi := &file_vtctldata_proto_msgTypes[231]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14195,7 +14417,7 @@ func (x *VDiffCreateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffCreateRequest.ProtoReflect.Descriptor instead.
func (*VDiffCreateRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{227}
+ return file_vtctldata_proto_rawDescGZIP(), []int{231}
}
func (x *VDiffCreateRequest) GetWorkflow() string {
@@ -14338,6 +14560,20 @@ func (x *VDiffCreateRequest) GetMaxDiffDuration() *vttime.Duration {
return nil
}
+func (x *VDiffCreateRequest) GetRowDiffColumnTruncateAt() int64 {
+ if x != nil {
+ return x.RowDiffColumnTruncateAt
+ }
+ return 0
+}
+
+func (x *VDiffCreateRequest) GetAutoStart() bool {
+ if x != nil && x.AutoStart != nil {
+ return *x.AutoStart
+ }
+ return false
+}
+
type VDiffCreateResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -14351,7 +14587,7 @@ type VDiffCreateResponse struct {
func (x *VDiffCreateResponse) Reset() {
*x = VDiffCreateResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[228]
+ mi := &file_vtctldata_proto_msgTypes[232]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14364,7 +14600,7 @@ func (x *VDiffCreateResponse) String() string {
func (*VDiffCreateResponse) ProtoMessage() {}
func (x *VDiffCreateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[228]
+ mi := &file_vtctldata_proto_msgTypes[232]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14377,7 +14613,7 @@ func (x *VDiffCreateResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffCreateResponse.ProtoReflect.Descriptor instead.
func (*VDiffCreateResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{228}
+ return file_vtctldata_proto_rawDescGZIP(), []int{232}
}
func (x *VDiffCreateResponse) GetUUID() string {
@@ -14401,7 +14637,7 @@ type VDiffDeleteRequest struct {
func (x *VDiffDeleteRequest) Reset() {
*x = VDiffDeleteRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[229]
+ mi := &file_vtctldata_proto_msgTypes[233]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14414,7 +14650,7 @@ func (x *VDiffDeleteRequest) String() string {
func (*VDiffDeleteRequest) ProtoMessage() {}
func (x *VDiffDeleteRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[229]
+ mi := &file_vtctldata_proto_msgTypes[233]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14427,7 +14663,7 @@ func (x *VDiffDeleteRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffDeleteRequest.ProtoReflect.Descriptor instead.
func (*VDiffDeleteRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{229}
+ return file_vtctldata_proto_rawDescGZIP(), []int{233}
}
func (x *VDiffDeleteRequest) GetWorkflow() string {
@@ -14460,7 +14696,7 @@ type VDiffDeleteResponse struct {
func (x *VDiffDeleteResponse) Reset() {
*x = VDiffDeleteResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[230]
+ mi := &file_vtctldata_proto_msgTypes[234]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14473,7 +14709,7 @@ func (x *VDiffDeleteResponse) String() string {
func (*VDiffDeleteResponse) ProtoMessage() {}
func (x *VDiffDeleteResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[230]
+ mi := &file_vtctldata_proto_msgTypes[234]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14486,7 +14722,7 @@ func (x *VDiffDeleteResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffDeleteResponse.ProtoReflect.Descriptor instead.
func (*VDiffDeleteResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{230}
+ return file_vtctldata_proto_rawDescGZIP(), []int{234}
}
type VDiffResumeRequest struct {
@@ -14494,15 +14730,16 @@ type VDiffResumeRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Workflow string `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"`
- TargetKeyspace string `protobuf:"bytes,2,opt,name=target_keyspace,json=targetKeyspace,proto3" json:"target_keyspace,omitempty"`
- Uuid string `protobuf:"bytes,3,opt,name=uuid,proto3" json:"uuid,omitempty"`
+ Workflow string `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"`
+ TargetKeyspace string `protobuf:"bytes,2,opt,name=target_keyspace,json=targetKeyspace,proto3" json:"target_keyspace,omitempty"`
+ Uuid string `protobuf:"bytes,3,opt,name=uuid,proto3" json:"uuid,omitempty"`
+ TargetShards []string `protobuf:"bytes,4,rep,name=target_shards,json=targetShards,proto3" json:"target_shards,omitempty"`
}
func (x *VDiffResumeRequest) Reset() {
*x = VDiffResumeRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[231]
+ mi := &file_vtctldata_proto_msgTypes[235]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14515,7 +14752,7 @@ func (x *VDiffResumeRequest) String() string {
func (*VDiffResumeRequest) ProtoMessage() {}
func (x *VDiffResumeRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[231]
+ mi := &file_vtctldata_proto_msgTypes[235]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14528,7 +14765,7 @@ func (x *VDiffResumeRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffResumeRequest.ProtoReflect.Descriptor instead.
func (*VDiffResumeRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{231}
+ return file_vtctldata_proto_rawDescGZIP(), []int{235}
}
func (x *VDiffResumeRequest) GetWorkflow() string {
@@ -14552,6 +14789,13 @@ func (x *VDiffResumeRequest) GetUuid() string {
return ""
}
+func (x *VDiffResumeRequest) GetTargetShards() []string {
+ if x != nil {
+ return x.TargetShards
+ }
+ return nil
+}
+
type VDiffResumeResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -14561,7 +14805,7 @@ type VDiffResumeResponse struct {
func (x *VDiffResumeResponse) Reset() {
*x = VDiffResumeResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[232]
+ mi := &file_vtctldata_proto_msgTypes[236]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14574,7 +14818,7 @@ func (x *VDiffResumeResponse) String() string {
func (*VDiffResumeResponse) ProtoMessage() {}
func (x *VDiffResumeResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[232]
+ mi := &file_vtctldata_proto_msgTypes[236]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14587,7 +14831,7 @@ func (x *VDiffResumeResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffResumeResponse.ProtoReflect.Descriptor instead.
func (*VDiffResumeResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{232}
+ return file_vtctldata_proto_rawDescGZIP(), []int{236}
}
type VDiffShowRequest struct {
@@ -14604,7 +14848,7 @@ type VDiffShowRequest struct {
func (x *VDiffShowRequest) Reset() {
*x = VDiffShowRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[233]
+ mi := &file_vtctldata_proto_msgTypes[237]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14617,7 +14861,7 @@ func (x *VDiffShowRequest) String() string {
func (*VDiffShowRequest) ProtoMessage() {}
func (x *VDiffShowRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[233]
+ mi := &file_vtctldata_proto_msgTypes[237]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14630,7 +14874,7 @@ func (x *VDiffShowRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffShowRequest.ProtoReflect.Descriptor instead.
func (*VDiffShowRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{233}
+ return file_vtctldata_proto_rawDescGZIP(), []int{237}
}
func (x *VDiffShowRequest) GetWorkflow() string {
@@ -14666,7 +14910,7 @@ type VDiffShowResponse struct {
func (x *VDiffShowResponse) Reset() {
*x = VDiffShowResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[234]
+ mi := &file_vtctldata_proto_msgTypes[238]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14679,7 +14923,7 @@ func (x *VDiffShowResponse) String() string {
func (*VDiffShowResponse) ProtoMessage() {}
func (x *VDiffShowResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[234]
+ mi := &file_vtctldata_proto_msgTypes[238]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14692,7 +14936,7 @@ func (x *VDiffShowResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffShowResponse.ProtoReflect.Descriptor instead.
func (*VDiffShowResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{234}
+ return file_vtctldata_proto_rawDescGZIP(), []int{238}
}
func (x *VDiffShowResponse) GetTabletResponses() map[string]*tabletmanagerdata.VDiffResponse {
@@ -14707,15 +14951,16 @@ type VDiffStopRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Workflow string `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"`
- TargetKeyspace string `protobuf:"bytes,2,opt,name=target_keyspace,json=targetKeyspace,proto3" json:"target_keyspace,omitempty"`
- Uuid string `protobuf:"bytes,3,opt,name=uuid,proto3" json:"uuid,omitempty"`
+ Workflow string `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"`
+ TargetKeyspace string `protobuf:"bytes,2,opt,name=target_keyspace,json=targetKeyspace,proto3" json:"target_keyspace,omitempty"`
+ Uuid string `protobuf:"bytes,3,opt,name=uuid,proto3" json:"uuid,omitempty"`
+ TargetShards []string `protobuf:"bytes,4,rep,name=target_shards,json=targetShards,proto3" json:"target_shards,omitempty"`
}
func (x *VDiffStopRequest) Reset() {
*x = VDiffStopRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[235]
+ mi := &file_vtctldata_proto_msgTypes[239]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14728,7 +14973,7 @@ func (x *VDiffStopRequest) String() string {
func (*VDiffStopRequest) ProtoMessage() {}
func (x *VDiffStopRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[235]
+ mi := &file_vtctldata_proto_msgTypes[239]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14741,7 +14986,7 @@ func (x *VDiffStopRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffStopRequest.ProtoReflect.Descriptor instead.
func (*VDiffStopRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{235}
+ return file_vtctldata_proto_rawDescGZIP(), []int{239}
}
func (x *VDiffStopRequest) GetWorkflow() string {
@@ -14765,6 +15010,13 @@ func (x *VDiffStopRequest) GetUuid() string {
return ""
}
+func (x *VDiffStopRequest) GetTargetShards() []string {
+ if x != nil {
+ return x.TargetShards
+ }
+ return nil
+}
+
type VDiffStopResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -14774,7 +15026,7 @@ type VDiffStopResponse struct {
func (x *VDiffStopResponse) Reset() {
*x = VDiffStopResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[236]
+ mi := &file_vtctldata_proto_msgTypes[240]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14787,7 +15039,7 @@ func (x *VDiffStopResponse) String() string {
func (*VDiffStopResponse) ProtoMessage() {}
func (x *VDiffStopResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[236]
+ mi := &file_vtctldata_proto_msgTypes[240]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14800,7 +15052,7 @@ func (x *VDiffStopResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use VDiffStopResponse.ProtoReflect.Descriptor instead.
func (*VDiffStopResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{236}
+ return file_vtctldata_proto_rawDescGZIP(), []int{240}
}
type WorkflowDeleteRequest struct {
@@ -14818,7 +15070,7 @@ type WorkflowDeleteRequest struct {
func (x *WorkflowDeleteRequest) Reset() {
*x = WorkflowDeleteRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[237]
+ mi := &file_vtctldata_proto_msgTypes[241]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14831,7 +15083,7 @@ func (x *WorkflowDeleteRequest) String() string {
func (*WorkflowDeleteRequest) ProtoMessage() {}
func (x *WorkflowDeleteRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[237]
+ mi := &file_vtctldata_proto_msgTypes[241]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14844,7 +15096,7 @@ func (x *WorkflowDeleteRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkflowDeleteRequest.ProtoReflect.Descriptor instead.
func (*WorkflowDeleteRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{237}
+ return file_vtctldata_proto_rawDescGZIP(), []int{241}
}
func (x *WorkflowDeleteRequest) GetKeyspace() string {
@@ -14894,7 +15146,7 @@ type WorkflowDeleteResponse struct {
func (x *WorkflowDeleteResponse) Reset() {
*x = WorkflowDeleteResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[238]
+ mi := &file_vtctldata_proto_msgTypes[242]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14907,7 +15159,7 @@ func (x *WorkflowDeleteResponse) String() string {
func (*WorkflowDeleteResponse) ProtoMessage() {}
func (x *WorkflowDeleteResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[238]
+ mi := &file_vtctldata_proto_msgTypes[242]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14920,7 +15172,7 @@ func (x *WorkflowDeleteResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkflowDeleteResponse.ProtoReflect.Descriptor instead.
func (*WorkflowDeleteResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{238}
+ return file_vtctldata_proto_rawDescGZIP(), []int{242}
}
func (x *WorkflowDeleteResponse) GetSummary() string {
@@ -14950,7 +15202,7 @@ type WorkflowStatusRequest struct {
func (x *WorkflowStatusRequest) Reset() {
*x = WorkflowStatusRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[239]
+ mi := &file_vtctldata_proto_msgTypes[243]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -14963,7 +15215,7 @@ func (x *WorkflowStatusRequest) String() string {
func (*WorkflowStatusRequest) ProtoMessage() {}
func (x *WorkflowStatusRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[239]
+ mi := &file_vtctldata_proto_msgTypes[243]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -14976,7 +15228,7 @@ func (x *WorkflowStatusRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkflowStatusRequest.ProtoReflect.Descriptor instead.
func (*WorkflowStatusRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{239}
+ return file_vtctldata_proto_rawDescGZIP(), []int{243}
}
func (x *WorkflowStatusRequest) GetKeyspace() string {
@@ -15014,7 +15266,7 @@ type WorkflowStatusResponse struct {
func (x *WorkflowStatusResponse) Reset() {
*x = WorkflowStatusResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[240]
+ mi := &file_vtctldata_proto_msgTypes[244]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15027,7 +15279,7 @@ func (x *WorkflowStatusResponse) String() string {
func (*WorkflowStatusResponse) ProtoMessage() {}
func (x *WorkflowStatusResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[240]
+ mi := &file_vtctldata_proto_msgTypes[244]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15040,7 +15292,7 @@ func (x *WorkflowStatusResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkflowStatusResponse.ProtoReflect.Descriptor instead.
func (*WorkflowStatusResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{240}
+ return file_vtctldata_proto_rawDescGZIP(), []int{244}
}
func (x *WorkflowStatusResponse) GetTableCopyState() map[string]*WorkflowStatusResponse_TableCopyState {
@@ -15080,12 +15332,13 @@ type WorkflowSwitchTrafficRequest struct {
DryRun bool `protobuf:"varint,9,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"`
InitializeTargetSequences bool `protobuf:"varint,10,opt,name=initialize_target_sequences,json=initializeTargetSequences,proto3" json:"initialize_target_sequences,omitempty"`
Shards []string `protobuf:"bytes,11,rep,name=shards,proto3" json:"shards,omitempty"`
+ Force bool `protobuf:"varint,12,opt,name=force,proto3" json:"force,omitempty"`
}
func (x *WorkflowSwitchTrafficRequest) Reset() {
*x = WorkflowSwitchTrafficRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[241]
+ mi := &file_vtctldata_proto_msgTypes[245]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15098,7 +15351,7 @@ func (x *WorkflowSwitchTrafficRequest) String() string {
func (*WorkflowSwitchTrafficRequest) ProtoMessage() {}
func (x *WorkflowSwitchTrafficRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[241]
+ mi := &file_vtctldata_proto_msgTypes[245]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15111,7 +15364,7 @@ func (x *WorkflowSwitchTrafficRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkflowSwitchTrafficRequest.ProtoReflect.Descriptor instead.
func (*WorkflowSwitchTrafficRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{241}
+ return file_vtctldata_proto_rawDescGZIP(), []int{245}
}
func (x *WorkflowSwitchTrafficRequest) GetKeyspace() string {
@@ -15191,6 +15444,13 @@ func (x *WorkflowSwitchTrafficRequest) GetShards() []string {
return nil
}
+func (x *WorkflowSwitchTrafficRequest) GetForce() bool {
+ if x != nil {
+ return x.Force
+ }
+ return false
+}
+
type WorkflowSwitchTrafficResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -15205,7 +15465,7 @@ type WorkflowSwitchTrafficResponse struct {
func (x *WorkflowSwitchTrafficResponse) Reset() {
*x = WorkflowSwitchTrafficResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[242]
+ mi := &file_vtctldata_proto_msgTypes[246]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15218,7 +15478,7 @@ func (x *WorkflowSwitchTrafficResponse) String() string {
func (*WorkflowSwitchTrafficResponse) ProtoMessage() {}
func (x *WorkflowSwitchTrafficResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[242]
+ mi := &file_vtctldata_proto_msgTypes[246]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15231,7 +15491,7 @@ func (x *WorkflowSwitchTrafficResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkflowSwitchTrafficResponse.ProtoReflect.Descriptor instead.
func (*WorkflowSwitchTrafficResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{242}
+ return file_vtctldata_proto_rawDescGZIP(), []int{246}
}
func (x *WorkflowSwitchTrafficResponse) GetSummary() string {
@@ -15276,7 +15536,7 @@ type WorkflowUpdateRequest struct {
func (x *WorkflowUpdateRequest) Reset() {
*x = WorkflowUpdateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[243]
+ mi := &file_vtctldata_proto_msgTypes[247]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15289,7 +15549,7 @@ func (x *WorkflowUpdateRequest) String() string {
func (*WorkflowUpdateRequest) ProtoMessage() {}
func (x *WorkflowUpdateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[243]
+ mi := &file_vtctldata_proto_msgTypes[247]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15302,7 +15562,7 @@ func (x *WorkflowUpdateRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkflowUpdateRequest.ProtoReflect.Descriptor instead.
func (*WorkflowUpdateRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{243}
+ return file_vtctldata_proto_rawDescGZIP(), []int{247}
}
func (x *WorkflowUpdateRequest) GetKeyspace() string {
@@ -15331,7 +15591,7 @@ type WorkflowUpdateResponse struct {
func (x *WorkflowUpdateResponse) Reset() {
*x = WorkflowUpdateResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[244]
+ mi := &file_vtctldata_proto_msgTypes[248]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15344,7 +15604,7 @@ func (x *WorkflowUpdateResponse) String() string {
func (*WorkflowUpdateResponse) ProtoMessage() {}
func (x *WorkflowUpdateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[244]
+ mi := &file_vtctldata_proto_msgTypes[248]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15357,7 +15617,7 @@ func (x *WorkflowUpdateResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkflowUpdateResponse.ProtoReflect.Descriptor instead.
func (*WorkflowUpdateResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{244}
+ return file_vtctldata_proto_rawDescGZIP(), []int{248}
}
func (x *WorkflowUpdateResponse) GetSummary() string {
@@ -15383,7 +15643,7 @@ type GetMirrorRulesRequest struct {
func (x *GetMirrorRulesRequest) Reset() {
*x = GetMirrorRulesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[245]
+ mi := &file_vtctldata_proto_msgTypes[249]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15396,7 +15656,7 @@ func (x *GetMirrorRulesRequest) String() string {
func (*GetMirrorRulesRequest) ProtoMessage() {}
func (x *GetMirrorRulesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[245]
+ mi := &file_vtctldata_proto_msgTypes[249]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15409,7 +15669,7 @@ func (x *GetMirrorRulesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetMirrorRulesRequest.ProtoReflect.Descriptor instead.
func (*GetMirrorRulesRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{245}
+ return file_vtctldata_proto_rawDescGZIP(), []int{249}
}
type GetMirrorRulesResponse struct {
@@ -15423,7 +15683,7 @@ type GetMirrorRulesResponse struct {
func (x *GetMirrorRulesResponse) Reset() {
*x = GetMirrorRulesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[246]
+ mi := &file_vtctldata_proto_msgTypes[250]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15436,7 +15696,7 @@ func (x *GetMirrorRulesResponse) String() string {
func (*GetMirrorRulesResponse) ProtoMessage() {}
func (x *GetMirrorRulesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[246]
+ mi := &file_vtctldata_proto_msgTypes[250]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15449,7 +15709,7 @@ func (x *GetMirrorRulesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetMirrorRulesResponse.ProtoReflect.Descriptor instead.
func (*GetMirrorRulesResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{246}
+ return file_vtctldata_proto_rawDescGZIP(), []int{250}
}
func (x *GetMirrorRulesResponse) GetMirrorRules() *vschema.MirrorRules {
@@ -15473,7 +15733,7 @@ type WorkflowMirrorTrafficRequest struct {
func (x *WorkflowMirrorTrafficRequest) Reset() {
*x = WorkflowMirrorTrafficRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[247]
+ mi := &file_vtctldata_proto_msgTypes[251]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15486,7 +15746,7 @@ func (x *WorkflowMirrorTrafficRequest) String() string {
func (*WorkflowMirrorTrafficRequest) ProtoMessage() {}
func (x *WorkflowMirrorTrafficRequest) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[247]
+ mi := &file_vtctldata_proto_msgTypes[251]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15499,7 +15759,7 @@ func (x *WorkflowMirrorTrafficRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkflowMirrorTrafficRequest.ProtoReflect.Descriptor instead.
func (*WorkflowMirrorTrafficRequest) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{247}
+ return file_vtctldata_proto_rawDescGZIP(), []int{251}
}
func (x *WorkflowMirrorTrafficRequest) GetKeyspace() string {
@@ -15543,7 +15803,7 @@ type WorkflowMirrorTrafficResponse struct {
func (x *WorkflowMirrorTrafficResponse) Reset() {
*x = WorkflowMirrorTrafficResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[248]
+ mi := &file_vtctldata_proto_msgTypes[252]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15556,7 +15816,7 @@ func (x *WorkflowMirrorTrafficResponse) String() string {
func (*WorkflowMirrorTrafficResponse) ProtoMessage() {}
func (x *WorkflowMirrorTrafficResponse) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[248]
+ mi := &file_vtctldata_proto_msgTypes[252]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15569,7 +15829,7 @@ func (x *WorkflowMirrorTrafficResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorkflowMirrorTrafficResponse.ProtoReflect.Descriptor instead.
func (*WorkflowMirrorTrafficResponse) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{248}
+ return file_vtctldata_proto_rawDescGZIP(), []int{252}
}
func (x *WorkflowMirrorTrafficResponse) GetSummary() string {
@@ -15605,7 +15865,7 @@ type Workflow_ReplicationLocation struct {
func (x *Workflow_ReplicationLocation) Reset() {
*x = Workflow_ReplicationLocation{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[250]
+ mi := &file_vtctldata_proto_msgTypes[255]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15618,7 +15878,7 @@ func (x *Workflow_ReplicationLocation) String() string {
func (*Workflow_ReplicationLocation) ProtoMessage() {}
func (x *Workflow_ReplicationLocation) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[250]
+ mi := &file_vtctldata_proto_msgTypes[255]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15661,7 +15921,7 @@ type Workflow_ShardStream struct {
func (x *Workflow_ShardStream) Reset() {
*x = Workflow_ShardStream{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[251]
+ mi := &file_vtctldata_proto_msgTypes[256]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15674,7 +15934,7 @@ func (x *Workflow_ShardStream) String() string {
func (*Workflow_ShardStream) ProtoMessage() {}
func (x *Workflow_ShardStream) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[251]
+ mi := &file_vtctldata_proto_msgTypes[256]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15749,7 +16009,7 @@ type Workflow_Stream struct {
func (x *Workflow_Stream) Reset() {
*x = Workflow_Stream{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[252]
+ mi := &file_vtctldata_proto_msgTypes[257]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15762,7 +16022,7 @@ func (x *Workflow_Stream) String() string {
func (*Workflow_Stream) ProtoMessage() {}
func (x *Workflow_Stream) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[252]
+ mi := &file_vtctldata_proto_msgTypes[257]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15931,7 +16191,7 @@ type Workflow_Stream_CopyState struct {
func (x *Workflow_Stream_CopyState) Reset() {
*x = Workflow_Stream_CopyState{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[253]
+ mi := &file_vtctldata_proto_msgTypes[258]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -15944,7 +16204,7 @@ func (x *Workflow_Stream_CopyState) String() string {
func (*Workflow_Stream_CopyState) ProtoMessage() {}
func (x *Workflow_Stream_CopyState) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[253]
+ mi := &file_vtctldata_proto_msgTypes[258]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -15999,7 +16259,7 @@ type Workflow_Stream_Log struct {
func (x *Workflow_Stream_Log) Reset() {
*x = Workflow_Stream_Log{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[254]
+ mi := &file_vtctldata_proto_msgTypes[259]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16012,7 +16272,7 @@ func (x *Workflow_Stream_Log) String() string {
func (*Workflow_Stream_Log) ProtoMessage() {}
func (x *Workflow_Stream_Log) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[254]
+ mi := &file_vtctldata_proto_msgTypes[259]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16096,7 +16356,7 @@ type Workflow_Stream_ThrottlerStatus struct {
func (x *Workflow_Stream_ThrottlerStatus) Reset() {
*x = Workflow_Stream_ThrottlerStatus{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[255]
+ mi := &file_vtctldata_proto_msgTypes[260]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16109,7 +16369,7 @@ func (x *Workflow_Stream_ThrottlerStatus) String() string {
func (*Workflow_Stream_ThrottlerStatus) ProtoMessage() {}
func (x *Workflow_Stream_ThrottlerStatus) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[255]
+ mi := &file_vtctldata_proto_msgTypes[260]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16150,7 +16410,7 @@ type ApplyVSchemaResponse_ParamList struct {
func (x *ApplyVSchemaResponse_ParamList) Reset() {
*x = ApplyVSchemaResponse_ParamList{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[258]
+ mi := &file_vtctldata_proto_msgTypes[263]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16163,7 +16423,7 @@ func (x *ApplyVSchemaResponse_ParamList) String() string {
func (*ApplyVSchemaResponse_ParamList) ProtoMessage() {}
func (x *ApplyVSchemaResponse_ParamList) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[258]
+ mi := &file_vtctldata_proto_msgTypes[263]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16197,7 +16457,7 @@ type GetSrvKeyspaceNamesResponse_NameList struct {
func (x *GetSrvKeyspaceNamesResponse_NameList) Reset() {
*x = GetSrvKeyspaceNamesResponse_NameList{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[267]
+ mi := &file_vtctldata_proto_msgTypes[272]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16210,7 +16470,7 @@ func (x *GetSrvKeyspaceNamesResponse_NameList) String() string {
func (*GetSrvKeyspaceNamesResponse_NameList) ProtoMessage() {}
func (x *GetSrvKeyspaceNamesResponse_NameList) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[267]
+ mi := &file_vtctldata_proto_msgTypes[272]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16246,7 +16506,7 @@ type MoveTablesCreateResponse_TabletInfo struct {
func (x *MoveTablesCreateResponse_TabletInfo) Reset() {
*x = MoveTablesCreateResponse_TabletInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[271]
+ mi := &file_vtctldata_proto_msgTypes[276]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16259,7 +16519,7 @@ func (x *MoveTablesCreateResponse_TabletInfo) String() string {
func (*MoveTablesCreateResponse_TabletInfo) ProtoMessage() {}
func (x *MoveTablesCreateResponse_TabletInfo) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[271]
+ mi := &file_vtctldata_proto_msgTypes[276]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16272,7 +16532,7 @@ func (x *MoveTablesCreateResponse_TabletInfo) ProtoReflect() protoreflect.Messag
// Deprecated: Use MoveTablesCreateResponse_TabletInfo.ProtoReflect.Descriptor instead.
func (*MoveTablesCreateResponse_TabletInfo) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{143, 0}
+ return file_vtctldata_proto_rawDescGZIP(), []int{147, 0}
}
func (x *MoveTablesCreateResponse_TabletInfo) GetTablet() *topodata.TabletAlias {
@@ -16302,7 +16562,7 @@ type WorkflowDeleteResponse_TabletInfo struct {
func (x *WorkflowDeleteResponse_TabletInfo) Reset() {
*x = WorkflowDeleteResponse_TabletInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[281]
+ mi := &file_vtctldata_proto_msgTypes[286]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16315,7 +16575,7 @@ func (x *WorkflowDeleteResponse_TabletInfo) String() string {
func (*WorkflowDeleteResponse_TabletInfo) ProtoMessage() {}
func (x *WorkflowDeleteResponse_TabletInfo) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[281]
+ mi := &file_vtctldata_proto_msgTypes[286]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16328,7 +16588,7 @@ func (x *WorkflowDeleteResponse_TabletInfo) ProtoReflect() protoreflect.Message
// Deprecated: Use WorkflowDeleteResponse_TabletInfo.ProtoReflect.Descriptor instead.
func (*WorkflowDeleteResponse_TabletInfo) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{238, 0}
+ return file_vtctldata_proto_rawDescGZIP(), []int{242, 0}
}
func (x *WorkflowDeleteResponse_TabletInfo) GetTablet() *topodata.TabletAlias {
@@ -16361,7 +16621,7 @@ type WorkflowStatusResponse_TableCopyState struct {
func (x *WorkflowStatusResponse_TableCopyState) Reset() {
*x = WorkflowStatusResponse_TableCopyState{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[282]
+ mi := &file_vtctldata_proto_msgTypes[287]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16374,7 +16634,7 @@ func (x *WorkflowStatusResponse_TableCopyState) String() string {
func (*WorkflowStatusResponse_TableCopyState) ProtoMessage() {}
func (x *WorkflowStatusResponse_TableCopyState) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[282]
+ mi := &file_vtctldata_proto_msgTypes[287]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16387,7 +16647,7 @@ func (x *WorkflowStatusResponse_TableCopyState) ProtoReflect() protoreflect.Mess
// Deprecated: Use WorkflowStatusResponse_TableCopyState.ProtoReflect.Descriptor instead.
func (*WorkflowStatusResponse_TableCopyState) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{240, 0}
+ return file_vtctldata_proto_rawDescGZIP(), []int{244, 0}
}
func (x *WorkflowStatusResponse_TableCopyState) GetRowsCopied() int64 {
@@ -16448,7 +16708,7 @@ type WorkflowStatusResponse_ShardStreamState struct {
func (x *WorkflowStatusResponse_ShardStreamState) Reset() {
*x = WorkflowStatusResponse_ShardStreamState{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[283]
+ mi := &file_vtctldata_proto_msgTypes[288]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16461,7 +16721,7 @@ func (x *WorkflowStatusResponse_ShardStreamState) String() string {
func (*WorkflowStatusResponse_ShardStreamState) ProtoMessage() {}
func (x *WorkflowStatusResponse_ShardStreamState) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[283]
+ mi := &file_vtctldata_proto_msgTypes[288]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16474,7 +16734,7 @@ func (x *WorkflowStatusResponse_ShardStreamState) ProtoReflect() protoreflect.Me
// Deprecated: Use WorkflowStatusResponse_ShardStreamState.ProtoReflect.Descriptor instead.
func (*WorkflowStatusResponse_ShardStreamState) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{240, 1}
+ return file_vtctldata_proto_rawDescGZIP(), []int{244, 1}
}
func (x *WorkflowStatusResponse_ShardStreamState) GetId() int32 {
@@ -16530,7 +16790,7 @@ type WorkflowStatusResponse_ShardStreams struct {
func (x *WorkflowStatusResponse_ShardStreams) Reset() {
*x = WorkflowStatusResponse_ShardStreams{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[284]
+ mi := &file_vtctldata_proto_msgTypes[289]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16543,7 +16803,7 @@ func (x *WorkflowStatusResponse_ShardStreams) String() string {
func (*WorkflowStatusResponse_ShardStreams) ProtoMessage() {}
func (x *WorkflowStatusResponse_ShardStreams) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[284]
+ mi := &file_vtctldata_proto_msgTypes[289]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16556,7 +16816,7 @@ func (x *WorkflowStatusResponse_ShardStreams) ProtoReflect() protoreflect.Messag
// Deprecated: Use WorkflowStatusResponse_ShardStreams.ProtoReflect.Descriptor instead.
func (*WorkflowStatusResponse_ShardStreams) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{240, 2}
+ return file_vtctldata_proto_rawDescGZIP(), []int{244, 2}
}
func (x *WorkflowStatusResponse_ShardStreams) GetStreams() []*WorkflowStatusResponse_ShardStreamState {
@@ -16580,7 +16840,7 @@ type WorkflowUpdateResponse_TabletInfo struct {
func (x *WorkflowUpdateResponse_TabletInfo) Reset() {
*x = WorkflowUpdateResponse_TabletInfo{}
if protoimpl.UnsafeEnabled {
- mi := &file_vtctldata_proto_msgTypes[287]
+ mi := &file_vtctldata_proto_msgTypes[292]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -16593,7 +16853,7 @@ func (x *WorkflowUpdateResponse_TabletInfo) String() string {
func (*WorkflowUpdateResponse_TabletInfo) ProtoMessage() {}
func (x *WorkflowUpdateResponse_TabletInfo) ProtoReflect() protoreflect.Message {
- mi := &file_vtctldata_proto_msgTypes[287]
+ mi := &file_vtctldata_proto_msgTypes[292]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -16606,7 +16866,7 @@ func (x *WorkflowUpdateResponse_TabletInfo) ProtoReflect() protoreflect.Message
// Deprecated: Use WorkflowUpdateResponse_TabletInfo.ProtoReflect.Descriptor instead.
func (*WorkflowUpdateResponse_TabletInfo) Descriptor() ([]byte, []int) {
- return file_vtctldata_proto_rawDescGZIP(), []int{244, 0}
+ return file_vtctldata_proto_rawDescGZIP(), []int{248, 0}
}
func (x *WorkflowUpdateResponse_TabletInfo) GetTablet() *topodata.TabletAlias {
@@ -16656,7 +16916,7 @@ var file_vtctldata_proto_rawDesc = []byte{
0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x64, 0x6c, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x64, 0x6c, 0x22, 0xca,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x64, 0x6c, 0x22, 0xf5,
0x06, 0x0a, 0x13, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
@@ -16709,1154 +16969,1185 @@ var file_vtctldata_proto_rawDesc = []byte{
0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x4e, 0x0a, 0x08, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xc0, 0x13, 0x0a, 0x0f,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75,
- 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x14, 0x0a,
- 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x12, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65,
- 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
- 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x08, 0x73, 0x74, 0x72,
- 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
- 0x27, 0x0a, 0x08, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72,
+ 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18,
+ 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x4e, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xc0, 0x13, 0x0a, 0x0f, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1a,
+ 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f,
+ 0x0a, 0x13, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12,
+ 0x3f, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74,
+ 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
+ 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x61, 0x64,
+ 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76,
+ 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x07, 0x61, 0x64, 0x64, 0x65,
+ 0x64, 0x41, 0x74, 0x12, 0x2f, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69,
+ 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x61, 0x74,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e,
+ 0x54, 0x69, 0x6d, 0x65, 0x52, 0x07, 0x72, 0x65, 0x61, 0x64, 0x79, 0x41, 0x74, 0x12, 0x2b, 0x0a,
+ 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52,
- 0x07, 0x61, 0x64, 0x64, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2f, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
- 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0b, 0x72, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x72, 0x65, 0x61,
- 0x64, 0x79, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74,
- 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x07, 0x72, 0x65, 0x61, 0x64, 0x79,
- 0x41, 0x74, 0x12, 0x2b, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
- 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e,
- 0x54, 0x69, 0x6d, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
- 0x3b, 0x0a, 0x12, 0x6c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65,
- 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74,
- 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x11, 0x6c, 0x69, 0x76, 0x65, 0x6e,
- 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x0c,
- 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65,
- 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x30, 0x0a,
- 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x5f, 0x61, 0x74, 0x18, 0x0f,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69,
- 0x6d, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x55, 0x70, 0x41, 0x74, 0x12,
- 0x39, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32,
- 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f,
- 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f,
- 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
- 0x74, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61,
- 0x63, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x13,
- 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x0a,
- 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x15,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x46, 0x61, 0x69, 0x6c,
- 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18,
- 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12,
- 0x2b, 0x0a, 0x11, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
- 0x74, 0x65, 0x78, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
- 0x64, 0x64, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x09, 0x64, 0x64, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x63,
- 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x74, 0x61, 0x53,
- 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63,
- 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x6f, 0x77,
- 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f,
- 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28,
- 0x0d, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4b, 0x65,
- 0x79, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x75, 0x6e,
- 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52,
- 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4b, 0x65,
- 0x79, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x1f,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x3f, 0x0a,
- 0x12, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74,
- 0x69, 0x6f, 0x6e, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69,
- 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x61, 0x72, 0x74,
- 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f,
- 0x0a, 0x13, 0x70, 0x6f, 0x73, 0x74, 0x70, 0x6f, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
- 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x70, 0x6f, 0x73,
- 0x74, 0x70, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x37, 0x0a, 0x18, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75,
- 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65,
- 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x64, 0x72, 0x6f, 0x70,
- 0x70, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63,
- 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x1b, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x4e, 0x6f, 0x44, 0x65, 0x66, 0x61,
- 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x32,
- 0x0a, 0x15, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d,
- 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65,
- 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d,
- 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x6c, 0x65,
- 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65,
- 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a,
- 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
- 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f,
- 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x65,
- 0x72, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0c, 0x72, 0x65, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x55, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a,
- 0x07, 0x69, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x28, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
- 0x69, 0x73, 0x56, 0x69, 0x65, 0x77, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f,
- 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
- 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x76,
- 0x65, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18,
- 0x2a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x76,
- 0x65, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2e,
- 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x5f,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x75, 0x73, 0x65,
- 0x72, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x21,
- 0x0a, 0x0c, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x2c,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x6c, 0x61,
- 0x6e, 0x12, 0x38, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74,
- 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76,
- 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74,
- 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x63,
- 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
- 0x65, 0x64, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e,
- 0x65, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x0c,
- 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x2f, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65,
- 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a,
- 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x70, 0x6f, 0x6e, 0x65, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68,
- 0x18, 0x30, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x70, 0x6f, 0x6e, 0x65,
- 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18,
- 0x31, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10,
- 0x63, 0x75, 0x74, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73,
- 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x75, 0x74, 0x6f, 0x76, 0x65, 0x72, 0x41,
- 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x69, 0x6d,
- 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x49, 0x6d, 0x6d, 0x65, 0x64,
- 0x69, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a,
- 0x0b, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x34, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65,
- 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3d, 0x0a, 0x14,
- 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
- 0x65, 0x5f, 0x61, 0x74, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74,
- 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x11, 0x72, 0x65, 0x61, 0x64, 0x79, 0x54,
- 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x19, 0x72,
- 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b,
- 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16,
- 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65,
- 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x53, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65,
- 0x67, 0x79, 0x12, 0x0a, 0x0a, 0x06, 0x56, 0x49, 0x54, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0a,
- 0x0a, 0x06, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x48,
- 0x4f, 0x53, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x54, 0x4f, 0x53, 0x43, 0x10, 0x02,
- 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05,
- 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x10, 0x04, 0x1a, 0x02, 0x10, 0x01, 0x22, 0x71, 0x0a, 0x06, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
- 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10,
- 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x02,
- 0x12, 0x0a, 0x0a, 0x06, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05,
- 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49,
- 0x4e, 0x47, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45,
- 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x22, 0x5e,
- 0x0a, 0x05, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x87,
- 0x01, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12,
- 0x3f, 0x0a, 0x1c, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x65, 0x64,
- 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x73, 0x74, 0x72, 0x69, 0x70, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x65, 0x64, 0x41, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74,
- 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0xcf, 0x11, 0x0a, 0x08, 0x57, 0x6f, 0x72,
- 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e,
- 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x6d,
- 0x61, 0x78, 0x5f, 0x76, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x56,
- 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x12, 0x4a,
- 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18,
- 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12,
- 0x2a, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x75, 0x62, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x6d,
- 0x61, 0x78, 0x5f, 0x76, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67,
- 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x56, 0x52, 0x65, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73,
- 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x09, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
- 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x60, 0x0a,
- 0x11, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74,
+ 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3b, 0x0a, 0x12, 0x6c, 0x69,
+ 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e,
+ 0x54, 0x69, 0x6d, 0x65, 0x52, 0x11, 0x6c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x69,
+ 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
+ 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
+ 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d,
+ 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x30, 0x0a, 0x0d, 0x63, 0x6c, 0x65, 0x61,
+ 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0b, 0x63,
+ 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x55, 0x70, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x73, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x61, 0x74,
+ 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68,
+ 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x12, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
+ 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x1a,
+ 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18,
+ 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x64, 0x6c, 0x5f, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x64, 0x6c,
+ 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18,
+ 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x74, 0x61, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64,
+ 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x70, 0x69,
+ 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x77, 0x73,
+ 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77,
+ 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75,
+ 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x64,
+ 0x64, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2e, 0x0a,
+ 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f,
+ 0x6b, 0x65, 0x79, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x19, 0x0a,
+ 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x6c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x12, 0x61, 0x72, 0x74, 0x69,
+ 0x66, 0x61, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x20,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
+ 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x6f, 0x73,
+ 0x74, 0x70, 0x6f, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x70, 0x6f, 0x73, 0x74, 0x70, 0x6f, 0x6e, 0x65,
+ 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x72, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x72, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4b, 0x65, 0x79, 0x4e, 0x61,
+ 0x6d, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6e,
+ 0x6f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x64, 0x72,
+ 0x6f, 0x70, 0x70, 0x65, 0x64, 0x4e, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f,
+ 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x70,
+ 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64,
+ 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x29, 0x0a,
+ 0x10, 0x72, 0x65, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x65,
+ 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x74, 0x69,
+ 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f,
+ 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x26, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72,
+ 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x5f,
+ 0x75, 0x75, 0x69, 0x64, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x76, 0x65,
+ 0x72, 0x74, 0x65, 0x64, 0x55, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x76,
+ 0x69, 0x65, 0x77, 0x18, 0x28, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x56, 0x69, 0x65,
+ 0x77, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f,
+ 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65,
+ 0x61, 0x64, 0x79, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3a, 0x0a,
+ 0x19, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73,
+ 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x17, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73,
+ 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x73, 0x65,
+ 0x72, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x18, 0x2b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x75, 0x73, 0x65, 0x72, 0x54, 0x68, 0x72, 0x6f,
+ 0x74, 0x74, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x70, 0x65,
+ 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0b, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x38, 0x0a, 0x11,
+ 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x61,
+ 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65,
+ 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74,
+ 0x74, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e,
+ 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x2e, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x68,
+ 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x0c, 0x63, 0x61, 0x6e, 0x63, 0x65,
+ 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
+ 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0b, 0x63, 0x61, 0x6e,
+ 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x73, 0x74,
+ 0x70, 0x6f, 0x6e, 0x65, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x18, 0x30, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x70, 0x6f, 0x6e, 0x65, 0x4c, 0x61, 0x75, 0x6e, 0x63,
+ 0x68, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x75, 0x74, 0x6f, 0x76,
+ 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0f, 0x63, 0x75, 0x74, 0x6f, 0x76, 0x65, 0x72, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70,
+ 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61,
+ 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x33, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x4f,
+ 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69,
+ 0x65, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
+ 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x76,
+ 0x69, 0x65, 0x77, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3d, 0x0a, 0x14, 0x72, 0x65, 0x61, 0x64, 0x79,
+ 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18,
+ 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54,
+ 0x69, 0x6d, 0x65, 0x52, 0x11, 0x72, 0x65, 0x61, 0x64, 0x79, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70,
+ 0x6c, 0x65, 0x74, 0x65, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65,
+ 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x73, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x76,
+ 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65,
+ 0x73, 0x22, 0x53, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0a, 0x0a,
+ 0x06, 0x56, 0x49, 0x54, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x4e, 0x4c,
+ 0x49, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x01,
+ 0x12, 0x09, 0x0a, 0x05, 0x50, 0x54, 0x4f, 0x53, 0x43, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44,
+ 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x59, 0x53, 0x51, 0x4c,
+ 0x10, 0x04, 0x1a, 0x02, 0x10, 0x01, 0x22, 0x71, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a,
+ 0x09, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09,
+ 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x51,
+ 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59,
+ 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12,
+ 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x06, 0x12, 0x0a, 0x0a,
+ 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x22, 0x5e, 0x0a, 0x05, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x82, 0x02, 0x0a, 0x0f, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a,
+ 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x1c, 0x73, 0x74,
+ 0x72, 0x69, 0x70, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x75, 0x74, 0x6f,
+ 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x19, 0x73, 0x74, 0x72, 0x69, 0x70, 0x53, 0x68, 0x61, 0x72, 0x64, 0x65, 0x64, 0x41, 0x75,
+ 0x74, 0x6f, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x1a, 0x39, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
- 0x49, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x1a, 0xb9, 0x01, 0x0a, 0x0b, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcf,
+ 0x11, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
+ 0x3f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x12, 0x3f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x12, 0x6d, 0x61, 0x78, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4c, 0x61, 0x67, 0x12, 0x4a, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x74,
0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
- 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73,
- 0x12, 0x46, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
- 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70,
- 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x1a, 0xc1, 0x0a, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
- 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
- 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
- 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f,
- 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0c, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
- 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
- 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f,
- 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
- 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07,
- 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64,
- 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09,
+ 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73,
+ 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x48, 0x0a, 0x21, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x6d, 0x61,
+ 0x78, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x64,
+ 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b,
+ 0x65, 0x79, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x66, 0x65, 0x72,
+ 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x34, 0x0a,
+ 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x1a, 0x60, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73,
+ 0x1a, 0xb9, 0x01, 0x0a, 0x0b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x12, 0x34, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x73,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x1d, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x0e,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x12, 0x2c,
+ 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72,
+ 0x76, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x72,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x1a, 0xc1, 0x0a, 0x0a,
+ 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2d, 0x0a,
+ 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x3d, 0x0a, 0x0d,
+ 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0c, 0x62,
+ 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x5f,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
+ 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x15, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73,
+ 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74,
+ 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f,
+ 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69,
- 0x6d, 0x65, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54,
- 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65,
- 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
- 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0b, 0x74, 0x69,
- 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73,
- 0x61, 0x67, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74,
- 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a,
- 0x63, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x6c, 0x6f,
- 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x26,
- 0x0a, 0x0f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f,
- 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x46, 0x65, 0x74, 0x63,
- 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f,
- 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52,
- 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x55, 0x0a, 0x10, 0x74,
- 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
- 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70,
- 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50,
- 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c,
- 0x6c, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x1a,
- 0x57, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6b, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x73,
- 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
- 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x1a, 0xe6, 0x01, 0x0a, 0x03, 0x4c, 0x6f, 0x67,
- 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64,
- 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a,
- 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
- 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74,
- 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x64, 0x41, 0x74, 0x12, 0x2b, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f,
- 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d,
- 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41,
- 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63,
- 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e,
- 0x74, 0x1a, 0x77, 0x0a, 0x0f, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e,
- 0x74, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x6f,
- 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x68,
- 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
- 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x74, 0x69, 0x6d,
- 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x22, 0x59, 0x0a, 0x12, 0x41, 0x64,
- 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66,
- 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c,
- 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c,
- 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x14,
- 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c,
- 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x17,
- 0x0a, 0x15, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x20, 0x41, 0x70, 0x70, 0x6c,
- 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
- 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x16,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
- 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76,
- 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x14, 0x6b, 0x65, 0x79,
+ 0x6d, 0x65, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12,
+ 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x63, 0x6f, 0x70,
+ 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73,
+ 0x12, 0x32, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x04,
+ 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x65, 0x74, 0x63,
+ 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c,
+ 0x6f, 0x67, 0x46, 0x65, 0x74, 0x63, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04,
+ 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18,
+ 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65,
+ 0x64, 0x12, 0x55, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
+ 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14,
+ 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65,
+ 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
+ 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72,
+ 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12,
+ 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
+ 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x1a, 0x57, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x61, 0x73, 0x74,
+ 0x5f, 0x70, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x50,
+ 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x1a, 0xe6,
+ 0x01, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a,
+ 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52,
+ 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2b, 0x0a, 0x0a, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
+ 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x09, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x77, 0x0a, 0x0f, 0x54, 0x68, 0x72, 0x6f, 0x74,
+ 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f,
+ 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
+ 0x6e, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x0e, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d,
+ 0x65, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64,
+ 0x22, 0x59, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65,
+ 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x41,
+ 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x40, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14,
+ 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63,
+ 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x01,
+ 0x0a, 0x20, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x53, 0x0a, 0x16, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x72,
+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79,
0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65,
- 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x62,
- 0x75, 0x69, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f,
- 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x62,
- 0x75, 0x69, 0x6c, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x78, 0x0a, 0x21, 0x41, 0x70, 0x70,
- 0x6c, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
- 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53,
- 0x0a, 0x16, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69,
- 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
- 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x14, 0x6b,
+ 0x73, 0x52, 0x14, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69,
+ 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f,
+ 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73,
+ 0x6b, 0x69, 0x70, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65,
+ 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x0c, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x22,
+ 0x78, 0x0a, 0x21, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x16, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b,
0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75,
- 0x6c, 0x65, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x18, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x6f, 0x75,
- 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x3a, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65,
- 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0c,
- 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c,
- 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12,
- 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73,
- 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43,
- 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x6f, 0x75,
- 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x6f, 0x75,
- 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1a, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x11, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12,
+ 0x6c, 0x65, 0x73, 0x52, 0x14, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75,
+ 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x18, 0x41, 0x70,
+ 0x70, 0x6c, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e,
+ 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
+ 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
+ 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69,
+ 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65,
+ 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64,
+ 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65,
+ 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x41, 0x70,
+ 0x70, 0x6c, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x1d, 0x41, 0x70, 0x70, 0x6c,
+ 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
+ 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
+ 0x65, 0x73, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
+ 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65,
+ 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69,
+ 0x70, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x62, 0x75,
+ 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x0c, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x20, 0x0a,
+ 0x1e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69,
+ 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0xce, 0x02, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x03, 0x73, 0x71, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x64, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x61,
+ 0x74, 0x65, 0x67, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x64, 0x6c, 0x53,
+ 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x75, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x75, 0x75, 0x69, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
+ 0x74, 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73,
+ 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72,
+ 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x08, 0x63, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68,
+ 0x53, 0x69, 0x7a, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09,
+ 0x22, 0xe8, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x75, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x75, 0x75, 0x69,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6c, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66,
+ 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13,
+ 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdb, 0x01, 0x0a, 0x13,
+ 0x41, 0x70, 0x70, 0x6c, 0x79, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x62, 0x75, 0x69,
- 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x65,
- 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x62, 0x75, 0x69,
- 0x6c, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x41, 0x70, 0x70, 0x6c, 0x79,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xce, 0x02, 0x0a, 0x12, 0x41, 0x70,
- 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03,
- 0x73, 0x71, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x21,
- 0x0a, 0x0c, 0x64, 0x64, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x64, 0x6c, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67,
- 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x75, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b,
- 0x0a, 0x11, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
- 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x44, 0x0a, 0x15, 0x77,
- 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d,
- 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74,
- 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61,
- 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75,
- 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c,
- 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
- 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20,
- 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x4a, 0x04,
- 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22, 0xe8, 0x01, 0x0a, 0x13, 0x41,
- 0x70, 0x70, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x75, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
- 0x6c, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64,
- 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x37, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x6c,
- 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
- 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66,
- 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a,
- 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdb, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x56,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b, 0x69,
- 0x70, 0x5f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07,
- 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64,
- 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x76,
- 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
- 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x52, 0x07, 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73,
- 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x72,
- 0x69, 0x63, 0x74, 0x22, 0xca, 0x02, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x56, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08,
- 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
- 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x52, 0x07, 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x6c, 0x0a, 0x15, 0x75, 0x6e,
- 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x76, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72,
- 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x56, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f,
- 0x77, 0x6e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e,
- 0x74, 0x72, 0x79, 0x52, 0x13, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x56, 0x69, 0x6e, 0x64,
- 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x71, 0x0a, 0x18, 0x55, 0x6e, 0x6b, 0x6e,
- 0x6f, 0x77, 0x6e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74,
- 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x23, 0x0a, 0x09, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
- 0x22, 0xe5, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69,
- 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x23, 0x0a, 0x0d,
- 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20,
+ 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63,
+ 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c,
+ 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x07, 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12,
+ 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71,
+ 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x22, 0xca, 0x02, 0x0a, 0x14, 0x41, 0x70,
+ 0x70, 0x6c, 0x79, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x07, 0x76, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x12, 0x6c, 0x0a, 0x15, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x76, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x38, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x6c,
+ 0x79, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x75, 0x6e, 0x6b, 0x6e, 0x6f,
+ 0x77, 0x6e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x71,
+ 0x0a, 0x18, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x56, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0x23, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16,
+ 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b, 0x75,
+ 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
+ 0x61, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d,
+ 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
+ 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75,
+ 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f,
+ 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x63,
+ 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6f,
+ 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6f, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x75,
+ 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x61, 0x66, 0x65, 0x22, 0xa2,
+ 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24, 0x0a,
+ 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c,
+ 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76,
+ 0x65, 0x6e, 0x74, 0x22, 0xe2, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65,
- 0x6e, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74,
- 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x46, 0x72,
- 0x6f, 0x6d, 0x50, 0x6f, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65,
- 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x70, 0x67,
- 0x72, 0x61, 0x64, 0x65, 0x53, 0x61, 0x66, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x63,
- 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65,
+ 0x6e, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73,
+ 0x61, 0x66, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61,
+ 0x64, 0x65, 0x53, 0x61, 0x66, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61,
+ 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6f, 0x73, 0x22, 0x4e, 0x0a, 0x1c, 0x43, 0x61, 0x6e, 0x63,
+ 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x1d, 0x43, 0x61, 0x6e,
+ 0x63, 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x16, 0x72, 0x6f,
+ 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65,
+ 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72,
+ 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9b, 0x01, 0x0a, 0x17, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x12, 0x2d, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x64, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x18, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0d, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x0c,
+ 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x0c,
+ 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x52, 0x0b, 0x61, 0x66, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x77, 0x61, 0x73, 0x5f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x61, 0x73, 0x44, 0x72, 0x79, 0x52, 0x75,
+ 0x6e, 0x22, 0xe3, 0x01, 0x0a, 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74,
+ 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74,
0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c,
- 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xe2, 0x01,
- 0x0a, 0x12, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74,
+ 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x12, 0x27,
+ 0x0a, 0x10, 0x6f, 0x6b, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73,
+ 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6f, 0x6b, 0x49, 0x66, 0x4e, 0x6f,
+ 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x16, 0x43, 0x68, 0x65, 0x63,
+ 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69,
+ 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
+ 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x3f, 0x0a, 0x05,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x4f, 0x0a,
+ 0x1d, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
+ 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xe1,
+ 0x01, 0x0a, 0x1e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x77, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x42, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6c,
+ 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77,
+ 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f,
+ 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x22, 0x50, 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f,
- 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61,
- 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63,
- 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
- 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x21, 0x0a,
- 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x61, 0x66, 0x65,
- 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f,
- 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12,
- 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x50,
- 0x6f, 0x73, 0x22, 0x4e, 0x0a, 0x1c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12,
- 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75,
- 0x69, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x1d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x63, 0x68,
+ 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x75, 0x75, 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x1f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
+ 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73,
+ 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68,
0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52,
+ 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65,
+ 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72,
0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18,
- 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9b, 0x01, 0x0a, 0x17, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x64, 0x62,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70,
- 0x65, 0x52, 0x06, 0x64, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79,
- 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52,
- 0x75, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x18, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x35, 0x0a, 0x0d, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x0c, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x0c, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x0b,
- 0x61, 0x66, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x77,
- 0x61, 0x73, 0x5f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x09, 0x77, 0x61, 0x73, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0xe3, 0x01, 0x0a, 0x15,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12,
- 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63,
- 0x6f, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65,
- 0x12, 0x36, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x15, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65,
- 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x10, 0x6f, 0x6b, 0x5f, 0x69,
- 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0d, 0x6f, 0x6b, 0x49, 0x66, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74,
- 0x73, 0x22, 0x93, 0x01, 0x0a, 0x16, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74,
- 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
- 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54,
- 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x52, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x4f, 0x0a, 0x1d, 0x43, 0x6c, 0x65, 0x61, 0x6e,
- 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdd, 0x02, 0x0a, 0x15, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x2f,
+ 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x76, 0x5f,
+ 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x6c,
+ 0x6c, 0x6f, 0x77, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12,
+ 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62,
+ 0x61, 0x73, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x31, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65,
+ 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
+ 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x5f, 0x64, 0x62, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x69, 0x64, 0x65, 0x63,
+ 0x61, 0x72, 0x44, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04,
+ 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x49, 0x0a, 0x16, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a,
+ 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x26, 0x0a,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x61,
+ 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, 0x64, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64,
+ 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x41, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65,
+ 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c,
+ 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x67, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xe1, 0x01, 0x0a, 0x1e, 0x43, 0x6c, 0x65,
- 0x61, 0x6e, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x16, 0x72,
- 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63,
- 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
- 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65,
- 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79,
- 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
- 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x1e,
- 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
- 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
+ 0x70, 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69,
+ 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x06, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69,
+ 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x65,
+ 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x76, 0x65,
+ 0x6e, 0x49, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f,
+ 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65,
+ 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x17,
+ 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x03, 0x0a, 0x1d, 0x45, 0x6d, 0x65, 0x72,
+ 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e,
+ 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d,
+ 0x61, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x73, 0x12, 0x44, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x77, 0x61, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x72, 0x65,
+ 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x5f,
+ 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x19, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x43, 0x65, 0x6c,
+ 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x77, 0x61,
+ 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f,
+ 0x72, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x1e,
+ 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a,
0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75,
- 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xe3,
- 0x01, 0x0a, 0x1f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x78, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63,
- 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43,
- 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52,
- 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18,
- 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdd, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f,
- 0x77, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x6d, 0x70,
- 0x74, 0x79, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70,
- 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
- 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61,
- 0x73, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x0d, 0x73, 0x6e,
- 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52,
- 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a,
- 0x11, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69,
- 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x69,
- 0x64, 0x65, 0x63, 0x61, 0x72, 0x5f, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x62, 0x4e, 0x61,
- 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04,
- 0x08, 0x06, 0x10, 0x07, 0x22, 0x49, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f,
- 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22,
- 0x8c, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d,
- 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xa0,
- 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12,
- 0x30, 0x0a, 0x14, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79,
- 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74,
- 0x73, 0x22, 0x41, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49,
- 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14,
- 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66,
- 0x6f, 0x72, 0x63, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65,
- 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d,
- 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1a, 0x0a,
- 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x15, 0x44, 0x65, 0x6c,
- 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1c,
- 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72,
- 0x63, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x01, 0x0a,
- 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1c,
- 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f,
- 0x65, 0x76, 0x65, 0x6e, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x49, 0x66, 0x53, 0x65, 0x72,
- 0x76, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65,
- 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x72, 0x76, 0x56,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
- 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c,
- 0x6c, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x72, 0x76, 0x56, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a,
- 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69,
- 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f,
- 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65,
- 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x81, 0x03, 0x0a, 0x1d, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52,
- 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69,
+ 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x12, 0x40, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69,
0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3e, 0x0a,
- 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73,
- 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0e, 0x69,
- 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x44, 0x0a,
- 0x15, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x5f, 0x74,
- 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76,
- 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13,
- 0x77, 0x61, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65,
- 0x6f, 0x75, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63,
- 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74,
- 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x70, 0x72, 0x65, 0x76, 0x65,
- 0x6e, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x43, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x6f,
- 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72,
- 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x11, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x1e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65,
- 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x70, 0x72,
- 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0f, 0x70, 0x72, 0x6f,
- 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x06,
- 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c,
- 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76,
- 0x65, 0x6e, 0x74, 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x18, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
- 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
- 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72,
- 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x19, 0x0a, 0x08,
- 0x75, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
- 0x75, 0x73, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x47, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75,
- 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65,
- 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x22, 0xd3, 0x01, 0x0a, 0x18, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63,
- 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a,
- 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x19, 0x0a,
- 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
- 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61,
- 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
- 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x47, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
- 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72,
- 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22,
- 0xa5, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
- 0x12, 0x55, 0x0a, 0x13, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x5f,
- 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x52, 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x48, 0x6f, 0x6f, 0x6b,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75,
- 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47,
- 0x0a, 0x0b, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
+ 0x73, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61,
+ 0x72, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x18, 0x45,
+ 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x41, 0x70, 0x70,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72,
+ 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f,
+ 0x77, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x73, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x47, 0x0a,
+ 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x41,
+ 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xd3, 0x01, 0x0a, 0x18, 0x45, 0x78, 0x65, 0x63, 0x75,
+ 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c,
+ 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a,
+ 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x27,
+ 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
+ 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x6f, 0x61,
+ 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
+ 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x47, 0x0a, 0x19,
+ 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42,
+ 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
+ 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x55, 0x0a, 0x13, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48,
- 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x68, 0x6f, 0x6f,
- 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xd4, 0x01, 0x0a, 0x1d, 0x45, 0x78, 0x65, 0x63,
- 0x75, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44,
- 0x42, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77,
- 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73,
- 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x6c,
- 0x6f, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62,
- 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c,
- 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x4e,
- 0x0a, 0x1e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x65,
- 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x3c,
- 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x49,
- 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xbe, 0x01, 0x0a,
- 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x4e, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x36, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6e,
- 0x64, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73,
- 0x1a, 0x4b, 0x0a, 0x0b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
- 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
- 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, 0x0a,
- 0x22, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75,
- 0x75, 0x69, 0x64, 0x22, 0xeb, 0x01, 0x0a, 0x23, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74,
- 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x16, 0x72,
- 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74,
- 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73,
- 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74,
- 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77,
- 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
- 0x01, 0x22, 0x9e, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d,
- 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12,
- 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x08, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64,
- 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6d,
- 0x69, 0x74, 0x22, 0x44, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b,
- 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x79, 0x73, 0x71,
- 0x6c, 0x63, 0x74, 0x6c, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52,
- 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x28, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43,
- 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12,
- 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65,
- 0x6c, 0x6c, 0x22, 0x46, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
- 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c,
- 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
- 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x47, 0x65,
- 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x30, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c,
- 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x65,
- 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a,
- 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65,
- 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
- 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x14, 0x47, 0x65,
- 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69,
- 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x4c, 0x0a, 0x15,
- 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65,
- 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x22, 0x49, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x30, 0x0a, 0x12,
- 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x46,
- 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x51, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72,
- 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x11, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5e, 0x0a,
+ 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78,
+ 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x52, 0x0a, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xd4, 0x01,
+ 0x0a, 0x1d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x65,
+ 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x5a, 0x0a, 0x16, 0x47, 0x65, 0x74,
- 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x72,
- 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
- 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x76, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
- 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x16, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72,
- 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x73, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75,
- 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x14, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22,
- 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
- 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x17, 0x47, 0x65, 0x74,
- 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f,
- 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x73,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
- 0x65, 0x73, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73,
- 0x22, 0xb0, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6d,
+ 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d,
+ 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
+ 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x73, 0x12,
+ 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x22, 0x4e, 0x0a, 0x1e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d,
+ 0x75, 0x6c, 0x74, 0x69, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73,
+ 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x1a, 0x4b, 0x0a, 0x0b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x22, 0x54, 0x0a, 0x22, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f,
+ 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xeb, 0x01, 0x0a, 0x23, 0x46, 0x6f,
+ 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x7c, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x47, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x6f,
+ 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73,
+ 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a,
+ 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42,
+ 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9e, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42,
+ 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12,
+ 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65,
+ 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x69,
+ 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x44, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42,
+ 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e,
+ 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x14, 0x2e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x63, 0x74, 0x6c, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x28,
+ 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x46, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43,
+ 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65,
+ 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x22, 0x19, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x30, 0x0a, 0x18, 0x47,
+ 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x18, 0x0a,
+ 0x16, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43,
+ 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x1a, 0x50,
+ 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x22, 0x50, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
+ 0x61, 0x73, 0x22, 0x4c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x75,
+ 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x31, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x73, 0x22, 0x30, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x22, 0x46, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x51, 0x0a, 0x15,
+ 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12,
- 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23,
- 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69,
- 0x65, 0x77, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x28, 0x0a,
- 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c,
- 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69,
- 0x7a, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f,
- 0x6e, 0x6c, 0x79, 0x22, 0x50, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x73,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xb8, 0x02, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
- 0x75, 0x75, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
- 0x74, 0x12, 0x39, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x06,
- 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76,
- 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06,
- 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52,
- 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
- 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04,
- 0x73, 0x6b, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70,
- 0x22, 0x59, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x3a, 0x0a, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x64, 0x0a, 0x1a, 0x47,
- 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63,
- 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c,
- 0x73, 0x22, 0x83, 0x02, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x7d, 0x0a, 0x19, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x43,
- 0x65, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x43, 0x65, 0x6c, 0x6c,
- 0x1a, 0x65, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
- 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
- 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75,
- 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x22, 0x6a, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74,
+ 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22,
+ 0x5a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x65, 0x72,
+ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
+ 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b,
+ 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x47,
+ 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
+ 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x76, 0x0a,
+ 0x1f, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74,
0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e,
- 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
- 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75,
- 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x1a,
- 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61,
- 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65,
- 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73,
- 0x22, 0xf3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x31, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53,
- 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x0a, 0x4e, 0x61, 0x6d,
- 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x20, 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74,
- 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c,
- 0x6c, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59,
- 0x0a, 0x0d, 0x73, 0x72, 0x76, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x72, 0x76,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x1a, 0x56, 0x0a, 0x11, 0x53, 0x72, 0x76,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
- 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
- 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
- 0x01, 0x22, 0xe4, 0x03, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f,
- 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16,
- 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
- 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
- 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
- 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x21,
- 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x72,
- 0x79, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72,
- 0x79, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x75, 0x73,
- 0x74, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x63,
- 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65,
- 0x6c, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41,
- 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x6c, 0x66, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x68,
- 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41,
- 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x74,
- 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x18, 0x09, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x68,
- 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0c,
- 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x12, 0x1f, 0x0a, 0x0b,
- 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a,
- 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x5f,
- 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18,
- 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x70, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65,
- 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74,
- 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x4e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35,
- 0x0a, 0x0c, 0x73, 0x72, 0x76, 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53,
- 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0a, 0x73, 0x72, 0x76, 0x56, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x2d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14,
- 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63,
- 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x56, 0x0a, 0x0d, 0x73, 0x72, 0x76, 0x5f, 0x76, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x72, 0x76, 0x56,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x1a, 0x53, 0x0a, 0x10, 0x53, 0x72, 0x76, 0x56, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
- 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76,
- 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x10,
- 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x3d, 0x0a, 0x11, 0x47, 0x65,
- 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x28, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0xe8, 0x01, 0x0a, 0x11, 0x47, 0x65,
- 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x12, 0x53, 0x0a, 0x16, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x75,
+ 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1d, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52,
+ 0x14, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
+ 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74,
+ 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22,
+ 0x55, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
+ 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x72, 0x6f,
+ 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74,
+ 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e,
+ 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xb0, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a,
+ 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
+ 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63,
+ 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x4f,
+ 0x6e, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x2a, 0x0a,
+ 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6f, 0x6e,
+ 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x50, 0x0a, 0x11, 0x47, 0x65, 0x74,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b,
+ 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
+ 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xb8, 0x02, 0x0a, 0x1a,
+ 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x05,
+ 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64,
+ 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05,
+ 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d,
+ 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x59, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x22, 0x64, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63,
- 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12,
- 0x3c, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65,
- 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0d,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x35, 0x0a,
- 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x54, 0x79, 0x70, 0x65, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x55, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72,
- 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c,
- 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
- 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x63, 0x0a,
- 0x1a, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x73,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x83, 0x02, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x19, 0x73, 0x68, 0x61, 0x72, 0x64,
+ 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x79, 0x5f,
+ 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x42, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x1a, 0x65, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x43, 0x65, 0x6c, 0x6c,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a,
+ 0x0f, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x0a, 0x10, 0x47,
+ 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x26, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f,
+ 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52,
+ 0x11, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
+ 0x65, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x72,
+ 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x61,
+ 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x1a,
+ 0x69, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72,
+ 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x20, 0x0a, 0x08, 0x4e, 0x61,
+ 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x16,
+ 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74,
+ 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0d, 0x73, 0x72, 0x76, 0x5f, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
+ 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x0c, 0x73, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x1a,
+ 0x56, 0x0a, 0x11, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe4, 0x03, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64,
+ 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
+ 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73,
+ 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65,
+ 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x68,
+ 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,
+ 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x6c, 0x66,
+ 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x65,
+ 0x63, 0x6b, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11,
+ 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x61,
+ 0x70, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70,
+ 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41,
+ 0x70, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e,
+ 0x0a, 0x13, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6d, 0x65,
+ 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x70, 0x70,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x1f,
+ 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
+ 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x4e, 0x0a, 0x15, 0x47,
+ 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x73, 0x72, 0x76, 0x5f, 0x76, 0x5f, 0x73, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x73, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
+ 0x0a, 0x73, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x2d, 0x0a, 0x15, 0x47,
+ 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x16, 0x47,
+ 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0d, 0x73, 0x72, 0x76, 0x5f, 0x76, 0x5f, 0x73,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
+ 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x0b, 0x73, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x1a, 0x53, 0x0a,
+ 0x10, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x72, 0x76,
+ 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x22, 0x3d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22,
+ 0xe8, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a,
+ 0x06, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73,
+ 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
+ 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65,
+ 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x2a, 0x0a, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x55, 0x0a, 0x19,
0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x22, 0x5f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67,
- 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04,
- 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68,
- 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x73,
- 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x73, 0x4a,
- 0x73, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f,
- 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b,
- 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67,
- 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x80, 0x01, 0x0a, 0x0c,
- 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
- 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
- 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c,
- 0x64, 0x72, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c,
- 0x64, 0x72, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2f,
+ 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x22, 0x63, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74,
+ 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
+ 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
+ 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x5f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54,
+ 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x12, 0x17, 0x0a, 0x07, 0x61, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x61, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x17, 0x47, 0x65, 0x74,
+ 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
+ 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x04, 0x63, 0x65, 0x6c,
+ 0x6c, 0x22, 0x80, 0x01, 0x0a, 0x0c, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x65,
+ 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61,
+ 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a,
+ 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x73,
+ 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x5f,
+ 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x62, 0x61, 0x6e, 0x64,
+ 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x22, 0x63, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x72, 0x65,
+ 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x74, 0x72,
+ 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x72,
+ 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x63, 0x0a, 0x1a, 0x43, 0x6f,
+ 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x0c,
+ 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22,
+ 0x1d, 0x0a, 0x1b, 0x43, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f,
0x0a, 0x11, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22,
@@ -18320,7 +18611,7 @@ var file_vtctldata_proto_rawDesc = []byte{
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x07,
0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x8f, 0x04,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0xd6, 0x04,
0x0a, 0x14, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
@@ -18353,722 +18644,739 @@ var file_vtctldata_proto_rawDesc = []byte{
0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65,
0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73,
0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0c,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22,
- 0x82, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42,
- 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70,
- 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74,
- 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75,
- 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
- 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72,
- 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64,
- 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72,
- 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f,
- 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12,
+ 0x45, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x82, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f,
+ 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c,
+ 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2d, 0x0a,
+ 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65,
- 0x52, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73,
- 0x74, 0x61, 0x6d, 0x70, 0x22, 0xad, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
- 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69,
- 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24,
- 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
- 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65,
- 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x1b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75,
- 0x75, 0x69, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68,
+ 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e,
+ 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x50,
+ 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x14, 0x72,
+ 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
+ 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69,
+ 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
+ 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xad, 0x01, 0x0a, 0x19,
+ 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75,
+ 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x1b, 0x52,
+ 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x1c, 0x52,
+ 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x16, 0x72,
+ 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68,
0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f,
- 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65,
- 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52,
+ 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65,
+ 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72,
0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
- 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x6d, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44,
- 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
- 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64,
- 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22,
- 0x55, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75,
- 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x5e, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
- 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03,
- 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x51, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
- 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x72, 0x0a, 0x1f, 0x53, 0x65, 0x74,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65,
- 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1d,
- 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x22, 0x49, 0x0a,
- 0x20, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61,
- 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
- 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79,
- 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x69,
- 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x0c, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a,
- 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69,
- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x46, 0x0a, 0x1d, 0x53, 0x65, 0x74,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
- 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x22, 0x6a, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x15, 0x0a,
- 0x13, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75,
+ 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x75,
+ 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c,
+ 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x18, 0x0a,
+ 0x16, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72,
+ 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x55, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x5e, 0x0a,
+ 0x1e, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66,
+ 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63,
+ 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x51, 0x0a,
+ 0x1f, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x22, 0x72, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22,
- 0x1d, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62,
- 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x12,
- 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65,
- 0x6c, 0x6c, 0x22, 0x54, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x35, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f,
- 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x54, 0x0a, 0x20, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0xaa,
- 0x03, 0x0a, 0x21, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x5a,
- 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
- 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x1a, 0x5f, 0x0a, 0x18, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65,
- 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4e, 0x0a, 0x0e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
- 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
- 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
- 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b, 0x01, 0x0a, 0x1d,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12,
- 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d,
- 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x12, 0x53,
- 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
- 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x64,
- 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
- 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x6c, 0x65,
- 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0xf0, 0x01, 0x0a, 0x15, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03,
- 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x27,
- 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65,
- 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67,
- 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x16, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a,
- 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x18, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76,
+ 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x72,
+ 0x76, 0x69, 0x6e, 0x67, 0x22, 0x49, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22,
+ 0x8e, 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x03, 0x75, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x19, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c,
+ 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12,
+ 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73,
+ 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72,
+ 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65,
+ 0x22, 0x46, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x53, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c,
- 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
- 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x1a, 0x0a,
- 0x18, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x16, 0x53, 0x74, 0x6f,
- 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c,
- 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
- 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x19, 0x0a,
- 0x17, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x21, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61,
- 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a,
- 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0xc6, 0x01, 0x0a,
- 0x22, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c,
- 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x6a, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57,
+ 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38,
+ 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x72, 0x69, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x72, 0x69, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1a,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69,
- 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
- 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x36, 0x0a,
- 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6f, 0x6c, 0x64, 0x50, 0x72,
- 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x5c, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
- 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49,
- 0x6e, 0x66, 0x6f, 0x22, 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c,
- 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x54, 0x0a, 0x1b, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
+ 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
+ 0x54, 0x0a, 0x20, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0xaa, 0x03, 0x0a, 0x21, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x72,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
+ 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61,
+ 0x70, 0x1a, 0x5f, 0x0a, 0x18, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
+ 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x1a, 0x4e, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x12, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
+ 0x61, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x22, 0x15, 0x0a, 0x13, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x15, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21,
+ 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e,
- 0x66, 0x6f, 0x22, 0x64, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c,
- 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65,
- 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x65, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e,
+ 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x16, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x18, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x19, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22,
+ 0x53, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x52, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x52, 0x0a, 0x21, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
+ 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x22, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78,
+ 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b,
+ 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69,
+ 0x6d, 0x61, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d,
+ 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x52, 0x0a, 0x6f, 0x6c, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x5c, 0x0a, 0x15,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c,
+ 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5d, 0x0a, 0x16, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f,
+ 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x64, 0x0a, 0x17, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c,
0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c,
0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22,
- 0x34, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
- 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f,
- 0x62, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61,
- 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x69, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x65, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
+ 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65, 0x6c, 0x6c,
+ 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x34, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e,
+ 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfb, 0x01, 0x0a,
+ 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x13, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a,
+ 0x69, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x58, 0x0a, 0x17, 0x56, 0x61,
+ 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x10, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63,
+ 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
- 0x02, 0x38, 0x01, 0x22, 0x58, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
- 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69,
- 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfc, 0x01,
- 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f,
- 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
- 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
- 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
- 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
- 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69,
- 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd8, 0x01, 0x0a,
- 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
- 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78,
- 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65,
- 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
- 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6e,
- 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x4e, 0x6f, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27,
- 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
- 0x56, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x88, 0x02, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69,
- 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f,
- 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
- 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a,
- 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
- 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c,
- 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22,
- 0x31, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65,
- 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x22, 0x8a, 0x02, 0x0a, 0x1f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72,
- 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x68,
- 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72,
- 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
- 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
- 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c,
- 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4f, 0x0a,
- 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x38,
- 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
- 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x16, 0x56, 0x61, 0x6c,
- 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75,
+ 0x02, 0x38, 0x01, 0x22, 0xd8, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75,
+ 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c,
+ 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x26, 0x0a,
+ 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6e, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x4e, 0x6f, 0x50, 0x72,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
+ 0x5f, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e,
+ 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x88,
+ 0x02, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42,
+ 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x14, 0x56, 0x61, 0x6c,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x31, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1e, 0x56, 0x61, 0x6c,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x8a, 0x02, 0x0a, 0x1f, 0x56, 0x61, 0x6c, 0x69,
+ 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x68, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
+ 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x3e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69,
+ 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a,
+ 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4f, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
+ 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23,
- 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69,
- 0x65, 0x77, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
- 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x72, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42,
- 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52,
+ 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22,
+ 0x98, 0x01, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25,
+ 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
+ 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x56,
+ 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
+ 0x12, 0x60, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
- 0x22, 0x88, 0x07, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04,
- 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64,
- 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73,
- 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x65,
- 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x65,
- 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79,
- 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12,
- 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
- 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53,
- 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
- 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a,
- 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x55, 0x0a, 0x1e, 0x66,
- 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69,
- 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72,
- 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x51, 0x75,
- 0x65, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x5f, 0x6b, 0x73,
- 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x6e, 0x6c, 0x79, 0x50, 0x4b, 0x73, 0x12,
- 0x2c, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
- 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x70, 0x64,
- 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x38, 0x0a,
- 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f,
- 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x15, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x6f, 0x77, 0x73, 0x54, 0x6f,
- 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x61, 0x69, 0x74, 0x18,
- 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x61, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x14, 0x77,
- 0x61, 0x69, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
- 0x76, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69,
- 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x77, 0x61, 0x69,
- 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12,
- 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x11, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x18,
- 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f,
- 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x6f,
- 0x77, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70,
- 0x6f, 0x72, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x3c, 0x0a,
- 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d,
- 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x44,
- 0x69, 0x66, 0x66, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x29, 0x0a, 0x13, 0x56,
- 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x55, 0x55, 0x49, 0x44, 0x22, 0x6b, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
- 0x61, 0x72, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65,
- 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x12, 0x56, 0x44,
- 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f,
- 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69,
- 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x69, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71,
+ 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf9, 0x07, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66,
+ 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
+ 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a,
+ 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20,
+ 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65,
+ 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50,
+ 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72,
+ 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05,
+ 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d,
+ 0x69, 0x74, 0x12, 0x55, 0x0a, 0x1e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74,
+ 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x66, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62,
+ 0x75, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
+ 0x64, 0x65, 0x62, 0x75, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x09, 0x6f, 0x6e,
+ 0x6c, 0x79, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f,
+ 0x6e, 0x6c, 0x79, 0x50, 0x4b, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x74, 0x61, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x74, 0x72,
+ 0x61, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72,
+ 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x74, 0x72,
+ 0x61, 0x52, 0x6f, 0x77, 0x73, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12, 0x12,
+ 0x0a, 0x04, 0x77, 0x61, 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x61,
+ 0x69, 0x74, 0x12, 0x42, 0x0a, 0x14, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x12, 0x77, 0x61, 0x69, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e,
+ 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72,
+ 0x65, 0x74, 0x72, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f,
+ 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65,
+ 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12,
+ 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x61,
+ 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x13, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65,
+ 0x52, 0x6f, 0x77, 0x73, 0x12, 0x3c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x69, 0x66, 0x66,
+ 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x66, 0x66, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1b, 0x72, 0x6f, 0x77, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x63,
+ 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61,
+ 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x72, 0x6f, 0x77, 0x44, 0x69, 0x66, 0x66,
+ 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x41, 0x74,
+ 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x16,
+ 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x22, 0x29, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x55,
+ 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x55, 0x55, 0x49, 0x44, 0x22, 0x6b,
+ 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70,
0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65,
0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x11,
- 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f,
- 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a,
- 0x64, 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69,
- 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74,
- 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x56,
+ 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75,
+ 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72,
0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72,
0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75,
- 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f, 0x70, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a,
- 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65,
- 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65,
- 0x65, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72,
- 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
- 0x75, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0xd1, 0x01, 0x0a,
- 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61,
- 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
- 0x79, 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f,
- 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
- 0x22, 0x67, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0xe6, 0x07, 0x0a, 0x16, 0x57, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f,
- 0x70, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
- 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79,
- 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x73,
- 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12,
- 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53,
- 0x74, 0x61, 0x74, 0x65, 0x1a, 0xe8, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f,
- 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x5f,
- 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x6f,
- 0x77, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x73,
- 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f,
- 0x77, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x6f, 0x77, 0x73, 0x5f,
- 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02,
- 0x52, 0x0e, 0x72, 0x6f, 0x77, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65,
- 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x70,
- 0x69, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74,
- 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54,
- 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65,
- 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f,
- 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a,
- 0xbc, 0x01, 0x0a, 0x10, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53,
- 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
- 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e,
- 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x5c,
- 0x0a, 0x0c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x4c,
- 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74,
- 0x61, 0x74, 0x65, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x73, 0x0a, 0x13,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e,
- 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70,
- 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
- 0x01, 0x1a, 0x6f, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
- 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
- 0x38, 0x01, 0x22, 0xef, 0x03, 0x0a, 0x1c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53,
- 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63,
- 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c,
- 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x1b, 0x6d, 0x61,
- 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61,
- 0x67, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x4c, 0x61, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x65,
- 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x72, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72,
- 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x69,
- 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f,
- 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d,
- 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65,
- 0x6f, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x09,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x1b,
- 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x54, 0x61, 0x72,
- 0x67, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68,
- 0x61, 0x72, 0x64, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x1d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65,
+ 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66,
+ 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69,
+ 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27,
+ 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x11, 0x56, 0x44,
+ 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x5c, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x64, 0x0a,
+ 0x14, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x22, 0x90, 0x01, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f,
+ 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a,
+ 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69,
+ 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53,
+ 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x15,
+ 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1b, 0x0a,
+ 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65,
+ 0x65, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74,
+ 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73,
+ 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73,
+ 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75,
+ 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a,
+ 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
+ 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
+ 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x64, 0x22, 0x67, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0xe6, 0x07,
+ 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57,
+ 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x33, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x66,
+ 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0xe8, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72,
+ 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x09, 0x72, 0x6f, 0x77, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72,
+ 0x6f, 0x77, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x77, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e,
+ 0x74, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f,
+ 0x70, 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65,
+ 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73,
+ 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x79,
+ 0x74, 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65,
+ 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
+ 0x61, 0x67, 0x65, 0x1a, 0xbc, 0x01, 0x0a, 0x10, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
+ 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12,
+ 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e,
+ 0x66, 0x6f, 0x1a, 0x5c, 0x0a, 0x0c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73,
+ 0x1a, 0x73, 0x0a, 0x13, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6f, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x85, 0x04, 0x0a, 0x1c, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12,
+ 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
+ 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f,
+ 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4f,
+ 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12,
+ 0x3c, 0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73,
+ 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72,
+ 0x73, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a,
+ 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x07, 0x74,
+ 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76,
+ 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07,
+ 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72,
+ 0x75, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e,
+ 0x12, 0x3e, 0x0a, 0x1b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a,
+ 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73,
+ 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63,
+ 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0xa7,
+ 0x01, 0x0a, 0x1d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63,
+ 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63,
+ 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75,
+ 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x5b,
+ 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x01, 0x0a, 0x16,
+ 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
- 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74,
- 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61,
- 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
- 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75,
- 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x90,
- 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74,
- 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07,
- 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73,
- 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
- 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55,
- 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63,
- 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x68,
- 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72,
- 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x51,
- 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x6d, 0x69, 0x72, 0x72,
- 0x6f, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
- 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52,
- 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0b, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65,
- 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x1c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x69,
- 0x72, 0x72, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a,
- 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e,
- 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79,
- 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x7f, 0x0a,
- 0x1d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x54,
- 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
- 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72,
- 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73,
- 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72,
- 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2a, 0x4a,
- 0x0a, 0x15, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f,
- 0x4d, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x56, 0x45, 0x54, 0x41, 0x42, 0x4c, 0x45,
- 0x53, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x4c, 0x4f, 0x4f,
- 0x4b, 0x55, 0x50, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x2a, 0x38, 0x0a, 0x0d, 0x51, 0x75,
- 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x4e,
- 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49,
- 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49,
- 0x4e, 0x47, 0x10, 0x02, 0x42, 0x28, 0x5a, 0x26, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69,
- 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22,
+ 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x51, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d,
+ 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x75, 0x6c,
+ 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0b,
+ 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x1c,
+ 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x72,
+ 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65,
+ 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a,
+ 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07,
+ 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x7f, 0x0a, 0x1d, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d,
+ 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61,
+ 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72,
+ 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2a, 0x4a, 0x0a, 0x15, 0x4d, 0x61, 0x74, 0x65,
+ 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x6e,
+ 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x0e, 0x0a,
+ 0x0a, 0x4d, 0x4f, 0x56, 0x45, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x15, 0x0a,
+ 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x49, 0x4e, 0x44,
+ 0x45, 0x58, 0x10, 0x02, 0x2a, 0x38, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64,
+ 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12,
+ 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e,
+ 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x42, 0x28,
+ 0x5a, 0x26, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65,
+ 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -19084,7 +19392,7 @@ func file_vtctldata_proto_rawDescGZIP() []byte {
}
var file_vtctldata_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
-var file_vtctldata_proto_msgTypes = make([]protoimpl.MessageInfo, 288)
+var file_vtctldata_proto_msgTypes = make([]protoimpl.MessageInfo, 293)
var file_vtctldata_proto_goTypes = []any{
(MaterializationIntent)(0), // 0: vtctldata.MaterializationIntent
(QueryOrdering)(0), // 1: vtctldata.QueryOrdering
@@ -19205,452 +19513,463 @@ var file_vtctldata_proto_goTypes = []any{
(*GetTopologyPathRequest)(nil), // 116: vtctldata.GetTopologyPathRequest
(*GetTopologyPathResponse)(nil), // 117: vtctldata.GetTopologyPathResponse
(*TopologyCell)(nil), // 118: vtctldata.TopologyCell
- (*GetVSchemaRequest)(nil), // 119: vtctldata.GetVSchemaRequest
- (*GetVersionRequest)(nil), // 120: vtctldata.GetVersionRequest
- (*GetVersionResponse)(nil), // 121: vtctldata.GetVersionResponse
- (*GetVSchemaResponse)(nil), // 122: vtctldata.GetVSchemaResponse
- (*GetWorkflowsRequest)(nil), // 123: vtctldata.GetWorkflowsRequest
- (*GetWorkflowsResponse)(nil), // 124: vtctldata.GetWorkflowsResponse
- (*InitShardPrimaryRequest)(nil), // 125: vtctldata.InitShardPrimaryRequest
- (*InitShardPrimaryResponse)(nil), // 126: vtctldata.InitShardPrimaryResponse
- (*LaunchSchemaMigrationRequest)(nil), // 127: vtctldata.LaunchSchemaMigrationRequest
- (*LaunchSchemaMigrationResponse)(nil), // 128: vtctldata.LaunchSchemaMigrationResponse
- (*LookupVindexCreateRequest)(nil), // 129: vtctldata.LookupVindexCreateRequest
- (*LookupVindexCreateResponse)(nil), // 130: vtctldata.LookupVindexCreateResponse
- (*LookupVindexExternalizeRequest)(nil), // 131: vtctldata.LookupVindexExternalizeRequest
- (*LookupVindexExternalizeResponse)(nil), // 132: vtctldata.LookupVindexExternalizeResponse
- (*MaterializeCreateRequest)(nil), // 133: vtctldata.MaterializeCreateRequest
- (*MaterializeCreateResponse)(nil), // 134: vtctldata.MaterializeCreateResponse
- (*MigrateCreateRequest)(nil), // 135: vtctldata.MigrateCreateRequest
- (*MigrateCompleteRequest)(nil), // 136: vtctldata.MigrateCompleteRequest
- (*MigrateCompleteResponse)(nil), // 137: vtctldata.MigrateCompleteResponse
- (*MountRegisterRequest)(nil), // 138: vtctldata.MountRegisterRequest
- (*MountRegisterResponse)(nil), // 139: vtctldata.MountRegisterResponse
- (*MountUnregisterRequest)(nil), // 140: vtctldata.MountUnregisterRequest
- (*MountUnregisterResponse)(nil), // 141: vtctldata.MountUnregisterResponse
- (*MountShowRequest)(nil), // 142: vtctldata.MountShowRequest
- (*MountShowResponse)(nil), // 143: vtctldata.MountShowResponse
- (*MountListRequest)(nil), // 144: vtctldata.MountListRequest
- (*MountListResponse)(nil), // 145: vtctldata.MountListResponse
- (*MoveTablesCreateRequest)(nil), // 146: vtctldata.MoveTablesCreateRequest
- (*MoveTablesCreateResponse)(nil), // 147: vtctldata.MoveTablesCreateResponse
- (*MoveTablesCompleteRequest)(nil), // 148: vtctldata.MoveTablesCompleteRequest
- (*MoveTablesCompleteResponse)(nil), // 149: vtctldata.MoveTablesCompleteResponse
- (*PingTabletRequest)(nil), // 150: vtctldata.PingTabletRequest
- (*PingTabletResponse)(nil), // 151: vtctldata.PingTabletResponse
- (*PlannedReparentShardRequest)(nil), // 152: vtctldata.PlannedReparentShardRequest
- (*PlannedReparentShardResponse)(nil), // 153: vtctldata.PlannedReparentShardResponse
- (*RebuildKeyspaceGraphRequest)(nil), // 154: vtctldata.RebuildKeyspaceGraphRequest
- (*RebuildKeyspaceGraphResponse)(nil), // 155: vtctldata.RebuildKeyspaceGraphResponse
- (*RebuildVSchemaGraphRequest)(nil), // 156: vtctldata.RebuildVSchemaGraphRequest
- (*RebuildVSchemaGraphResponse)(nil), // 157: vtctldata.RebuildVSchemaGraphResponse
- (*RefreshStateRequest)(nil), // 158: vtctldata.RefreshStateRequest
- (*RefreshStateResponse)(nil), // 159: vtctldata.RefreshStateResponse
- (*RefreshStateByShardRequest)(nil), // 160: vtctldata.RefreshStateByShardRequest
- (*RefreshStateByShardResponse)(nil), // 161: vtctldata.RefreshStateByShardResponse
- (*ReloadSchemaRequest)(nil), // 162: vtctldata.ReloadSchemaRequest
- (*ReloadSchemaResponse)(nil), // 163: vtctldata.ReloadSchemaResponse
- (*ReloadSchemaKeyspaceRequest)(nil), // 164: vtctldata.ReloadSchemaKeyspaceRequest
- (*ReloadSchemaKeyspaceResponse)(nil), // 165: vtctldata.ReloadSchemaKeyspaceResponse
- (*ReloadSchemaShardRequest)(nil), // 166: vtctldata.ReloadSchemaShardRequest
- (*ReloadSchemaShardResponse)(nil), // 167: vtctldata.ReloadSchemaShardResponse
- (*RemoveBackupRequest)(nil), // 168: vtctldata.RemoveBackupRequest
- (*RemoveBackupResponse)(nil), // 169: vtctldata.RemoveBackupResponse
- (*RemoveKeyspaceCellRequest)(nil), // 170: vtctldata.RemoveKeyspaceCellRequest
- (*RemoveKeyspaceCellResponse)(nil), // 171: vtctldata.RemoveKeyspaceCellResponse
- (*RemoveShardCellRequest)(nil), // 172: vtctldata.RemoveShardCellRequest
- (*RemoveShardCellResponse)(nil), // 173: vtctldata.RemoveShardCellResponse
- (*ReparentTabletRequest)(nil), // 174: vtctldata.ReparentTabletRequest
- (*ReparentTabletResponse)(nil), // 175: vtctldata.ReparentTabletResponse
- (*ReshardCreateRequest)(nil), // 176: vtctldata.ReshardCreateRequest
- (*RestoreFromBackupRequest)(nil), // 177: vtctldata.RestoreFromBackupRequest
- (*RestoreFromBackupResponse)(nil), // 178: vtctldata.RestoreFromBackupResponse
- (*RetrySchemaMigrationRequest)(nil), // 179: vtctldata.RetrySchemaMigrationRequest
- (*RetrySchemaMigrationResponse)(nil), // 180: vtctldata.RetrySchemaMigrationResponse
- (*RunHealthCheckRequest)(nil), // 181: vtctldata.RunHealthCheckRequest
- (*RunHealthCheckResponse)(nil), // 182: vtctldata.RunHealthCheckResponse
- (*SetKeyspaceDurabilityPolicyRequest)(nil), // 183: vtctldata.SetKeyspaceDurabilityPolicyRequest
- (*SetKeyspaceDurabilityPolicyResponse)(nil), // 184: vtctldata.SetKeyspaceDurabilityPolicyResponse
- (*SetKeyspaceShardingInfoRequest)(nil), // 185: vtctldata.SetKeyspaceShardingInfoRequest
- (*SetKeyspaceShardingInfoResponse)(nil), // 186: vtctldata.SetKeyspaceShardingInfoResponse
- (*SetShardIsPrimaryServingRequest)(nil), // 187: vtctldata.SetShardIsPrimaryServingRequest
- (*SetShardIsPrimaryServingResponse)(nil), // 188: vtctldata.SetShardIsPrimaryServingResponse
- (*SetShardTabletControlRequest)(nil), // 189: vtctldata.SetShardTabletControlRequest
- (*SetShardTabletControlResponse)(nil), // 190: vtctldata.SetShardTabletControlResponse
- (*SetWritableRequest)(nil), // 191: vtctldata.SetWritableRequest
- (*SetWritableResponse)(nil), // 192: vtctldata.SetWritableResponse
- (*ShardReplicationAddRequest)(nil), // 193: vtctldata.ShardReplicationAddRequest
- (*ShardReplicationAddResponse)(nil), // 194: vtctldata.ShardReplicationAddResponse
- (*ShardReplicationFixRequest)(nil), // 195: vtctldata.ShardReplicationFixRequest
- (*ShardReplicationFixResponse)(nil), // 196: vtctldata.ShardReplicationFixResponse
- (*ShardReplicationPositionsRequest)(nil), // 197: vtctldata.ShardReplicationPositionsRequest
- (*ShardReplicationPositionsResponse)(nil), // 198: vtctldata.ShardReplicationPositionsResponse
- (*ShardReplicationRemoveRequest)(nil), // 199: vtctldata.ShardReplicationRemoveRequest
- (*ShardReplicationRemoveResponse)(nil), // 200: vtctldata.ShardReplicationRemoveResponse
- (*SleepTabletRequest)(nil), // 201: vtctldata.SleepTabletRequest
- (*SleepTabletResponse)(nil), // 202: vtctldata.SleepTabletResponse
- (*SourceShardAddRequest)(nil), // 203: vtctldata.SourceShardAddRequest
- (*SourceShardAddResponse)(nil), // 204: vtctldata.SourceShardAddResponse
- (*SourceShardDeleteRequest)(nil), // 205: vtctldata.SourceShardDeleteRequest
- (*SourceShardDeleteResponse)(nil), // 206: vtctldata.SourceShardDeleteResponse
- (*StartReplicationRequest)(nil), // 207: vtctldata.StartReplicationRequest
- (*StartReplicationResponse)(nil), // 208: vtctldata.StartReplicationResponse
- (*StopReplicationRequest)(nil), // 209: vtctldata.StopReplicationRequest
- (*StopReplicationResponse)(nil), // 210: vtctldata.StopReplicationResponse
- (*TabletExternallyReparentedRequest)(nil), // 211: vtctldata.TabletExternallyReparentedRequest
- (*TabletExternallyReparentedResponse)(nil), // 212: vtctldata.TabletExternallyReparentedResponse
- (*UpdateCellInfoRequest)(nil), // 213: vtctldata.UpdateCellInfoRequest
- (*UpdateCellInfoResponse)(nil), // 214: vtctldata.UpdateCellInfoResponse
- (*UpdateCellsAliasRequest)(nil), // 215: vtctldata.UpdateCellsAliasRequest
- (*UpdateCellsAliasResponse)(nil), // 216: vtctldata.UpdateCellsAliasResponse
- (*ValidateRequest)(nil), // 217: vtctldata.ValidateRequest
- (*ValidateResponse)(nil), // 218: vtctldata.ValidateResponse
- (*ValidateKeyspaceRequest)(nil), // 219: vtctldata.ValidateKeyspaceRequest
- (*ValidateKeyspaceResponse)(nil), // 220: vtctldata.ValidateKeyspaceResponse
- (*ValidateSchemaKeyspaceRequest)(nil), // 221: vtctldata.ValidateSchemaKeyspaceRequest
- (*ValidateSchemaKeyspaceResponse)(nil), // 222: vtctldata.ValidateSchemaKeyspaceResponse
- (*ValidateShardRequest)(nil), // 223: vtctldata.ValidateShardRequest
- (*ValidateShardResponse)(nil), // 224: vtctldata.ValidateShardResponse
- (*ValidateVersionKeyspaceRequest)(nil), // 225: vtctldata.ValidateVersionKeyspaceRequest
- (*ValidateVersionKeyspaceResponse)(nil), // 226: vtctldata.ValidateVersionKeyspaceResponse
- (*ValidateVersionShardRequest)(nil), // 227: vtctldata.ValidateVersionShardRequest
- (*ValidateVersionShardResponse)(nil), // 228: vtctldata.ValidateVersionShardResponse
- (*ValidateVSchemaRequest)(nil), // 229: vtctldata.ValidateVSchemaRequest
- (*ValidateVSchemaResponse)(nil), // 230: vtctldata.ValidateVSchemaResponse
- (*VDiffCreateRequest)(nil), // 231: vtctldata.VDiffCreateRequest
- (*VDiffCreateResponse)(nil), // 232: vtctldata.VDiffCreateResponse
- (*VDiffDeleteRequest)(nil), // 233: vtctldata.VDiffDeleteRequest
- (*VDiffDeleteResponse)(nil), // 234: vtctldata.VDiffDeleteResponse
- (*VDiffResumeRequest)(nil), // 235: vtctldata.VDiffResumeRequest
- (*VDiffResumeResponse)(nil), // 236: vtctldata.VDiffResumeResponse
- (*VDiffShowRequest)(nil), // 237: vtctldata.VDiffShowRequest
- (*VDiffShowResponse)(nil), // 238: vtctldata.VDiffShowResponse
- (*VDiffStopRequest)(nil), // 239: vtctldata.VDiffStopRequest
- (*VDiffStopResponse)(nil), // 240: vtctldata.VDiffStopResponse
- (*WorkflowDeleteRequest)(nil), // 241: vtctldata.WorkflowDeleteRequest
- (*WorkflowDeleteResponse)(nil), // 242: vtctldata.WorkflowDeleteResponse
- (*WorkflowStatusRequest)(nil), // 243: vtctldata.WorkflowStatusRequest
- (*WorkflowStatusResponse)(nil), // 244: vtctldata.WorkflowStatusResponse
- (*WorkflowSwitchTrafficRequest)(nil), // 245: vtctldata.WorkflowSwitchTrafficRequest
- (*WorkflowSwitchTrafficResponse)(nil), // 246: vtctldata.WorkflowSwitchTrafficResponse
- (*WorkflowUpdateRequest)(nil), // 247: vtctldata.WorkflowUpdateRequest
- (*WorkflowUpdateResponse)(nil), // 248: vtctldata.WorkflowUpdateResponse
- (*GetMirrorRulesRequest)(nil), // 249: vtctldata.GetMirrorRulesRequest
- (*GetMirrorRulesResponse)(nil), // 250: vtctldata.GetMirrorRulesResponse
- (*WorkflowMirrorTrafficRequest)(nil), // 251: vtctldata.WorkflowMirrorTrafficRequest
- (*WorkflowMirrorTrafficResponse)(nil), // 252: vtctldata.WorkflowMirrorTrafficResponse
- nil, // 253: vtctldata.Workflow.ShardStreamsEntry
- (*Workflow_ReplicationLocation)(nil), // 254: vtctldata.Workflow.ReplicationLocation
- (*Workflow_ShardStream)(nil), // 255: vtctldata.Workflow.ShardStream
- (*Workflow_Stream)(nil), // 256: vtctldata.Workflow.Stream
- (*Workflow_Stream_CopyState)(nil), // 257: vtctldata.Workflow.Stream.CopyState
- (*Workflow_Stream_Log)(nil), // 258: vtctldata.Workflow.Stream.Log
- (*Workflow_Stream_ThrottlerStatus)(nil), // 259: vtctldata.Workflow.Stream.ThrottlerStatus
- nil, // 260: vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry
- nil, // 261: vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry
- (*ApplyVSchemaResponse_ParamList)(nil), // 262: vtctldata.ApplyVSchemaResponse.ParamList
- nil, // 263: vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry
- nil, // 264: vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry
- nil, // 265: vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry
- nil, // 266: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry
- nil, // 267: vtctldata.ForceCutOverSchemaMigrationResponse.RowsAffectedByShardEntry
- nil, // 268: vtctldata.GetCellsAliasesResponse.AliasesEntry
- nil, // 269: vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry
- nil, // 270: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry
- (*GetSrvKeyspaceNamesResponse_NameList)(nil), // 271: vtctldata.GetSrvKeyspaceNamesResponse.NameList
- nil, // 272: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry
- nil, // 273: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry
- nil, // 274: vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry
- (*MoveTablesCreateResponse_TabletInfo)(nil), // 275: vtctldata.MoveTablesCreateResponse.TabletInfo
- nil, // 276: vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry
- nil, // 277: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry
- nil, // 278: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry
- nil, // 279: vtctldata.ValidateResponse.ResultsByKeyspaceEntry
- nil, // 280: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry
- nil, // 281: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry
- nil, // 282: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry
- nil, // 283: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry
- nil, // 284: vtctldata.VDiffShowResponse.TabletResponsesEntry
- (*WorkflowDeleteResponse_TabletInfo)(nil), // 285: vtctldata.WorkflowDeleteResponse.TabletInfo
- (*WorkflowStatusResponse_TableCopyState)(nil), // 286: vtctldata.WorkflowStatusResponse.TableCopyState
- (*WorkflowStatusResponse_ShardStreamState)(nil), // 287: vtctldata.WorkflowStatusResponse.ShardStreamState
- (*WorkflowStatusResponse_ShardStreams)(nil), // 288: vtctldata.WorkflowStatusResponse.ShardStreams
- nil, // 289: vtctldata.WorkflowStatusResponse.TableCopyStateEntry
- nil, // 290: vtctldata.WorkflowStatusResponse.ShardStreamsEntry
- (*WorkflowUpdateResponse_TabletInfo)(nil), // 291: vtctldata.WorkflowUpdateResponse.TabletInfo
- (*logutil.Event)(nil), // 292: logutil.Event
- (tabletmanagerdata.TabletSelectionPreference)(0), // 293: tabletmanagerdata.TabletSelectionPreference
- (*topodata.Keyspace)(nil), // 294: topodata.Keyspace
- (*vttime.Time)(nil), // 295: vttime.Time
- (*topodata.TabletAlias)(nil), // 296: topodata.TabletAlias
- (*vttime.Duration)(nil), // 297: vttime.Duration
- (*topodata.Shard)(nil), // 298: topodata.Shard
- (*topodata.CellInfo)(nil), // 299: topodata.CellInfo
- (*vschema.KeyspaceRoutingRules)(nil), // 300: vschema.KeyspaceRoutingRules
- (*vschema.RoutingRules)(nil), // 301: vschema.RoutingRules
- (*vschema.ShardRoutingRules)(nil), // 302: vschema.ShardRoutingRules
- (*vtrpc.CallerID)(nil), // 303: vtrpc.CallerID
- (*vschema.Keyspace)(nil), // 304: vschema.Keyspace
- (topodata.TabletType)(0), // 305: topodata.TabletType
- (*topodata.Tablet)(nil), // 306: topodata.Tablet
- (*tabletmanagerdata.CheckThrottlerResponse)(nil), // 307: tabletmanagerdata.CheckThrottlerResponse
- (topodata.KeyspaceType)(0), // 308: topodata.KeyspaceType
- (*query.QueryResult)(nil), // 309: query.QueryResult
- (*tabletmanagerdata.ExecuteHookRequest)(nil), // 310: tabletmanagerdata.ExecuteHookRequest
- (*tabletmanagerdata.ExecuteHookResponse)(nil), // 311: tabletmanagerdata.ExecuteHookResponse
- (*mysqlctl.BackupInfo)(nil), // 312: mysqlctl.BackupInfo
- (*replicationdata.FullStatus)(nil), // 313: replicationdata.FullStatus
- (*tabletmanagerdata.Permissions)(nil), // 314: tabletmanagerdata.Permissions
- (*tabletmanagerdata.SchemaDefinition)(nil), // 315: tabletmanagerdata.SchemaDefinition
- (*topodata.ThrottledAppRule)(nil), // 316: topodata.ThrottledAppRule
- (*vschema.SrvVSchema)(nil), // 317: vschema.SrvVSchema
- (*tabletmanagerdata.GetThrottlerStatusResponse)(nil), // 318: tabletmanagerdata.GetThrottlerStatusResponse
- (*topodata.ShardReplicationError)(nil), // 319: topodata.ShardReplicationError
- (*topodata.KeyRange)(nil), // 320: topodata.KeyRange
- (*topodata.CellsAlias)(nil), // 321: topodata.CellsAlias
- (*tabletmanagerdata.UpdateVReplicationWorkflowRequest)(nil), // 322: tabletmanagerdata.UpdateVReplicationWorkflowRequest
- (*vschema.MirrorRules)(nil), // 323: vschema.MirrorRules
- (*topodata.Shard_TabletControl)(nil), // 324: topodata.Shard.TabletControl
- (*binlogdata.BinlogSource)(nil), // 325: binlogdata.BinlogSource
- (*topodata.ShardReplication)(nil), // 326: topodata.ShardReplication
- (*topodata.SrvKeyspace)(nil), // 327: topodata.SrvKeyspace
- (*replicationdata.Status)(nil), // 328: replicationdata.Status
- (*tabletmanagerdata.VDiffResponse)(nil), // 329: tabletmanagerdata.VDiffResponse
+ (*GetUnresolvedTransactionsRequest)(nil), // 119: vtctldata.GetUnresolvedTransactionsRequest
+ (*GetUnresolvedTransactionsResponse)(nil), // 120: vtctldata.GetUnresolvedTransactionsResponse
+ (*ConcludeTransactionRequest)(nil), // 121: vtctldata.ConcludeTransactionRequest
+ (*ConcludeTransactionResponse)(nil), // 122: vtctldata.ConcludeTransactionResponse
+ (*GetVSchemaRequest)(nil), // 123: vtctldata.GetVSchemaRequest
+ (*GetVersionRequest)(nil), // 124: vtctldata.GetVersionRequest
+ (*GetVersionResponse)(nil), // 125: vtctldata.GetVersionResponse
+ (*GetVSchemaResponse)(nil), // 126: vtctldata.GetVSchemaResponse
+ (*GetWorkflowsRequest)(nil), // 127: vtctldata.GetWorkflowsRequest
+ (*GetWorkflowsResponse)(nil), // 128: vtctldata.GetWorkflowsResponse
+ (*InitShardPrimaryRequest)(nil), // 129: vtctldata.InitShardPrimaryRequest
+ (*InitShardPrimaryResponse)(nil), // 130: vtctldata.InitShardPrimaryResponse
+ (*LaunchSchemaMigrationRequest)(nil), // 131: vtctldata.LaunchSchemaMigrationRequest
+ (*LaunchSchemaMigrationResponse)(nil), // 132: vtctldata.LaunchSchemaMigrationResponse
+ (*LookupVindexCreateRequest)(nil), // 133: vtctldata.LookupVindexCreateRequest
+ (*LookupVindexCreateResponse)(nil), // 134: vtctldata.LookupVindexCreateResponse
+ (*LookupVindexExternalizeRequest)(nil), // 135: vtctldata.LookupVindexExternalizeRequest
+ (*LookupVindexExternalizeResponse)(nil), // 136: vtctldata.LookupVindexExternalizeResponse
+ (*MaterializeCreateRequest)(nil), // 137: vtctldata.MaterializeCreateRequest
+ (*MaterializeCreateResponse)(nil), // 138: vtctldata.MaterializeCreateResponse
+ (*MigrateCreateRequest)(nil), // 139: vtctldata.MigrateCreateRequest
+ (*MigrateCompleteRequest)(nil), // 140: vtctldata.MigrateCompleteRequest
+ (*MigrateCompleteResponse)(nil), // 141: vtctldata.MigrateCompleteResponse
+ (*MountRegisterRequest)(nil), // 142: vtctldata.MountRegisterRequest
+ (*MountRegisterResponse)(nil), // 143: vtctldata.MountRegisterResponse
+ (*MountUnregisterRequest)(nil), // 144: vtctldata.MountUnregisterRequest
+ (*MountUnregisterResponse)(nil), // 145: vtctldata.MountUnregisterResponse
+ (*MountShowRequest)(nil), // 146: vtctldata.MountShowRequest
+ (*MountShowResponse)(nil), // 147: vtctldata.MountShowResponse
+ (*MountListRequest)(nil), // 148: vtctldata.MountListRequest
+ (*MountListResponse)(nil), // 149: vtctldata.MountListResponse
+ (*MoveTablesCreateRequest)(nil), // 150: vtctldata.MoveTablesCreateRequest
+ (*MoveTablesCreateResponse)(nil), // 151: vtctldata.MoveTablesCreateResponse
+ (*MoveTablesCompleteRequest)(nil), // 152: vtctldata.MoveTablesCompleteRequest
+ (*MoveTablesCompleteResponse)(nil), // 153: vtctldata.MoveTablesCompleteResponse
+ (*PingTabletRequest)(nil), // 154: vtctldata.PingTabletRequest
+ (*PingTabletResponse)(nil), // 155: vtctldata.PingTabletResponse
+ (*PlannedReparentShardRequest)(nil), // 156: vtctldata.PlannedReparentShardRequest
+ (*PlannedReparentShardResponse)(nil), // 157: vtctldata.PlannedReparentShardResponse
+ (*RebuildKeyspaceGraphRequest)(nil), // 158: vtctldata.RebuildKeyspaceGraphRequest
+ (*RebuildKeyspaceGraphResponse)(nil), // 159: vtctldata.RebuildKeyspaceGraphResponse
+ (*RebuildVSchemaGraphRequest)(nil), // 160: vtctldata.RebuildVSchemaGraphRequest
+ (*RebuildVSchemaGraphResponse)(nil), // 161: vtctldata.RebuildVSchemaGraphResponse
+ (*RefreshStateRequest)(nil), // 162: vtctldata.RefreshStateRequest
+ (*RefreshStateResponse)(nil), // 163: vtctldata.RefreshStateResponse
+ (*RefreshStateByShardRequest)(nil), // 164: vtctldata.RefreshStateByShardRequest
+ (*RefreshStateByShardResponse)(nil), // 165: vtctldata.RefreshStateByShardResponse
+ (*ReloadSchemaRequest)(nil), // 166: vtctldata.ReloadSchemaRequest
+ (*ReloadSchemaResponse)(nil), // 167: vtctldata.ReloadSchemaResponse
+ (*ReloadSchemaKeyspaceRequest)(nil), // 168: vtctldata.ReloadSchemaKeyspaceRequest
+ (*ReloadSchemaKeyspaceResponse)(nil), // 169: vtctldata.ReloadSchemaKeyspaceResponse
+ (*ReloadSchemaShardRequest)(nil), // 170: vtctldata.ReloadSchemaShardRequest
+ (*ReloadSchemaShardResponse)(nil), // 171: vtctldata.ReloadSchemaShardResponse
+ (*RemoveBackupRequest)(nil), // 172: vtctldata.RemoveBackupRequest
+ (*RemoveBackupResponse)(nil), // 173: vtctldata.RemoveBackupResponse
+ (*RemoveKeyspaceCellRequest)(nil), // 174: vtctldata.RemoveKeyspaceCellRequest
+ (*RemoveKeyspaceCellResponse)(nil), // 175: vtctldata.RemoveKeyspaceCellResponse
+ (*RemoveShardCellRequest)(nil), // 176: vtctldata.RemoveShardCellRequest
+ (*RemoveShardCellResponse)(nil), // 177: vtctldata.RemoveShardCellResponse
+ (*ReparentTabletRequest)(nil), // 178: vtctldata.ReparentTabletRequest
+ (*ReparentTabletResponse)(nil), // 179: vtctldata.ReparentTabletResponse
+ (*ReshardCreateRequest)(nil), // 180: vtctldata.ReshardCreateRequest
+ (*RestoreFromBackupRequest)(nil), // 181: vtctldata.RestoreFromBackupRequest
+ (*RestoreFromBackupResponse)(nil), // 182: vtctldata.RestoreFromBackupResponse
+ (*RetrySchemaMigrationRequest)(nil), // 183: vtctldata.RetrySchemaMigrationRequest
+ (*RetrySchemaMigrationResponse)(nil), // 184: vtctldata.RetrySchemaMigrationResponse
+ (*RunHealthCheckRequest)(nil), // 185: vtctldata.RunHealthCheckRequest
+ (*RunHealthCheckResponse)(nil), // 186: vtctldata.RunHealthCheckResponse
+ (*SetKeyspaceDurabilityPolicyRequest)(nil), // 187: vtctldata.SetKeyspaceDurabilityPolicyRequest
+ (*SetKeyspaceDurabilityPolicyResponse)(nil), // 188: vtctldata.SetKeyspaceDurabilityPolicyResponse
+ (*SetKeyspaceShardingInfoRequest)(nil), // 189: vtctldata.SetKeyspaceShardingInfoRequest
+ (*SetKeyspaceShardingInfoResponse)(nil), // 190: vtctldata.SetKeyspaceShardingInfoResponse
+ (*SetShardIsPrimaryServingRequest)(nil), // 191: vtctldata.SetShardIsPrimaryServingRequest
+ (*SetShardIsPrimaryServingResponse)(nil), // 192: vtctldata.SetShardIsPrimaryServingResponse
+ (*SetShardTabletControlRequest)(nil), // 193: vtctldata.SetShardTabletControlRequest
+ (*SetShardTabletControlResponse)(nil), // 194: vtctldata.SetShardTabletControlResponse
+ (*SetWritableRequest)(nil), // 195: vtctldata.SetWritableRequest
+ (*SetWritableResponse)(nil), // 196: vtctldata.SetWritableResponse
+ (*ShardReplicationAddRequest)(nil), // 197: vtctldata.ShardReplicationAddRequest
+ (*ShardReplicationAddResponse)(nil), // 198: vtctldata.ShardReplicationAddResponse
+ (*ShardReplicationFixRequest)(nil), // 199: vtctldata.ShardReplicationFixRequest
+ (*ShardReplicationFixResponse)(nil), // 200: vtctldata.ShardReplicationFixResponse
+ (*ShardReplicationPositionsRequest)(nil), // 201: vtctldata.ShardReplicationPositionsRequest
+ (*ShardReplicationPositionsResponse)(nil), // 202: vtctldata.ShardReplicationPositionsResponse
+ (*ShardReplicationRemoveRequest)(nil), // 203: vtctldata.ShardReplicationRemoveRequest
+ (*ShardReplicationRemoveResponse)(nil), // 204: vtctldata.ShardReplicationRemoveResponse
+ (*SleepTabletRequest)(nil), // 205: vtctldata.SleepTabletRequest
+ (*SleepTabletResponse)(nil), // 206: vtctldata.SleepTabletResponse
+ (*SourceShardAddRequest)(nil), // 207: vtctldata.SourceShardAddRequest
+ (*SourceShardAddResponse)(nil), // 208: vtctldata.SourceShardAddResponse
+ (*SourceShardDeleteRequest)(nil), // 209: vtctldata.SourceShardDeleteRequest
+ (*SourceShardDeleteResponse)(nil), // 210: vtctldata.SourceShardDeleteResponse
+ (*StartReplicationRequest)(nil), // 211: vtctldata.StartReplicationRequest
+ (*StartReplicationResponse)(nil), // 212: vtctldata.StartReplicationResponse
+ (*StopReplicationRequest)(nil), // 213: vtctldata.StopReplicationRequest
+ (*StopReplicationResponse)(nil), // 214: vtctldata.StopReplicationResponse
+ (*TabletExternallyReparentedRequest)(nil), // 215: vtctldata.TabletExternallyReparentedRequest
+ (*TabletExternallyReparentedResponse)(nil), // 216: vtctldata.TabletExternallyReparentedResponse
+ (*UpdateCellInfoRequest)(nil), // 217: vtctldata.UpdateCellInfoRequest
+ (*UpdateCellInfoResponse)(nil), // 218: vtctldata.UpdateCellInfoResponse
+ (*UpdateCellsAliasRequest)(nil), // 219: vtctldata.UpdateCellsAliasRequest
+ (*UpdateCellsAliasResponse)(nil), // 220: vtctldata.UpdateCellsAliasResponse
+ (*ValidateRequest)(nil), // 221: vtctldata.ValidateRequest
+ (*ValidateResponse)(nil), // 222: vtctldata.ValidateResponse
+ (*ValidateKeyspaceRequest)(nil), // 223: vtctldata.ValidateKeyspaceRequest
+ (*ValidateKeyspaceResponse)(nil), // 224: vtctldata.ValidateKeyspaceResponse
+ (*ValidateSchemaKeyspaceRequest)(nil), // 225: vtctldata.ValidateSchemaKeyspaceRequest
+ (*ValidateSchemaKeyspaceResponse)(nil), // 226: vtctldata.ValidateSchemaKeyspaceResponse
+ (*ValidateShardRequest)(nil), // 227: vtctldata.ValidateShardRequest
+ (*ValidateShardResponse)(nil), // 228: vtctldata.ValidateShardResponse
+ (*ValidateVersionKeyspaceRequest)(nil), // 229: vtctldata.ValidateVersionKeyspaceRequest
+ (*ValidateVersionKeyspaceResponse)(nil), // 230: vtctldata.ValidateVersionKeyspaceResponse
+ (*ValidateVersionShardRequest)(nil), // 231: vtctldata.ValidateVersionShardRequest
+ (*ValidateVersionShardResponse)(nil), // 232: vtctldata.ValidateVersionShardResponse
+ (*ValidateVSchemaRequest)(nil), // 233: vtctldata.ValidateVSchemaRequest
+ (*ValidateVSchemaResponse)(nil), // 234: vtctldata.ValidateVSchemaResponse
+ (*VDiffCreateRequest)(nil), // 235: vtctldata.VDiffCreateRequest
+ (*VDiffCreateResponse)(nil), // 236: vtctldata.VDiffCreateResponse
+ (*VDiffDeleteRequest)(nil), // 237: vtctldata.VDiffDeleteRequest
+ (*VDiffDeleteResponse)(nil), // 238: vtctldata.VDiffDeleteResponse
+ (*VDiffResumeRequest)(nil), // 239: vtctldata.VDiffResumeRequest
+ (*VDiffResumeResponse)(nil), // 240: vtctldata.VDiffResumeResponse
+ (*VDiffShowRequest)(nil), // 241: vtctldata.VDiffShowRequest
+ (*VDiffShowResponse)(nil), // 242: vtctldata.VDiffShowResponse
+ (*VDiffStopRequest)(nil), // 243: vtctldata.VDiffStopRequest
+ (*VDiffStopResponse)(nil), // 244: vtctldata.VDiffStopResponse
+ (*WorkflowDeleteRequest)(nil), // 245: vtctldata.WorkflowDeleteRequest
+ (*WorkflowDeleteResponse)(nil), // 246: vtctldata.WorkflowDeleteResponse
+ (*WorkflowStatusRequest)(nil), // 247: vtctldata.WorkflowStatusRequest
+ (*WorkflowStatusResponse)(nil), // 248: vtctldata.WorkflowStatusResponse
+ (*WorkflowSwitchTrafficRequest)(nil), // 249: vtctldata.WorkflowSwitchTrafficRequest
+ (*WorkflowSwitchTrafficResponse)(nil), // 250: vtctldata.WorkflowSwitchTrafficResponse
+ (*WorkflowUpdateRequest)(nil), // 251: vtctldata.WorkflowUpdateRequest
+ (*WorkflowUpdateResponse)(nil), // 252: vtctldata.WorkflowUpdateResponse
+ (*GetMirrorRulesRequest)(nil), // 253: vtctldata.GetMirrorRulesRequest
+ (*GetMirrorRulesResponse)(nil), // 254: vtctldata.GetMirrorRulesResponse
+ (*WorkflowMirrorTrafficRequest)(nil), // 255: vtctldata.WorkflowMirrorTrafficRequest
+ (*WorkflowMirrorTrafficResponse)(nil), // 256: vtctldata.WorkflowMirrorTrafficResponse
+ nil, // 257: vtctldata.WorkflowOptions.ConfigEntry
+ nil, // 258: vtctldata.Workflow.ShardStreamsEntry
+ (*Workflow_ReplicationLocation)(nil), // 259: vtctldata.Workflow.ReplicationLocation
+ (*Workflow_ShardStream)(nil), // 260: vtctldata.Workflow.ShardStream
+ (*Workflow_Stream)(nil), // 261: vtctldata.Workflow.Stream
+ (*Workflow_Stream_CopyState)(nil), // 262: vtctldata.Workflow.Stream.CopyState
+ (*Workflow_Stream_Log)(nil), // 263: vtctldata.Workflow.Stream.Log
+ (*Workflow_Stream_ThrottlerStatus)(nil), // 264: vtctldata.Workflow.Stream.ThrottlerStatus
+ nil, // 265: vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry
+ nil, // 266: vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry
+ (*ApplyVSchemaResponse_ParamList)(nil), // 267: vtctldata.ApplyVSchemaResponse.ParamList
+ nil, // 268: vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry
+ nil, // 269: vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry
+ nil, // 270: vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry
+ nil, // 271: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry
+ nil, // 272: vtctldata.ForceCutOverSchemaMigrationResponse.RowsAffectedByShardEntry
+ nil, // 273: vtctldata.GetCellsAliasesResponse.AliasesEntry
+ nil, // 274: vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry
+ nil, // 275: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry
+ (*GetSrvKeyspaceNamesResponse_NameList)(nil), // 276: vtctldata.GetSrvKeyspaceNamesResponse.NameList
+ nil, // 277: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry
+ nil, // 278: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry
+ nil, // 279: vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry
+ (*MoveTablesCreateResponse_TabletInfo)(nil), // 280: vtctldata.MoveTablesCreateResponse.TabletInfo
+ nil, // 281: vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry
+ nil, // 282: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry
+ nil, // 283: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry
+ nil, // 284: vtctldata.ValidateResponse.ResultsByKeyspaceEntry
+ nil, // 285: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry
+ nil, // 286: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry
+ nil, // 287: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry
+ nil, // 288: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry
+ nil, // 289: vtctldata.VDiffShowResponse.TabletResponsesEntry
+ (*WorkflowDeleteResponse_TabletInfo)(nil), // 290: vtctldata.WorkflowDeleteResponse.TabletInfo
+ (*WorkflowStatusResponse_TableCopyState)(nil), // 291: vtctldata.WorkflowStatusResponse.TableCopyState
+ (*WorkflowStatusResponse_ShardStreamState)(nil), // 292: vtctldata.WorkflowStatusResponse.ShardStreamState
+ (*WorkflowStatusResponse_ShardStreams)(nil), // 293: vtctldata.WorkflowStatusResponse.ShardStreams
+ nil, // 294: vtctldata.WorkflowStatusResponse.TableCopyStateEntry
+ nil, // 295: vtctldata.WorkflowStatusResponse.ShardStreamsEntry
+ (*WorkflowUpdateResponse_TabletInfo)(nil), // 296: vtctldata.WorkflowUpdateResponse.TabletInfo
+ (*logutil.Event)(nil), // 297: logutil.Event
+ (tabletmanagerdata.TabletSelectionPreference)(0), // 298: tabletmanagerdata.TabletSelectionPreference
+ (*topodata.Keyspace)(nil), // 299: topodata.Keyspace
+ (*vttime.Time)(nil), // 300: vttime.Time
+ (*topodata.TabletAlias)(nil), // 301: topodata.TabletAlias
+ (*vttime.Duration)(nil), // 302: vttime.Duration
+ (*topodata.Shard)(nil), // 303: topodata.Shard
+ (*topodata.CellInfo)(nil), // 304: topodata.CellInfo
+ (*vschema.KeyspaceRoutingRules)(nil), // 305: vschema.KeyspaceRoutingRules
+ (*vschema.RoutingRules)(nil), // 306: vschema.RoutingRules
+ (*vschema.ShardRoutingRules)(nil), // 307: vschema.ShardRoutingRules
+ (*vtrpc.CallerID)(nil), // 308: vtrpc.CallerID
+ (*vschema.Keyspace)(nil), // 309: vschema.Keyspace
+ (topodata.TabletType)(0), // 310: topodata.TabletType
+ (*topodata.Tablet)(nil), // 311: topodata.Tablet
+ (*tabletmanagerdata.CheckThrottlerResponse)(nil), // 312: tabletmanagerdata.CheckThrottlerResponse
+ (topodata.KeyspaceType)(0), // 313: topodata.KeyspaceType
+ (*query.QueryResult)(nil), // 314: query.QueryResult
+ (*tabletmanagerdata.ExecuteHookRequest)(nil), // 315: tabletmanagerdata.ExecuteHookRequest
+ (*tabletmanagerdata.ExecuteHookResponse)(nil), // 316: tabletmanagerdata.ExecuteHookResponse
+ (*mysqlctl.BackupInfo)(nil), // 317: mysqlctl.BackupInfo
+ (*replicationdata.FullStatus)(nil), // 318: replicationdata.FullStatus
+ (*tabletmanagerdata.Permissions)(nil), // 319: tabletmanagerdata.Permissions
+ (*tabletmanagerdata.SchemaDefinition)(nil), // 320: tabletmanagerdata.SchemaDefinition
+ (*topodata.ThrottledAppRule)(nil), // 321: topodata.ThrottledAppRule
+ (*vschema.SrvVSchema)(nil), // 322: vschema.SrvVSchema
+ (*tabletmanagerdata.GetThrottlerStatusResponse)(nil), // 323: tabletmanagerdata.GetThrottlerStatusResponse
+ (*query.TransactionMetadata)(nil), // 324: query.TransactionMetadata
+ (*query.Target)(nil), // 325: query.Target
+ (*topodata.ShardReplicationError)(nil), // 326: topodata.ShardReplicationError
+ (*topodata.KeyRange)(nil), // 327: topodata.KeyRange
+ (*topodata.CellsAlias)(nil), // 328: topodata.CellsAlias
+ (*tabletmanagerdata.UpdateVReplicationWorkflowRequest)(nil), // 329: tabletmanagerdata.UpdateVReplicationWorkflowRequest
+ (*vschema.MirrorRules)(nil), // 330: vschema.MirrorRules
+ (*topodata.Shard_TabletControl)(nil), // 331: topodata.Shard.TabletControl
+ (*binlogdata.BinlogSource)(nil), // 332: binlogdata.BinlogSource
+ (*topodata.ShardReplication)(nil), // 333: topodata.ShardReplication
+ (*topodata.SrvKeyspace)(nil), // 334: topodata.SrvKeyspace
+ (*replicationdata.Status)(nil), // 335: replicationdata.Status
+ (*tabletmanagerdata.VDiffResponse)(nil), // 336: tabletmanagerdata.VDiffResponse
}
var file_vtctldata_proto_depIdxs = []int32{
- 292, // 0: vtctldata.ExecuteVtctlCommandResponse.event:type_name -> logutil.Event
+ 297, // 0: vtctldata.ExecuteVtctlCommandResponse.event:type_name -> logutil.Event
6, // 1: vtctldata.MaterializeSettings.table_settings:type_name -> vtctldata.TableMaterializeSettings
0, // 2: vtctldata.MaterializeSettings.materialization_intent:type_name -> vtctldata.MaterializationIntent
- 293, // 3: vtctldata.MaterializeSettings.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
+ 298, // 3: vtctldata.MaterializeSettings.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
11, // 4: vtctldata.MaterializeSettings.workflow_options:type_name -> vtctldata.WorkflowOptions
- 294, // 5: vtctldata.Keyspace.keyspace:type_name -> topodata.Keyspace
+ 299, // 5: vtctldata.Keyspace.keyspace:type_name -> topodata.Keyspace
2, // 6: vtctldata.SchemaMigration.strategy:type_name -> vtctldata.SchemaMigration.Strategy
- 295, // 7: vtctldata.SchemaMigration.added_at:type_name -> vttime.Time
- 295, // 8: vtctldata.SchemaMigration.requested_at:type_name -> vttime.Time
- 295, // 9: vtctldata.SchemaMigration.ready_at:type_name -> vttime.Time
- 295, // 10: vtctldata.SchemaMigration.started_at:type_name -> vttime.Time
- 295, // 11: vtctldata.SchemaMigration.liveness_timestamp:type_name -> vttime.Time
- 295, // 12: vtctldata.SchemaMigration.completed_at:type_name -> vttime.Time
- 295, // 13: vtctldata.SchemaMigration.cleaned_up_at:type_name -> vttime.Time
+ 300, // 7: vtctldata.SchemaMigration.added_at:type_name -> vttime.Time
+ 300, // 8: vtctldata.SchemaMigration.requested_at:type_name -> vttime.Time
+ 300, // 9: vtctldata.SchemaMigration.ready_at:type_name -> vttime.Time
+ 300, // 10: vtctldata.SchemaMigration.started_at:type_name -> vttime.Time
+ 300, // 11: vtctldata.SchemaMigration.liveness_timestamp:type_name -> vttime.Time
+ 300, // 12: vtctldata.SchemaMigration.completed_at:type_name -> vttime.Time
+ 300, // 13: vtctldata.SchemaMigration.cleaned_up_at:type_name -> vttime.Time
3, // 14: vtctldata.SchemaMigration.status:type_name -> vtctldata.SchemaMigration.Status
- 296, // 15: vtctldata.SchemaMigration.tablet:type_name -> topodata.TabletAlias
- 297, // 16: vtctldata.SchemaMigration.artifact_retention:type_name -> vttime.Duration
- 295, // 17: vtctldata.SchemaMigration.last_throttled_at:type_name -> vttime.Time
- 295, // 18: vtctldata.SchemaMigration.cancelled_at:type_name -> vttime.Time
- 295, // 19: vtctldata.SchemaMigration.reviewed_at:type_name -> vttime.Time
- 295, // 20: vtctldata.SchemaMigration.ready_to_complete_at:type_name -> vttime.Time
- 298, // 21: vtctldata.Shard.shard:type_name -> topodata.Shard
- 254, // 22: vtctldata.Workflow.source:type_name -> vtctldata.Workflow.ReplicationLocation
- 254, // 23: vtctldata.Workflow.target:type_name -> vtctldata.Workflow.ReplicationLocation
- 253, // 24: vtctldata.Workflow.shard_streams:type_name -> vtctldata.Workflow.ShardStreamsEntry
- 11, // 25: vtctldata.Workflow.options:type_name -> vtctldata.WorkflowOptions
- 299, // 26: vtctldata.AddCellInfoRequest.cell_info:type_name -> topodata.CellInfo
- 300, // 27: vtctldata.ApplyKeyspaceRoutingRulesRequest.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules
- 300, // 28: vtctldata.ApplyKeyspaceRoutingRulesResponse.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules
- 301, // 29: vtctldata.ApplyRoutingRulesRequest.routing_rules:type_name -> vschema.RoutingRules
- 302, // 30: vtctldata.ApplyShardRoutingRulesRequest.shard_routing_rules:type_name -> vschema.ShardRoutingRules
- 297, // 31: vtctldata.ApplySchemaRequest.wait_replicas_timeout:type_name -> vttime.Duration
- 303, // 32: vtctldata.ApplySchemaRequest.caller_id:type_name -> vtrpc.CallerID
- 260, // 33: vtctldata.ApplySchemaResponse.rows_affected_by_shard:type_name -> vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry
- 304, // 34: vtctldata.ApplyVSchemaRequest.v_schema:type_name -> vschema.Keyspace
- 304, // 35: vtctldata.ApplyVSchemaResponse.v_schema:type_name -> vschema.Keyspace
- 261, // 36: vtctldata.ApplyVSchemaResponse.unknown_vindex_params:type_name -> vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry
- 296, // 37: vtctldata.BackupRequest.tablet_alias:type_name -> topodata.TabletAlias
- 296, // 38: vtctldata.BackupResponse.tablet_alias:type_name -> topodata.TabletAlias
- 292, // 39: vtctldata.BackupResponse.event:type_name -> logutil.Event
- 263, // 40: vtctldata.CancelSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry
- 296, // 41: vtctldata.ChangeTabletTypeRequest.tablet_alias:type_name -> topodata.TabletAlias
- 305, // 42: vtctldata.ChangeTabletTypeRequest.db_type:type_name -> topodata.TabletType
- 306, // 43: vtctldata.ChangeTabletTypeResponse.before_tablet:type_name -> topodata.Tablet
- 306, // 44: vtctldata.ChangeTabletTypeResponse.after_tablet:type_name -> topodata.Tablet
- 296, // 45: vtctldata.CheckThrottlerRequest.tablet_alias:type_name -> topodata.TabletAlias
- 296, // 46: vtctldata.CheckThrottlerResponse.tablet_alias:type_name -> topodata.TabletAlias
- 307, // 47: vtctldata.CheckThrottlerResponse.Check:type_name -> tabletmanagerdata.CheckThrottlerResponse
- 264, // 48: vtctldata.CleanupSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry
- 265, // 49: vtctldata.CompleteSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry
- 308, // 50: vtctldata.CreateKeyspaceRequest.type:type_name -> topodata.KeyspaceType
- 295, // 51: vtctldata.CreateKeyspaceRequest.snapshot_time:type_name -> vttime.Time
- 8, // 52: vtctldata.CreateKeyspaceResponse.keyspace:type_name -> vtctldata.Keyspace
- 8, // 53: vtctldata.CreateShardResponse.keyspace:type_name -> vtctldata.Keyspace
- 10, // 54: vtctldata.CreateShardResponse.shard:type_name -> vtctldata.Shard
- 10, // 55: vtctldata.DeleteShardsRequest.shards:type_name -> vtctldata.Shard
- 296, // 56: vtctldata.DeleteTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias
- 296, // 57: vtctldata.EmergencyReparentShardRequest.new_primary:type_name -> topodata.TabletAlias
- 296, // 58: vtctldata.EmergencyReparentShardRequest.ignore_replicas:type_name -> topodata.TabletAlias
- 297, // 59: vtctldata.EmergencyReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration
- 296, // 60: vtctldata.EmergencyReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias
- 292, // 61: vtctldata.EmergencyReparentShardResponse.events:type_name -> logutil.Event
- 296, // 62: vtctldata.ExecuteFetchAsAppRequest.tablet_alias:type_name -> topodata.TabletAlias
- 309, // 63: vtctldata.ExecuteFetchAsAppResponse.result:type_name -> query.QueryResult
- 296, // 64: vtctldata.ExecuteFetchAsDBARequest.tablet_alias:type_name -> topodata.TabletAlias
- 309, // 65: vtctldata.ExecuteFetchAsDBAResponse.result:type_name -> query.QueryResult
- 296, // 66: vtctldata.ExecuteHookRequest.tablet_alias:type_name -> topodata.TabletAlias
- 310, // 67: vtctldata.ExecuteHookRequest.tablet_hook_request:type_name -> tabletmanagerdata.ExecuteHookRequest
- 311, // 68: vtctldata.ExecuteHookResponse.hook_result:type_name -> tabletmanagerdata.ExecuteHookResponse
- 296, // 69: vtctldata.ExecuteMultiFetchAsDBARequest.tablet_alias:type_name -> topodata.TabletAlias
- 309, // 70: vtctldata.ExecuteMultiFetchAsDBAResponse.results:type_name -> query.QueryResult
- 266, // 71: vtctldata.FindAllShardsInKeyspaceResponse.shards:type_name -> vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry
- 267, // 72: vtctldata.ForceCutOverSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.ForceCutOverSchemaMigrationResponse.RowsAffectedByShardEntry
- 312, // 73: vtctldata.GetBackupsResponse.backups:type_name -> mysqlctl.BackupInfo
- 299, // 74: vtctldata.GetCellInfoResponse.cell_info:type_name -> topodata.CellInfo
- 268, // 75: vtctldata.GetCellsAliasesResponse.aliases:type_name -> vtctldata.GetCellsAliasesResponse.AliasesEntry
- 296, // 76: vtctldata.GetFullStatusRequest.tablet_alias:type_name -> topodata.TabletAlias
- 313, // 77: vtctldata.GetFullStatusResponse.status:type_name -> replicationdata.FullStatus
- 8, // 78: vtctldata.GetKeyspacesResponse.keyspaces:type_name -> vtctldata.Keyspace
- 8, // 79: vtctldata.GetKeyspaceResponse.keyspace:type_name -> vtctldata.Keyspace
- 296, // 80: vtctldata.GetPermissionsRequest.tablet_alias:type_name -> topodata.TabletAlias
- 314, // 81: vtctldata.GetPermissionsResponse.permissions:type_name -> tabletmanagerdata.Permissions
- 300, // 82: vtctldata.GetKeyspaceRoutingRulesResponse.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules
- 301, // 83: vtctldata.GetRoutingRulesResponse.routing_rules:type_name -> vschema.RoutingRules
- 296, // 84: vtctldata.GetSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias
- 315, // 85: vtctldata.GetSchemaResponse.schema:type_name -> tabletmanagerdata.SchemaDefinition
- 3, // 86: vtctldata.GetSchemaMigrationsRequest.status:type_name -> vtctldata.SchemaMigration.Status
- 297, // 87: vtctldata.GetSchemaMigrationsRequest.recent:type_name -> vttime.Duration
- 1, // 88: vtctldata.GetSchemaMigrationsRequest.order:type_name -> vtctldata.QueryOrdering
- 9, // 89: vtctldata.GetSchemaMigrationsResponse.migrations:type_name -> vtctldata.SchemaMigration
- 269, // 90: vtctldata.GetShardReplicationResponse.shard_replication_by_cell:type_name -> vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry
- 10, // 91: vtctldata.GetShardResponse.shard:type_name -> vtctldata.Shard
- 302, // 92: vtctldata.GetShardRoutingRulesResponse.shard_routing_rules:type_name -> vschema.ShardRoutingRules
- 270, // 93: vtctldata.GetSrvKeyspaceNamesResponse.names:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry
- 272, // 94: vtctldata.GetSrvKeyspacesResponse.srv_keyspaces:type_name -> vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry
- 316, // 95: vtctldata.UpdateThrottlerConfigRequest.throttled_app:type_name -> topodata.ThrottledAppRule
- 317, // 96: vtctldata.GetSrvVSchemaResponse.srv_v_schema:type_name -> vschema.SrvVSchema
- 273, // 97: vtctldata.GetSrvVSchemasResponse.srv_v_schemas:type_name -> vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry
- 296, // 98: vtctldata.GetTabletRequest.tablet_alias:type_name -> topodata.TabletAlias
- 306, // 99: vtctldata.GetTabletResponse.tablet:type_name -> topodata.Tablet
- 296, // 100: vtctldata.GetTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias
- 305, // 101: vtctldata.GetTabletsRequest.tablet_type:type_name -> topodata.TabletType
- 306, // 102: vtctldata.GetTabletsResponse.tablets:type_name -> topodata.Tablet
- 296, // 103: vtctldata.GetThrottlerStatusRequest.tablet_alias:type_name -> topodata.TabletAlias
- 318, // 104: vtctldata.GetThrottlerStatusResponse.status:type_name -> tabletmanagerdata.GetThrottlerStatusResponse
- 118, // 105: vtctldata.GetTopologyPathResponse.cell:type_name -> vtctldata.TopologyCell
- 296, // 106: vtctldata.GetVersionRequest.tablet_alias:type_name -> topodata.TabletAlias
- 304, // 107: vtctldata.GetVSchemaResponse.v_schema:type_name -> vschema.Keyspace
- 12, // 108: vtctldata.GetWorkflowsResponse.workflows:type_name -> vtctldata.Workflow
- 296, // 109: vtctldata.InitShardPrimaryRequest.primary_elect_tablet_alias:type_name -> topodata.TabletAlias
- 297, // 110: vtctldata.InitShardPrimaryRequest.wait_replicas_timeout:type_name -> vttime.Duration
- 292, // 111: vtctldata.InitShardPrimaryResponse.events:type_name -> logutil.Event
- 274, // 112: vtctldata.LaunchSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry
- 304, // 113: vtctldata.LookupVindexCreateRequest.vindex:type_name -> vschema.Keyspace
- 305, // 114: vtctldata.LookupVindexCreateRequest.tablet_types:type_name -> topodata.TabletType
- 293, // 115: vtctldata.LookupVindexCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
- 7, // 116: vtctldata.MaterializeCreateRequest.settings:type_name -> vtctldata.MaterializeSettings
- 305, // 117: vtctldata.MigrateCreateRequest.tablet_types:type_name -> topodata.TabletType
- 293, // 118: vtctldata.MigrateCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
- 305, // 119: vtctldata.MoveTablesCreateRequest.tablet_types:type_name -> topodata.TabletType
- 293, // 120: vtctldata.MoveTablesCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
- 11, // 121: vtctldata.MoveTablesCreateRequest.workflow_options:type_name -> vtctldata.WorkflowOptions
- 275, // 122: vtctldata.MoveTablesCreateResponse.details:type_name -> vtctldata.MoveTablesCreateResponse.TabletInfo
- 296, // 123: vtctldata.PingTabletRequest.tablet_alias:type_name -> topodata.TabletAlias
- 296, // 124: vtctldata.PlannedReparentShardRequest.new_primary:type_name -> topodata.TabletAlias
- 296, // 125: vtctldata.PlannedReparentShardRequest.avoid_primary:type_name -> topodata.TabletAlias
- 297, // 126: vtctldata.PlannedReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration
- 297, // 127: vtctldata.PlannedReparentShardRequest.tolerable_replication_lag:type_name -> vttime.Duration
- 296, // 128: vtctldata.PlannedReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias
- 292, // 129: vtctldata.PlannedReparentShardResponse.events:type_name -> logutil.Event
- 296, // 130: vtctldata.RefreshStateRequest.tablet_alias:type_name -> topodata.TabletAlias
- 296, // 131: vtctldata.ReloadSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias
- 292, // 132: vtctldata.ReloadSchemaKeyspaceResponse.events:type_name -> logutil.Event
- 292, // 133: vtctldata.ReloadSchemaShardResponse.events:type_name -> logutil.Event
- 296, // 134: vtctldata.ReparentTabletRequest.tablet:type_name -> topodata.TabletAlias
- 296, // 135: vtctldata.ReparentTabletResponse.primary:type_name -> topodata.TabletAlias
- 305, // 136: vtctldata.ReshardCreateRequest.tablet_types:type_name -> topodata.TabletType
- 293, // 137: vtctldata.ReshardCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
- 296, // 138: vtctldata.RestoreFromBackupRequest.tablet_alias:type_name -> topodata.TabletAlias
- 295, // 139: vtctldata.RestoreFromBackupRequest.backup_time:type_name -> vttime.Time
- 295, // 140: vtctldata.RestoreFromBackupRequest.restore_to_timestamp:type_name -> vttime.Time
- 296, // 141: vtctldata.RestoreFromBackupResponse.tablet_alias:type_name -> topodata.TabletAlias
- 292, // 142: vtctldata.RestoreFromBackupResponse.event:type_name -> logutil.Event
- 276, // 143: vtctldata.RetrySchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry
- 296, // 144: vtctldata.RunHealthCheckRequest.tablet_alias:type_name -> topodata.TabletAlias
- 294, // 145: vtctldata.SetKeyspaceDurabilityPolicyResponse.keyspace:type_name -> topodata.Keyspace
- 294, // 146: vtctldata.SetKeyspaceShardingInfoResponse.keyspace:type_name -> topodata.Keyspace
- 298, // 147: vtctldata.SetShardIsPrimaryServingResponse.shard:type_name -> topodata.Shard
- 305, // 148: vtctldata.SetShardTabletControlRequest.tablet_type:type_name -> topodata.TabletType
- 298, // 149: vtctldata.SetShardTabletControlResponse.shard:type_name -> topodata.Shard
- 296, // 150: vtctldata.SetWritableRequest.tablet_alias:type_name -> topodata.TabletAlias
- 296, // 151: vtctldata.ShardReplicationAddRequest.tablet_alias:type_name -> topodata.TabletAlias
- 319, // 152: vtctldata.ShardReplicationFixResponse.error:type_name -> topodata.ShardReplicationError
- 277, // 153: vtctldata.ShardReplicationPositionsResponse.replication_statuses:type_name -> vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry
- 278, // 154: vtctldata.ShardReplicationPositionsResponse.tablet_map:type_name -> vtctldata.ShardReplicationPositionsResponse.TabletMapEntry
- 296, // 155: vtctldata.ShardReplicationRemoveRequest.tablet_alias:type_name -> topodata.TabletAlias
- 296, // 156: vtctldata.SleepTabletRequest.tablet_alias:type_name -> topodata.TabletAlias
- 297, // 157: vtctldata.SleepTabletRequest.duration:type_name -> vttime.Duration
- 320, // 158: vtctldata.SourceShardAddRequest.key_range:type_name -> topodata.KeyRange
- 298, // 159: vtctldata.SourceShardAddResponse.shard:type_name -> topodata.Shard
- 298, // 160: vtctldata.SourceShardDeleteResponse.shard:type_name -> topodata.Shard
- 296, // 161: vtctldata.StartReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias
- 296, // 162: vtctldata.StopReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias
- 296, // 163: vtctldata.TabletExternallyReparentedRequest.tablet:type_name -> topodata.TabletAlias
- 296, // 164: vtctldata.TabletExternallyReparentedResponse.new_primary:type_name -> topodata.TabletAlias
- 296, // 165: vtctldata.TabletExternallyReparentedResponse.old_primary:type_name -> topodata.TabletAlias
- 299, // 166: vtctldata.UpdateCellInfoRequest.cell_info:type_name -> topodata.CellInfo
- 299, // 167: vtctldata.UpdateCellInfoResponse.cell_info:type_name -> topodata.CellInfo
- 321, // 168: vtctldata.UpdateCellsAliasRequest.cells_alias:type_name -> topodata.CellsAlias
- 321, // 169: vtctldata.UpdateCellsAliasResponse.cells_alias:type_name -> topodata.CellsAlias
- 279, // 170: vtctldata.ValidateResponse.results_by_keyspace:type_name -> vtctldata.ValidateResponse.ResultsByKeyspaceEntry
- 280, // 171: vtctldata.ValidateKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry
- 281, // 172: vtctldata.ValidateSchemaKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry
- 282, // 173: vtctldata.ValidateVersionKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry
- 283, // 174: vtctldata.ValidateVSchemaResponse.results_by_shard:type_name -> vtctldata.ValidateVSchemaResponse.ResultsByShardEntry
- 305, // 175: vtctldata.VDiffCreateRequest.tablet_types:type_name -> topodata.TabletType
- 293, // 176: vtctldata.VDiffCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
- 297, // 177: vtctldata.VDiffCreateRequest.filtered_replication_wait_time:type_name -> vttime.Duration
- 297, // 178: vtctldata.VDiffCreateRequest.wait_update_interval:type_name -> vttime.Duration
- 297, // 179: vtctldata.VDiffCreateRequest.max_diff_duration:type_name -> vttime.Duration
- 284, // 180: vtctldata.VDiffShowResponse.tablet_responses:type_name -> vtctldata.VDiffShowResponse.TabletResponsesEntry
- 285, // 181: vtctldata.WorkflowDeleteResponse.details:type_name -> vtctldata.WorkflowDeleteResponse.TabletInfo
- 289, // 182: vtctldata.WorkflowStatusResponse.table_copy_state:type_name -> vtctldata.WorkflowStatusResponse.TableCopyStateEntry
- 290, // 183: vtctldata.WorkflowStatusResponse.shard_streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamsEntry
- 305, // 184: vtctldata.WorkflowSwitchTrafficRequest.tablet_types:type_name -> topodata.TabletType
- 297, // 185: vtctldata.WorkflowSwitchTrafficRequest.max_replication_lag_allowed:type_name -> vttime.Duration
- 297, // 186: vtctldata.WorkflowSwitchTrafficRequest.timeout:type_name -> vttime.Duration
- 322, // 187: vtctldata.WorkflowUpdateRequest.tablet_request:type_name -> tabletmanagerdata.UpdateVReplicationWorkflowRequest
- 291, // 188: vtctldata.WorkflowUpdateResponse.details:type_name -> vtctldata.WorkflowUpdateResponse.TabletInfo
- 323, // 189: vtctldata.GetMirrorRulesResponse.mirror_rules:type_name -> vschema.MirrorRules
- 305, // 190: vtctldata.WorkflowMirrorTrafficRequest.tablet_types:type_name -> topodata.TabletType
- 255, // 191: vtctldata.Workflow.ShardStreamsEntry.value:type_name -> vtctldata.Workflow.ShardStream
- 256, // 192: vtctldata.Workflow.ShardStream.streams:type_name -> vtctldata.Workflow.Stream
- 324, // 193: vtctldata.Workflow.ShardStream.tablet_controls:type_name -> topodata.Shard.TabletControl
- 296, // 194: vtctldata.Workflow.Stream.tablet:type_name -> topodata.TabletAlias
- 325, // 195: vtctldata.Workflow.Stream.binlog_source:type_name -> binlogdata.BinlogSource
- 295, // 196: vtctldata.Workflow.Stream.transaction_timestamp:type_name -> vttime.Time
- 295, // 197: vtctldata.Workflow.Stream.time_updated:type_name -> vttime.Time
- 257, // 198: vtctldata.Workflow.Stream.copy_states:type_name -> vtctldata.Workflow.Stream.CopyState
- 258, // 199: vtctldata.Workflow.Stream.logs:type_name -> vtctldata.Workflow.Stream.Log
- 259, // 200: vtctldata.Workflow.Stream.throttler_status:type_name -> vtctldata.Workflow.Stream.ThrottlerStatus
- 305, // 201: vtctldata.Workflow.Stream.tablet_types:type_name -> topodata.TabletType
- 293, // 202: vtctldata.Workflow.Stream.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
- 295, // 203: vtctldata.Workflow.Stream.Log.created_at:type_name -> vttime.Time
- 295, // 204: vtctldata.Workflow.Stream.Log.updated_at:type_name -> vttime.Time
- 295, // 205: vtctldata.Workflow.Stream.ThrottlerStatus.time_throttled:type_name -> vttime.Time
- 262, // 206: vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry.value:type_name -> vtctldata.ApplyVSchemaResponse.ParamList
- 10, // 207: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry.value:type_name -> vtctldata.Shard
- 321, // 208: vtctldata.GetCellsAliasesResponse.AliasesEntry.value:type_name -> topodata.CellsAlias
- 326, // 209: vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry.value:type_name -> topodata.ShardReplication
- 271, // 210: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry.value:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NameList
- 327, // 211: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry.value:type_name -> topodata.SrvKeyspace
- 317, // 212: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry.value:type_name -> vschema.SrvVSchema
- 296, // 213: vtctldata.MoveTablesCreateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias
- 328, // 214: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry.value:type_name -> replicationdata.Status
- 306, // 215: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry.value:type_name -> topodata.Tablet
- 220, // 216: vtctldata.ValidateResponse.ResultsByKeyspaceEntry.value:type_name -> vtctldata.ValidateKeyspaceResponse
- 224, // 217: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse
- 224, // 218: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse
- 224, // 219: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse
- 224, // 220: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse
- 329, // 221: vtctldata.VDiffShowResponse.TabletResponsesEntry.value:type_name -> tabletmanagerdata.VDiffResponse
- 296, // 222: vtctldata.WorkflowDeleteResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias
- 296, // 223: vtctldata.WorkflowStatusResponse.ShardStreamState.tablet:type_name -> topodata.TabletAlias
- 287, // 224: vtctldata.WorkflowStatusResponse.ShardStreams.streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamState
- 286, // 225: vtctldata.WorkflowStatusResponse.TableCopyStateEntry.value:type_name -> vtctldata.WorkflowStatusResponse.TableCopyState
- 288, // 226: vtctldata.WorkflowStatusResponse.ShardStreamsEntry.value:type_name -> vtctldata.WorkflowStatusResponse.ShardStreams
- 296, // 227: vtctldata.WorkflowUpdateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias
- 228, // [228:228] is the sub-list for method output_type
- 228, // [228:228] is the sub-list for method input_type
- 228, // [228:228] is the sub-list for extension type_name
- 228, // [228:228] is the sub-list for extension extendee
- 0, // [0:228] is the sub-list for field type_name
+ 301, // 15: vtctldata.SchemaMigration.tablet:type_name -> topodata.TabletAlias
+ 302, // 16: vtctldata.SchemaMigration.artifact_retention:type_name -> vttime.Duration
+ 300, // 17: vtctldata.SchemaMigration.last_throttled_at:type_name -> vttime.Time
+ 300, // 18: vtctldata.SchemaMigration.cancelled_at:type_name -> vttime.Time
+ 300, // 19: vtctldata.SchemaMigration.reviewed_at:type_name -> vttime.Time
+ 300, // 20: vtctldata.SchemaMigration.ready_to_complete_at:type_name -> vttime.Time
+ 303, // 21: vtctldata.Shard.shard:type_name -> topodata.Shard
+ 257, // 22: vtctldata.WorkflowOptions.config:type_name -> vtctldata.WorkflowOptions.ConfigEntry
+ 259, // 23: vtctldata.Workflow.source:type_name -> vtctldata.Workflow.ReplicationLocation
+ 259, // 24: vtctldata.Workflow.target:type_name -> vtctldata.Workflow.ReplicationLocation
+ 258, // 25: vtctldata.Workflow.shard_streams:type_name -> vtctldata.Workflow.ShardStreamsEntry
+ 11, // 26: vtctldata.Workflow.options:type_name -> vtctldata.WorkflowOptions
+ 304, // 27: vtctldata.AddCellInfoRequest.cell_info:type_name -> topodata.CellInfo
+ 305, // 28: vtctldata.ApplyKeyspaceRoutingRulesRequest.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules
+ 305, // 29: vtctldata.ApplyKeyspaceRoutingRulesResponse.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules
+ 306, // 30: vtctldata.ApplyRoutingRulesRequest.routing_rules:type_name -> vschema.RoutingRules
+ 307, // 31: vtctldata.ApplyShardRoutingRulesRequest.shard_routing_rules:type_name -> vschema.ShardRoutingRules
+ 302, // 32: vtctldata.ApplySchemaRequest.wait_replicas_timeout:type_name -> vttime.Duration
+ 308, // 33: vtctldata.ApplySchemaRequest.caller_id:type_name -> vtrpc.CallerID
+ 265, // 34: vtctldata.ApplySchemaResponse.rows_affected_by_shard:type_name -> vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry
+ 309, // 35: vtctldata.ApplyVSchemaRequest.v_schema:type_name -> vschema.Keyspace
+ 309, // 36: vtctldata.ApplyVSchemaResponse.v_schema:type_name -> vschema.Keyspace
+ 266, // 37: vtctldata.ApplyVSchemaResponse.unknown_vindex_params:type_name -> vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry
+ 301, // 38: vtctldata.BackupRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 301, // 39: vtctldata.BackupResponse.tablet_alias:type_name -> topodata.TabletAlias
+ 297, // 40: vtctldata.BackupResponse.event:type_name -> logutil.Event
+ 268, // 41: vtctldata.CancelSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry
+ 301, // 42: vtctldata.ChangeTabletTypeRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 310, // 43: vtctldata.ChangeTabletTypeRequest.db_type:type_name -> topodata.TabletType
+ 311, // 44: vtctldata.ChangeTabletTypeResponse.before_tablet:type_name -> topodata.Tablet
+ 311, // 45: vtctldata.ChangeTabletTypeResponse.after_tablet:type_name -> topodata.Tablet
+ 301, // 46: vtctldata.CheckThrottlerRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 301, // 47: vtctldata.CheckThrottlerResponse.tablet_alias:type_name -> topodata.TabletAlias
+ 312, // 48: vtctldata.CheckThrottlerResponse.Check:type_name -> tabletmanagerdata.CheckThrottlerResponse
+ 269, // 49: vtctldata.CleanupSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry
+ 270, // 50: vtctldata.CompleteSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry
+ 313, // 51: vtctldata.CreateKeyspaceRequest.type:type_name -> topodata.KeyspaceType
+ 300, // 52: vtctldata.CreateKeyspaceRequest.snapshot_time:type_name -> vttime.Time
+ 8, // 53: vtctldata.CreateKeyspaceResponse.keyspace:type_name -> vtctldata.Keyspace
+ 8, // 54: vtctldata.CreateShardResponse.keyspace:type_name -> vtctldata.Keyspace
+ 10, // 55: vtctldata.CreateShardResponse.shard:type_name -> vtctldata.Shard
+ 10, // 56: vtctldata.DeleteShardsRequest.shards:type_name -> vtctldata.Shard
+ 301, // 57: vtctldata.DeleteTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias
+ 301, // 58: vtctldata.EmergencyReparentShardRequest.new_primary:type_name -> topodata.TabletAlias
+ 301, // 59: vtctldata.EmergencyReparentShardRequest.ignore_replicas:type_name -> topodata.TabletAlias
+ 302, // 60: vtctldata.EmergencyReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration
+ 301, // 61: vtctldata.EmergencyReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias
+ 297, // 62: vtctldata.EmergencyReparentShardResponse.events:type_name -> logutil.Event
+ 301, // 63: vtctldata.ExecuteFetchAsAppRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 314, // 64: vtctldata.ExecuteFetchAsAppResponse.result:type_name -> query.QueryResult
+ 301, // 65: vtctldata.ExecuteFetchAsDBARequest.tablet_alias:type_name -> topodata.TabletAlias
+ 314, // 66: vtctldata.ExecuteFetchAsDBAResponse.result:type_name -> query.QueryResult
+ 301, // 67: vtctldata.ExecuteHookRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 315, // 68: vtctldata.ExecuteHookRequest.tablet_hook_request:type_name -> tabletmanagerdata.ExecuteHookRequest
+ 316, // 69: vtctldata.ExecuteHookResponse.hook_result:type_name -> tabletmanagerdata.ExecuteHookResponse
+ 301, // 70: vtctldata.ExecuteMultiFetchAsDBARequest.tablet_alias:type_name -> topodata.TabletAlias
+ 314, // 71: vtctldata.ExecuteMultiFetchAsDBAResponse.results:type_name -> query.QueryResult
+ 271, // 72: vtctldata.FindAllShardsInKeyspaceResponse.shards:type_name -> vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry
+ 272, // 73: vtctldata.ForceCutOverSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.ForceCutOverSchemaMigrationResponse.RowsAffectedByShardEntry
+ 317, // 74: vtctldata.GetBackupsResponse.backups:type_name -> mysqlctl.BackupInfo
+ 304, // 75: vtctldata.GetCellInfoResponse.cell_info:type_name -> topodata.CellInfo
+ 273, // 76: vtctldata.GetCellsAliasesResponse.aliases:type_name -> vtctldata.GetCellsAliasesResponse.AliasesEntry
+ 301, // 77: vtctldata.GetFullStatusRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 318, // 78: vtctldata.GetFullStatusResponse.status:type_name -> replicationdata.FullStatus
+ 8, // 79: vtctldata.GetKeyspacesResponse.keyspaces:type_name -> vtctldata.Keyspace
+ 8, // 80: vtctldata.GetKeyspaceResponse.keyspace:type_name -> vtctldata.Keyspace
+ 301, // 81: vtctldata.GetPermissionsRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 319, // 82: vtctldata.GetPermissionsResponse.permissions:type_name -> tabletmanagerdata.Permissions
+ 305, // 83: vtctldata.GetKeyspaceRoutingRulesResponse.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules
+ 306, // 84: vtctldata.GetRoutingRulesResponse.routing_rules:type_name -> vschema.RoutingRules
+ 301, // 85: vtctldata.GetSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 320, // 86: vtctldata.GetSchemaResponse.schema:type_name -> tabletmanagerdata.SchemaDefinition
+ 3, // 87: vtctldata.GetSchemaMigrationsRequest.status:type_name -> vtctldata.SchemaMigration.Status
+ 302, // 88: vtctldata.GetSchemaMigrationsRequest.recent:type_name -> vttime.Duration
+ 1, // 89: vtctldata.GetSchemaMigrationsRequest.order:type_name -> vtctldata.QueryOrdering
+ 9, // 90: vtctldata.GetSchemaMigrationsResponse.migrations:type_name -> vtctldata.SchemaMigration
+ 274, // 91: vtctldata.GetShardReplicationResponse.shard_replication_by_cell:type_name -> vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry
+ 10, // 92: vtctldata.GetShardResponse.shard:type_name -> vtctldata.Shard
+ 307, // 93: vtctldata.GetShardRoutingRulesResponse.shard_routing_rules:type_name -> vschema.ShardRoutingRules
+ 275, // 94: vtctldata.GetSrvKeyspaceNamesResponse.names:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry
+ 277, // 95: vtctldata.GetSrvKeyspacesResponse.srv_keyspaces:type_name -> vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry
+ 321, // 96: vtctldata.UpdateThrottlerConfigRequest.throttled_app:type_name -> topodata.ThrottledAppRule
+ 322, // 97: vtctldata.GetSrvVSchemaResponse.srv_v_schema:type_name -> vschema.SrvVSchema
+ 278, // 98: vtctldata.GetSrvVSchemasResponse.srv_v_schemas:type_name -> vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry
+ 301, // 99: vtctldata.GetTabletRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 311, // 100: vtctldata.GetTabletResponse.tablet:type_name -> topodata.Tablet
+ 301, // 101: vtctldata.GetTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias
+ 310, // 102: vtctldata.GetTabletsRequest.tablet_type:type_name -> topodata.TabletType
+ 311, // 103: vtctldata.GetTabletsResponse.tablets:type_name -> topodata.Tablet
+ 301, // 104: vtctldata.GetThrottlerStatusRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 323, // 105: vtctldata.GetThrottlerStatusResponse.status:type_name -> tabletmanagerdata.GetThrottlerStatusResponse
+ 118, // 106: vtctldata.GetTopologyPathResponse.cell:type_name -> vtctldata.TopologyCell
+ 324, // 107: vtctldata.GetUnresolvedTransactionsResponse.transactions:type_name -> query.TransactionMetadata
+ 325, // 108: vtctldata.ConcludeTransactionRequest.participants:type_name -> query.Target
+ 301, // 109: vtctldata.GetVersionRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 309, // 110: vtctldata.GetVSchemaResponse.v_schema:type_name -> vschema.Keyspace
+ 12, // 111: vtctldata.GetWorkflowsResponse.workflows:type_name -> vtctldata.Workflow
+ 301, // 112: vtctldata.InitShardPrimaryRequest.primary_elect_tablet_alias:type_name -> topodata.TabletAlias
+ 302, // 113: vtctldata.InitShardPrimaryRequest.wait_replicas_timeout:type_name -> vttime.Duration
+ 297, // 114: vtctldata.InitShardPrimaryResponse.events:type_name -> logutil.Event
+ 279, // 115: vtctldata.LaunchSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry
+ 309, // 116: vtctldata.LookupVindexCreateRequest.vindex:type_name -> vschema.Keyspace
+ 310, // 117: vtctldata.LookupVindexCreateRequest.tablet_types:type_name -> topodata.TabletType
+ 298, // 118: vtctldata.LookupVindexCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
+ 7, // 119: vtctldata.MaterializeCreateRequest.settings:type_name -> vtctldata.MaterializeSettings
+ 310, // 120: vtctldata.MigrateCreateRequest.tablet_types:type_name -> topodata.TabletType
+ 298, // 121: vtctldata.MigrateCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
+ 310, // 122: vtctldata.MoveTablesCreateRequest.tablet_types:type_name -> topodata.TabletType
+ 298, // 123: vtctldata.MoveTablesCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
+ 11, // 124: vtctldata.MoveTablesCreateRequest.workflow_options:type_name -> vtctldata.WorkflowOptions
+ 280, // 125: vtctldata.MoveTablesCreateResponse.details:type_name -> vtctldata.MoveTablesCreateResponse.TabletInfo
+ 301, // 126: vtctldata.PingTabletRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 301, // 127: vtctldata.PlannedReparentShardRequest.new_primary:type_name -> topodata.TabletAlias
+ 301, // 128: vtctldata.PlannedReparentShardRequest.avoid_primary:type_name -> topodata.TabletAlias
+ 302, // 129: vtctldata.PlannedReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration
+ 302, // 130: vtctldata.PlannedReparentShardRequest.tolerable_replication_lag:type_name -> vttime.Duration
+ 301, // 131: vtctldata.PlannedReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias
+ 297, // 132: vtctldata.PlannedReparentShardResponse.events:type_name -> logutil.Event
+ 301, // 133: vtctldata.RefreshStateRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 301, // 134: vtctldata.ReloadSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 297, // 135: vtctldata.ReloadSchemaKeyspaceResponse.events:type_name -> logutil.Event
+ 297, // 136: vtctldata.ReloadSchemaShardResponse.events:type_name -> logutil.Event
+ 301, // 137: vtctldata.ReparentTabletRequest.tablet:type_name -> topodata.TabletAlias
+ 301, // 138: vtctldata.ReparentTabletResponse.primary:type_name -> topodata.TabletAlias
+ 310, // 139: vtctldata.ReshardCreateRequest.tablet_types:type_name -> topodata.TabletType
+ 298, // 140: vtctldata.ReshardCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
+ 11, // 141: vtctldata.ReshardCreateRequest.workflow_options:type_name -> vtctldata.WorkflowOptions
+ 301, // 142: vtctldata.RestoreFromBackupRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 300, // 143: vtctldata.RestoreFromBackupRequest.backup_time:type_name -> vttime.Time
+ 300, // 144: vtctldata.RestoreFromBackupRequest.restore_to_timestamp:type_name -> vttime.Time
+ 301, // 145: vtctldata.RestoreFromBackupResponse.tablet_alias:type_name -> topodata.TabletAlias
+ 297, // 146: vtctldata.RestoreFromBackupResponse.event:type_name -> logutil.Event
+ 281, // 147: vtctldata.RetrySchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry
+ 301, // 148: vtctldata.RunHealthCheckRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 299, // 149: vtctldata.SetKeyspaceDurabilityPolicyResponse.keyspace:type_name -> topodata.Keyspace
+ 299, // 150: vtctldata.SetKeyspaceShardingInfoResponse.keyspace:type_name -> topodata.Keyspace
+ 303, // 151: vtctldata.SetShardIsPrimaryServingResponse.shard:type_name -> topodata.Shard
+ 310, // 152: vtctldata.SetShardTabletControlRequest.tablet_type:type_name -> topodata.TabletType
+ 303, // 153: vtctldata.SetShardTabletControlResponse.shard:type_name -> topodata.Shard
+ 301, // 154: vtctldata.SetWritableRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 301, // 155: vtctldata.ShardReplicationAddRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 326, // 156: vtctldata.ShardReplicationFixResponse.error:type_name -> topodata.ShardReplicationError
+ 282, // 157: vtctldata.ShardReplicationPositionsResponse.replication_statuses:type_name -> vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry
+ 283, // 158: vtctldata.ShardReplicationPositionsResponse.tablet_map:type_name -> vtctldata.ShardReplicationPositionsResponse.TabletMapEntry
+ 301, // 159: vtctldata.ShardReplicationRemoveRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 301, // 160: vtctldata.SleepTabletRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 302, // 161: vtctldata.SleepTabletRequest.duration:type_name -> vttime.Duration
+ 327, // 162: vtctldata.SourceShardAddRequest.key_range:type_name -> topodata.KeyRange
+ 303, // 163: vtctldata.SourceShardAddResponse.shard:type_name -> topodata.Shard
+ 303, // 164: vtctldata.SourceShardDeleteResponse.shard:type_name -> topodata.Shard
+ 301, // 165: vtctldata.StartReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 301, // 166: vtctldata.StopReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias
+ 301, // 167: vtctldata.TabletExternallyReparentedRequest.tablet:type_name -> topodata.TabletAlias
+ 301, // 168: vtctldata.TabletExternallyReparentedResponse.new_primary:type_name -> topodata.TabletAlias
+ 301, // 169: vtctldata.TabletExternallyReparentedResponse.old_primary:type_name -> topodata.TabletAlias
+ 304, // 170: vtctldata.UpdateCellInfoRequest.cell_info:type_name -> topodata.CellInfo
+ 304, // 171: vtctldata.UpdateCellInfoResponse.cell_info:type_name -> topodata.CellInfo
+ 328, // 172: vtctldata.UpdateCellsAliasRequest.cells_alias:type_name -> topodata.CellsAlias
+ 328, // 173: vtctldata.UpdateCellsAliasResponse.cells_alias:type_name -> topodata.CellsAlias
+ 284, // 174: vtctldata.ValidateResponse.results_by_keyspace:type_name -> vtctldata.ValidateResponse.ResultsByKeyspaceEntry
+ 285, // 175: vtctldata.ValidateKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry
+ 286, // 176: vtctldata.ValidateSchemaKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry
+ 287, // 177: vtctldata.ValidateVersionKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry
+ 288, // 178: vtctldata.ValidateVSchemaResponse.results_by_shard:type_name -> vtctldata.ValidateVSchemaResponse.ResultsByShardEntry
+ 310, // 179: vtctldata.VDiffCreateRequest.tablet_types:type_name -> topodata.TabletType
+ 298, // 180: vtctldata.VDiffCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
+ 302, // 181: vtctldata.VDiffCreateRequest.filtered_replication_wait_time:type_name -> vttime.Duration
+ 302, // 182: vtctldata.VDiffCreateRequest.wait_update_interval:type_name -> vttime.Duration
+ 302, // 183: vtctldata.VDiffCreateRequest.max_diff_duration:type_name -> vttime.Duration
+ 289, // 184: vtctldata.VDiffShowResponse.tablet_responses:type_name -> vtctldata.VDiffShowResponse.TabletResponsesEntry
+ 290, // 185: vtctldata.WorkflowDeleteResponse.details:type_name -> vtctldata.WorkflowDeleteResponse.TabletInfo
+ 294, // 186: vtctldata.WorkflowStatusResponse.table_copy_state:type_name -> vtctldata.WorkflowStatusResponse.TableCopyStateEntry
+ 295, // 187: vtctldata.WorkflowStatusResponse.shard_streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamsEntry
+ 310, // 188: vtctldata.WorkflowSwitchTrafficRequest.tablet_types:type_name -> topodata.TabletType
+ 302, // 189: vtctldata.WorkflowSwitchTrafficRequest.max_replication_lag_allowed:type_name -> vttime.Duration
+ 302, // 190: vtctldata.WorkflowSwitchTrafficRequest.timeout:type_name -> vttime.Duration
+ 329, // 191: vtctldata.WorkflowUpdateRequest.tablet_request:type_name -> tabletmanagerdata.UpdateVReplicationWorkflowRequest
+ 296, // 192: vtctldata.WorkflowUpdateResponse.details:type_name -> vtctldata.WorkflowUpdateResponse.TabletInfo
+ 330, // 193: vtctldata.GetMirrorRulesResponse.mirror_rules:type_name -> vschema.MirrorRules
+ 310, // 194: vtctldata.WorkflowMirrorTrafficRequest.tablet_types:type_name -> topodata.TabletType
+ 260, // 195: vtctldata.Workflow.ShardStreamsEntry.value:type_name -> vtctldata.Workflow.ShardStream
+ 261, // 196: vtctldata.Workflow.ShardStream.streams:type_name -> vtctldata.Workflow.Stream
+ 331, // 197: vtctldata.Workflow.ShardStream.tablet_controls:type_name -> topodata.Shard.TabletControl
+ 301, // 198: vtctldata.Workflow.Stream.tablet:type_name -> topodata.TabletAlias
+ 332, // 199: vtctldata.Workflow.Stream.binlog_source:type_name -> binlogdata.BinlogSource
+ 300, // 200: vtctldata.Workflow.Stream.transaction_timestamp:type_name -> vttime.Time
+ 300, // 201: vtctldata.Workflow.Stream.time_updated:type_name -> vttime.Time
+ 262, // 202: vtctldata.Workflow.Stream.copy_states:type_name -> vtctldata.Workflow.Stream.CopyState
+ 263, // 203: vtctldata.Workflow.Stream.logs:type_name -> vtctldata.Workflow.Stream.Log
+ 264, // 204: vtctldata.Workflow.Stream.throttler_status:type_name -> vtctldata.Workflow.Stream.ThrottlerStatus
+ 310, // 205: vtctldata.Workflow.Stream.tablet_types:type_name -> topodata.TabletType
+ 298, // 206: vtctldata.Workflow.Stream.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference
+ 300, // 207: vtctldata.Workflow.Stream.Log.created_at:type_name -> vttime.Time
+ 300, // 208: vtctldata.Workflow.Stream.Log.updated_at:type_name -> vttime.Time
+ 300, // 209: vtctldata.Workflow.Stream.ThrottlerStatus.time_throttled:type_name -> vttime.Time
+ 267, // 210: vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry.value:type_name -> vtctldata.ApplyVSchemaResponse.ParamList
+ 10, // 211: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry.value:type_name -> vtctldata.Shard
+ 328, // 212: vtctldata.GetCellsAliasesResponse.AliasesEntry.value:type_name -> topodata.CellsAlias
+ 333, // 213: vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry.value:type_name -> topodata.ShardReplication
+ 276, // 214: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry.value:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NameList
+ 334, // 215: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry.value:type_name -> topodata.SrvKeyspace
+ 322, // 216: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry.value:type_name -> vschema.SrvVSchema
+ 301, // 217: vtctldata.MoveTablesCreateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias
+ 335, // 218: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry.value:type_name -> replicationdata.Status
+ 311, // 219: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry.value:type_name -> topodata.Tablet
+ 224, // 220: vtctldata.ValidateResponse.ResultsByKeyspaceEntry.value:type_name -> vtctldata.ValidateKeyspaceResponse
+ 228, // 221: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse
+ 228, // 222: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse
+ 228, // 223: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse
+ 228, // 224: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse
+ 336, // 225: vtctldata.VDiffShowResponse.TabletResponsesEntry.value:type_name -> tabletmanagerdata.VDiffResponse
+ 301, // 226: vtctldata.WorkflowDeleteResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias
+ 301, // 227: vtctldata.WorkflowStatusResponse.ShardStreamState.tablet:type_name -> topodata.TabletAlias
+ 292, // 228: vtctldata.WorkflowStatusResponse.ShardStreams.streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamState
+ 291, // 229: vtctldata.WorkflowStatusResponse.TableCopyStateEntry.value:type_name -> vtctldata.WorkflowStatusResponse.TableCopyState
+ 293, // 230: vtctldata.WorkflowStatusResponse.ShardStreamsEntry.value:type_name -> vtctldata.WorkflowStatusResponse.ShardStreams
+ 301, // 231: vtctldata.WorkflowUpdateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias
+ 232, // [232:232] is the sub-list for method output_type
+ 232, // [232:232] is the sub-list for method input_type
+ 232, // [232:232] is the sub-list for extension type_name
+ 232, // [232:232] is the sub-list for extension extendee
+ 0, // [0:232] is the sub-list for field type_name
}
func init() { file_vtctldata_proto_init() }
@@ -21040,7 +21359,7 @@ func file_vtctldata_proto_init() {
}
}
file_vtctldata_proto_msgTypes[115].Exporter = func(v any, i int) any {
- switch v := v.(*GetVSchemaRequest); i {
+ switch v := v.(*GetUnresolvedTransactionsRequest); i {
case 0:
return &v.state
case 1:
@@ -21052,7 +21371,7 @@ func file_vtctldata_proto_init() {
}
}
file_vtctldata_proto_msgTypes[116].Exporter = func(v any, i int) any {
- switch v := v.(*GetVersionRequest); i {
+ switch v := v.(*GetUnresolvedTransactionsResponse); i {
case 0:
return &v.state
case 1:
@@ -21064,7 +21383,7 @@ func file_vtctldata_proto_init() {
}
}
file_vtctldata_proto_msgTypes[117].Exporter = func(v any, i int) any {
- switch v := v.(*GetVersionResponse); i {
+ switch v := v.(*ConcludeTransactionRequest); i {
case 0:
return &v.state
case 1:
@@ -21076,7 +21395,7 @@ func file_vtctldata_proto_init() {
}
}
file_vtctldata_proto_msgTypes[118].Exporter = func(v any, i int) any {
- switch v := v.(*GetVSchemaResponse); i {
+ switch v := v.(*ConcludeTransactionResponse); i {
case 0:
return &v.state
case 1:
@@ -21088,7 +21407,7 @@ func file_vtctldata_proto_init() {
}
}
file_vtctldata_proto_msgTypes[119].Exporter = func(v any, i int) any {
- switch v := v.(*GetWorkflowsRequest); i {
+ switch v := v.(*GetVSchemaRequest); i {
case 0:
return &v.state
case 1:
@@ -21100,7 +21419,7 @@ func file_vtctldata_proto_init() {
}
}
file_vtctldata_proto_msgTypes[120].Exporter = func(v any, i int) any {
- switch v := v.(*GetWorkflowsResponse); i {
+ switch v := v.(*GetVersionRequest); i {
case 0:
return &v.state
case 1:
@@ -21112,7 +21431,7 @@ func file_vtctldata_proto_init() {
}
}
file_vtctldata_proto_msgTypes[121].Exporter = func(v any, i int) any {
- switch v := v.(*InitShardPrimaryRequest); i {
+ switch v := v.(*GetVersionResponse); i {
case 0:
return &v.state
case 1:
@@ -21124,7 +21443,7 @@ func file_vtctldata_proto_init() {
}
}
file_vtctldata_proto_msgTypes[122].Exporter = func(v any, i int) any {
- switch v := v.(*InitShardPrimaryResponse); i {
+ switch v := v.(*GetVSchemaResponse); i {
case 0:
return &v.state
case 1:
@@ -21136,7 +21455,7 @@ func file_vtctldata_proto_init() {
}
}
file_vtctldata_proto_msgTypes[123].Exporter = func(v any, i int) any {
- switch v := v.(*LaunchSchemaMigrationRequest); i {
+ switch v := v.(*GetWorkflowsRequest); i {
case 0:
return &v.state
case 1:
@@ -21148,6 +21467,54 @@ func file_vtctldata_proto_init() {
}
}
file_vtctldata_proto_msgTypes[124].Exporter = func(v any, i int) any {
+ switch v := v.(*GetWorkflowsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_vtctldata_proto_msgTypes[125].Exporter = func(v any, i int) any {
+ switch v := v.(*InitShardPrimaryRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_vtctldata_proto_msgTypes[126].Exporter = func(v any, i int) any {
+ switch v := v.(*InitShardPrimaryResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_vtctldata_proto_msgTypes[127].Exporter = func(v any, i int) any {
+ switch v := v.(*LaunchSchemaMigrationRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_vtctldata_proto_msgTypes[128].Exporter = func(v any, i int) any {
switch v := v.(*LaunchSchemaMigrationResponse); i {
case 0:
return &v.state
@@ -21159,7 +21526,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[125].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[129].Exporter = func(v any, i int) any {
switch v := v.(*LookupVindexCreateRequest); i {
case 0:
return &v.state
@@ -21171,7 +21538,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[126].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[130].Exporter = func(v any, i int) any {
switch v := v.(*LookupVindexCreateResponse); i {
case 0:
return &v.state
@@ -21183,7 +21550,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[127].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[131].Exporter = func(v any, i int) any {
switch v := v.(*LookupVindexExternalizeRequest); i {
case 0:
return &v.state
@@ -21195,7 +21562,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[128].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[132].Exporter = func(v any, i int) any {
switch v := v.(*LookupVindexExternalizeResponse); i {
case 0:
return &v.state
@@ -21207,7 +21574,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[129].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[133].Exporter = func(v any, i int) any {
switch v := v.(*MaterializeCreateRequest); i {
case 0:
return &v.state
@@ -21219,7 +21586,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[130].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[134].Exporter = func(v any, i int) any {
switch v := v.(*MaterializeCreateResponse); i {
case 0:
return &v.state
@@ -21231,7 +21598,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[131].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[135].Exporter = func(v any, i int) any {
switch v := v.(*MigrateCreateRequest); i {
case 0:
return &v.state
@@ -21243,7 +21610,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[132].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[136].Exporter = func(v any, i int) any {
switch v := v.(*MigrateCompleteRequest); i {
case 0:
return &v.state
@@ -21255,7 +21622,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[133].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[137].Exporter = func(v any, i int) any {
switch v := v.(*MigrateCompleteResponse); i {
case 0:
return &v.state
@@ -21267,7 +21634,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[134].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[138].Exporter = func(v any, i int) any {
switch v := v.(*MountRegisterRequest); i {
case 0:
return &v.state
@@ -21279,7 +21646,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[135].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[139].Exporter = func(v any, i int) any {
switch v := v.(*MountRegisterResponse); i {
case 0:
return &v.state
@@ -21291,7 +21658,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[136].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[140].Exporter = func(v any, i int) any {
switch v := v.(*MountUnregisterRequest); i {
case 0:
return &v.state
@@ -21303,7 +21670,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[137].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[141].Exporter = func(v any, i int) any {
switch v := v.(*MountUnregisterResponse); i {
case 0:
return &v.state
@@ -21315,7 +21682,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[138].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[142].Exporter = func(v any, i int) any {
switch v := v.(*MountShowRequest); i {
case 0:
return &v.state
@@ -21327,7 +21694,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[139].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[143].Exporter = func(v any, i int) any {
switch v := v.(*MountShowResponse); i {
case 0:
return &v.state
@@ -21339,7 +21706,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[140].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[144].Exporter = func(v any, i int) any {
switch v := v.(*MountListRequest); i {
case 0:
return &v.state
@@ -21351,7 +21718,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[141].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[145].Exporter = func(v any, i int) any {
switch v := v.(*MountListResponse); i {
case 0:
return &v.state
@@ -21363,7 +21730,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[142].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[146].Exporter = func(v any, i int) any {
switch v := v.(*MoveTablesCreateRequest); i {
case 0:
return &v.state
@@ -21375,7 +21742,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[143].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[147].Exporter = func(v any, i int) any {
switch v := v.(*MoveTablesCreateResponse); i {
case 0:
return &v.state
@@ -21387,7 +21754,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[144].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[148].Exporter = func(v any, i int) any {
switch v := v.(*MoveTablesCompleteRequest); i {
case 0:
return &v.state
@@ -21399,7 +21766,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[145].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[149].Exporter = func(v any, i int) any {
switch v := v.(*MoveTablesCompleteResponse); i {
case 0:
return &v.state
@@ -21411,7 +21778,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[146].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[150].Exporter = func(v any, i int) any {
switch v := v.(*PingTabletRequest); i {
case 0:
return &v.state
@@ -21423,7 +21790,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[147].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[151].Exporter = func(v any, i int) any {
switch v := v.(*PingTabletResponse); i {
case 0:
return &v.state
@@ -21435,7 +21802,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[148].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[152].Exporter = func(v any, i int) any {
switch v := v.(*PlannedReparentShardRequest); i {
case 0:
return &v.state
@@ -21447,7 +21814,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[149].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[153].Exporter = func(v any, i int) any {
switch v := v.(*PlannedReparentShardResponse); i {
case 0:
return &v.state
@@ -21459,7 +21826,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[150].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[154].Exporter = func(v any, i int) any {
switch v := v.(*RebuildKeyspaceGraphRequest); i {
case 0:
return &v.state
@@ -21471,7 +21838,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[151].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[155].Exporter = func(v any, i int) any {
switch v := v.(*RebuildKeyspaceGraphResponse); i {
case 0:
return &v.state
@@ -21483,7 +21850,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[152].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[156].Exporter = func(v any, i int) any {
switch v := v.(*RebuildVSchemaGraphRequest); i {
case 0:
return &v.state
@@ -21495,7 +21862,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[153].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[157].Exporter = func(v any, i int) any {
switch v := v.(*RebuildVSchemaGraphResponse); i {
case 0:
return &v.state
@@ -21507,7 +21874,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[154].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[158].Exporter = func(v any, i int) any {
switch v := v.(*RefreshStateRequest); i {
case 0:
return &v.state
@@ -21519,7 +21886,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[155].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[159].Exporter = func(v any, i int) any {
switch v := v.(*RefreshStateResponse); i {
case 0:
return &v.state
@@ -21531,7 +21898,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[156].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[160].Exporter = func(v any, i int) any {
switch v := v.(*RefreshStateByShardRequest); i {
case 0:
return &v.state
@@ -21543,7 +21910,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[157].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[161].Exporter = func(v any, i int) any {
switch v := v.(*RefreshStateByShardResponse); i {
case 0:
return &v.state
@@ -21555,7 +21922,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[158].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[162].Exporter = func(v any, i int) any {
switch v := v.(*ReloadSchemaRequest); i {
case 0:
return &v.state
@@ -21567,7 +21934,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[159].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[163].Exporter = func(v any, i int) any {
switch v := v.(*ReloadSchemaResponse); i {
case 0:
return &v.state
@@ -21579,7 +21946,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[160].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[164].Exporter = func(v any, i int) any {
switch v := v.(*ReloadSchemaKeyspaceRequest); i {
case 0:
return &v.state
@@ -21591,7 +21958,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[161].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[165].Exporter = func(v any, i int) any {
switch v := v.(*ReloadSchemaKeyspaceResponse); i {
case 0:
return &v.state
@@ -21603,7 +21970,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[162].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[166].Exporter = func(v any, i int) any {
switch v := v.(*ReloadSchemaShardRequest); i {
case 0:
return &v.state
@@ -21615,7 +21982,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[163].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[167].Exporter = func(v any, i int) any {
switch v := v.(*ReloadSchemaShardResponse); i {
case 0:
return &v.state
@@ -21627,7 +21994,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[164].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[168].Exporter = func(v any, i int) any {
switch v := v.(*RemoveBackupRequest); i {
case 0:
return &v.state
@@ -21639,7 +22006,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[165].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[169].Exporter = func(v any, i int) any {
switch v := v.(*RemoveBackupResponse); i {
case 0:
return &v.state
@@ -21651,7 +22018,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[166].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[170].Exporter = func(v any, i int) any {
switch v := v.(*RemoveKeyspaceCellRequest); i {
case 0:
return &v.state
@@ -21663,7 +22030,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[167].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[171].Exporter = func(v any, i int) any {
switch v := v.(*RemoveKeyspaceCellResponse); i {
case 0:
return &v.state
@@ -21675,7 +22042,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[168].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[172].Exporter = func(v any, i int) any {
switch v := v.(*RemoveShardCellRequest); i {
case 0:
return &v.state
@@ -21687,7 +22054,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[169].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[173].Exporter = func(v any, i int) any {
switch v := v.(*RemoveShardCellResponse); i {
case 0:
return &v.state
@@ -21699,7 +22066,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[170].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[174].Exporter = func(v any, i int) any {
switch v := v.(*ReparentTabletRequest); i {
case 0:
return &v.state
@@ -21711,7 +22078,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[171].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[175].Exporter = func(v any, i int) any {
switch v := v.(*ReparentTabletResponse); i {
case 0:
return &v.state
@@ -21723,7 +22090,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[172].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[176].Exporter = func(v any, i int) any {
switch v := v.(*ReshardCreateRequest); i {
case 0:
return &v.state
@@ -21735,7 +22102,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[173].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[177].Exporter = func(v any, i int) any {
switch v := v.(*RestoreFromBackupRequest); i {
case 0:
return &v.state
@@ -21747,7 +22114,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[174].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[178].Exporter = func(v any, i int) any {
switch v := v.(*RestoreFromBackupResponse); i {
case 0:
return &v.state
@@ -21759,7 +22126,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[175].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[179].Exporter = func(v any, i int) any {
switch v := v.(*RetrySchemaMigrationRequest); i {
case 0:
return &v.state
@@ -21771,7 +22138,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[176].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[180].Exporter = func(v any, i int) any {
switch v := v.(*RetrySchemaMigrationResponse); i {
case 0:
return &v.state
@@ -21783,7 +22150,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[177].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[181].Exporter = func(v any, i int) any {
switch v := v.(*RunHealthCheckRequest); i {
case 0:
return &v.state
@@ -21795,7 +22162,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[178].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[182].Exporter = func(v any, i int) any {
switch v := v.(*RunHealthCheckResponse); i {
case 0:
return &v.state
@@ -21807,7 +22174,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[179].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[183].Exporter = func(v any, i int) any {
switch v := v.(*SetKeyspaceDurabilityPolicyRequest); i {
case 0:
return &v.state
@@ -21819,7 +22186,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[180].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[184].Exporter = func(v any, i int) any {
switch v := v.(*SetKeyspaceDurabilityPolicyResponse); i {
case 0:
return &v.state
@@ -21831,7 +22198,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[181].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[185].Exporter = func(v any, i int) any {
switch v := v.(*SetKeyspaceShardingInfoRequest); i {
case 0:
return &v.state
@@ -21843,7 +22210,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[182].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[186].Exporter = func(v any, i int) any {
switch v := v.(*SetKeyspaceShardingInfoResponse); i {
case 0:
return &v.state
@@ -21855,7 +22222,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[183].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[187].Exporter = func(v any, i int) any {
switch v := v.(*SetShardIsPrimaryServingRequest); i {
case 0:
return &v.state
@@ -21867,7 +22234,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[184].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[188].Exporter = func(v any, i int) any {
switch v := v.(*SetShardIsPrimaryServingResponse); i {
case 0:
return &v.state
@@ -21879,7 +22246,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[185].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[189].Exporter = func(v any, i int) any {
switch v := v.(*SetShardTabletControlRequest); i {
case 0:
return &v.state
@@ -21891,7 +22258,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[186].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[190].Exporter = func(v any, i int) any {
switch v := v.(*SetShardTabletControlResponse); i {
case 0:
return &v.state
@@ -21903,7 +22270,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[187].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[191].Exporter = func(v any, i int) any {
switch v := v.(*SetWritableRequest); i {
case 0:
return &v.state
@@ -21915,7 +22282,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[188].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[192].Exporter = func(v any, i int) any {
switch v := v.(*SetWritableResponse); i {
case 0:
return &v.state
@@ -21927,7 +22294,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[189].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[193].Exporter = func(v any, i int) any {
switch v := v.(*ShardReplicationAddRequest); i {
case 0:
return &v.state
@@ -21939,7 +22306,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[190].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[194].Exporter = func(v any, i int) any {
switch v := v.(*ShardReplicationAddResponse); i {
case 0:
return &v.state
@@ -21951,7 +22318,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[191].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[195].Exporter = func(v any, i int) any {
switch v := v.(*ShardReplicationFixRequest); i {
case 0:
return &v.state
@@ -21963,7 +22330,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[192].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[196].Exporter = func(v any, i int) any {
switch v := v.(*ShardReplicationFixResponse); i {
case 0:
return &v.state
@@ -21975,7 +22342,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[193].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[197].Exporter = func(v any, i int) any {
switch v := v.(*ShardReplicationPositionsRequest); i {
case 0:
return &v.state
@@ -21987,7 +22354,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[194].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[198].Exporter = func(v any, i int) any {
switch v := v.(*ShardReplicationPositionsResponse); i {
case 0:
return &v.state
@@ -21999,7 +22366,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[195].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[199].Exporter = func(v any, i int) any {
switch v := v.(*ShardReplicationRemoveRequest); i {
case 0:
return &v.state
@@ -22011,7 +22378,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[196].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[200].Exporter = func(v any, i int) any {
switch v := v.(*ShardReplicationRemoveResponse); i {
case 0:
return &v.state
@@ -22023,7 +22390,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[197].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[201].Exporter = func(v any, i int) any {
switch v := v.(*SleepTabletRequest); i {
case 0:
return &v.state
@@ -22035,7 +22402,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[198].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[202].Exporter = func(v any, i int) any {
switch v := v.(*SleepTabletResponse); i {
case 0:
return &v.state
@@ -22047,7 +22414,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[199].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[203].Exporter = func(v any, i int) any {
switch v := v.(*SourceShardAddRequest); i {
case 0:
return &v.state
@@ -22059,7 +22426,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[200].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[204].Exporter = func(v any, i int) any {
switch v := v.(*SourceShardAddResponse); i {
case 0:
return &v.state
@@ -22071,7 +22438,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[201].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[205].Exporter = func(v any, i int) any {
switch v := v.(*SourceShardDeleteRequest); i {
case 0:
return &v.state
@@ -22083,7 +22450,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[202].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[206].Exporter = func(v any, i int) any {
switch v := v.(*SourceShardDeleteResponse); i {
case 0:
return &v.state
@@ -22095,7 +22462,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[203].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[207].Exporter = func(v any, i int) any {
switch v := v.(*StartReplicationRequest); i {
case 0:
return &v.state
@@ -22107,7 +22474,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[204].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[208].Exporter = func(v any, i int) any {
switch v := v.(*StartReplicationResponse); i {
case 0:
return &v.state
@@ -22119,7 +22486,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[205].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[209].Exporter = func(v any, i int) any {
switch v := v.(*StopReplicationRequest); i {
case 0:
return &v.state
@@ -22131,7 +22498,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[206].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[210].Exporter = func(v any, i int) any {
switch v := v.(*StopReplicationResponse); i {
case 0:
return &v.state
@@ -22143,7 +22510,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[207].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[211].Exporter = func(v any, i int) any {
switch v := v.(*TabletExternallyReparentedRequest); i {
case 0:
return &v.state
@@ -22155,7 +22522,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[208].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[212].Exporter = func(v any, i int) any {
switch v := v.(*TabletExternallyReparentedResponse); i {
case 0:
return &v.state
@@ -22167,7 +22534,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[209].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[213].Exporter = func(v any, i int) any {
switch v := v.(*UpdateCellInfoRequest); i {
case 0:
return &v.state
@@ -22179,7 +22546,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[210].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[214].Exporter = func(v any, i int) any {
switch v := v.(*UpdateCellInfoResponse); i {
case 0:
return &v.state
@@ -22191,7 +22558,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[211].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[215].Exporter = func(v any, i int) any {
switch v := v.(*UpdateCellsAliasRequest); i {
case 0:
return &v.state
@@ -22203,7 +22570,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[212].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[216].Exporter = func(v any, i int) any {
switch v := v.(*UpdateCellsAliasResponse); i {
case 0:
return &v.state
@@ -22215,7 +22582,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[213].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[217].Exporter = func(v any, i int) any {
switch v := v.(*ValidateRequest); i {
case 0:
return &v.state
@@ -22227,7 +22594,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[214].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[218].Exporter = func(v any, i int) any {
switch v := v.(*ValidateResponse); i {
case 0:
return &v.state
@@ -22239,7 +22606,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[215].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[219].Exporter = func(v any, i int) any {
switch v := v.(*ValidateKeyspaceRequest); i {
case 0:
return &v.state
@@ -22251,7 +22618,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[216].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[220].Exporter = func(v any, i int) any {
switch v := v.(*ValidateKeyspaceResponse); i {
case 0:
return &v.state
@@ -22263,7 +22630,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[217].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[221].Exporter = func(v any, i int) any {
switch v := v.(*ValidateSchemaKeyspaceRequest); i {
case 0:
return &v.state
@@ -22275,7 +22642,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[218].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[222].Exporter = func(v any, i int) any {
switch v := v.(*ValidateSchemaKeyspaceResponse); i {
case 0:
return &v.state
@@ -22287,7 +22654,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[219].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[223].Exporter = func(v any, i int) any {
switch v := v.(*ValidateShardRequest); i {
case 0:
return &v.state
@@ -22299,7 +22666,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[220].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[224].Exporter = func(v any, i int) any {
switch v := v.(*ValidateShardResponse); i {
case 0:
return &v.state
@@ -22311,7 +22678,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[221].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[225].Exporter = func(v any, i int) any {
switch v := v.(*ValidateVersionKeyspaceRequest); i {
case 0:
return &v.state
@@ -22323,7 +22690,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[222].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[226].Exporter = func(v any, i int) any {
switch v := v.(*ValidateVersionKeyspaceResponse); i {
case 0:
return &v.state
@@ -22335,7 +22702,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[223].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[227].Exporter = func(v any, i int) any {
switch v := v.(*ValidateVersionShardRequest); i {
case 0:
return &v.state
@@ -22347,7 +22714,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[224].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[228].Exporter = func(v any, i int) any {
switch v := v.(*ValidateVersionShardResponse); i {
case 0:
return &v.state
@@ -22359,7 +22726,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[225].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[229].Exporter = func(v any, i int) any {
switch v := v.(*ValidateVSchemaRequest); i {
case 0:
return &v.state
@@ -22371,7 +22738,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[226].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[230].Exporter = func(v any, i int) any {
switch v := v.(*ValidateVSchemaResponse); i {
case 0:
return &v.state
@@ -22383,7 +22750,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[227].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[231].Exporter = func(v any, i int) any {
switch v := v.(*VDiffCreateRequest); i {
case 0:
return &v.state
@@ -22395,7 +22762,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[228].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[232].Exporter = func(v any, i int) any {
switch v := v.(*VDiffCreateResponse); i {
case 0:
return &v.state
@@ -22407,7 +22774,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[229].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[233].Exporter = func(v any, i int) any {
switch v := v.(*VDiffDeleteRequest); i {
case 0:
return &v.state
@@ -22419,7 +22786,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[230].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[234].Exporter = func(v any, i int) any {
switch v := v.(*VDiffDeleteResponse); i {
case 0:
return &v.state
@@ -22431,7 +22798,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[231].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[235].Exporter = func(v any, i int) any {
switch v := v.(*VDiffResumeRequest); i {
case 0:
return &v.state
@@ -22443,7 +22810,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[232].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[236].Exporter = func(v any, i int) any {
switch v := v.(*VDiffResumeResponse); i {
case 0:
return &v.state
@@ -22455,7 +22822,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[233].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[237].Exporter = func(v any, i int) any {
switch v := v.(*VDiffShowRequest); i {
case 0:
return &v.state
@@ -22467,7 +22834,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[234].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[238].Exporter = func(v any, i int) any {
switch v := v.(*VDiffShowResponse); i {
case 0:
return &v.state
@@ -22479,7 +22846,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[235].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[239].Exporter = func(v any, i int) any {
switch v := v.(*VDiffStopRequest); i {
case 0:
return &v.state
@@ -22491,7 +22858,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[236].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[240].Exporter = func(v any, i int) any {
switch v := v.(*VDiffStopResponse); i {
case 0:
return &v.state
@@ -22503,7 +22870,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[237].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[241].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowDeleteRequest); i {
case 0:
return &v.state
@@ -22515,7 +22882,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[238].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[242].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowDeleteResponse); i {
case 0:
return &v.state
@@ -22527,7 +22894,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[239].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[243].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowStatusRequest); i {
case 0:
return &v.state
@@ -22539,7 +22906,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[240].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[244].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowStatusResponse); i {
case 0:
return &v.state
@@ -22551,7 +22918,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[241].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[245].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowSwitchTrafficRequest); i {
case 0:
return &v.state
@@ -22563,7 +22930,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[242].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[246].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowSwitchTrafficResponse); i {
case 0:
return &v.state
@@ -22575,7 +22942,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[243].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[247].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowUpdateRequest); i {
case 0:
return &v.state
@@ -22587,7 +22954,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[244].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[248].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowUpdateResponse); i {
case 0:
return &v.state
@@ -22599,7 +22966,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[245].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[249].Exporter = func(v any, i int) any {
switch v := v.(*GetMirrorRulesRequest); i {
case 0:
return &v.state
@@ -22611,7 +22978,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[246].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[250].Exporter = func(v any, i int) any {
switch v := v.(*GetMirrorRulesResponse); i {
case 0:
return &v.state
@@ -22623,7 +22990,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[247].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[251].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowMirrorTrafficRequest); i {
case 0:
return &v.state
@@ -22635,7 +23002,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[248].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[252].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowMirrorTrafficResponse); i {
case 0:
return &v.state
@@ -22647,7 +23014,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[250].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[255].Exporter = func(v any, i int) any {
switch v := v.(*Workflow_ReplicationLocation); i {
case 0:
return &v.state
@@ -22659,7 +23026,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[251].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[256].Exporter = func(v any, i int) any {
switch v := v.(*Workflow_ShardStream); i {
case 0:
return &v.state
@@ -22671,7 +23038,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[252].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[257].Exporter = func(v any, i int) any {
switch v := v.(*Workflow_Stream); i {
case 0:
return &v.state
@@ -22683,7 +23050,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[253].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[258].Exporter = func(v any, i int) any {
switch v := v.(*Workflow_Stream_CopyState); i {
case 0:
return &v.state
@@ -22695,7 +23062,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[254].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[259].Exporter = func(v any, i int) any {
switch v := v.(*Workflow_Stream_Log); i {
case 0:
return &v.state
@@ -22707,7 +23074,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[255].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[260].Exporter = func(v any, i int) any {
switch v := v.(*Workflow_Stream_ThrottlerStatus); i {
case 0:
return &v.state
@@ -22719,7 +23086,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[258].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[263].Exporter = func(v any, i int) any {
switch v := v.(*ApplyVSchemaResponse_ParamList); i {
case 0:
return &v.state
@@ -22731,7 +23098,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[267].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[272].Exporter = func(v any, i int) any {
switch v := v.(*GetSrvKeyspaceNamesResponse_NameList); i {
case 0:
return &v.state
@@ -22743,7 +23110,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[271].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[276].Exporter = func(v any, i int) any {
switch v := v.(*MoveTablesCreateResponse_TabletInfo); i {
case 0:
return &v.state
@@ -22755,7 +23122,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[281].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[286].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowDeleteResponse_TabletInfo); i {
case 0:
return &v.state
@@ -22767,7 +23134,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[282].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[287].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowStatusResponse_TableCopyState); i {
case 0:
return &v.state
@@ -22779,7 +23146,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[283].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[288].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowStatusResponse_ShardStreamState); i {
case 0:
return &v.state
@@ -22791,7 +23158,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[284].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[289].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowStatusResponse_ShardStreams); i {
case 0:
return &v.state
@@ -22803,7 +23170,7 @@ func file_vtctldata_proto_init() {
return nil
}
}
- file_vtctldata_proto_msgTypes[287].Exporter = func(v any, i int) any {
+ file_vtctldata_proto_msgTypes[292].Exporter = func(v any, i int) any {
switch v := v.(*WorkflowUpdateResponse_TabletInfo); i {
case 0:
return &v.state
@@ -22816,13 +23183,14 @@ func file_vtctldata_proto_init() {
}
}
}
+ file_vtctldata_proto_msgTypes[231].OneofWrappers = []any{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_vtctldata_proto_rawDesc,
NumEnums: 4,
- NumMessages: 288,
+ NumMessages: 293,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go b/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go
index 9532622dc98..1135118fa9a 100644
--- a/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go
+++ b/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go
@@ -1,5 +1,5 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: vtctldata.proto
package vtctldata
@@ -7,11 +7,11 @@ package vtctldata
import (
binary "encoding/binary"
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
math "math"
- bits "math/bits"
binlogdata "vitess.io/vitess/go/vt/proto/binlogdata"
logutil "vitess.io/vitess/go/vt/proto/logutil"
mysqlctl "vitess.io/vitess/go/vt/proto/mysqlctl"
@@ -35,9 +35,8 @@ func (m *ExecuteVtctlCommandRequest) CloneVT() *ExecuteVtctlCommandRequest {
if m == nil {
return (*ExecuteVtctlCommandRequest)(nil)
}
- r := &ExecuteVtctlCommandRequest{
- ActionTimeout: m.ActionTimeout,
- }
+ r := new(ExecuteVtctlCommandRequest)
+ r.ActionTimeout = m.ActionTimeout
if rhs := m.Args; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -58,9 +57,8 @@ func (m *ExecuteVtctlCommandResponse) CloneVT() *ExecuteVtctlCommandResponse {
if m == nil {
return (*ExecuteVtctlCommandResponse)(nil)
}
- r := &ExecuteVtctlCommandResponse{
- Event: m.Event.CloneVT(),
- }
+ r := new(ExecuteVtctlCommandResponse)
+ r.Event = m.Event.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -76,11 +74,10 @@ func (m *TableMaterializeSettings) CloneVT() *TableMaterializeSettings {
if m == nil {
return (*TableMaterializeSettings)(nil)
}
- r := &TableMaterializeSettings{
- TargetTable: m.TargetTable,
- SourceExpression: m.SourceExpression,
- CreateDdl: m.CreateDdl,
- }
+ r := new(TableMaterializeSettings)
+ r.TargetTable = m.TargetTable
+ r.SourceExpression = m.SourceExpression
+ r.CreateDdl = m.CreateDdl
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -96,23 +93,22 @@ func (m *MaterializeSettings) CloneVT() *MaterializeSettings {
if m == nil {
return (*MaterializeSettings)(nil)
}
- r := &MaterializeSettings{
- Workflow: m.Workflow,
- SourceKeyspace: m.SourceKeyspace,
- TargetKeyspace: m.TargetKeyspace,
- StopAfterCopy: m.StopAfterCopy,
- Cell: m.Cell,
- TabletTypes: m.TabletTypes,
- ExternalCluster: m.ExternalCluster,
- MaterializationIntent: m.MaterializationIntent,
- SourceTimeZone: m.SourceTimeZone,
- TargetTimeZone: m.TargetTimeZone,
- OnDdl: m.OnDdl,
- DeferSecondaryKeys: m.DeferSecondaryKeys,
- TabletSelectionPreference: m.TabletSelectionPreference,
- AtomicCopy: m.AtomicCopy,
- WorkflowOptions: m.WorkflowOptions.CloneVT(),
- }
+ r := new(MaterializeSettings)
+ r.Workflow = m.Workflow
+ r.SourceKeyspace = m.SourceKeyspace
+ r.TargetKeyspace = m.TargetKeyspace
+ r.StopAfterCopy = m.StopAfterCopy
+ r.Cell = m.Cell
+ r.TabletTypes = m.TabletTypes
+ r.ExternalCluster = m.ExternalCluster
+ r.MaterializationIntent = m.MaterializationIntent
+ r.SourceTimeZone = m.SourceTimeZone
+ r.TargetTimeZone = m.TargetTimeZone
+ r.OnDdl = m.OnDdl
+ r.DeferSecondaryKeys = m.DeferSecondaryKeys
+ r.TabletSelectionPreference = m.TabletSelectionPreference
+ r.AtomicCopy = m.AtomicCopy
+ r.WorkflowOptions = m.WorkflowOptions.CloneVT()
if rhs := m.TableSettings; rhs != nil {
tmpContainer := make([]*TableMaterializeSettings, len(rhs))
for k, v := range rhs {
@@ -125,6 +121,11 @@ func (m *MaterializeSettings) CloneVT() *MaterializeSettings {
copy(tmpContainer, rhs)
r.SourceShards = tmpContainer
}
+ if rhs := m.ReferenceTables; rhs != nil {
+ tmpContainer := make([]string, len(rhs))
+ copy(tmpContainer, rhs)
+ r.ReferenceTables = tmpContainer
+ }
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -140,10 +141,9 @@ func (m *Keyspace) CloneVT() *Keyspace {
if m == nil {
return (*Keyspace)(nil)
}
- r := &Keyspace{
- Name: m.Name,
- Keyspace: m.Keyspace.CloneVT(),
- }
+ r := new(Keyspace)
+ r.Name = m.Name
+ r.Keyspace = m.Keyspace.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -159,62 +159,61 @@ func (m *SchemaMigration) CloneVT() *SchemaMigration {
if m == nil {
return (*SchemaMigration)(nil)
}
- r := &SchemaMigration{
- Uuid: m.Uuid,
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Schema: m.Schema,
- Table: m.Table,
- MigrationStatement: m.MigrationStatement,
- Strategy: m.Strategy,
- Options: m.Options,
- AddedAt: m.AddedAt.CloneVT(),
- RequestedAt: m.RequestedAt.CloneVT(),
- ReadyAt: m.ReadyAt.CloneVT(),
- StartedAt: m.StartedAt.CloneVT(),
- LivenessTimestamp: m.LivenessTimestamp.CloneVT(),
- CompletedAt: m.CompletedAt.CloneVT(),
- CleanedUpAt: m.CleanedUpAt.CloneVT(),
- Status: m.Status,
- LogPath: m.LogPath,
- Artifacts: m.Artifacts,
- Retries: m.Retries,
- Tablet: m.Tablet.CloneVT(),
- TabletFailure: m.TabletFailure,
- Progress: m.Progress,
- MigrationContext: m.MigrationContext,
- DdlAction: m.DdlAction,
- Message: m.Message,
- EtaSeconds: m.EtaSeconds,
- RowsCopied: m.RowsCopied,
- TableRows: m.TableRows,
- AddedUniqueKeys: m.AddedUniqueKeys,
- RemovedUniqueKeys: m.RemovedUniqueKeys,
- LogFile: m.LogFile,
- ArtifactRetention: m.ArtifactRetention.CloneVT(),
- PostponeCompletion: m.PostponeCompletion,
- RemovedUniqueKeyNames: m.RemovedUniqueKeyNames,
- DroppedNoDefaultColumnNames: m.DroppedNoDefaultColumnNames,
- ExpandedColumnNames: m.ExpandedColumnNames,
- RevertibleNotes: m.RevertibleNotes,
- AllowConcurrent: m.AllowConcurrent,
- RevertedUuid: m.RevertedUuid,
- IsView: m.IsView,
- ReadyToComplete: m.ReadyToComplete,
- VitessLivenessIndicator: m.VitessLivenessIndicator,
- UserThrottleRatio: m.UserThrottleRatio,
- SpecialPlan: m.SpecialPlan,
- LastThrottledAt: m.LastThrottledAt.CloneVT(),
- ComponentThrottled: m.ComponentThrottled,
- CancelledAt: m.CancelledAt.CloneVT(),
- PostponeLaunch: m.PostponeLaunch,
- Stage: m.Stage,
- CutoverAttempts: m.CutoverAttempts,
- IsImmediateOperation: m.IsImmediateOperation,
- ReviewedAt: m.ReviewedAt.CloneVT(),
- ReadyToCompleteAt: m.ReadyToCompleteAt.CloneVT(),
- RemovedForeignKeyNames: m.RemovedForeignKeyNames,
- }
+ r := new(SchemaMigration)
+ r.Uuid = m.Uuid
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Schema = m.Schema
+ r.Table = m.Table
+ r.MigrationStatement = m.MigrationStatement
+ r.Strategy = m.Strategy
+ r.Options = m.Options
+ r.AddedAt = m.AddedAt.CloneVT()
+ r.RequestedAt = m.RequestedAt.CloneVT()
+ r.ReadyAt = m.ReadyAt.CloneVT()
+ r.StartedAt = m.StartedAt.CloneVT()
+ r.LivenessTimestamp = m.LivenessTimestamp.CloneVT()
+ r.CompletedAt = m.CompletedAt.CloneVT()
+ r.CleanedUpAt = m.CleanedUpAt.CloneVT()
+ r.Status = m.Status
+ r.LogPath = m.LogPath
+ r.Artifacts = m.Artifacts
+ r.Retries = m.Retries
+ r.Tablet = m.Tablet.CloneVT()
+ r.TabletFailure = m.TabletFailure
+ r.Progress = m.Progress
+ r.MigrationContext = m.MigrationContext
+ r.DdlAction = m.DdlAction
+ r.Message = m.Message
+ r.EtaSeconds = m.EtaSeconds
+ r.RowsCopied = m.RowsCopied
+ r.TableRows = m.TableRows
+ r.AddedUniqueKeys = m.AddedUniqueKeys
+ r.RemovedUniqueKeys = m.RemovedUniqueKeys
+ r.LogFile = m.LogFile
+ r.ArtifactRetention = m.ArtifactRetention.CloneVT()
+ r.PostponeCompletion = m.PostponeCompletion
+ r.RemovedUniqueKeyNames = m.RemovedUniqueKeyNames
+ r.DroppedNoDefaultColumnNames = m.DroppedNoDefaultColumnNames
+ r.ExpandedColumnNames = m.ExpandedColumnNames
+ r.RevertibleNotes = m.RevertibleNotes
+ r.AllowConcurrent = m.AllowConcurrent
+ r.RevertedUuid = m.RevertedUuid
+ r.IsView = m.IsView
+ r.ReadyToComplete = m.ReadyToComplete
+ r.VitessLivenessIndicator = m.VitessLivenessIndicator
+ r.UserThrottleRatio = m.UserThrottleRatio
+ r.SpecialPlan = m.SpecialPlan
+ r.LastThrottledAt = m.LastThrottledAt.CloneVT()
+ r.ComponentThrottled = m.ComponentThrottled
+ r.CancelledAt = m.CancelledAt.CloneVT()
+ r.PostponeLaunch = m.PostponeLaunch
+ r.Stage = m.Stage
+ r.CutoverAttempts = m.CutoverAttempts
+ r.IsImmediateOperation = m.IsImmediateOperation
+ r.ReviewedAt = m.ReviewedAt.CloneVT()
+ r.ReadyToCompleteAt = m.ReadyToCompleteAt.CloneVT()
+ r.RemovedForeignKeyNames = m.RemovedForeignKeyNames
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -230,11 +229,10 @@ func (m *Shard) CloneVT() *Shard {
if m == nil {
return (*Shard)(nil)
}
- r := &Shard{
- Keyspace: m.Keyspace,
- Name: m.Name,
- Shard: m.Shard.CloneVT(),
- }
+ r := new(Shard)
+ r.Keyspace = m.Keyspace
+ r.Name = m.Name
+ r.Shard = m.Shard.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -250,15 +248,21 @@ func (m *WorkflowOptions) CloneVT() *WorkflowOptions {
if m == nil {
return (*WorkflowOptions)(nil)
}
- r := &WorkflowOptions{
- TenantId: m.TenantId,
- StripShardedAutoIncrement: m.StripShardedAutoIncrement,
- }
+ r := new(WorkflowOptions)
+ r.TenantId = m.TenantId
+ r.StripShardedAutoIncrement = m.StripShardedAutoIncrement
if rhs := m.Shards; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
r.Shards = tmpContainer
}
+ if rhs := m.Config; rhs != nil {
+ tmpContainer := make(map[string]string, len(rhs))
+ for k, v := range rhs {
+ tmpContainer[k] = v
+ }
+ r.Config = tmpContainer
+ }
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -274,9 +278,8 @@ func (m *Workflow_ReplicationLocation) CloneVT() *Workflow_ReplicationLocation {
if m == nil {
return (*Workflow_ReplicationLocation)(nil)
}
- r := &Workflow_ReplicationLocation{
- Keyspace: m.Keyspace,
- }
+ r := new(Workflow_ReplicationLocation)
+ r.Keyspace = m.Keyspace
if rhs := m.Shards; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -297,9 +300,8 @@ func (m *Workflow_ShardStream) CloneVT() *Workflow_ShardStream {
if m == nil {
return (*Workflow_ShardStream)(nil)
}
- r := &Workflow_ShardStream{
- IsPrimaryServing: m.IsPrimaryServing,
- }
+ r := new(Workflow_ShardStream)
+ r.IsPrimaryServing = m.IsPrimaryServing
if rhs := m.Streams; rhs != nil {
tmpContainer := make([]*Workflow_Stream, len(rhs))
for k, v := range rhs {
@@ -329,11 +331,10 @@ func (m *Workflow_Stream_CopyState) CloneVT() *Workflow_Stream_CopyState {
if m == nil {
return (*Workflow_Stream_CopyState)(nil)
}
- r := &Workflow_Stream_CopyState{
- Table: m.Table,
- LastPk: m.LastPk,
- StreamId: m.StreamId,
- }
+ r := new(Workflow_Stream_CopyState)
+ r.Table = m.Table
+ r.LastPk = m.LastPk
+ r.StreamId = m.StreamId
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -349,16 +350,15 @@ func (m *Workflow_Stream_Log) CloneVT() *Workflow_Stream_Log {
if m == nil {
return (*Workflow_Stream_Log)(nil)
}
- r := &Workflow_Stream_Log{
- Id: m.Id,
- StreamId: m.StreamId,
- Type: m.Type,
- State: m.State,
- CreatedAt: m.CreatedAt.CloneVT(),
- UpdatedAt: m.UpdatedAt.CloneVT(),
- Message: m.Message,
- Count: m.Count,
- }
+ r := new(Workflow_Stream_Log)
+ r.Id = m.Id
+ r.StreamId = m.StreamId
+ r.Type = m.Type
+ r.State = m.State
+ r.CreatedAt = m.CreatedAt.CloneVT()
+ r.UpdatedAt = m.UpdatedAt.CloneVT()
+ r.Message = m.Message
+ r.Count = m.Count
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -374,10 +374,9 @@ func (m *Workflow_Stream_ThrottlerStatus) CloneVT() *Workflow_Stream_ThrottlerSt
if m == nil {
return (*Workflow_Stream_ThrottlerStatus)(nil)
}
- r := &Workflow_Stream_ThrottlerStatus{
- ComponentThrottled: m.ComponentThrottled,
- TimeThrottled: m.TimeThrottled.CloneVT(),
- }
+ r := new(Workflow_Stream_ThrottlerStatus)
+ r.ComponentThrottled = m.ComponentThrottled
+ r.TimeThrottled = m.TimeThrottled.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -393,23 +392,22 @@ func (m *Workflow_Stream) CloneVT() *Workflow_Stream {
if m == nil {
return (*Workflow_Stream)(nil)
}
- r := &Workflow_Stream{
- Id: m.Id,
- Shard: m.Shard,
- Tablet: m.Tablet.CloneVT(),
- BinlogSource: m.BinlogSource.CloneVT(),
- Position: m.Position,
- StopPosition: m.StopPosition,
- State: m.State,
- DbName: m.DbName,
- TransactionTimestamp: m.TransactionTimestamp.CloneVT(),
- TimeUpdated: m.TimeUpdated.CloneVT(),
- Message: m.Message,
- LogFetchError: m.LogFetchError,
- RowsCopied: m.RowsCopied,
- ThrottlerStatus: m.ThrottlerStatus.CloneVT(),
- TabletSelectionPreference: m.TabletSelectionPreference,
- }
+ r := new(Workflow_Stream)
+ r.Id = m.Id
+ r.Shard = m.Shard
+ r.Tablet = m.Tablet.CloneVT()
+ r.BinlogSource = m.BinlogSource.CloneVT()
+ r.Position = m.Position
+ r.StopPosition = m.StopPosition
+ r.State = m.State
+ r.DbName = m.DbName
+ r.TransactionTimestamp = m.TransactionTimestamp.CloneVT()
+ r.TimeUpdated = m.TimeUpdated.CloneVT()
+ r.Message = m.Message
+ r.LogFetchError = m.LogFetchError
+ r.RowsCopied = m.RowsCopied
+ r.ThrottlerStatus = m.ThrottlerStatus.CloneVT()
+ r.TabletSelectionPreference = m.TabletSelectionPreference
if rhs := m.CopyStates; rhs != nil {
tmpContainer := make([]*Workflow_Stream_CopyState, len(rhs))
for k, v := range rhs {
@@ -454,17 +452,16 @@ func (m *Workflow) CloneVT() *Workflow {
if m == nil {
return (*Workflow)(nil)
}
- r := &Workflow{
- Name: m.Name,
- Source: m.Source.CloneVT(),
- Target: m.Target.CloneVT(),
- MaxVReplicationLag: m.MaxVReplicationLag,
- WorkflowType: m.WorkflowType,
- WorkflowSubType: m.WorkflowSubType,
- MaxVReplicationTransactionLag: m.MaxVReplicationTransactionLag,
- DeferSecondaryKeys: m.DeferSecondaryKeys,
- Options: m.Options.CloneVT(),
- }
+ r := new(Workflow)
+ r.Name = m.Name
+ r.Source = m.Source.CloneVT()
+ r.Target = m.Target.CloneVT()
+ r.MaxVReplicationLag = m.MaxVReplicationLag
+ r.WorkflowType = m.WorkflowType
+ r.WorkflowSubType = m.WorkflowSubType
+ r.MaxVReplicationTransactionLag = m.MaxVReplicationTransactionLag
+ r.DeferSecondaryKeys = m.DeferSecondaryKeys
+ r.Options = m.Options.CloneVT()
if rhs := m.ShardStreams; rhs != nil {
tmpContainer := make(map[string]*Workflow_ShardStream, len(rhs))
for k, v := range rhs {
@@ -487,10 +484,9 @@ func (m *AddCellInfoRequest) CloneVT() *AddCellInfoRequest {
if m == nil {
return (*AddCellInfoRequest)(nil)
}
- r := &AddCellInfoRequest{
- Name: m.Name,
- CellInfo: m.CellInfo.CloneVT(),
- }
+ r := new(AddCellInfoRequest)
+ r.Name = m.Name
+ r.CellInfo = m.CellInfo.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -506,7 +502,7 @@ func (m *AddCellInfoResponse) CloneVT() *AddCellInfoResponse {
if m == nil {
return (*AddCellInfoResponse)(nil)
}
- r := &AddCellInfoResponse{}
+ r := new(AddCellInfoResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -522,9 +518,8 @@ func (m *AddCellsAliasRequest) CloneVT() *AddCellsAliasRequest {
if m == nil {
return (*AddCellsAliasRequest)(nil)
}
- r := &AddCellsAliasRequest{
- Name: m.Name,
- }
+ r := new(AddCellsAliasRequest)
+ r.Name = m.Name
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -545,7 +540,7 @@ func (m *AddCellsAliasResponse) CloneVT() *AddCellsAliasResponse {
if m == nil {
return (*AddCellsAliasResponse)(nil)
}
- r := &AddCellsAliasResponse{}
+ r := new(AddCellsAliasResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -561,10 +556,9 @@ func (m *ApplyKeyspaceRoutingRulesRequest) CloneVT() *ApplyKeyspaceRoutingRulesR
if m == nil {
return (*ApplyKeyspaceRoutingRulesRequest)(nil)
}
- r := &ApplyKeyspaceRoutingRulesRequest{
- KeyspaceRoutingRules: m.KeyspaceRoutingRules.CloneVT(),
- SkipRebuild: m.SkipRebuild,
- }
+ r := new(ApplyKeyspaceRoutingRulesRequest)
+ r.KeyspaceRoutingRules = m.KeyspaceRoutingRules.CloneVT()
+ r.SkipRebuild = m.SkipRebuild
if rhs := m.RebuildCells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -585,9 +579,8 @@ func (m *ApplyKeyspaceRoutingRulesResponse) CloneVT() *ApplyKeyspaceRoutingRules
if m == nil {
return (*ApplyKeyspaceRoutingRulesResponse)(nil)
}
- r := &ApplyKeyspaceRoutingRulesResponse{
- KeyspaceRoutingRules: m.KeyspaceRoutingRules.CloneVT(),
- }
+ r := new(ApplyKeyspaceRoutingRulesResponse)
+ r.KeyspaceRoutingRules = m.KeyspaceRoutingRules.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -603,10 +596,9 @@ func (m *ApplyRoutingRulesRequest) CloneVT() *ApplyRoutingRulesRequest {
if m == nil {
return (*ApplyRoutingRulesRequest)(nil)
}
- r := &ApplyRoutingRulesRequest{
- RoutingRules: m.RoutingRules.CloneVT(),
- SkipRebuild: m.SkipRebuild,
- }
+ r := new(ApplyRoutingRulesRequest)
+ r.RoutingRules = m.RoutingRules.CloneVT()
+ r.SkipRebuild = m.SkipRebuild
if rhs := m.RebuildCells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -627,7 +619,7 @@ func (m *ApplyRoutingRulesResponse) CloneVT() *ApplyRoutingRulesResponse {
if m == nil {
return (*ApplyRoutingRulesResponse)(nil)
}
- r := &ApplyRoutingRulesResponse{}
+ r := new(ApplyRoutingRulesResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -643,10 +635,9 @@ func (m *ApplyShardRoutingRulesRequest) CloneVT() *ApplyShardRoutingRulesRequest
if m == nil {
return (*ApplyShardRoutingRulesRequest)(nil)
}
- r := &ApplyShardRoutingRulesRequest{
- ShardRoutingRules: m.ShardRoutingRules.CloneVT(),
- SkipRebuild: m.SkipRebuild,
- }
+ r := new(ApplyShardRoutingRulesRequest)
+ r.ShardRoutingRules = m.ShardRoutingRules.CloneVT()
+ r.SkipRebuild = m.SkipRebuild
if rhs := m.RebuildCells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -667,7 +658,7 @@ func (m *ApplyShardRoutingRulesResponse) CloneVT() *ApplyShardRoutingRulesRespon
if m == nil {
return (*ApplyShardRoutingRulesResponse)(nil)
}
- r := &ApplyShardRoutingRulesResponse{}
+ r := new(ApplyShardRoutingRulesResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -683,14 +674,13 @@ func (m *ApplySchemaRequest) CloneVT() *ApplySchemaRequest {
if m == nil {
return (*ApplySchemaRequest)(nil)
}
- r := &ApplySchemaRequest{
- Keyspace: m.Keyspace,
- DdlStrategy: m.DdlStrategy,
- MigrationContext: m.MigrationContext,
- WaitReplicasTimeout: m.WaitReplicasTimeout.CloneVT(),
- CallerId: m.CallerId.CloneVT(),
- BatchSize: m.BatchSize,
- }
+ r := new(ApplySchemaRequest)
+ r.Keyspace = m.Keyspace
+ r.DdlStrategy = m.DdlStrategy
+ r.MigrationContext = m.MigrationContext
+ r.WaitReplicasTimeout = m.WaitReplicasTimeout.CloneVT()
+ r.CallerId = m.CallerId.CloneVT()
+ r.BatchSize = m.BatchSize
if rhs := m.Sql; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -716,7 +706,7 @@ func (m *ApplySchemaResponse) CloneVT() *ApplySchemaResponse {
if m == nil {
return (*ApplySchemaResponse)(nil)
}
- r := &ApplySchemaResponse{}
+ r := new(ApplySchemaResponse)
if rhs := m.UuidList; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -744,14 +734,13 @@ func (m *ApplyVSchemaRequest) CloneVT() *ApplyVSchemaRequest {
if m == nil {
return (*ApplyVSchemaRequest)(nil)
}
- r := &ApplyVSchemaRequest{
- Keyspace: m.Keyspace,
- SkipRebuild: m.SkipRebuild,
- DryRun: m.DryRun,
- VSchema: m.VSchema.CloneVT(),
- Sql: m.Sql,
- Strict: m.Strict,
- }
+ r := new(ApplyVSchemaRequest)
+ r.Keyspace = m.Keyspace
+ r.SkipRebuild = m.SkipRebuild
+ r.DryRun = m.DryRun
+ r.VSchema = m.VSchema.CloneVT()
+ r.Sql = m.Sql
+ r.Strict = m.Strict
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -772,7 +761,7 @@ func (m *ApplyVSchemaResponse_ParamList) CloneVT() *ApplyVSchemaResponse_ParamLi
if m == nil {
return (*ApplyVSchemaResponse_ParamList)(nil)
}
- r := &ApplyVSchemaResponse_ParamList{}
+ r := new(ApplyVSchemaResponse_ParamList)
if rhs := m.Params; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -793,9 +782,8 @@ func (m *ApplyVSchemaResponse) CloneVT() *ApplyVSchemaResponse {
if m == nil {
return (*ApplyVSchemaResponse)(nil)
}
- r := &ApplyVSchemaResponse{
- VSchema: m.VSchema.CloneVT(),
- }
+ r := new(ApplyVSchemaResponse)
+ r.VSchema = m.VSchema.CloneVT()
if rhs := m.UnknownVindexParams; rhs != nil {
tmpContainer := make(map[string]*ApplyVSchemaResponse_ParamList, len(rhs))
for k, v := range rhs {
@@ -818,13 +806,12 @@ func (m *BackupRequest) CloneVT() *BackupRequest {
if m == nil {
return (*BackupRequest)(nil)
}
- r := &BackupRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- AllowPrimary: m.AllowPrimary,
- Concurrency: m.Concurrency,
- IncrementalFromPos: m.IncrementalFromPos,
- UpgradeSafe: m.UpgradeSafe,
- }
+ r := new(BackupRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.AllowPrimary = m.AllowPrimary
+ r.Concurrency = m.Concurrency
+ r.IncrementalFromPos = m.IncrementalFromPos
+ r.UpgradeSafe = m.UpgradeSafe
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -840,12 +827,11 @@ func (m *BackupResponse) CloneVT() *BackupResponse {
if m == nil {
return (*BackupResponse)(nil)
}
- r := &BackupResponse{
- TabletAlias: m.TabletAlias.CloneVT(),
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Event: m.Event.CloneVT(),
- }
+ r := new(BackupResponse)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Event = m.Event.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -861,14 +847,13 @@ func (m *BackupShardRequest) CloneVT() *BackupShardRequest {
if m == nil {
return (*BackupShardRequest)(nil)
}
- r := &BackupShardRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- AllowPrimary: m.AllowPrimary,
- Concurrency: m.Concurrency,
- UpgradeSafe: m.UpgradeSafe,
- IncrementalFromPos: m.IncrementalFromPos,
- }
+ r := new(BackupShardRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.AllowPrimary = m.AllowPrimary
+ r.Concurrency = m.Concurrency
+ r.UpgradeSafe = m.UpgradeSafe
+ r.IncrementalFromPos = m.IncrementalFromPos
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -884,10 +869,9 @@ func (m *CancelSchemaMigrationRequest) CloneVT() *CancelSchemaMigrationRequest {
if m == nil {
return (*CancelSchemaMigrationRequest)(nil)
}
- r := &CancelSchemaMigrationRequest{
- Keyspace: m.Keyspace,
- Uuid: m.Uuid,
- }
+ r := new(CancelSchemaMigrationRequest)
+ r.Keyspace = m.Keyspace
+ r.Uuid = m.Uuid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -903,7 +887,7 @@ func (m *CancelSchemaMigrationResponse) CloneVT() *CancelSchemaMigrationResponse
if m == nil {
return (*CancelSchemaMigrationResponse)(nil)
}
- r := &CancelSchemaMigrationResponse{}
+ r := new(CancelSchemaMigrationResponse)
if rhs := m.RowsAffectedByShard; rhs != nil {
tmpContainer := make(map[string]uint64, len(rhs))
for k, v := range rhs {
@@ -926,11 +910,10 @@ func (m *ChangeTabletTypeRequest) CloneVT() *ChangeTabletTypeRequest {
if m == nil {
return (*ChangeTabletTypeRequest)(nil)
}
- r := &ChangeTabletTypeRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- DbType: m.DbType,
- DryRun: m.DryRun,
- }
+ r := new(ChangeTabletTypeRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.DbType = m.DbType
+ r.DryRun = m.DryRun
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -946,11 +929,10 @@ func (m *ChangeTabletTypeResponse) CloneVT() *ChangeTabletTypeResponse {
if m == nil {
return (*ChangeTabletTypeResponse)(nil)
}
- r := &ChangeTabletTypeResponse{
- BeforeTablet: m.BeforeTablet.CloneVT(),
- AfterTablet: m.AfterTablet.CloneVT(),
- WasDryRun: m.WasDryRun,
- }
+ r := new(ChangeTabletTypeResponse)
+ r.BeforeTablet = m.BeforeTablet.CloneVT()
+ r.AfterTablet = m.AfterTablet.CloneVT()
+ r.WasDryRun = m.WasDryRun
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -966,13 +948,12 @@ func (m *CheckThrottlerRequest) CloneVT() *CheckThrottlerRequest {
if m == nil {
return (*CheckThrottlerRequest)(nil)
}
- r := &CheckThrottlerRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- AppName: m.AppName,
- Scope: m.Scope,
- SkipRequestHeartbeats: m.SkipRequestHeartbeats,
- OkIfNotExists: m.OkIfNotExists,
- }
+ r := new(CheckThrottlerRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.AppName = m.AppName
+ r.Scope = m.Scope
+ r.SkipRequestHeartbeats = m.SkipRequestHeartbeats
+ r.OkIfNotExists = m.OkIfNotExists
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -988,10 +969,9 @@ func (m *CheckThrottlerResponse) CloneVT() *CheckThrottlerResponse {
if m == nil {
return (*CheckThrottlerResponse)(nil)
}
- r := &CheckThrottlerResponse{
- TabletAlias: m.TabletAlias.CloneVT(),
- Check: m.Check.CloneVT(),
- }
+ r := new(CheckThrottlerResponse)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.Check = m.Check.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1007,10 +987,9 @@ func (m *CleanupSchemaMigrationRequest) CloneVT() *CleanupSchemaMigrationRequest
if m == nil {
return (*CleanupSchemaMigrationRequest)(nil)
}
- r := &CleanupSchemaMigrationRequest{
- Keyspace: m.Keyspace,
- Uuid: m.Uuid,
- }
+ r := new(CleanupSchemaMigrationRequest)
+ r.Keyspace = m.Keyspace
+ r.Uuid = m.Uuid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1026,7 +1005,7 @@ func (m *CleanupSchemaMigrationResponse) CloneVT() *CleanupSchemaMigrationRespon
if m == nil {
return (*CleanupSchemaMigrationResponse)(nil)
}
- r := &CleanupSchemaMigrationResponse{}
+ r := new(CleanupSchemaMigrationResponse)
if rhs := m.RowsAffectedByShard; rhs != nil {
tmpContainer := make(map[string]uint64, len(rhs))
for k, v := range rhs {
@@ -1049,10 +1028,9 @@ func (m *CompleteSchemaMigrationRequest) CloneVT() *CompleteSchemaMigrationReque
if m == nil {
return (*CompleteSchemaMigrationRequest)(nil)
}
- r := &CompleteSchemaMigrationRequest{
- Keyspace: m.Keyspace,
- Uuid: m.Uuid,
- }
+ r := new(CompleteSchemaMigrationRequest)
+ r.Keyspace = m.Keyspace
+ r.Uuid = m.Uuid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1068,7 +1046,7 @@ func (m *CompleteSchemaMigrationResponse) CloneVT() *CompleteSchemaMigrationResp
if m == nil {
return (*CompleteSchemaMigrationResponse)(nil)
}
- r := &CompleteSchemaMigrationResponse{}
+ r := new(CompleteSchemaMigrationResponse)
if rhs := m.RowsAffectedByShard; rhs != nil {
tmpContainer := make(map[string]uint64, len(rhs))
for k, v := range rhs {
@@ -1091,16 +1069,15 @@ func (m *CreateKeyspaceRequest) CloneVT() *CreateKeyspaceRequest {
if m == nil {
return (*CreateKeyspaceRequest)(nil)
}
- r := &CreateKeyspaceRequest{
- Name: m.Name,
- Force: m.Force,
- AllowEmptyVSchema: m.AllowEmptyVSchema,
- Type: m.Type,
- BaseKeyspace: m.BaseKeyspace,
- SnapshotTime: m.SnapshotTime.CloneVT(),
- DurabilityPolicy: m.DurabilityPolicy,
- SidecarDbName: m.SidecarDbName,
- }
+ r := new(CreateKeyspaceRequest)
+ r.Name = m.Name
+ r.Force = m.Force
+ r.AllowEmptyVSchema = m.AllowEmptyVSchema
+ r.Type = m.Type
+ r.BaseKeyspace = m.BaseKeyspace
+ r.SnapshotTime = m.SnapshotTime.CloneVT()
+ r.DurabilityPolicy = m.DurabilityPolicy
+ r.SidecarDbName = m.SidecarDbName
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1116,9 +1093,8 @@ func (m *CreateKeyspaceResponse) CloneVT() *CreateKeyspaceResponse {
if m == nil {
return (*CreateKeyspaceResponse)(nil)
}
- r := &CreateKeyspaceResponse{
- Keyspace: m.Keyspace.CloneVT(),
- }
+ r := new(CreateKeyspaceResponse)
+ r.Keyspace = m.Keyspace.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1134,12 +1110,11 @@ func (m *CreateShardRequest) CloneVT() *CreateShardRequest {
if m == nil {
return (*CreateShardRequest)(nil)
}
- r := &CreateShardRequest{
- Keyspace: m.Keyspace,
- ShardName: m.ShardName,
- Force: m.Force,
- IncludeParent: m.IncludeParent,
- }
+ r := new(CreateShardRequest)
+ r.Keyspace = m.Keyspace
+ r.ShardName = m.ShardName
+ r.Force = m.Force
+ r.IncludeParent = m.IncludeParent
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1155,11 +1130,10 @@ func (m *CreateShardResponse) CloneVT() *CreateShardResponse {
if m == nil {
return (*CreateShardResponse)(nil)
}
- r := &CreateShardResponse{
- Keyspace: m.Keyspace.CloneVT(),
- Shard: m.Shard.CloneVT(),
- ShardAlreadyExists: m.ShardAlreadyExists,
- }
+ r := new(CreateShardResponse)
+ r.Keyspace = m.Keyspace.CloneVT()
+ r.Shard = m.Shard.CloneVT()
+ r.ShardAlreadyExists = m.ShardAlreadyExists
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1175,10 +1149,9 @@ func (m *DeleteCellInfoRequest) CloneVT() *DeleteCellInfoRequest {
if m == nil {
return (*DeleteCellInfoRequest)(nil)
}
- r := &DeleteCellInfoRequest{
- Name: m.Name,
- Force: m.Force,
- }
+ r := new(DeleteCellInfoRequest)
+ r.Name = m.Name
+ r.Force = m.Force
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1194,7 +1167,7 @@ func (m *DeleteCellInfoResponse) CloneVT() *DeleteCellInfoResponse {
if m == nil {
return (*DeleteCellInfoResponse)(nil)
}
- r := &DeleteCellInfoResponse{}
+ r := new(DeleteCellInfoResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1210,9 +1183,8 @@ func (m *DeleteCellsAliasRequest) CloneVT() *DeleteCellsAliasRequest {
if m == nil {
return (*DeleteCellsAliasRequest)(nil)
}
- r := &DeleteCellsAliasRequest{
- Name: m.Name,
- }
+ r := new(DeleteCellsAliasRequest)
+ r.Name = m.Name
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1228,7 +1200,7 @@ func (m *DeleteCellsAliasResponse) CloneVT() *DeleteCellsAliasResponse {
if m == nil {
return (*DeleteCellsAliasResponse)(nil)
}
- r := &DeleteCellsAliasResponse{}
+ r := new(DeleteCellsAliasResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1244,11 +1216,10 @@ func (m *DeleteKeyspaceRequest) CloneVT() *DeleteKeyspaceRequest {
if m == nil {
return (*DeleteKeyspaceRequest)(nil)
}
- r := &DeleteKeyspaceRequest{
- Keyspace: m.Keyspace,
- Recursive: m.Recursive,
- Force: m.Force,
- }
+ r := new(DeleteKeyspaceRequest)
+ r.Keyspace = m.Keyspace
+ r.Recursive = m.Recursive
+ r.Force = m.Force
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1264,7 +1235,7 @@ func (m *DeleteKeyspaceResponse) CloneVT() *DeleteKeyspaceResponse {
if m == nil {
return (*DeleteKeyspaceResponse)(nil)
}
- r := &DeleteKeyspaceResponse{}
+ r := new(DeleteKeyspaceResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1280,11 +1251,10 @@ func (m *DeleteShardsRequest) CloneVT() *DeleteShardsRequest {
if m == nil {
return (*DeleteShardsRequest)(nil)
}
- r := &DeleteShardsRequest{
- Recursive: m.Recursive,
- EvenIfServing: m.EvenIfServing,
- Force: m.Force,
- }
+ r := new(DeleteShardsRequest)
+ r.Recursive = m.Recursive
+ r.EvenIfServing = m.EvenIfServing
+ r.Force = m.Force
if rhs := m.Shards; rhs != nil {
tmpContainer := make([]*Shard, len(rhs))
for k, v := range rhs {
@@ -1307,7 +1277,7 @@ func (m *DeleteShardsResponse) CloneVT() *DeleteShardsResponse {
if m == nil {
return (*DeleteShardsResponse)(nil)
}
- r := &DeleteShardsResponse{}
+ r := new(DeleteShardsResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1323,9 +1293,8 @@ func (m *DeleteSrvVSchemaRequest) CloneVT() *DeleteSrvVSchemaRequest {
if m == nil {
return (*DeleteSrvVSchemaRequest)(nil)
}
- r := &DeleteSrvVSchemaRequest{
- Cell: m.Cell,
- }
+ r := new(DeleteSrvVSchemaRequest)
+ r.Cell = m.Cell
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1341,7 +1310,7 @@ func (m *DeleteSrvVSchemaResponse) CloneVT() *DeleteSrvVSchemaResponse {
if m == nil {
return (*DeleteSrvVSchemaResponse)(nil)
}
- r := &DeleteSrvVSchemaResponse{}
+ r := new(DeleteSrvVSchemaResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1357,9 +1326,8 @@ func (m *DeleteTabletsRequest) CloneVT() *DeleteTabletsRequest {
if m == nil {
return (*DeleteTabletsRequest)(nil)
}
- r := &DeleteTabletsRequest{
- AllowPrimary: m.AllowPrimary,
- }
+ r := new(DeleteTabletsRequest)
+ r.AllowPrimary = m.AllowPrimary
if rhs := m.TabletAliases; rhs != nil {
tmpContainer := make([]*topodata.TabletAlias, len(rhs))
for k, v := range rhs {
@@ -1382,7 +1350,7 @@ func (m *DeleteTabletsResponse) CloneVT() *DeleteTabletsResponse {
if m == nil {
return (*DeleteTabletsResponse)(nil)
}
- r := &DeleteTabletsResponse{}
+ r := new(DeleteTabletsResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1398,14 +1366,13 @@ func (m *EmergencyReparentShardRequest) CloneVT() *EmergencyReparentShardRequest
if m == nil {
return (*EmergencyReparentShardRequest)(nil)
}
- r := &EmergencyReparentShardRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- NewPrimary: m.NewPrimary.CloneVT(),
- WaitReplicasTimeout: m.WaitReplicasTimeout.CloneVT(),
- PreventCrossCellPromotion: m.PreventCrossCellPromotion,
- WaitForAllTablets: m.WaitForAllTablets,
- }
+ r := new(EmergencyReparentShardRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.NewPrimary = m.NewPrimary.CloneVT()
+ r.WaitReplicasTimeout = m.WaitReplicasTimeout.CloneVT()
+ r.PreventCrossCellPromotion = m.PreventCrossCellPromotion
+ r.WaitForAllTablets = m.WaitForAllTablets
if rhs := m.IgnoreReplicas; rhs != nil {
tmpContainer := make([]*topodata.TabletAlias, len(rhs))
for k, v := range rhs {
@@ -1428,11 +1395,10 @@ func (m *EmergencyReparentShardResponse) CloneVT() *EmergencyReparentShardRespon
if m == nil {
return (*EmergencyReparentShardResponse)(nil)
}
- r := &EmergencyReparentShardResponse{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- PromotedPrimary: m.PromotedPrimary.CloneVT(),
- }
+ r := new(EmergencyReparentShardResponse)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.PromotedPrimary = m.PromotedPrimary.CloneVT()
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*logutil.Event, len(rhs))
for k, v := range rhs {
@@ -1455,12 +1421,11 @@ func (m *ExecuteFetchAsAppRequest) CloneVT() *ExecuteFetchAsAppRequest {
if m == nil {
return (*ExecuteFetchAsAppRequest)(nil)
}
- r := &ExecuteFetchAsAppRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- Query: m.Query,
- MaxRows: m.MaxRows,
- UsePool: m.UsePool,
- }
+ r := new(ExecuteFetchAsAppRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.Query = m.Query
+ r.MaxRows = m.MaxRows
+ r.UsePool = m.UsePool
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1476,9 +1441,8 @@ func (m *ExecuteFetchAsAppResponse) CloneVT() *ExecuteFetchAsAppResponse {
if m == nil {
return (*ExecuteFetchAsAppResponse)(nil)
}
- r := &ExecuteFetchAsAppResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(ExecuteFetchAsAppResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1494,13 +1458,12 @@ func (m *ExecuteFetchAsDBARequest) CloneVT() *ExecuteFetchAsDBARequest {
if m == nil {
return (*ExecuteFetchAsDBARequest)(nil)
}
- r := &ExecuteFetchAsDBARequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- Query: m.Query,
- MaxRows: m.MaxRows,
- DisableBinlogs: m.DisableBinlogs,
- ReloadSchema: m.ReloadSchema,
- }
+ r := new(ExecuteFetchAsDBARequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.Query = m.Query
+ r.MaxRows = m.MaxRows
+ r.DisableBinlogs = m.DisableBinlogs
+ r.ReloadSchema = m.ReloadSchema
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1516,9 +1479,8 @@ func (m *ExecuteFetchAsDBAResponse) CloneVT() *ExecuteFetchAsDBAResponse {
if m == nil {
return (*ExecuteFetchAsDBAResponse)(nil)
}
- r := &ExecuteFetchAsDBAResponse{
- Result: m.Result.CloneVT(),
- }
+ r := new(ExecuteFetchAsDBAResponse)
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1534,10 +1496,9 @@ func (m *ExecuteHookRequest) CloneVT() *ExecuteHookRequest {
if m == nil {
return (*ExecuteHookRequest)(nil)
}
- r := &ExecuteHookRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- TabletHookRequest: m.TabletHookRequest.CloneVT(),
- }
+ r := new(ExecuteHookRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.TabletHookRequest = m.TabletHookRequest.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1553,9 +1514,8 @@ func (m *ExecuteHookResponse) CloneVT() *ExecuteHookResponse {
if m == nil {
return (*ExecuteHookResponse)(nil)
}
- r := &ExecuteHookResponse{
- HookResult: m.HookResult.CloneVT(),
- }
+ r := new(ExecuteHookResponse)
+ r.HookResult = m.HookResult.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1571,13 +1531,12 @@ func (m *ExecuteMultiFetchAsDBARequest) CloneVT() *ExecuteMultiFetchAsDBARequest
if m == nil {
return (*ExecuteMultiFetchAsDBARequest)(nil)
}
- r := &ExecuteMultiFetchAsDBARequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- Sql: m.Sql,
- MaxRows: m.MaxRows,
- DisableBinlogs: m.DisableBinlogs,
- ReloadSchema: m.ReloadSchema,
- }
+ r := new(ExecuteMultiFetchAsDBARequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.Sql = m.Sql
+ r.MaxRows = m.MaxRows
+ r.DisableBinlogs = m.DisableBinlogs
+ r.ReloadSchema = m.ReloadSchema
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1593,7 +1552,7 @@ func (m *ExecuteMultiFetchAsDBAResponse) CloneVT() *ExecuteMultiFetchAsDBARespon
if m == nil {
return (*ExecuteMultiFetchAsDBAResponse)(nil)
}
- r := &ExecuteMultiFetchAsDBAResponse{}
+ r := new(ExecuteMultiFetchAsDBAResponse)
if rhs := m.Results; rhs != nil {
tmpContainer := make([]*query.QueryResult, len(rhs))
for k, v := range rhs {
@@ -1616,9 +1575,8 @@ func (m *FindAllShardsInKeyspaceRequest) CloneVT() *FindAllShardsInKeyspaceReque
if m == nil {
return (*FindAllShardsInKeyspaceRequest)(nil)
}
- r := &FindAllShardsInKeyspaceRequest{
- Keyspace: m.Keyspace,
- }
+ r := new(FindAllShardsInKeyspaceRequest)
+ r.Keyspace = m.Keyspace
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1634,7 +1592,7 @@ func (m *FindAllShardsInKeyspaceResponse) CloneVT() *FindAllShardsInKeyspaceResp
if m == nil {
return (*FindAllShardsInKeyspaceResponse)(nil)
}
- r := &FindAllShardsInKeyspaceResponse{}
+ r := new(FindAllShardsInKeyspaceResponse)
if rhs := m.Shards; rhs != nil {
tmpContainer := make(map[string]*Shard, len(rhs))
for k, v := range rhs {
@@ -1657,10 +1615,9 @@ func (m *ForceCutOverSchemaMigrationRequest) CloneVT() *ForceCutOverSchemaMigrat
if m == nil {
return (*ForceCutOverSchemaMigrationRequest)(nil)
}
- r := &ForceCutOverSchemaMigrationRequest{
- Keyspace: m.Keyspace,
- Uuid: m.Uuid,
- }
+ r := new(ForceCutOverSchemaMigrationRequest)
+ r.Keyspace = m.Keyspace
+ r.Uuid = m.Uuid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1676,7 +1633,7 @@ func (m *ForceCutOverSchemaMigrationResponse) CloneVT() *ForceCutOverSchemaMigra
if m == nil {
return (*ForceCutOverSchemaMigrationResponse)(nil)
}
- r := &ForceCutOverSchemaMigrationResponse{}
+ r := new(ForceCutOverSchemaMigrationResponse)
if rhs := m.RowsAffectedByShard; rhs != nil {
tmpContainer := make(map[string]uint64, len(rhs))
for k, v := range rhs {
@@ -1699,13 +1656,12 @@ func (m *GetBackupsRequest) CloneVT() *GetBackupsRequest {
if m == nil {
return (*GetBackupsRequest)(nil)
}
- r := &GetBackupsRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Limit: m.Limit,
- Detailed: m.Detailed,
- DetailedLimit: m.DetailedLimit,
- }
+ r := new(GetBackupsRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Limit = m.Limit
+ r.Detailed = m.Detailed
+ r.DetailedLimit = m.DetailedLimit
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1721,7 +1677,7 @@ func (m *GetBackupsResponse) CloneVT() *GetBackupsResponse {
if m == nil {
return (*GetBackupsResponse)(nil)
}
- r := &GetBackupsResponse{}
+ r := new(GetBackupsResponse)
if rhs := m.Backups; rhs != nil {
tmpContainer := make([]*mysqlctl.BackupInfo, len(rhs))
for k, v := range rhs {
@@ -1744,9 +1700,8 @@ func (m *GetCellInfoRequest) CloneVT() *GetCellInfoRequest {
if m == nil {
return (*GetCellInfoRequest)(nil)
}
- r := &GetCellInfoRequest{
- Cell: m.Cell,
- }
+ r := new(GetCellInfoRequest)
+ r.Cell = m.Cell
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1762,9 +1717,8 @@ func (m *GetCellInfoResponse) CloneVT() *GetCellInfoResponse {
if m == nil {
return (*GetCellInfoResponse)(nil)
}
- r := &GetCellInfoResponse{
- CellInfo: m.CellInfo.CloneVT(),
- }
+ r := new(GetCellInfoResponse)
+ r.CellInfo = m.CellInfo.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1780,7 +1734,7 @@ func (m *GetCellInfoNamesRequest) CloneVT() *GetCellInfoNamesRequest {
if m == nil {
return (*GetCellInfoNamesRequest)(nil)
}
- r := &GetCellInfoNamesRequest{}
+ r := new(GetCellInfoNamesRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1796,7 +1750,7 @@ func (m *GetCellInfoNamesResponse) CloneVT() *GetCellInfoNamesResponse {
if m == nil {
return (*GetCellInfoNamesResponse)(nil)
}
- r := &GetCellInfoNamesResponse{}
+ r := new(GetCellInfoNamesResponse)
if rhs := m.Names; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -1817,7 +1771,7 @@ func (m *GetCellsAliasesRequest) CloneVT() *GetCellsAliasesRequest {
if m == nil {
return (*GetCellsAliasesRequest)(nil)
}
- r := &GetCellsAliasesRequest{}
+ r := new(GetCellsAliasesRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1833,7 +1787,7 @@ func (m *GetCellsAliasesResponse) CloneVT() *GetCellsAliasesResponse {
if m == nil {
return (*GetCellsAliasesResponse)(nil)
}
- r := &GetCellsAliasesResponse{}
+ r := new(GetCellsAliasesResponse)
if rhs := m.Aliases; rhs != nil {
tmpContainer := make(map[string]*topodata.CellsAlias, len(rhs))
for k, v := range rhs {
@@ -1856,9 +1810,8 @@ func (m *GetFullStatusRequest) CloneVT() *GetFullStatusRequest {
if m == nil {
return (*GetFullStatusRequest)(nil)
}
- r := &GetFullStatusRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(GetFullStatusRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1874,9 +1827,8 @@ func (m *GetFullStatusResponse) CloneVT() *GetFullStatusResponse {
if m == nil {
return (*GetFullStatusResponse)(nil)
}
- r := &GetFullStatusResponse{
- Status: m.Status.CloneVT(),
- }
+ r := new(GetFullStatusResponse)
+ r.Status = m.Status.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1892,7 +1844,7 @@ func (m *GetKeyspacesRequest) CloneVT() *GetKeyspacesRequest {
if m == nil {
return (*GetKeyspacesRequest)(nil)
}
- r := &GetKeyspacesRequest{}
+ r := new(GetKeyspacesRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1908,7 +1860,7 @@ func (m *GetKeyspacesResponse) CloneVT() *GetKeyspacesResponse {
if m == nil {
return (*GetKeyspacesResponse)(nil)
}
- r := &GetKeyspacesResponse{}
+ r := new(GetKeyspacesResponse)
if rhs := m.Keyspaces; rhs != nil {
tmpContainer := make([]*Keyspace, len(rhs))
for k, v := range rhs {
@@ -1931,9 +1883,8 @@ func (m *GetKeyspaceRequest) CloneVT() *GetKeyspaceRequest {
if m == nil {
return (*GetKeyspaceRequest)(nil)
}
- r := &GetKeyspaceRequest{
- Keyspace: m.Keyspace,
- }
+ r := new(GetKeyspaceRequest)
+ r.Keyspace = m.Keyspace
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1949,9 +1900,8 @@ func (m *GetKeyspaceResponse) CloneVT() *GetKeyspaceResponse {
if m == nil {
return (*GetKeyspaceResponse)(nil)
}
- r := &GetKeyspaceResponse{
- Keyspace: m.Keyspace.CloneVT(),
- }
+ r := new(GetKeyspaceResponse)
+ r.Keyspace = m.Keyspace.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1967,9 +1917,8 @@ func (m *GetPermissionsRequest) CloneVT() *GetPermissionsRequest {
if m == nil {
return (*GetPermissionsRequest)(nil)
}
- r := &GetPermissionsRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(GetPermissionsRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -1985,9 +1934,8 @@ func (m *GetPermissionsResponse) CloneVT() *GetPermissionsResponse {
if m == nil {
return (*GetPermissionsResponse)(nil)
}
- r := &GetPermissionsResponse{
- Permissions: m.Permissions.CloneVT(),
- }
+ r := new(GetPermissionsResponse)
+ r.Permissions = m.Permissions.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2003,7 +1951,7 @@ func (m *GetKeyspaceRoutingRulesRequest) CloneVT() *GetKeyspaceRoutingRulesReque
if m == nil {
return (*GetKeyspaceRoutingRulesRequest)(nil)
}
- r := &GetKeyspaceRoutingRulesRequest{}
+ r := new(GetKeyspaceRoutingRulesRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2019,9 +1967,8 @@ func (m *GetKeyspaceRoutingRulesResponse) CloneVT() *GetKeyspaceRoutingRulesResp
if m == nil {
return (*GetKeyspaceRoutingRulesResponse)(nil)
}
- r := &GetKeyspaceRoutingRulesResponse{
- KeyspaceRoutingRules: m.KeyspaceRoutingRules.CloneVT(),
- }
+ r := new(GetKeyspaceRoutingRulesResponse)
+ r.KeyspaceRoutingRules = m.KeyspaceRoutingRules.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2037,7 +1984,7 @@ func (m *GetRoutingRulesRequest) CloneVT() *GetRoutingRulesRequest {
if m == nil {
return (*GetRoutingRulesRequest)(nil)
}
- r := &GetRoutingRulesRequest{}
+ r := new(GetRoutingRulesRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2053,9 +2000,8 @@ func (m *GetRoutingRulesResponse) CloneVT() *GetRoutingRulesResponse {
if m == nil {
return (*GetRoutingRulesResponse)(nil)
}
- r := &GetRoutingRulesResponse{
- RoutingRules: m.RoutingRules.CloneVT(),
- }
+ r := new(GetRoutingRulesResponse)
+ r.RoutingRules = m.RoutingRules.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2071,13 +2017,12 @@ func (m *GetSchemaRequest) CloneVT() *GetSchemaRequest {
if m == nil {
return (*GetSchemaRequest)(nil)
}
- r := &GetSchemaRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- IncludeViews: m.IncludeViews,
- TableNamesOnly: m.TableNamesOnly,
- TableSizesOnly: m.TableSizesOnly,
- TableSchemaOnly: m.TableSchemaOnly,
- }
+ r := new(GetSchemaRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.IncludeViews = m.IncludeViews
+ r.TableNamesOnly = m.TableNamesOnly
+ r.TableSizesOnly = m.TableSizesOnly
+ r.TableSchemaOnly = m.TableSchemaOnly
if rhs := m.Tables; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2103,9 +2048,8 @@ func (m *GetSchemaResponse) CloneVT() *GetSchemaResponse {
if m == nil {
return (*GetSchemaResponse)(nil)
}
- r := &GetSchemaResponse{
- Schema: m.Schema.CloneVT(),
- }
+ r := new(GetSchemaResponse)
+ r.Schema = m.Schema.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2121,16 +2065,15 @@ func (m *GetSchemaMigrationsRequest) CloneVT() *GetSchemaMigrationsRequest {
if m == nil {
return (*GetSchemaMigrationsRequest)(nil)
}
- r := &GetSchemaMigrationsRequest{
- Keyspace: m.Keyspace,
- Uuid: m.Uuid,
- MigrationContext: m.MigrationContext,
- Status: m.Status,
- Recent: m.Recent.CloneVT(),
- Order: m.Order,
- Limit: m.Limit,
- Skip: m.Skip,
- }
+ r := new(GetSchemaMigrationsRequest)
+ r.Keyspace = m.Keyspace
+ r.Uuid = m.Uuid
+ r.MigrationContext = m.MigrationContext
+ r.Status = m.Status
+ r.Recent = m.Recent.CloneVT()
+ r.Order = m.Order
+ r.Limit = m.Limit
+ r.Skip = m.Skip
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2146,7 +2089,7 @@ func (m *GetSchemaMigrationsResponse) CloneVT() *GetSchemaMigrationsResponse {
if m == nil {
return (*GetSchemaMigrationsResponse)(nil)
}
- r := &GetSchemaMigrationsResponse{}
+ r := new(GetSchemaMigrationsResponse)
if rhs := m.Migrations; rhs != nil {
tmpContainer := make([]*SchemaMigration, len(rhs))
for k, v := range rhs {
@@ -2169,10 +2112,9 @@ func (m *GetShardReplicationRequest) CloneVT() *GetShardReplicationRequest {
if m == nil {
return (*GetShardReplicationRequest)(nil)
}
- r := &GetShardReplicationRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- }
+ r := new(GetShardReplicationRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2193,7 +2135,7 @@ func (m *GetShardReplicationResponse) CloneVT() *GetShardReplicationResponse {
if m == nil {
return (*GetShardReplicationResponse)(nil)
}
- r := &GetShardReplicationResponse{}
+ r := new(GetShardReplicationResponse)
if rhs := m.ShardReplicationByCell; rhs != nil {
tmpContainer := make(map[string]*topodata.ShardReplication, len(rhs))
for k, v := range rhs {
@@ -2216,10 +2158,9 @@ func (m *GetShardRequest) CloneVT() *GetShardRequest {
if m == nil {
return (*GetShardRequest)(nil)
}
- r := &GetShardRequest{
- Keyspace: m.Keyspace,
- ShardName: m.ShardName,
- }
+ r := new(GetShardRequest)
+ r.Keyspace = m.Keyspace
+ r.ShardName = m.ShardName
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2235,9 +2176,8 @@ func (m *GetShardResponse) CloneVT() *GetShardResponse {
if m == nil {
return (*GetShardResponse)(nil)
}
- r := &GetShardResponse{
- Shard: m.Shard.CloneVT(),
- }
+ r := new(GetShardResponse)
+ r.Shard = m.Shard.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2253,7 +2193,7 @@ func (m *GetShardRoutingRulesRequest) CloneVT() *GetShardRoutingRulesRequest {
if m == nil {
return (*GetShardRoutingRulesRequest)(nil)
}
- r := &GetShardRoutingRulesRequest{}
+ r := new(GetShardRoutingRulesRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2269,9 +2209,8 @@ func (m *GetShardRoutingRulesResponse) CloneVT() *GetShardRoutingRulesResponse {
if m == nil {
return (*GetShardRoutingRulesResponse)(nil)
}
- r := &GetShardRoutingRulesResponse{
- ShardRoutingRules: m.ShardRoutingRules.CloneVT(),
- }
+ r := new(GetShardRoutingRulesResponse)
+ r.ShardRoutingRules = m.ShardRoutingRules.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2287,7 +2226,7 @@ func (m *GetSrvKeyspaceNamesRequest) CloneVT() *GetSrvKeyspaceNamesRequest {
if m == nil {
return (*GetSrvKeyspaceNamesRequest)(nil)
}
- r := &GetSrvKeyspaceNamesRequest{}
+ r := new(GetSrvKeyspaceNamesRequest)
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2308,7 +2247,7 @@ func (m *GetSrvKeyspaceNamesResponse_NameList) CloneVT() *GetSrvKeyspaceNamesRes
if m == nil {
return (*GetSrvKeyspaceNamesResponse_NameList)(nil)
}
- r := &GetSrvKeyspaceNamesResponse_NameList{}
+ r := new(GetSrvKeyspaceNamesResponse_NameList)
if rhs := m.Names; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2329,7 +2268,7 @@ func (m *GetSrvKeyspaceNamesResponse) CloneVT() *GetSrvKeyspaceNamesResponse {
if m == nil {
return (*GetSrvKeyspaceNamesResponse)(nil)
}
- r := &GetSrvKeyspaceNamesResponse{}
+ r := new(GetSrvKeyspaceNamesResponse)
if rhs := m.Names; rhs != nil {
tmpContainer := make(map[string]*GetSrvKeyspaceNamesResponse_NameList, len(rhs))
for k, v := range rhs {
@@ -2352,9 +2291,8 @@ func (m *GetSrvKeyspacesRequest) CloneVT() *GetSrvKeyspacesRequest {
if m == nil {
return (*GetSrvKeyspacesRequest)(nil)
}
- r := &GetSrvKeyspacesRequest{
- Keyspace: m.Keyspace,
- }
+ r := new(GetSrvKeyspacesRequest)
+ r.Keyspace = m.Keyspace
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2375,7 +2313,7 @@ func (m *GetSrvKeyspacesResponse) CloneVT() *GetSrvKeyspacesResponse {
if m == nil {
return (*GetSrvKeyspacesResponse)(nil)
}
- r := &GetSrvKeyspacesResponse{}
+ r := new(GetSrvKeyspacesResponse)
if rhs := m.SrvKeyspaces; rhs != nil {
tmpContainer := make(map[string]*topodata.SrvKeyspace, len(rhs))
for k, v := range rhs {
@@ -2398,19 +2336,18 @@ func (m *UpdateThrottlerConfigRequest) CloneVT() *UpdateThrottlerConfigRequest {
if m == nil {
return (*UpdateThrottlerConfigRequest)(nil)
}
- r := &UpdateThrottlerConfigRequest{
- Keyspace: m.Keyspace,
- Enable: m.Enable,
- Disable: m.Disable,
- Threshold: m.Threshold,
- CustomQuery: m.CustomQuery,
- CustomQuerySet: m.CustomQuerySet,
- CheckAsCheckSelf: m.CheckAsCheckSelf,
- CheckAsCheckShard: m.CheckAsCheckShard,
- ThrottledApp: m.ThrottledApp.CloneVT(),
- MetricName: m.MetricName,
- AppName: m.AppName,
- }
+ r := new(UpdateThrottlerConfigRequest)
+ r.Keyspace = m.Keyspace
+ r.Enable = m.Enable
+ r.Disable = m.Disable
+ r.Threshold = m.Threshold
+ r.CustomQuery = m.CustomQuery
+ r.CustomQuerySet = m.CustomQuerySet
+ r.CheckAsCheckSelf = m.CheckAsCheckSelf
+ r.CheckAsCheckShard = m.CheckAsCheckShard
+ r.ThrottledApp = m.ThrottledApp.CloneVT()
+ r.MetricName = m.MetricName
+ r.AppName = m.AppName
if rhs := m.AppCheckedMetrics; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2431,7 +2368,7 @@ func (m *UpdateThrottlerConfigResponse) CloneVT() *UpdateThrottlerConfigResponse
if m == nil {
return (*UpdateThrottlerConfigResponse)(nil)
}
- r := &UpdateThrottlerConfigResponse{}
+ r := new(UpdateThrottlerConfigResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2447,9 +2384,8 @@ func (m *GetSrvVSchemaRequest) CloneVT() *GetSrvVSchemaRequest {
if m == nil {
return (*GetSrvVSchemaRequest)(nil)
}
- r := &GetSrvVSchemaRequest{
- Cell: m.Cell,
- }
+ r := new(GetSrvVSchemaRequest)
+ r.Cell = m.Cell
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2465,9 +2401,8 @@ func (m *GetSrvVSchemaResponse) CloneVT() *GetSrvVSchemaResponse {
if m == nil {
return (*GetSrvVSchemaResponse)(nil)
}
- r := &GetSrvVSchemaResponse{
- SrvVSchema: m.SrvVSchema.CloneVT(),
- }
+ r := new(GetSrvVSchemaResponse)
+ r.SrvVSchema = m.SrvVSchema.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2483,7 +2418,7 @@ func (m *GetSrvVSchemasRequest) CloneVT() *GetSrvVSchemasRequest {
if m == nil {
return (*GetSrvVSchemasRequest)(nil)
}
- r := &GetSrvVSchemasRequest{}
+ r := new(GetSrvVSchemasRequest)
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2504,7 +2439,7 @@ func (m *GetSrvVSchemasResponse) CloneVT() *GetSrvVSchemasResponse {
if m == nil {
return (*GetSrvVSchemasResponse)(nil)
}
- r := &GetSrvVSchemasResponse{}
+ r := new(GetSrvVSchemasResponse)
if rhs := m.SrvVSchemas; rhs != nil {
tmpContainer := make(map[string]*vschema.SrvVSchema, len(rhs))
for k, v := range rhs {
@@ -2527,9 +2462,8 @@ func (m *GetTabletRequest) CloneVT() *GetTabletRequest {
if m == nil {
return (*GetTabletRequest)(nil)
}
- r := &GetTabletRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(GetTabletRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2545,9 +2479,8 @@ func (m *GetTabletResponse) CloneVT() *GetTabletResponse {
if m == nil {
return (*GetTabletResponse)(nil)
}
- r := &GetTabletResponse{
- Tablet: m.Tablet.CloneVT(),
- }
+ r := new(GetTabletResponse)
+ r.Tablet = m.Tablet.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2563,12 +2496,11 @@ func (m *GetTabletsRequest) CloneVT() *GetTabletsRequest {
if m == nil {
return (*GetTabletsRequest)(nil)
}
- r := &GetTabletsRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Strict: m.Strict,
- TabletType: m.TabletType,
- }
+ r := new(GetTabletsRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Strict = m.Strict
+ r.TabletType = m.TabletType
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2596,7 +2528,7 @@ func (m *GetTabletsResponse) CloneVT() *GetTabletsResponse {
if m == nil {
return (*GetTabletsResponse)(nil)
}
- r := &GetTabletsResponse{}
+ r := new(GetTabletsResponse)
if rhs := m.Tablets; rhs != nil {
tmpContainer := make([]*topodata.Tablet, len(rhs))
for k, v := range rhs {
@@ -2619,9 +2551,8 @@ func (m *GetThrottlerStatusRequest) CloneVT() *GetThrottlerStatusRequest {
if m == nil {
return (*GetThrottlerStatusRequest)(nil)
}
- r := &GetThrottlerStatusRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(GetThrottlerStatusRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2637,9 +2568,8 @@ func (m *GetThrottlerStatusResponse) CloneVT() *GetThrottlerStatusResponse {
if m == nil {
return (*GetThrottlerStatusResponse)(nil)
}
- r := &GetThrottlerStatusResponse{
- Status: m.Status.CloneVT(),
- }
+ r := new(GetThrottlerStatusResponse)
+ r.Status = m.Status.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2655,11 +2585,10 @@ func (m *GetTopologyPathRequest) CloneVT() *GetTopologyPathRequest {
if m == nil {
return (*GetTopologyPathRequest)(nil)
}
- r := &GetTopologyPathRequest{
- Path: m.Path,
- Version: m.Version,
- AsJson: m.AsJson,
- }
+ r := new(GetTopologyPathRequest)
+ r.Path = m.Path
+ r.Version = m.Version
+ r.AsJson = m.AsJson
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2675,9 +2604,8 @@ func (m *GetTopologyPathResponse) CloneVT() *GetTopologyPathResponse {
if m == nil {
return (*GetTopologyPathResponse)(nil)
}
- r := &GetTopologyPathResponse{
- Cell: m.Cell.CloneVT(),
- }
+ r := new(GetTopologyPathResponse)
+ r.Cell = m.Cell.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2693,12 +2621,11 @@ func (m *TopologyCell) CloneVT() *TopologyCell {
if m == nil {
return (*TopologyCell)(nil)
}
- r := &TopologyCell{
- Name: m.Name,
- Path: m.Path,
- Data: m.Data,
- Version: m.Version,
- }
+ r := new(TopologyCell)
+ r.Name = m.Name
+ r.Path = m.Path
+ r.Data = m.Data
+ r.Version = m.Version
if rhs := m.Children; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2715,13 +2642,93 @@ func (m *TopologyCell) CloneMessageVT() proto.Message {
return m.CloneVT()
}
+func (m *GetUnresolvedTransactionsRequest) CloneVT() *GetUnresolvedTransactionsRequest {
+ if m == nil {
+ return (*GetUnresolvedTransactionsRequest)(nil)
+ }
+ r := new(GetUnresolvedTransactionsRequest)
+ r.Keyspace = m.Keyspace
+ r.AbandonAge = m.AbandonAge
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *GetUnresolvedTransactionsRequest) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
+func (m *GetUnresolvedTransactionsResponse) CloneVT() *GetUnresolvedTransactionsResponse {
+ if m == nil {
+ return (*GetUnresolvedTransactionsResponse)(nil)
+ }
+ r := new(GetUnresolvedTransactionsResponse)
+ if rhs := m.Transactions; rhs != nil {
+ tmpContainer := make([]*query.TransactionMetadata, len(rhs))
+ for k, v := range rhs {
+ tmpContainer[k] = v.CloneVT()
+ }
+ r.Transactions = tmpContainer
+ }
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *GetUnresolvedTransactionsResponse) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
+func (m *ConcludeTransactionRequest) CloneVT() *ConcludeTransactionRequest {
+ if m == nil {
+ return (*ConcludeTransactionRequest)(nil)
+ }
+ r := new(ConcludeTransactionRequest)
+ r.Dtid = m.Dtid
+ if rhs := m.Participants; rhs != nil {
+ tmpContainer := make([]*query.Target, len(rhs))
+ for k, v := range rhs {
+ tmpContainer[k] = v.CloneVT()
+ }
+ r.Participants = tmpContainer
+ }
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *ConcludeTransactionRequest) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
+func (m *ConcludeTransactionResponse) CloneVT() *ConcludeTransactionResponse {
+ if m == nil {
+ return (*ConcludeTransactionResponse)(nil)
+ }
+ r := new(ConcludeTransactionResponse)
+ if len(m.unknownFields) > 0 {
+ r.unknownFields = make([]byte, len(m.unknownFields))
+ copy(r.unknownFields, m.unknownFields)
+ }
+ return r
+}
+
+func (m *ConcludeTransactionResponse) CloneMessageVT() proto.Message {
+ return m.CloneVT()
+}
+
func (m *GetVSchemaRequest) CloneVT() *GetVSchemaRequest {
if m == nil {
return (*GetVSchemaRequest)(nil)
}
- r := &GetVSchemaRequest{
- Keyspace: m.Keyspace,
- }
+ r := new(GetVSchemaRequest)
+ r.Keyspace = m.Keyspace
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2737,9 +2744,8 @@ func (m *GetVersionRequest) CloneVT() *GetVersionRequest {
if m == nil {
return (*GetVersionRequest)(nil)
}
- r := &GetVersionRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(GetVersionRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2755,9 +2761,8 @@ func (m *GetVersionResponse) CloneVT() *GetVersionResponse {
if m == nil {
return (*GetVersionResponse)(nil)
}
- r := &GetVersionResponse{
- Version: m.Version,
- }
+ r := new(GetVersionResponse)
+ r.Version = m.Version
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2773,9 +2778,8 @@ func (m *GetVSchemaResponse) CloneVT() *GetVSchemaResponse {
if m == nil {
return (*GetVSchemaResponse)(nil)
}
- r := &GetVSchemaResponse{
- VSchema: m.VSchema.CloneVT(),
- }
+ r := new(GetVSchemaResponse)
+ r.VSchema = m.VSchema.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2791,13 +2795,12 @@ func (m *GetWorkflowsRequest) CloneVT() *GetWorkflowsRequest {
if m == nil {
return (*GetWorkflowsRequest)(nil)
}
- r := &GetWorkflowsRequest{
- Keyspace: m.Keyspace,
- ActiveOnly: m.ActiveOnly,
- NameOnly: m.NameOnly,
- Workflow: m.Workflow,
- IncludeLogs: m.IncludeLogs,
- }
+ r := new(GetWorkflowsRequest)
+ r.Keyspace = m.Keyspace
+ r.ActiveOnly = m.ActiveOnly
+ r.NameOnly = m.NameOnly
+ r.Workflow = m.Workflow
+ r.IncludeLogs = m.IncludeLogs
if rhs := m.Shards; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2818,7 +2821,7 @@ func (m *GetWorkflowsResponse) CloneVT() *GetWorkflowsResponse {
if m == nil {
return (*GetWorkflowsResponse)(nil)
}
- r := &GetWorkflowsResponse{}
+ r := new(GetWorkflowsResponse)
if rhs := m.Workflows; rhs != nil {
tmpContainer := make([]*Workflow, len(rhs))
for k, v := range rhs {
@@ -2841,13 +2844,12 @@ func (m *InitShardPrimaryRequest) CloneVT() *InitShardPrimaryRequest {
if m == nil {
return (*InitShardPrimaryRequest)(nil)
}
- r := &InitShardPrimaryRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- PrimaryElectTabletAlias: m.PrimaryElectTabletAlias.CloneVT(),
- Force: m.Force,
- WaitReplicasTimeout: m.WaitReplicasTimeout.CloneVT(),
- }
+ r := new(InitShardPrimaryRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.PrimaryElectTabletAlias = m.PrimaryElectTabletAlias.CloneVT()
+ r.Force = m.Force
+ r.WaitReplicasTimeout = m.WaitReplicasTimeout.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2863,7 +2865,7 @@ func (m *InitShardPrimaryResponse) CloneVT() *InitShardPrimaryResponse {
if m == nil {
return (*InitShardPrimaryResponse)(nil)
}
- r := &InitShardPrimaryResponse{}
+ r := new(InitShardPrimaryResponse)
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*logutil.Event, len(rhs))
for k, v := range rhs {
@@ -2886,10 +2888,9 @@ func (m *LaunchSchemaMigrationRequest) CloneVT() *LaunchSchemaMigrationRequest {
if m == nil {
return (*LaunchSchemaMigrationRequest)(nil)
}
- r := &LaunchSchemaMigrationRequest{
- Keyspace: m.Keyspace,
- Uuid: m.Uuid,
- }
+ r := new(LaunchSchemaMigrationRequest)
+ r.Keyspace = m.Keyspace
+ r.Uuid = m.Uuid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2905,7 +2906,7 @@ func (m *LaunchSchemaMigrationResponse) CloneVT() *LaunchSchemaMigrationResponse
if m == nil {
return (*LaunchSchemaMigrationResponse)(nil)
}
- r := &LaunchSchemaMigrationResponse{}
+ r := new(LaunchSchemaMigrationResponse)
if rhs := m.RowsAffectedByShard; rhs != nil {
tmpContainer := make(map[string]uint64, len(rhs))
for k, v := range rhs {
@@ -2928,13 +2929,12 @@ func (m *LookupVindexCreateRequest) CloneVT() *LookupVindexCreateRequest {
if m == nil {
return (*LookupVindexCreateRequest)(nil)
}
- r := &LookupVindexCreateRequest{
- Keyspace: m.Keyspace,
- Workflow: m.Workflow,
- Vindex: m.Vindex.CloneVT(),
- ContinueAfterCopyWithOwner: m.ContinueAfterCopyWithOwner,
- TabletSelectionPreference: m.TabletSelectionPreference,
- }
+ r := new(LookupVindexCreateRequest)
+ r.Keyspace = m.Keyspace
+ r.Workflow = m.Workflow
+ r.Vindex = m.Vindex.CloneVT()
+ r.ContinueAfterCopyWithOwner = m.ContinueAfterCopyWithOwner
+ r.TabletSelectionPreference = m.TabletSelectionPreference
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -2960,7 +2960,7 @@ func (m *LookupVindexCreateResponse) CloneVT() *LookupVindexCreateResponse {
if m == nil {
return (*LookupVindexCreateResponse)(nil)
}
- r := &LookupVindexCreateResponse{}
+ r := new(LookupVindexCreateResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2976,11 +2976,10 @@ func (m *LookupVindexExternalizeRequest) CloneVT() *LookupVindexExternalizeReque
if m == nil {
return (*LookupVindexExternalizeRequest)(nil)
}
- r := &LookupVindexExternalizeRequest{
- Keyspace: m.Keyspace,
- Name: m.Name,
- TableKeyspace: m.TableKeyspace,
- }
+ r := new(LookupVindexExternalizeRequest)
+ r.Keyspace = m.Keyspace
+ r.Name = m.Name
+ r.TableKeyspace = m.TableKeyspace
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -2996,9 +2995,8 @@ func (m *LookupVindexExternalizeResponse) CloneVT() *LookupVindexExternalizeResp
if m == nil {
return (*LookupVindexExternalizeResponse)(nil)
}
- r := &LookupVindexExternalizeResponse{
- WorkflowDeleted: m.WorkflowDeleted,
- }
+ r := new(LookupVindexExternalizeResponse)
+ r.WorkflowDeleted = m.WorkflowDeleted
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3014,9 +3012,8 @@ func (m *MaterializeCreateRequest) CloneVT() *MaterializeCreateRequest {
if m == nil {
return (*MaterializeCreateRequest)(nil)
}
- r := &MaterializeCreateRequest{
- Settings: m.Settings.CloneVT(),
- }
+ r := new(MaterializeCreateRequest)
+ r.Settings = m.Settings.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3032,7 +3029,7 @@ func (m *MaterializeCreateResponse) CloneVT() *MaterializeCreateResponse {
if m == nil {
return (*MaterializeCreateResponse)(nil)
}
- r := &MaterializeCreateResponse{}
+ r := new(MaterializeCreateResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3048,21 +3045,20 @@ func (m *MigrateCreateRequest) CloneVT() *MigrateCreateRequest {
if m == nil {
return (*MigrateCreateRequest)(nil)
}
- r := &MigrateCreateRequest{
- Workflow: m.Workflow,
- SourceKeyspace: m.SourceKeyspace,
- TargetKeyspace: m.TargetKeyspace,
- MountName: m.MountName,
- TabletSelectionPreference: m.TabletSelectionPreference,
- AllTables: m.AllTables,
- SourceTimeZone: m.SourceTimeZone,
- OnDdl: m.OnDdl,
- StopAfterCopy: m.StopAfterCopy,
- DropForeignKeys: m.DropForeignKeys,
- DeferSecondaryKeys: m.DeferSecondaryKeys,
- AutoStart: m.AutoStart,
- NoRoutingRules: m.NoRoutingRules,
- }
+ r := new(MigrateCreateRequest)
+ r.Workflow = m.Workflow
+ r.SourceKeyspace = m.SourceKeyspace
+ r.TargetKeyspace = m.TargetKeyspace
+ r.MountName = m.MountName
+ r.TabletSelectionPreference = m.TabletSelectionPreference
+ r.AllTables = m.AllTables
+ r.SourceTimeZone = m.SourceTimeZone
+ r.OnDdl = m.OnDdl
+ r.StopAfterCopy = m.StopAfterCopy
+ r.DropForeignKeys = m.DropForeignKeys
+ r.DeferSecondaryKeys = m.DeferSecondaryKeys
+ r.AutoStart = m.AutoStart
+ r.NoRoutingRules = m.NoRoutingRules
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -3098,14 +3094,13 @@ func (m *MigrateCompleteRequest) CloneVT() *MigrateCompleteRequest {
if m == nil {
return (*MigrateCompleteRequest)(nil)
}
- r := &MigrateCompleteRequest{
- Workflow: m.Workflow,
- TargetKeyspace: m.TargetKeyspace,
- KeepData: m.KeepData,
- KeepRoutingRules: m.KeepRoutingRules,
- RenameTables: m.RenameTables,
- DryRun: m.DryRun,
- }
+ r := new(MigrateCompleteRequest)
+ r.Workflow = m.Workflow
+ r.TargetKeyspace = m.TargetKeyspace
+ r.KeepData = m.KeepData
+ r.KeepRoutingRules = m.KeepRoutingRules
+ r.RenameTables = m.RenameTables
+ r.DryRun = m.DryRun
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3121,9 +3116,8 @@ func (m *MigrateCompleteResponse) CloneVT() *MigrateCompleteResponse {
if m == nil {
return (*MigrateCompleteResponse)(nil)
}
- r := &MigrateCompleteResponse{
- Summary: m.Summary,
- }
+ r := new(MigrateCompleteResponse)
+ r.Summary = m.Summary
if rhs := m.DryRunResults; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -3144,12 +3138,11 @@ func (m *MountRegisterRequest) CloneVT() *MountRegisterRequest {
if m == nil {
return (*MountRegisterRequest)(nil)
}
- r := &MountRegisterRequest{
- TopoType: m.TopoType,
- TopoServer: m.TopoServer,
- TopoRoot: m.TopoRoot,
- Name: m.Name,
- }
+ r := new(MountRegisterRequest)
+ r.TopoType = m.TopoType
+ r.TopoServer = m.TopoServer
+ r.TopoRoot = m.TopoRoot
+ r.Name = m.Name
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3165,7 +3158,7 @@ func (m *MountRegisterResponse) CloneVT() *MountRegisterResponse {
if m == nil {
return (*MountRegisterResponse)(nil)
}
- r := &MountRegisterResponse{}
+ r := new(MountRegisterResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3181,9 +3174,8 @@ func (m *MountUnregisterRequest) CloneVT() *MountUnregisterRequest {
if m == nil {
return (*MountUnregisterRequest)(nil)
}
- r := &MountUnregisterRequest{
- Name: m.Name,
- }
+ r := new(MountUnregisterRequest)
+ r.Name = m.Name
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3199,7 +3191,7 @@ func (m *MountUnregisterResponse) CloneVT() *MountUnregisterResponse {
if m == nil {
return (*MountUnregisterResponse)(nil)
}
- r := &MountUnregisterResponse{}
+ r := new(MountUnregisterResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3215,9 +3207,8 @@ func (m *MountShowRequest) CloneVT() *MountShowRequest {
if m == nil {
return (*MountShowRequest)(nil)
}
- r := &MountShowRequest{
- Name: m.Name,
- }
+ r := new(MountShowRequest)
+ r.Name = m.Name
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3233,12 +3224,11 @@ func (m *MountShowResponse) CloneVT() *MountShowResponse {
if m == nil {
return (*MountShowResponse)(nil)
}
- r := &MountShowResponse{
- TopoType: m.TopoType,
- TopoServer: m.TopoServer,
- TopoRoot: m.TopoRoot,
- Name: m.Name,
- }
+ r := new(MountShowResponse)
+ r.TopoType = m.TopoType
+ r.TopoServer = m.TopoServer
+ r.TopoRoot = m.TopoRoot
+ r.Name = m.Name
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3254,7 +3244,7 @@ func (m *MountListRequest) CloneVT() *MountListRequest {
if m == nil {
return (*MountListRequest)(nil)
}
- r := &MountListRequest{}
+ r := new(MountListRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3270,7 +3260,7 @@ func (m *MountListResponse) CloneVT() *MountListResponse {
if m == nil {
return (*MountListResponse)(nil)
}
- r := &MountListResponse{}
+ r := new(MountListResponse)
if rhs := m.Names; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -3291,23 +3281,22 @@ func (m *MoveTablesCreateRequest) CloneVT() *MoveTablesCreateRequest {
if m == nil {
return (*MoveTablesCreateRequest)(nil)
}
- r := &MoveTablesCreateRequest{
- Workflow: m.Workflow,
- SourceKeyspace: m.SourceKeyspace,
- TargetKeyspace: m.TargetKeyspace,
- TabletSelectionPreference: m.TabletSelectionPreference,
- AllTables: m.AllTables,
- ExternalClusterName: m.ExternalClusterName,
- SourceTimeZone: m.SourceTimeZone,
- OnDdl: m.OnDdl,
- StopAfterCopy: m.StopAfterCopy,
- DropForeignKeys: m.DropForeignKeys,
- DeferSecondaryKeys: m.DeferSecondaryKeys,
- AutoStart: m.AutoStart,
- NoRoutingRules: m.NoRoutingRules,
- AtomicCopy: m.AtomicCopy,
- WorkflowOptions: m.WorkflowOptions.CloneVT(),
- }
+ r := new(MoveTablesCreateRequest)
+ r.Workflow = m.Workflow
+ r.SourceKeyspace = m.SourceKeyspace
+ r.TargetKeyspace = m.TargetKeyspace
+ r.TabletSelectionPreference = m.TabletSelectionPreference
+ r.AllTables = m.AllTables
+ r.ExternalClusterName = m.ExternalClusterName
+ r.SourceTimeZone = m.SourceTimeZone
+ r.OnDdl = m.OnDdl
+ r.StopAfterCopy = m.StopAfterCopy
+ r.DropForeignKeys = m.DropForeignKeys
+ r.DeferSecondaryKeys = m.DeferSecondaryKeys
+ r.AutoStart = m.AutoStart
+ r.NoRoutingRules = m.NoRoutingRules
+ r.AtomicCopy = m.AtomicCopy
+ r.WorkflowOptions = m.WorkflowOptions.CloneVT()
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -3348,10 +3337,9 @@ func (m *MoveTablesCreateResponse_TabletInfo) CloneVT() *MoveTablesCreateRespons
if m == nil {
return (*MoveTablesCreateResponse_TabletInfo)(nil)
}
- r := &MoveTablesCreateResponse_TabletInfo{
- Tablet: m.Tablet.CloneVT(),
- Created: m.Created,
- }
+ r := new(MoveTablesCreateResponse_TabletInfo)
+ r.Tablet = m.Tablet.CloneVT()
+ r.Created = m.Created
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3367,9 +3355,8 @@ func (m *MoveTablesCreateResponse) CloneVT() *MoveTablesCreateResponse {
if m == nil {
return (*MoveTablesCreateResponse)(nil)
}
- r := &MoveTablesCreateResponse{
- Summary: m.Summary,
- }
+ r := new(MoveTablesCreateResponse)
+ r.Summary = m.Summary
if rhs := m.Details; rhs != nil {
tmpContainer := make([]*MoveTablesCreateResponse_TabletInfo, len(rhs))
for k, v := range rhs {
@@ -3392,14 +3379,13 @@ func (m *MoveTablesCompleteRequest) CloneVT() *MoveTablesCompleteRequest {
if m == nil {
return (*MoveTablesCompleteRequest)(nil)
}
- r := &MoveTablesCompleteRequest{
- Workflow: m.Workflow,
- TargetKeyspace: m.TargetKeyspace,
- KeepData: m.KeepData,
- KeepRoutingRules: m.KeepRoutingRules,
- RenameTables: m.RenameTables,
- DryRun: m.DryRun,
- }
+ r := new(MoveTablesCompleteRequest)
+ r.Workflow = m.Workflow
+ r.TargetKeyspace = m.TargetKeyspace
+ r.KeepData = m.KeepData
+ r.KeepRoutingRules = m.KeepRoutingRules
+ r.RenameTables = m.RenameTables
+ r.DryRun = m.DryRun
if rhs := m.Shards; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -3420,9 +3406,8 @@ func (m *MoveTablesCompleteResponse) CloneVT() *MoveTablesCompleteResponse {
if m == nil {
return (*MoveTablesCompleteResponse)(nil)
}
- r := &MoveTablesCompleteResponse{
- Summary: m.Summary,
- }
+ r := new(MoveTablesCompleteResponse)
+ r.Summary = m.Summary
if rhs := m.DryRunResults; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -3443,9 +3428,8 @@ func (m *PingTabletRequest) CloneVT() *PingTabletRequest {
if m == nil {
return (*PingTabletRequest)(nil)
}
- r := &PingTabletRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(PingTabletRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3461,7 +3445,7 @@ func (m *PingTabletResponse) CloneVT() *PingTabletResponse {
if m == nil {
return (*PingTabletResponse)(nil)
}
- r := &PingTabletResponse{}
+ r := new(PingTabletResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3477,15 +3461,14 @@ func (m *PlannedReparentShardRequest) CloneVT() *PlannedReparentShardRequest {
if m == nil {
return (*PlannedReparentShardRequest)(nil)
}
- r := &PlannedReparentShardRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- NewPrimary: m.NewPrimary.CloneVT(),
- AvoidPrimary: m.AvoidPrimary.CloneVT(),
- WaitReplicasTimeout: m.WaitReplicasTimeout.CloneVT(),
- TolerableReplicationLag: m.TolerableReplicationLag.CloneVT(),
- AllowCrossCellPromotion: m.AllowCrossCellPromotion,
- }
+ r := new(PlannedReparentShardRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.NewPrimary = m.NewPrimary.CloneVT()
+ r.AvoidPrimary = m.AvoidPrimary.CloneVT()
+ r.WaitReplicasTimeout = m.WaitReplicasTimeout.CloneVT()
+ r.TolerableReplicationLag = m.TolerableReplicationLag.CloneVT()
+ r.AllowCrossCellPromotion = m.AllowCrossCellPromotion
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3501,11 +3484,10 @@ func (m *PlannedReparentShardResponse) CloneVT() *PlannedReparentShardResponse {
if m == nil {
return (*PlannedReparentShardResponse)(nil)
}
- r := &PlannedReparentShardResponse{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- PromotedPrimary: m.PromotedPrimary.CloneVT(),
- }
+ r := new(PlannedReparentShardResponse)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.PromotedPrimary = m.PromotedPrimary.CloneVT()
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*logutil.Event, len(rhs))
for k, v := range rhs {
@@ -3528,10 +3510,9 @@ func (m *RebuildKeyspaceGraphRequest) CloneVT() *RebuildKeyspaceGraphRequest {
if m == nil {
return (*RebuildKeyspaceGraphRequest)(nil)
}
- r := &RebuildKeyspaceGraphRequest{
- Keyspace: m.Keyspace,
- AllowPartial: m.AllowPartial,
- }
+ r := new(RebuildKeyspaceGraphRequest)
+ r.Keyspace = m.Keyspace
+ r.AllowPartial = m.AllowPartial
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -3552,7 +3533,7 @@ func (m *RebuildKeyspaceGraphResponse) CloneVT() *RebuildKeyspaceGraphResponse {
if m == nil {
return (*RebuildKeyspaceGraphResponse)(nil)
}
- r := &RebuildKeyspaceGraphResponse{}
+ r := new(RebuildKeyspaceGraphResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3568,7 +3549,7 @@ func (m *RebuildVSchemaGraphRequest) CloneVT() *RebuildVSchemaGraphRequest {
if m == nil {
return (*RebuildVSchemaGraphRequest)(nil)
}
- r := &RebuildVSchemaGraphRequest{}
+ r := new(RebuildVSchemaGraphRequest)
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -3589,7 +3570,7 @@ func (m *RebuildVSchemaGraphResponse) CloneVT() *RebuildVSchemaGraphResponse {
if m == nil {
return (*RebuildVSchemaGraphResponse)(nil)
}
- r := &RebuildVSchemaGraphResponse{}
+ r := new(RebuildVSchemaGraphResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3605,9 +3586,8 @@ func (m *RefreshStateRequest) CloneVT() *RefreshStateRequest {
if m == nil {
return (*RefreshStateRequest)(nil)
}
- r := &RefreshStateRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(RefreshStateRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3623,7 +3603,7 @@ func (m *RefreshStateResponse) CloneVT() *RefreshStateResponse {
if m == nil {
return (*RefreshStateResponse)(nil)
}
- r := &RefreshStateResponse{}
+ r := new(RefreshStateResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3639,10 +3619,9 @@ func (m *RefreshStateByShardRequest) CloneVT() *RefreshStateByShardRequest {
if m == nil {
return (*RefreshStateByShardRequest)(nil)
}
- r := &RefreshStateByShardRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- }
+ r := new(RefreshStateByShardRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -3663,10 +3642,9 @@ func (m *RefreshStateByShardResponse) CloneVT() *RefreshStateByShardResponse {
if m == nil {
return (*RefreshStateByShardResponse)(nil)
}
- r := &RefreshStateByShardResponse{
- IsPartialRefresh: m.IsPartialRefresh,
- PartialRefreshDetails: m.PartialRefreshDetails,
- }
+ r := new(RefreshStateByShardResponse)
+ r.IsPartialRefresh = m.IsPartialRefresh
+ r.PartialRefreshDetails = m.PartialRefreshDetails
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3682,9 +3660,8 @@ func (m *ReloadSchemaRequest) CloneVT() *ReloadSchemaRequest {
if m == nil {
return (*ReloadSchemaRequest)(nil)
}
- r := &ReloadSchemaRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(ReloadSchemaRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3700,7 +3677,7 @@ func (m *ReloadSchemaResponse) CloneVT() *ReloadSchemaResponse {
if m == nil {
return (*ReloadSchemaResponse)(nil)
}
- r := &ReloadSchemaResponse{}
+ r := new(ReloadSchemaResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3716,12 +3693,11 @@ func (m *ReloadSchemaKeyspaceRequest) CloneVT() *ReloadSchemaKeyspaceRequest {
if m == nil {
return (*ReloadSchemaKeyspaceRequest)(nil)
}
- r := &ReloadSchemaKeyspaceRequest{
- Keyspace: m.Keyspace,
- WaitPosition: m.WaitPosition,
- IncludePrimary: m.IncludePrimary,
- Concurrency: m.Concurrency,
- }
+ r := new(ReloadSchemaKeyspaceRequest)
+ r.Keyspace = m.Keyspace
+ r.WaitPosition = m.WaitPosition
+ r.IncludePrimary = m.IncludePrimary
+ r.Concurrency = m.Concurrency
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3737,7 +3713,7 @@ func (m *ReloadSchemaKeyspaceResponse) CloneVT() *ReloadSchemaKeyspaceResponse {
if m == nil {
return (*ReloadSchemaKeyspaceResponse)(nil)
}
- r := &ReloadSchemaKeyspaceResponse{}
+ r := new(ReloadSchemaKeyspaceResponse)
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*logutil.Event, len(rhs))
for k, v := range rhs {
@@ -3760,13 +3736,12 @@ func (m *ReloadSchemaShardRequest) CloneVT() *ReloadSchemaShardRequest {
if m == nil {
return (*ReloadSchemaShardRequest)(nil)
}
- r := &ReloadSchemaShardRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- WaitPosition: m.WaitPosition,
- IncludePrimary: m.IncludePrimary,
- Concurrency: m.Concurrency,
- }
+ r := new(ReloadSchemaShardRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.WaitPosition = m.WaitPosition
+ r.IncludePrimary = m.IncludePrimary
+ r.Concurrency = m.Concurrency
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3782,7 +3757,7 @@ func (m *ReloadSchemaShardResponse) CloneVT() *ReloadSchemaShardResponse {
if m == nil {
return (*ReloadSchemaShardResponse)(nil)
}
- r := &ReloadSchemaShardResponse{}
+ r := new(ReloadSchemaShardResponse)
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*logutil.Event, len(rhs))
for k, v := range rhs {
@@ -3805,11 +3780,10 @@ func (m *RemoveBackupRequest) CloneVT() *RemoveBackupRequest {
if m == nil {
return (*RemoveBackupRequest)(nil)
}
- r := &RemoveBackupRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Name: m.Name,
- }
+ r := new(RemoveBackupRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Name = m.Name
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3825,7 +3799,7 @@ func (m *RemoveBackupResponse) CloneVT() *RemoveBackupResponse {
if m == nil {
return (*RemoveBackupResponse)(nil)
}
- r := &RemoveBackupResponse{}
+ r := new(RemoveBackupResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3841,12 +3815,11 @@ func (m *RemoveKeyspaceCellRequest) CloneVT() *RemoveKeyspaceCellRequest {
if m == nil {
return (*RemoveKeyspaceCellRequest)(nil)
}
- r := &RemoveKeyspaceCellRequest{
- Keyspace: m.Keyspace,
- Cell: m.Cell,
- Force: m.Force,
- Recursive: m.Recursive,
- }
+ r := new(RemoveKeyspaceCellRequest)
+ r.Keyspace = m.Keyspace
+ r.Cell = m.Cell
+ r.Force = m.Force
+ r.Recursive = m.Recursive
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3862,7 +3835,7 @@ func (m *RemoveKeyspaceCellResponse) CloneVT() *RemoveKeyspaceCellResponse {
if m == nil {
return (*RemoveKeyspaceCellResponse)(nil)
}
- r := &RemoveKeyspaceCellResponse{}
+ r := new(RemoveKeyspaceCellResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3878,13 +3851,12 @@ func (m *RemoveShardCellRequest) CloneVT() *RemoveShardCellRequest {
if m == nil {
return (*RemoveShardCellRequest)(nil)
}
- r := &RemoveShardCellRequest{
- Keyspace: m.Keyspace,
- ShardName: m.ShardName,
- Cell: m.Cell,
- Force: m.Force,
- Recursive: m.Recursive,
- }
+ r := new(RemoveShardCellRequest)
+ r.Keyspace = m.Keyspace
+ r.ShardName = m.ShardName
+ r.Cell = m.Cell
+ r.Force = m.Force
+ r.Recursive = m.Recursive
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3900,7 +3872,7 @@ func (m *RemoveShardCellResponse) CloneVT() *RemoveShardCellResponse {
if m == nil {
return (*RemoveShardCellResponse)(nil)
}
- r := &RemoveShardCellResponse{}
+ r := new(RemoveShardCellResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3916,9 +3888,8 @@ func (m *ReparentTabletRequest) CloneVT() *ReparentTabletRequest {
if m == nil {
return (*ReparentTabletRequest)(nil)
}
- r := &ReparentTabletRequest{
- Tablet: m.Tablet.CloneVT(),
- }
+ r := new(ReparentTabletRequest)
+ r.Tablet = m.Tablet.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3934,11 +3905,10 @@ func (m *ReparentTabletResponse) CloneVT() *ReparentTabletResponse {
if m == nil {
return (*ReparentTabletResponse)(nil)
}
- r := &ReparentTabletResponse{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Primary: m.Primary.CloneVT(),
- }
+ r := new(ReparentTabletResponse)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Primary = m.Primary.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -3954,16 +3924,16 @@ func (m *ReshardCreateRequest) CloneVT() *ReshardCreateRequest {
if m == nil {
return (*ReshardCreateRequest)(nil)
}
- r := &ReshardCreateRequest{
- Workflow: m.Workflow,
- Keyspace: m.Keyspace,
- TabletSelectionPreference: m.TabletSelectionPreference,
- SkipSchemaCopy: m.SkipSchemaCopy,
- OnDdl: m.OnDdl,
- StopAfterCopy: m.StopAfterCopy,
- DeferSecondaryKeys: m.DeferSecondaryKeys,
- AutoStart: m.AutoStart,
- }
+ r := new(ReshardCreateRequest)
+ r.Workflow = m.Workflow
+ r.Keyspace = m.Keyspace
+ r.TabletSelectionPreference = m.TabletSelectionPreference
+ r.SkipSchemaCopy = m.SkipSchemaCopy
+ r.OnDdl = m.OnDdl
+ r.StopAfterCopy = m.StopAfterCopy
+ r.DeferSecondaryKeys = m.DeferSecondaryKeys
+ r.AutoStart = m.AutoStart
+ r.WorkflowOptions = m.WorkflowOptions.CloneVT()
if rhs := m.SourceShards; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -3999,13 +3969,12 @@ func (m *RestoreFromBackupRequest) CloneVT() *RestoreFromBackupRequest {
if m == nil {
return (*RestoreFromBackupRequest)(nil)
}
- r := &RestoreFromBackupRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- BackupTime: m.BackupTime.CloneVT(),
- RestoreToPos: m.RestoreToPos,
- DryRun: m.DryRun,
- RestoreToTimestamp: m.RestoreToTimestamp.CloneVT(),
- }
+ r := new(RestoreFromBackupRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.BackupTime = m.BackupTime.CloneVT()
+ r.RestoreToPos = m.RestoreToPos
+ r.DryRun = m.DryRun
+ r.RestoreToTimestamp = m.RestoreToTimestamp.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4021,12 +3990,11 @@ func (m *RestoreFromBackupResponse) CloneVT() *RestoreFromBackupResponse {
if m == nil {
return (*RestoreFromBackupResponse)(nil)
}
- r := &RestoreFromBackupResponse{
- TabletAlias: m.TabletAlias.CloneVT(),
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Event: m.Event.CloneVT(),
- }
+ r := new(RestoreFromBackupResponse)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Event = m.Event.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4042,10 +4010,9 @@ func (m *RetrySchemaMigrationRequest) CloneVT() *RetrySchemaMigrationRequest {
if m == nil {
return (*RetrySchemaMigrationRequest)(nil)
}
- r := &RetrySchemaMigrationRequest{
- Keyspace: m.Keyspace,
- Uuid: m.Uuid,
- }
+ r := new(RetrySchemaMigrationRequest)
+ r.Keyspace = m.Keyspace
+ r.Uuid = m.Uuid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4061,7 +4028,7 @@ func (m *RetrySchemaMigrationResponse) CloneVT() *RetrySchemaMigrationResponse {
if m == nil {
return (*RetrySchemaMigrationResponse)(nil)
}
- r := &RetrySchemaMigrationResponse{}
+ r := new(RetrySchemaMigrationResponse)
if rhs := m.RowsAffectedByShard; rhs != nil {
tmpContainer := make(map[string]uint64, len(rhs))
for k, v := range rhs {
@@ -4084,9 +4051,8 @@ func (m *RunHealthCheckRequest) CloneVT() *RunHealthCheckRequest {
if m == nil {
return (*RunHealthCheckRequest)(nil)
}
- r := &RunHealthCheckRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(RunHealthCheckRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4102,7 +4068,7 @@ func (m *RunHealthCheckResponse) CloneVT() *RunHealthCheckResponse {
if m == nil {
return (*RunHealthCheckResponse)(nil)
}
- r := &RunHealthCheckResponse{}
+ r := new(RunHealthCheckResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4118,10 +4084,9 @@ func (m *SetKeyspaceDurabilityPolicyRequest) CloneVT() *SetKeyspaceDurabilityPol
if m == nil {
return (*SetKeyspaceDurabilityPolicyRequest)(nil)
}
- r := &SetKeyspaceDurabilityPolicyRequest{
- Keyspace: m.Keyspace,
- DurabilityPolicy: m.DurabilityPolicy,
- }
+ r := new(SetKeyspaceDurabilityPolicyRequest)
+ r.Keyspace = m.Keyspace
+ r.DurabilityPolicy = m.DurabilityPolicy
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4137,9 +4102,8 @@ func (m *SetKeyspaceDurabilityPolicyResponse) CloneVT() *SetKeyspaceDurabilityPo
if m == nil {
return (*SetKeyspaceDurabilityPolicyResponse)(nil)
}
- r := &SetKeyspaceDurabilityPolicyResponse{
- Keyspace: m.Keyspace.CloneVT(),
- }
+ r := new(SetKeyspaceDurabilityPolicyResponse)
+ r.Keyspace = m.Keyspace.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4155,10 +4119,9 @@ func (m *SetKeyspaceShardingInfoRequest) CloneVT() *SetKeyspaceShardingInfoReque
if m == nil {
return (*SetKeyspaceShardingInfoRequest)(nil)
}
- r := &SetKeyspaceShardingInfoRequest{
- Keyspace: m.Keyspace,
- Force: m.Force,
- }
+ r := new(SetKeyspaceShardingInfoRequest)
+ r.Keyspace = m.Keyspace
+ r.Force = m.Force
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4174,9 +4137,8 @@ func (m *SetKeyspaceShardingInfoResponse) CloneVT() *SetKeyspaceShardingInfoResp
if m == nil {
return (*SetKeyspaceShardingInfoResponse)(nil)
}
- r := &SetKeyspaceShardingInfoResponse{
- Keyspace: m.Keyspace.CloneVT(),
- }
+ r := new(SetKeyspaceShardingInfoResponse)
+ r.Keyspace = m.Keyspace.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4192,11 +4154,10 @@ func (m *SetShardIsPrimaryServingRequest) CloneVT() *SetShardIsPrimaryServingReq
if m == nil {
return (*SetShardIsPrimaryServingRequest)(nil)
}
- r := &SetShardIsPrimaryServingRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- IsServing: m.IsServing,
- }
+ r := new(SetShardIsPrimaryServingRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.IsServing = m.IsServing
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4212,9 +4173,8 @@ func (m *SetShardIsPrimaryServingResponse) CloneVT() *SetShardIsPrimaryServingRe
if m == nil {
return (*SetShardIsPrimaryServingResponse)(nil)
}
- r := &SetShardIsPrimaryServingResponse{
- Shard: m.Shard.CloneVT(),
- }
+ r := new(SetShardIsPrimaryServingResponse)
+ r.Shard = m.Shard.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4230,13 +4190,12 @@ func (m *SetShardTabletControlRequest) CloneVT() *SetShardTabletControlRequest {
if m == nil {
return (*SetShardTabletControlRequest)(nil)
}
- r := &SetShardTabletControlRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- TabletType: m.TabletType,
- DisableQueryService: m.DisableQueryService,
- Remove: m.Remove,
- }
+ r := new(SetShardTabletControlRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.TabletType = m.TabletType
+ r.DisableQueryService = m.DisableQueryService
+ r.Remove = m.Remove
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -4262,9 +4221,8 @@ func (m *SetShardTabletControlResponse) CloneVT() *SetShardTabletControlResponse
if m == nil {
return (*SetShardTabletControlResponse)(nil)
}
- r := &SetShardTabletControlResponse{
- Shard: m.Shard.CloneVT(),
- }
+ r := new(SetShardTabletControlResponse)
+ r.Shard = m.Shard.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4280,10 +4238,9 @@ func (m *SetWritableRequest) CloneVT() *SetWritableRequest {
if m == nil {
return (*SetWritableRequest)(nil)
}
- r := &SetWritableRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- Writable: m.Writable,
- }
+ r := new(SetWritableRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.Writable = m.Writable
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4299,7 +4256,7 @@ func (m *SetWritableResponse) CloneVT() *SetWritableResponse {
if m == nil {
return (*SetWritableResponse)(nil)
}
- r := &SetWritableResponse{}
+ r := new(SetWritableResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4315,11 +4272,10 @@ func (m *ShardReplicationAddRequest) CloneVT() *ShardReplicationAddRequest {
if m == nil {
return (*ShardReplicationAddRequest)(nil)
}
- r := &ShardReplicationAddRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(ShardReplicationAddRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4335,7 +4291,7 @@ func (m *ShardReplicationAddResponse) CloneVT() *ShardReplicationAddResponse {
if m == nil {
return (*ShardReplicationAddResponse)(nil)
}
- r := &ShardReplicationAddResponse{}
+ r := new(ShardReplicationAddResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4351,11 +4307,10 @@ func (m *ShardReplicationFixRequest) CloneVT() *ShardReplicationFixRequest {
if m == nil {
return (*ShardReplicationFixRequest)(nil)
}
- r := &ShardReplicationFixRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Cell: m.Cell,
- }
+ r := new(ShardReplicationFixRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Cell = m.Cell
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4371,9 +4326,8 @@ func (m *ShardReplicationFixResponse) CloneVT() *ShardReplicationFixResponse {
if m == nil {
return (*ShardReplicationFixResponse)(nil)
}
- r := &ShardReplicationFixResponse{
- Error: m.Error.CloneVT(),
- }
+ r := new(ShardReplicationFixResponse)
+ r.Error = m.Error.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4389,10 +4343,9 @@ func (m *ShardReplicationPositionsRequest) CloneVT() *ShardReplicationPositionsR
if m == nil {
return (*ShardReplicationPositionsRequest)(nil)
}
- r := &ShardReplicationPositionsRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- }
+ r := new(ShardReplicationPositionsRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4408,7 +4361,7 @@ func (m *ShardReplicationPositionsResponse) CloneVT() *ShardReplicationPositions
if m == nil {
return (*ShardReplicationPositionsResponse)(nil)
}
- r := &ShardReplicationPositionsResponse{}
+ r := new(ShardReplicationPositionsResponse)
if rhs := m.ReplicationStatuses; rhs != nil {
tmpContainer := make(map[string]*replicationdata.Status, len(rhs))
for k, v := range rhs {
@@ -4438,11 +4391,10 @@ func (m *ShardReplicationRemoveRequest) CloneVT() *ShardReplicationRemoveRequest
if m == nil {
return (*ShardReplicationRemoveRequest)(nil)
}
- r := &ShardReplicationRemoveRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(ShardReplicationRemoveRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4458,7 +4410,7 @@ func (m *ShardReplicationRemoveResponse) CloneVT() *ShardReplicationRemoveRespon
if m == nil {
return (*ShardReplicationRemoveResponse)(nil)
}
- r := &ShardReplicationRemoveResponse{}
+ r := new(ShardReplicationRemoveResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4474,10 +4426,9 @@ func (m *SleepTabletRequest) CloneVT() *SleepTabletRequest {
if m == nil {
return (*SleepTabletRequest)(nil)
}
- r := &SleepTabletRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- Duration: m.Duration.CloneVT(),
- }
+ r := new(SleepTabletRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.Duration = m.Duration.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4493,7 +4444,7 @@ func (m *SleepTabletResponse) CloneVT() *SleepTabletResponse {
if m == nil {
return (*SleepTabletResponse)(nil)
}
- r := &SleepTabletResponse{}
+ r := new(SleepTabletResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4509,14 +4460,13 @@ func (m *SourceShardAddRequest) CloneVT() *SourceShardAddRequest {
if m == nil {
return (*SourceShardAddRequest)(nil)
}
- r := &SourceShardAddRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Uid: m.Uid,
- SourceKeyspace: m.SourceKeyspace,
- SourceShard: m.SourceShard,
- KeyRange: m.KeyRange.CloneVT(),
- }
+ r := new(SourceShardAddRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Uid = m.Uid
+ r.SourceKeyspace = m.SourceKeyspace
+ r.SourceShard = m.SourceShard
+ r.KeyRange = m.KeyRange.CloneVT()
if rhs := m.Tables; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -4537,9 +4487,8 @@ func (m *SourceShardAddResponse) CloneVT() *SourceShardAddResponse {
if m == nil {
return (*SourceShardAddResponse)(nil)
}
- r := &SourceShardAddResponse{
- Shard: m.Shard.CloneVT(),
- }
+ r := new(SourceShardAddResponse)
+ r.Shard = m.Shard.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4555,11 +4504,10 @@ func (m *SourceShardDeleteRequest) CloneVT() *SourceShardDeleteRequest {
if m == nil {
return (*SourceShardDeleteRequest)(nil)
}
- r := &SourceShardDeleteRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Uid: m.Uid,
- }
+ r := new(SourceShardDeleteRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.Uid = m.Uid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4575,9 +4523,8 @@ func (m *SourceShardDeleteResponse) CloneVT() *SourceShardDeleteResponse {
if m == nil {
return (*SourceShardDeleteResponse)(nil)
}
- r := &SourceShardDeleteResponse{
- Shard: m.Shard.CloneVT(),
- }
+ r := new(SourceShardDeleteResponse)
+ r.Shard = m.Shard.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4593,9 +4540,8 @@ func (m *StartReplicationRequest) CloneVT() *StartReplicationRequest {
if m == nil {
return (*StartReplicationRequest)(nil)
}
- r := &StartReplicationRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(StartReplicationRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4611,7 +4557,7 @@ func (m *StartReplicationResponse) CloneVT() *StartReplicationResponse {
if m == nil {
return (*StartReplicationResponse)(nil)
}
- r := &StartReplicationResponse{}
+ r := new(StartReplicationResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4627,9 +4573,8 @@ func (m *StopReplicationRequest) CloneVT() *StopReplicationRequest {
if m == nil {
return (*StopReplicationRequest)(nil)
}
- r := &StopReplicationRequest{
- TabletAlias: m.TabletAlias.CloneVT(),
- }
+ r := new(StopReplicationRequest)
+ r.TabletAlias = m.TabletAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4645,7 +4590,7 @@ func (m *StopReplicationResponse) CloneVT() *StopReplicationResponse {
if m == nil {
return (*StopReplicationResponse)(nil)
}
- r := &StopReplicationResponse{}
+ r := new(StopReplicationResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4661,9 +4606,8 @@ func (m *TabletExternallyReparentedRequest) CloneVT() *TabletExternallyReparente
if m == nil {
return (*TabletExternallyReparentedRequest)(nil)
}
- r := &TabletExternallyReparentedRequest{
- Tablet: m.Tablet.CloneVT(),
- }
+ r := new(TabletExternallyReparentedRequest)
+ r.Tablet = m.Tablet.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4679,12 +4623,11 @@ func (m *TabletExternallyReparentedResponse) CloneVT() *TabletExternallyReparent
if m == nil {
return (*TabletExternallyReparentedResponse)(nil)
}
- r := &TabletExternallyReparentedResponse{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- NewPrimary: m.NewPrimary.CloneVT(),
- OldPrimary: m.OldPrimary.CloneVT(),
- }
+ r := new(TabletExternallyReparentedResponse)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.NewPrimary = m.NewPrimary.CloneVT()
+ r.OldPrimary = m.OldPrimary.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4700,10 +4643,9 @@ func (m *UpdateCellInfoRequest) CloneVT() *UpdateCellInfoRequest {
if m == nil {
return (*UpdateCellInfoRequest)(nil)
}
- r := &UpdateCellInfoRequest{
- Name: m.Name,
- CellInfo: m.CellInfo.CloneVT(),
- }
+ r := new(UpdateCellInfoRequest)
+ r.Name = m.Name
+ r.CellInfo = m.CellInfo.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4719,10 +4661,9 @@ func (m *UpdateCellInfoResponse) CloneVT() *UpdateCellInfoResponse {
if m == nil {
return (*UpdateCellInfoResponse)(nil)
}
- r := &UpdateCellInfoResponse{
- Name: m.Name,
- CellInfo: m.CellInfo.CloneVT(),
- }
+ r := new(UpdateCellInfoResponse)
+ r.Name = m.Name
+ r.CellInfo = m.CellInfo.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4738,10 +4679,9 @@ func (m *UpdateCellsAliasRequest) CloneVT() *UpdateCellsAliasRequest {
if m == nil {
return (*UpdateCellsAliasRequest)(nil)
}
- r := &UpdateCellsAliasRequest{
- Name: m.Name,
- CellsAlias: m.CellsAlias.CloneVT(),
- }
+ r := new(UpdateCellsAliasRequest)
+ r.Name = m.Name
+ r.CellsAlias = m.CellsAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4757,10 +4697,9 @@ func (m *UpdateCellsAliasResponse) CloneVT() *UpdateCellsAliasResponse {
if m == nil {
return (*UpdateCellsAliasResponse)(nil)
}
- r := &UpdateCellsAliasResponse{
- Name: m.Name,
- CellsAlias: m.CellsAlias.CloneVT(),
- }
+ r := new(UpdateCellsAliasResponse)
+ r.Name = m.Name
+ r.CellsAlias = m.CellsAlias.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4776,9 +4715,8 @@ func (m *ValidateRequest) CloneVT() *ValidateRequest {
if m == nil {
return (*ValidateRequest)(nil)
}
- r := &ValidateRequest{
- PingTablets: m.PingTablets,
- }
+ r := new(ValidateRequest)
+ r.PingTablets = m.PingTablets
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4794,7 +4732,7 @@ func (m *ValidateResponse) CloneVT() *ValidateResponse {
if m == nil {
return (*ValidateResponse)(nil)
}
- r := &ValidateResponse{}
+ r := new(ValidateResponse)
if rhs := m.Results; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -4822,10 +4760,9 @@ func (m *ValidateKeyspaceRequest) CloneVT() *ValidateKeyspaceRequest {
if m == nil {
return (*ValidateKeyspaceRequest)(nil)
}
- r := &ValidateKeyspaceRequest{
- Keyspace: m.Keyspace,
- PingTablets: m.PingTablets,
- }
+ r := new(ValidateKeyspaceRequest)
+ r.Keyspace = m.Keyspace
+ r.PingTablets = m.PingTablets
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4841,7 +4778,7 @@ func (m *ValidateKeyspaceResponse) CloneVT() *ValidateKeyspaceResponse {
if m == nil {
return (*ValidateKeyspaceResponse)(nil)
}
- r := &ValidateKeyspaceResponse{}
+ r := new(ValidateKeyspaceResponse)
if rhs := m.Results; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -4869,12 +4806,11 @@ func (m *ValidateSchemaKeyspaceRequest) CloneVT() *ValidateSchemaKeyspaceRequest
if m == nil {
return (*ValidateSchemaKeyspaceRequest)(nil)
}
- r := &ValidateSchemaKeyspaceRequest{
- Keyspace: m.Keyspace,
- IncludeViews: m.IncludeViews,
- SkipNoPrimary: m.SkipNoPrimary,
- IncludeVschema: m.IncludeVschema,
- }
+ r := new(ValidateSchemaKeyspaceRequest)
+ r.Keyspace = m.Keyspace
+ r.IncludeViews = m.IncludeViews
+ r.SkipNoPrimary = m.SkipNoPrimary
+ r.IncludeVschema = m.IncludeVschema
if rhs := m.ExcludeTables; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -4895,7 +4831,7 @@ func (m *ValidateSchemaKeyspaceResponse) CloneVT() *ValidateSchemaKeyspaceRespon
if m == nil {
return (*ValidateSchemaKeyspaceResponse)(nil)
}
- r := &ValidateSchemaKeyspaceResponse{}
+ r := new(ValidateSchemaKeyspaceResponse)
if rhs := m.Results; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -4923,11 +4859,10 @@ func (m *ValidateShardRequest) CloneVT() *ValidateShardRequest {
if m == nil {
return (*ValidateShardRequest)(nil)
}
- r := &ValidateShardRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- PingTablets: m.PingTablets,
- }
+ r := new(ValidateShardRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
+ r.PingTablets = m.PingTablets
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4943,7 +4878,7 @@ func (m *ValidateShardResponse) CloneVT() *ValidateShardResponse {
if m == nil {
return (*ValidateShardResponse)(nil)
}
- r := &ValidateShardResponse{}
+ r := new(ValidateShardResponse)
if rhs := m.Results; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -4964,9 +4899,8 @@ func (m *ValidateVersionKeyspaceRequest) CloneVT() *ValidateVersionKeyspaceReque
if m == nil {
return (*ValidateVersionKeyspaceRequest)(nil)
}
- r := &ValidateVersionKeyspaceRequest{
- Keyspace: m.Keyspace,
- }
+ r := new(ValidateVersionKeyspaceRequest)
+ r.Keyspace = m.Keyspace
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -4982,7 +4916,7 @@ func (m *ValidateVersionKeyspaceResponse) CloneVT() *ValidateVersionKeyspaceResp
if m == nil {
return (*ValidateVersionKeyspaceResponse)(nil)
}
- r := &ValidateVersionKeyspaceResponse{}
+ r := new(ValidateVersionKeyspaceResponse)
if rhs := m.Results; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -5010,10 +4944,9 @@ func (m *ValidateVersionShardRequest) CloneVT() *ValidateVersionShardRequest {
if m == nil {
return (*ValidateVersionShardRequest)(nil)
}
- r := &ValidateVersionShardRequest{
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- }
+ r := new(ValidateVersionShardRequest)
+ r.Keyspace = m.Keyspace
+ r.Shard = m.Shard
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5029,7 +4962,7 @@ func (m *ValidateVersionShardResponse) CloneVT() *ValidateVersionShardResponse {
if m == nil {
return (*ValidateVersionShardResponse)(nil)
}
- r := &ValidateVersionShardResponse{}
+ r := new(ValidateVersionShardResponse)
if rhs := m.Results; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -5050,10 +4983,9 @@ func (m *ValidateVSchemaRequest) CloneVT() *ValidateVSchemaRequest {
if m == nil {
return (*ValidateVSchemaRequest)(nil)
}
- r := &ValidateVSchemaRequest{
- Keyspace: m.Keyspace,
- IncludeViews: m.IncludeViews,
- }
+ r := new(ValidateVSchemaRequest)
+ r.Keyspace = m.Keyspace
+ r.IncludeViews = m.IncludeViews
if rhs := m.Shards; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -5079,7 +5011,7 @@ func (m *ValidateVSchemaResponse) CloneVT() *ValidateVSchemaResponse {
if m == nil {
return (*ValidateVSchemaResponse)(nil)
}
- r := &ValidateVSchemaResponse{}
+ r := new(ValidateVSchemaResponse)
if rhs := m.Results; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -5107,24 +5039,24 @@ func (m *VDiffCreateRequest) CloneVT() *VDiffCreateRequest {
if m == nil {
return (*VDiffCreateRequest)(nil)
}
- r := &VDiffCreateRequest{
- Workflow: m.Workflow,
- TargetKeyspace: m.TargetKeyspace,
- Uuid: m.Uuid,
- TabletSelectionPreference: m.TabletSelectionPreference,
- Limit: m.Limit,
- FilteredReplicationWaitTime: m.FilteredReplicationWaitTime.CloneVT(),
- DebugQuery: m.DebugQuery,
- OnlyPKs: m.OnlyPKs,
- UpdateTableStats: m.UpdateTableStats,
- MaxExtraRowsToCompare: m.MaxExtraRowsToCompare,
- Wait: m.Wait,
- WaitUpdateInterval: m.WaitUpdateInterval.CloneVT(),
- AutoRetry: m.AutoRetry,
- Verbose: m.Verbose,
- MaxReportSampleRows: m.MaxReportSampleRows,
- MaxDiffDuration: m.MaxDiffDuration.CloneVT(),
- }
+ r := new(VDiffCreateRequest)
+ r.Workflow = m.Workflow
+ r.TargetKeyspace = m.TargetKeyspace
+ r.Uuid = m.Uuid
+ r.TabletSelectionPreference = m.TabletSelectionPreference
+ r.Limit = m.Limit
+ r.FilteredReplicationWaitTime = m.FilteredReplicationWaitTime.CloneVT()
+ r.DebugQuery = m.DebugQuery
+ r.OnlyPKs = m.OnlyPKs
+ r.UpdateTableStats = m.UpdateTableStats
+ r.MaxExtraRowsToCompare = m.MaxExtraRowsToCompare
+ r.Wait = m.Wait
+ r.WaitUpdateInterval = m.WaitUpdateInterval.CloneVT()
+ r.AutoRetry = m.AutoRetry
+ r.Verbose = m.Verbose
+ r.MaxReportSampleRows = m.MaxReportSampleRows
+ r.MaxDiffDuration = m.MaxDiffDuration.CloneVT()
+ r.RowDiffColumnTruncateAt = m.RowDiffColumnTruncateAt
if rhs := m.SourceCells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -5145,6 +5077,10 @@ func (m *VDiffCreateRequest) CloneVT() *VDiffCreateRequest {
copy(tmpContainer, rhs)
r.Tables = tmpContainer
}
+ if rhs := m.AutoStart; rhs != nil {
+ tmpVal := *rhs
+ r.AutoStart = &tmpVal
+ }
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5160,9 +5096,8 @@ func (m *VDiffCreateResponse) CloneVT() *VDiffCreateResponse {
if m == nil {
return (*VDiffCreateResponse)(nil)
}
- r := &VDiffCreateResponse{
- UUID: m.UUID,
- }
+ r := new(VDiffCreateResponse)
+ r.UUID = m.UUID
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5178,11 +5113,10 @@ func (m *VDiffDeleteRequest) CloneVT() *VDiffDeleteRequest {
if m == nil {
return (*VDiffDeleteRequest)(nil)
}
- r := &VDiffDeleteRequest{
- Workflow: m.Workflow,
- TargetKeyspace: m.TargetKeyspace,
- Arg: m.Arg,
- }
+ r := new(VDiffDeleteRequest)
+ r.Workflow = m.Workflow
+ r.TargetKeyspace = m.TargetKeyspace
+ r.Arg = m.Arg
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5198,7 +5132,7 @@ func (m *VDiffDeleteResponse) CloneVT() *VDiffDeleteResponse {
if m == nil {
return (*VDiffDeleteResponse)(nil)
}
- r := &VDiffDeleteResponse{}
+ r := new(VDiffDeleteResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5214,10 +5148,14 @@ func (m *VDiffResumeRequest) CloneVT() *VDiffResumeRequest {
if m == nil {
return (*VDiffResumeRequest)(nil)
}
- r := &VDiffResumeRequest{
- Workflow: m.Workflow,
- TargetKeyspace: m.TargetKeyspace,
- Uuid: m.Uuid,
+ r := new(VDiffResumeRequest)
+ r.Workflow = m.Workflow
+ r.TargetKeyspace = m.TargetKeyspace
+ r.Uuid = m.Uuid
+ if rhs := m.TargetShards; rhs != nil {
+ tmpContainer := make([]string, len(rhs))
+ copy(tmpContainer, rhs)
+ r.TargetShards = tmpContainer
}
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
@@ -5234,7 +5172,7 @@ func (m *VDiffResumeResponse) CloneVT() *VDiffResumeResponse {
if m == nil {
return (*VDiffResumeResponse)(nil)
}
- r := &VDiffResumeResponse{}
+ r := new(VDiffResumeResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5250,11 +5188,10 @@ func (m *VDiffShowRequest) CloneVT() *VDiffShowRequest {
if m == nil {
return (*VDiffShowRequest)(nil)
}
- r := &VDiffShowRequest{
- Workflow: m.Workflow,
- TargetKeyspace: m.TargetKeyspace,
- Arg: m.Arg,
- }
+ r := new(VDiffShowRequest)
+ r.Workflow = m.Workflow
+ r.TargetKeyspace = m.TargetKeyspace
+ r.Arg = m.Arg
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5270,7 +5207,7 @@ func (m *VDiffShowResponse) CloneVT() *VDiffShowResponse {
if m == nil {
return (*VDiffShowResponse)(nil)
}
- r := &VDiffShowResponse{}
+ r := new(VDiffShowResponse)
if rhs := m.TabletResponses; rhs != nil {
tmpContainer := make(map[string]*tabletmanagerdata.VDiffResponse, len(rhs))
for k, v := range rhs {
@@ -5293,10 +5230,14 @@ func (m *VDiffStopRequest) CloneVT() *VDiffStopRequest {
if m == nil {
return (*VDiffStopRequest)(nil)
}
- r := &VDiffStopRequest{
- Workflow: m.Workflow,
- TargetKeyspace: m.TargetKeyspace,
- Uuid: m.Uuid,
+ r := new(VDiffStopRequest)
+ r.Workflow = m.Workflow
+ r.TargetKeyspace = m.TargetKeyspace
+ r.Uuid = m.Uuid
+ if rhs := m.TargetShards; rhs != nil {
+ tmpContainer := make([]string, len(rhs))
+ copy(tmpContainer, rhs)
+ r.TargetShards = tmpContainer
}
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
@@ -5313,7 +5254,7 @@ func (m *VDiffStopResponse) CloneVT() *VDiffStopResponse {
if m == nil {
return (*VDiffStopResponse)(nil)
}
- r := &VDiffStopResponse{}
+ r := new(VDiffStopResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5329,12 +5270,11 @@ func (m *WorkflowDeleteRequest) CloneVT() *WorkflowDeleteRequest {
if m == nil {
return (*WorkflowDeleteRequest)(nil)
}
- r := &WorkflowDeleteRequest{
- Keyspace: m.Keyspace,
- Workflow: m.Workflow,
- KeepData: m.KeepData,
- KeepRoutingRules: m.KeepRoutingRules,
- }
+ r := new(WorkflowDeleteRequest)
+ r.Keyspace = m.Keyspace
+ r.Workflow = m.Workflow
+ r.KeepData = m.KeepData
+ r.KeepRoutingRules = m.KeepRoutingRules
if rhs := m.Shards; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -5355,10 +5295,9 @@ func (m *WorkflowDeleteResponse_TabletInfo) CloneVT() *WorkflowDeleteResponse_Ta
if m == nil {
return (*WorkflowDeleteResponse_TabletInfo)(nil)
}
- r := &WorkflowDeleteResponse_TabletInfo{
- Tablet: m.Tablet.CloneVT(),
- Deleted: m.Deleted,
- }
+ r := new(WorkflowDeleteResponse_TabletInfo)
+ r.Tablet = m.Tablet.CloneVT()
+ r.Deleted = m.Deleted
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5374,9 +5313,8 @@ func (m *WorkflowDeleteResponse) CloneVT() *WorkflowDeleteResponse {
if m == nil {
return (*WorkflowDeleteResponse)(nil)
}
- r := &WorkflowDeleteResponse{
- Summary: m.Summary,
- }
+ r := new(WorkflowDeleteResponse)
+ r.Summary = m.Summary
if rhs := m.Details; rhs != nil {
tmpContainer := make([]*WorkflowDeleteResponse_TabletInfo, len(rhs))
for k, v := range rhs {
@@ -5399,10 +5337,9 @@ func (m *WorkflowStatusRequest) CloneVT() *WorkflowStatusRequest {
if m == nil {
return (*WorkflowStatusRequest)(nil)
}
- r := &WorkflowStatusRequest{
- Keyspace: m.Keyspace,
- Workflow: m.Workflow,
- }
+ r := new(WorkflowStatusRequest)
+ r.Keyspace = m.Keyspace
+ r.Workflow = m.Workflow
if rhs := m.Shards; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -5423,14 +5360,13 @@ func (m *WorkflowStatusResponse_TableCopyState) CloneVT() *WorkflowStatusRespons
if m == nil {
return (*WorkflowStatusResponse_TableCopyState)(nil)
}
- r := &WorkflowStatusResponse_TableCopyState{
- RowsCopied: m.RowsCopied,
- RowsTotal: m.RowsTotal,
- RowsPercentage: m.RowsPercentage,
- BytesCopied: m.BytesCopied,
- BytesTotal: m.BytesTotal,
- BytesPercentage: m.BytesPercentage,
- }
+ r := new(WorkflowStatusResponse_TableCopyState)
+ r.RowsCopied = m.RowsCopied
+ r.RowsTotal = m.RowsTotal
+ r.RowsPercentage = m.RowsPercentage
+ r.BytesCopied = m.BytesCopied
+ r.BytesTotal = m.BytesTotal
+ r.BytesPercentage = m.BytesPercentage
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5446,14 +5382,13 @@ func (m *WorkflowStatusResponse_ShardStreamState) CloneVT() *WorkflowStatusRespo
if m == nil {
return (*WorkflowStatusResponse_ShardStreamState)(nil)
}
- r := &WorkflowStatusResponse_ShardStreamState{
- Id: m.Id,
- Tablet: m.Tablet.CloneVT(),
- SourceShard: m.SourceShard,
- Position: m.Position,
- Status: m.Status,
- Info: m.Info,
- }
+ r := new(WorkflowStatusResponse_ShardStreamState)
+ r.Id = m.Id
+ r.Tablet = m.Tablet.CloneVT()
+ r.SourceShard = m.SourceShard
+ r.Position = m.Position
+ r.Status = m.Status
+ r.Info = m.Info
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5469,7 +5404,7 @@ func (m *WorkflowStatusResponse_ShardStreams) CloneVT() *WorkflowStatusResponse_
if m == nil {
return (*WorkflowStatusResponse_ShardStreams)(nil)
}
- r := &WorkflowStatusResponse_ShardStreams{}
+ r := new(WorkflowStatusResponse_ShardStreams)
if rhs := m.Streams; rhs != nil {
tmpContainer := make([]*WorkflowStatusResponse_ShardStreamState, len(rhs))
for k, v := range rhs {
@@ -5492,9 +5427,8 @@ func (m *WorkflowStatusResponse) CloneVT() *WorkflowStatusResponse {
if m == nil {
return (*WorkflowStatusResponse)(nil)
}
- r := &WorkflowStatusResponse{
- TrafficState: m.TrafficState,
- }
+ r := new(WorkflowStatusResponse)
+ r.TrafficState = m.TrafficState
if rhs := m.TableCopyState; rhs != nil {
tmpContainer := make(map[string]*WorkflowStatusResponse_TableCopyState, len(rhs))
for k, v := range rhs {
@@ -5524,16 +5458,16 @@ func (m *WorkflowSwitchTrafficRequest) CloneVT() *WorkflowSwitchTrafficRequest {
if m == nil {
return (*WorkflowSwitchTrafficRequest)(nil)
}
- r := &WorkflowSwitchTrafficRequest{
- Keyspace: m.Keyspace,
- Workflow: m.Workflow,
- MaxReplicationLagAllowed: m.MaxReplicationLagAllowed.CloneVT(),
- EnableReverseReplication: m.EnableReverseReplication,
- Direction: m.Direction,
- Timeout: m.Timeout.CloneVT(),
- DryRun: m.DryRun,
- InitializeTargetSequences: m.InitializeTargetSequences,
- }
+ r := new(WorkflowSwitchTrafficRequest)
+ r.Keyspace = m.Keyspace
+ r.Workflow = m.Workflow
+ r.MaxReplicationLagAllowed = m.MaxReplicationLagAllowed.CloneVT()
+ r.EnableReverseReplication = m.EnableReverseReplication
+ r.Direction = m.Direction
+ r.Timeout = m.Timeout.CloneVT()
+ r.DryRun = m.DryRun
+ r.InitializeTargetSequences = m.InitializeTargetSequences
+ r.Force = m.Force
if rhs := m.Cells; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -5564,11 +5498,10 @@ func (m *WorkflowSwitchTrafficResponse) CloneVT() *WorkflowSwitchTrafficResponse
if m == nil {
return (*WorkflowSwitchTrafficResponse)(nil)
}
- r := &WorkflowSwitchTrafficResponse{
- Summary: m.Summary,
- StartState: m.StartState,
- CurrentState: m.CurrentState,
- }
+ r := new(WorkflowSwitchTrafficResponse)
+ r.Summary = m.Summary
+ r.StartState = m.StartState
+ r.CurrentState = m.CurrentState
if rhs := m.DryRunResults; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -5589,10 +5522,9 @@ func (m *WorkflowUpdateRequest) CloneVT() *WorkflowUpdateRequest {
if m == nil {
return (*WorkflowUpdateRequest)(nil)
}
- r := &WorkflowUpdateRequest{
- Keyspace: m.Keyspace,
- TabletRequest: m.TabletRequest.CloneVT(),
- }
+ r := new(WorkflowUpdateRequest)
+ r.Keyspace = m.Keyspace
+ r.TabletRequest = m.TabletRequest.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5608,10 +5540,9 @@ func (m *WorkflowUpdateResponse_TabletInfo) CloneVT() *WorkflowUpdateResponse_Ta
if m == nil {
return (*WorkflowUpdateResponse_TabletInfo)(nil)
}
- r := &WorkflowUpdateResponse_TabletInfo{
- Tablet: m.Tablet.CloneVT(),
- Changed: m.Changed,
- }
+ r := new(WorkflowUpdateResponse_TabletInfo)
+ r.Tablet = m.Tablet.CloneVT()
+ r.Changed = m.Changed
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5627,9 +5558,8 @@ func (m *WorkflowUpdateResponse) CloneVT() *WorkflowUpdateResponse {
if m == nil {
return (*WorkflowUpdateResponse)(nil)
}
- r := &WorkflowUpdateResponse{
- Summary: m.Summary,
- }
+ r := new(WorkflowUpdateResponse)
+ r.Summary = m.Summary
if rhs := m.Details; rhs != nil {
tmpContainer := make([]*WorkflowUpdateResponse_TabletInfo, len(rhs))
for k, v := range rhs {
@@ -5652,7 +5582,7 @@ func (m *GetMirrorRulesRequest) CloneVT() *GetMirrorRulesRequest {
if m == nil {
return (*GetMirrorRulesRequest)(nil)
}
- r := &GetMirrorRulesRequest{}
+ r := new(GetMirrorRulesRequest)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5668,9 +5598,8 @@ func (m *GetMirrorRulesResponse) CloneVT() *GetMirrorRulesResponse {
if m == nil {
return (*GetMirrorRulesResponse)(nil)
}
- r := &GetMirrorRulesResponse{
- MirrorRules: m.MirrorRules.CloneVT(),
- }
+ r := new(GetMirrorRulesResponse)
+ r.MirrorRules = m.MirrorRules.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5686,11 +5615,10 @@ func (m *WorkflowMirrorTrafficRequest) CloneVT() *WorkflowMirrorTrafficRequest {
if m == nil {
return (*WorkflowMirrorTrafficRequest)(nil)
}
- r := &WorkflowMirrorTrafficRequest{
- Keyspace: m.Keyspace,
- Workflow: m.Workflow,
- Percent: m.Percent,
- }
+ r := new(WorkflowMirrorTrafficRequest)
+ r.Keyspace = m.Keyspace
+ r.Workflow = m.Workflow
+ r.Percent = m.Percent
if rhs := m.TabletTypes; rhs != nil {
tmpContainer := make([]topodata.TabletType, len(rhs))
copy(tmpContainer, rhs)
@@ -5711,11 +5639,10 @@ func (m *WorkflowMirrorTrafficResponse) CloneVT() *WorkflowMirrorTrafficResponse
if m == nil {
return (*WorkflowMirrorTrafficResponse)(nil)
}
- r := &WorkflowMirrorTrafficResponse{
- Summary: m.Summary,
- StartState: m.StartState,
- CurrentState: m.CurrentState,
- }
+ r := new(WorkflowMirrorTrafficResponse)
+ r.Summary = m.Summary
+ r.StartState = m.StartState
+ r.CurrentState = m.CurrentState
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -5758,7 +5685,7 @@ func (m *ExecuteVtctlCommandRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
copy(dAtA[i:], m.unknownFields)
}
if m.ActionTimeout != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ActionTimeout))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ActionTimeout))
i--
dAtA[i] = 0x10
}
@@ -5766,7 +5693,7 @@ func (m *ExecuteVtctlCommandRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
for iNdEx := len(m.Args) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Args[iNdEx])
copy(dAtA[i:], m.Args[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Args[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Args[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -5810,7 +5737,7 @@ func (m *ExecuteVtctlCommandResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -5850,21 +5777,21 @@ func (m *TableMaterializeSettings) MarshalToSizedBufferVT(dAtA []byte) (int, err
if len(m.CreateDdl) > 0 {
i -= len(m.CreateDdl)
copy(dAtA[i:], m.CreateDdl)
- i = encodeVarint(dAtA, i, uint64(len(m.CreateDdl)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreateDdl)))
i--
dAtA[i] = 0x1a
}
if len(m.SourceExpression) > 0 {
i -= len(m.SourceExpression)
copy(dAtA[i:], m.SourceExpression)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceExpression)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceExpression)))
i--
dAtA[i] = 0x12
}
if len(m.TargetTable) > 0 {
i -= len(m.TargetTable)
copy(dAtA[i:], m.TargetTable)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetTable)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetTable)))
i--
dAtA[i] = 0xa
}
@@ -5901,13 +5828,24 @@ func (m *MaterializeSettings) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if len(m.ReferenceTables) > 0 {
+ for iNdEx := len(m.ReferenceTables) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.ReferenceTables[iNdEx])
+ copy(dAtA[i:], m.ReferenceTables[iNdEx])
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ReferenceTables[iNdEx])))
+ i--
+ dAtA[i] = 0x1
+ i--
+ dAtA[i] = 0x92
+ }
+ }
if m.WorkflowOptions != nil {
size, err := m.WorkflowOptions.MarshalToSizedBufferVT(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1
i--
@@ -5926,7 +5864,7 @@ func (m *MaterializeSettings) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x80
}
if m.TabletSelectionPreference != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
i--
dAtA[i] = 0x78
}
@@ -5943,7 +5881,7 @@ func (m *MaterializeSettings) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.OnDdl) > 0 {
i -= len(m.OnDdl)
copy(dAtA[i:], m.OnDdl)
- i = encodeVarint(dAtA, i, uint64(len(m.OnDdl)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OnDdl)))
i--
dAtA[i] = 0x6a
}
@@ -5951,7 +5889,7 @@ func (m *MaterializeSettings) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.SourceShards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.SourceShards[iNdEx])
copy(dAtA[i:], m.SourceShards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.SourceShards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceShards[iNdEx])))
i--
dAtA[i] = 0x62
}
@@ -5959,40 +5897,40 @@ func (m *MaterializeSettings) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.TargetTimeZone) > 0 {
i -= len(m.TargetTimeZone)
copy(dAtA[i:], m.TargetTimeZone)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetTimeZone)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetTimeZone)))
i--
dAtA[i] = 0x5a
}
if len(m.SourceTimeZone) > 0 {
i -= len(m.SourceTimeZone)
copy(dAtA[i:], m.SourceTimeZone)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceTimeZone)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceTimeZone)))
i--
dAtA[i] = 0x52
}
if m.MaterializationIntent != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaterializationIntent))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaterializationIntent))
i--
dAtA[i] = 0x48
}
if len(m.ExternalCluster) > 0 {
i -= len(m.ExternalCluster)
copy(dAtA[i:], m.ExternalCluster)
- i = encodeVarint(dAtA, i, uint64(len(m.ExternalCluster)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExternalCluster)))
i--
dAtA[i] = 0x42
}
if len(m.TabletTypes) > 0 {
i -= len(m.TabletTypes)
copy(dAtA[i:], m.TabletTypes)
- i = encodeVarint(dAtA, i, uint64(len(m.TabletTypes)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TabletTypes)))
i--
dAtA[i] = 0x3a
}
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0x32
}
@@ -6003,7 +5941,7 @@ func (m *MaterializeSettings) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -6021,21 +5959,21 @@ func (m *MaterializeSettings) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.TargetKeyspace) > 0 {
i -= len(m.TargetKeyspace)
copy(dAtA[i:], m.TargetKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
i--
dAtA[i] = 0x1a
}
if len(m.SourceKeyspace) > 0 {
i -= len(m.SourceKeyspace)
copy(dAtA[i:], m.SourceKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceKeyspace)))
i--
dAtA[i] = 0x12
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -6078,14 +6016,14 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -6125,7 +6063,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.RemovedForeignKeyNames) > 0 {
i -= len(m.RemovedForeignKeyNames)
copy(dAtA[i:], m.RemovedForeignKeyNames)
- i = encodeVarint(dAtA, i, uint64(len(m.RemovedForeignKeyNames)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RemovedForeignKeyNames)))
i--
dAtA[i] = 0x3
i--
@@ -6137,7 +6075,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x3
i--
@@ -6149,7 +6087,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x3
i--
@@ -6168,7 +6106,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x98
}
if m.CutoverAttempts != 0 {
- i = encodeVarint(dAtA, i, uint64(m.CutoverAttempts))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.CutoverAttempts))
i--
dAtA[i] = 0x3
i--
@@ -6177,7 +6115,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Stage) > 0 {
i -= len(m.Stage)
copy(dAtA[i:], m.Stage)
- i = encodeVarint(dAtA, i, uint64(len(m.Stage)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Stage)))
i--
dAtA[i] = 0x3
i--
@@ -6201,7 +6139,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2
i--
@@ -6210,7 +6148,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ComponentThrottled) > 0 {
i -= len(m.ComponentThrottled)
copy(dAtA[i:], m.ComponentThrottled)
- i = encodeVarint(dAtA, i, uint64(len(m.ComponentThrottled)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ComponentThrottled)))
i--
dAtA[i] = 0x2
i--
@@ -6222,7 +6160,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2
i--
@@ -6231,7 +6169,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.SpecialPlan) > 0 {
i -= len(m.SpecialPlan)
copy(dAtA[i:], m.SpecialPlan)
- i = encodeVarint(dAtA, i, uint64(len(m.SpecialPlan)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SpecialPlan)))
i--
dAtA[i] = 0x2
i--
@@ -6246,7 +6184,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0xdd
}
if m.VitessLivenessIndicator != 0 {
- i = encodeVarint(dAtA, i, uint64(m.VitessLivenessIndicator))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.VitessLivenessIndicator))
i--
dAtA[i] = 0x2
i--
@@ -6279,7 +6217,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.RevertedUuid) > 0 {
i -= len(m.RevertedUuid)
copy(dAtA[i:], m.RevertedUuid)
- i = encodeVarint(dAtA, i, uint64(len(m.RevertedUuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RevertedUuid)))
i--
dAtA[i] = 0x2
i--
@@ -6300,7 +6238,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.RevertibleNotes) > 0 {
i -= len(m.RevertibleNotes)
copy(dAtA[i:], m.RevertibleNotes)
- i = encodeVarint(dAtA, i, uint64(len(m.RevertibleNotes)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RevertibleNotes)))
i--
dAtA[i] = 0x2
i--
@@ -6309,7 +6247,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ExpandedColumnNames) > 0 {
i -= len(m.ExpandedColumnNames)
copy(dAtA[i:], m.ExpandedColumnNames)
- i = encodeVarint(dAtA, i, uint64(len(m.ExpandedColumnNames)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExpandedColumnNames)))
i--
dAtA[i] = 0x2
i--
@@ -6318,7 +6256,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.DroppedNoDefaultColumnNames) > 0 {
i -= len(m.DroppedNoDefaultColumnNames)
copy(dAtA[i:], m.DroppedNoDefaultColumnNames)
- i = encodeVarint(dAtA, i, uint64(len(m.DroppedNoDefaultColumnNames)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DroppedNoDefaultColumnNames)))
i--
dAtA[i] = 0x2
i--
@@ -6327,7 +6265,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.RemovedUniqueKeyNames) > 0 {
i -= len(m.RemovedUniqueKeyNames)
copy(dAtA[i:], m.RemovedUniqueKeyNames)
- i = encodeVarint(dAtA, i, uint64(len(m.RemovedUniqueKeyNames)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RemovedUniqueKeyNames)))
i--
dAtA[i] = 0x2
i--
@@ -6351,7 +6289,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2
i--
@@ -6360,42 +6298,42 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.LogFile) > 0 {
i -= len(m.LogFile)
copy(dAtA[i:], m.LogFile)
- i = encodeVarint(dAtA, i, uint64(len(m.LogFile)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LogFile)))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0xfa
}
if m.RemovedUniqueKeys != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RemovedUniqueKeys))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RemovedUniqueKeys))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0xf0
}
if m.AddedUniqueKeys != 0 {
- i = encodeVarint(dAtA, i, uint64(m.AddedUniqueKeys))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AddedUniqueKeys))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0xe8
}
if m.TableRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TableRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TableRows))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0xe0
}
if m.RowsCopied != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RowsCopied))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowsCopied))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0xd8
}
if m.EtaSeconds != 0 {
- i = encodeVarint(dAtA, i, uint64(m.EtaSeconds))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.EtaSeconds))
i--
dAtA[i] = 0x1
i--
@@ -6404,7 +6342,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Message) > 0 {
i -= len(m.Message)
copy(dAtA[i:], m.Message)
- i = encodeVarint(dAtA, i, uint64(len(m.Message)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Message)))
i--
dAtA[i] = 0x1
i--
@@ -6413,7 +6351,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.DdlAction) > 0 {
i -= len(m.DdlAction)
copy(dAtA[i:], m.DdlAction)
- i = encodeVarint(dAtA, i, uint64(len(m.DdlAction)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DdlAction)))
i--
dAtA[i] = 0x1
i--
@@ -6422,7 +6360,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.MigrationContext) > 0 {
i -= len(m.MigrationContext)
copy(dAtA[i:], m.MigrationContext)
- i = encodeVarint(dAtA, i, uint64(len(m.MigrationContext)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.MigrationContext)))
i--
dAtA[i] = 0x1
i--
@@ -6454,14 +6392,14 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0xa2
}
if m.Retries != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Retries))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Retries))
i--
dAtA[i] = 0x1
i--
@@ -6470,7 +6408,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Artifacts) > 0 {
i -= len(m.Artifacts)
copy(dAtA[i:], m.Artifacts)
- i = encodeVarint(dAtA, i, uint64(len(m.Artifacts)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Artifacts)))
i--
dAtA[i] = 0x1
i--
@@ -6479,14 +6417,14 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.LogPath) > 0 {
i -= len(m.LogPath)
copy(dAtA[i:], m.LogPath)
- i = encodeVarint(dAtA, i, uint64(len(m.LogPath)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LogPath)))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0x8a
}
if m.Status != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Status))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Status))
i--
dAtA[i] = 0x1
i--
@@ -6498,7 +6436,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x7a
}
@@ -6508,7 +6446,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x72
}
@@ -6518,7 +6456,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x6a
}
@@ -6528,7 +6466,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x62
}
@@ -6538,7 +6476,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x5a
}
@@ -6548,7 +6486,7 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x52
}
@@ -6558,61 +6496,61 @@ func (m *SchemaMigration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x4a
}
if len(m.Options) > 0 {
i -= len(m.Options)
copy(dAtA[i:], m.Options)
- i = encodeVarint(dAtA, i, uint64(len(m.Options)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Options)))
i--
dAtA[i] = 0x42
}
if m.Strategy != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Strategy))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Strategy))
i--
dAtA[i] = 0x38
}
if len(m.MigrationStatement) > 0 {
i -= len(m.MigrationStatement)
copy(dAtA[i:], m.MigrationStatement)
- i = encodeVarint(dAtA, i, uint64(len(m.MigrationStatement)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.MigrationStatement)))
i--
dAtA[i] = 0x32
}
if len(m.Table) > 0 {
i -= len(m.Table)
copy(dAtA[i:], m.Table)
- i = encodeVarint(dAtA, i, uint64(len(m.Table)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Table)))
i--
dAtA[i] = 0x2a
}
if len(m.Schema) > 0 {
i -= len(m.Schema)
copy(dAtA[i:], m.Schema)
- i = encodeVarint(dAtA, i, uint64(len(m.Schema)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Schema)))
i--
dAtA[i] = 0x22
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.Uuid) > 0 {
i -= len(m.Uuid)
copy(dAtA[i:], m.Uuid)
- i = encodeVarint(dAtA, i, uint64(len(m.Uuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Uuid)))
i--
dAtA[i] = 0xa
}
@@ -6655,21 +6593,21 @@ func (m *Shard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -6706,11 +6644,30 @@ func (m *WorkflowOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if len(m.Config) > 0 {
+ for k := range m.Config {
+ v := m.Config[k]
+ baseI := i
+ i -= len(v)
+ copy(dAtA[i:], v)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
+ i--
+ dAtA[i] = 0x12
+ i -= len(k)
+ copy(dAtA[i:], k)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
+ i--
+ dAtA[i] = 0xa
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
+ i--
+ dAtA[i] = 0x22
+ }
+ }
if len(m.Shards) > 0 {
for iNdEx := len(m.Shards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Shards[iNdEx])
copy(dAtA[i:], m.Shards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -6728,7 +6685,7 @@ func (m *WorkflowOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.TenantId) > 0 {
i -= len(m.TenantId)
copy(dAtA[i:], m.TenantId)
- i = encodeVarint(dAtA, i, uint64(len(m.TenantId)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TenantId)))
i--
dAtA[i] = 0xa
}
@@ -6769,7 +6726,7 @@ func (m *Workflow_ReplicationLocation) MarshalToSizedBufferVT(dAtA []byte) (int,
for iNdEx := len(m.Shards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Shards[iNdEx])
copy(dAtA[i:], m.Shards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -6777,7 +6734,7 @@ func (m *Workflow_ReplicationLocation) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -6831,7 +6788,7 @@ func (m *Workflow_ShardStream) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -6843,7 +6800,7 @@ func (m *Workflow_ShardStream) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -6882,21 +6839,21 @@ func (m *Workflow_Stream_CopyState) MarshalToSizedBufferVT(dAtA []byte) (int, er
copy(dAtA[i:], m.unknownFields)
}
if m.StreamId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.StreamId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.StreamId))
i--
dAtA[i] = 0x18
}
if len(m.LastPk) > 0 {
i -= len(m.LastPk)
copy(dAtA[i:], m.LastPk)
- i = encodeVarint(dAtA, i, uint64(len(m.LastPk)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LastPk)))
i--
dAtA[i] = 0x12
}
if len(m.Table) > 0 {
i -= len(m.Table)
copy(dAtA[i:], m.Table)
- i = encodeVarint(dAtA, i, uint64(len(m.Table)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Table)))
i--
dAtA[i] = 0xa
}
@@ -6934,14 +6891,14 @@ func (m *Workflow_Stream_Log) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.Count != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Count))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Count))
i--
dAtA[i] = 0x40
}
if len(m.Message) > 0 {
i -= len(m.Message)
copy(dAtA[i:], m.Message)
- i = encodeVarint(dAtA, i, uint64(len(m.Message)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Message)))
i--
dAtA[i] = 0x3a
}
@@ -6951,7 +6908,7 @@ func (m *Workflow_Stream_Log) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
@@ -6961,31 +6918,31 @@ func (m *Workflow_Stream_Log) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
if len(m.State) > 0 {
i -= len(m.State)
copy(dAtA[i:], m.State)
- i = encodeVarint(dAtA, i, uint64(len(m.State)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.State)))
i--
dAtA[i] = 0x22
}
if len(m.Type) > 0 {
i -= len(m.Type)
copy(dAtA[i:], m.Type)
- i = encodeVarint(dAtA, i, uint64(len(m.Type)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Type)))
i--
dAtA[i] = 0x1a
}
if m.StreamId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.StreamId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.StreamId))
i--
dAtA[i] = 0x10
}
if m.Id != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Id))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Id))
i--
dAtA[i] = 0x8
}
@@ -7028,14 +6985,14 @@ func (m *Workflow_Stream_ThrottlerStatus) MarshalToSizedBufferVT(dAtA []byte) (i
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.ComponentThrottled) > 0 {
i -= len(m.ComponentThrottled)
copy(dAtA[i:], m.ComponentThrottled)
- i = encodeVarint(dAtA, i, uint64(len(m.ComponentThrottled)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ComponentThrottled)))
i--
dAtA[i] = 0xa
}
@@ -7076,7 +7033,7 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x1
i--
@@ -7084,7 +7041,7 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
}
}
if m.TabletSelectionPreference != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
i--
dAtA[i] = 0x1
i--
@@ -7093,7 +7050,7 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.TabletTypes) > 0 {
var pksize2 int
for _, num := range m.TabletTypes {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -7107,7 +7064,7 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x1
i--
@@ -7119,14 +7076,14 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0x8a
}
if m.RowsCopied != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RowsCopied))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowsCopied))
i--
dAtA[i] = 0x1
i--
@@ -7136,7 +7093,7 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Tags) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Tags[iNdEx])
copy(dAtA[i:], m.Tags[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Tags[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tags[iNdEx])))
i--
dAtA[i] = 0x7a
}
@@ -7144,7 +7101,7 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.LogFetchError) > 0 {
i -= len(m.LogFetchError)
copy(dAtA[i:], m.LogFetchError)
- i = encodeVarint(dAtA, i, uint64(len(m.LogFetchError)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LogFetchError)))
i--
dAtA[i] = 0x72
}
@@ -7155,7 +7112,7 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x6a
}
@@ -7167,7 +7124,7 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x62
}
@@ -7175,7 +7132,7 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Message) > 0 {
i -= len(m.Message)
copy(dAtA[i:], m.Message)
- i = encodeVarint(dAtA, i, uint64(len(m.Message)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Message)))
i--
dAtA[i] = 0x5a
}
@@ -7185,7 +7142,7 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x52
}
@@ -7195,35 +7152,35 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x4a
}
if len(m.DbName) > 0 {
i -= len(m.DbName)
copy(dAtA[i:], m.DbName)
- i = encodeVarint(dAtA, i, uint64(len(m.DbName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DbName)))
i--
dAtA[i] = 0x42
}
if len(m.State) > 0 {
i -= len(m.State)
copy(dAtA[i:], m.State)
- i = encodeVarint(dAtA, i, uint64(len(m.State)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.State)))
i--
dAtA[i] = 0x3a
}
if len(m.StopPosition) > 0 {
i -= len(m.StopPosition)
copy(dAtA[i:], m.StopPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.StopPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StopPosition)))
i--
dAtA[i] = 0x32
}
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0x2a
}
@@ -7233,7 +7190,7 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -7243,19 +7200,19 @@ func (m *Workflow_Stream) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if m.Id != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Id))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Id))
i--
dAtA[i] = 0x8
}
@@ -7298,7 +7255,7 @@ func (m *Workflow) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x52
}
@@ -7313,21 +7270,21 @@ func (m *Workflow) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x48
}
if m.MaxVReplicationTransactionLag != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxVReplicationTransactionLag))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxVReplicationTransactionLag))
i--
dAtA[i] = 0x40
}
if len(m.WorkflowSubType) > 0 {
i -= len(m.WorkflowSubType)
copy(dAtA[i:], m.WorkflowSubType)
- i = encodeVarint(dAtA, i, uint64(len(m.WorkflowSubType)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WorkflowSubType)))
i--
dAtA[i] = 0x3a
}
if len(m.WorkflowType) > 0 {
i -= len(m.WorkflowType)
copy(dAtA[i:], m.WorkflowType)
- i = encodeVarint(dAtA, i, uint64(len(m.WorkflowType)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WorkflowType)))
i--
dAtA[i] = 0x32
}
@@ -7340,21 +7297,21 @@ func (m *Workflow) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x2a
}
}
if m.MaxVReplicationLag != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxVReplicationLag))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxVReplicationLag))
i--
dAtA[i] = 0x20
}
@@ -7364,7 +7321,7 @@ func (m *Workflow) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -7374,14 +7331,14 @@ func (m *Workflow) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -7424,14 +7381,14 @@ func (m *AddCellInfoRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -7505,7 +7462,7 @@ func (m *AddCellsAliasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -7513,7 +7470,7 @@ func (m *AddCellsAliasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -7587,7 +7544,7 @@ func (m *ApplyKeyspaceRoutingRulesRequest) MarshalToSizedBufferVT(dAtA []byte) (
for iNdEx := len(m.RebuildCells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.RebuildCells[iNdEx])
copy(dAtA[i:], m.RebuildCells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.RebuildCells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RebuildCells[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -7608,7 +7565,7 @@ func (m *ApplyKeyspaceRoutingRulesRequest) MarshalToSizedBufferVT(dAtA []byte) (
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7651,7 +7608,7 @@ func (m *ApplyKeyspaceRoutingRulesResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7692,7 +7649,7 @@ func (m *ApplyRoutingRulesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
for iNdEx := len(m.RebuildCells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.RebuildCells[iNdEx])
copy(dAtA[i:], m.RebuildCells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.RebuildCells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RebuildCells[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -7713,7 +7670,7 @@ func (m *ApplyRoutingRulesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7787,7 +7744,7 @@ func (m *ApplyShardRoutingRulesRequest) MarshalToSizedBufferVT(dAtA []byte) (int
for iNdEx := len(m.RebuildCells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.RebuildCells[iNdEx])
copy(dAtA[i:], m.RebuildCells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.RebuildCells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RebuildCells[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -7808,7 +7765,7 @@ func (m *ApplyShardRoutingRulesRequest) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -7879,7 +7836,7 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.BatchSize != 0 {
- i = encodeVarint(dAtA, i, uint64(m.BatchSize))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BatchSize))
i--
dAtA[i] = 0x50
}
@@ -7889,7 +7846,7 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x4a
}
@@ -7899,14 +7856,14 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x3a
}
if len(m.MigrationContext) > 0 {
i -= len(m.MigrationContext)
copy(dAtA[i:], m.MigrationContext)
- i = encodeVarint(dAtA, i, uint64(len(m.MigrationContext)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.MigrationContext)))
i--
dAtA[i] = 0x32
}
@@ -7914,7 +7871,7 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.UuidList) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.UuidList[iNdEx])
copy(dAtA[i:], m.UuidList[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.UuidList[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UuidList[iNdEx])))
i--
dAtA[i] = 0x2a
}
@@ -7922,7 +7879,7 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.DdlStrategy) > 0 {
i -= len(m.DdlStrategy)
copy(dAtA[i:], m.DdlStrategy)
- i = encodeVarint(dAtA, i, uint64(len(m.DdlStrategy)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DdlStrategy)))
i--
dAtA[i] = 0x22
}
@@ -7930,7 +7887,7 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Sql) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Sql[iNdEx])
copy(dAtA[i:], m.Sql[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Sql[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Sql[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -7938,7 +7895,7 @@ func (m *ApplySchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -7979,15 +7936,15 @@ func (m *ApplySchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for k := range m.RowsAffectedByShard {
v := m.RowsAffectedByShard[k]
baseI := i
- i = encodeVarint(dAtA, i, uint64(v))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(v))
i--
dAtA[i] = 0x10
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -7996,7 +7953,7 @@ func (m *ApplySchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.UuidList) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.UuidList[iNdEx])
copy(dAtA[i:], m.UuidList[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.UuidList[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UuidList[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -8047,7 +8004,7 @@ func (m *ApplyVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Sql) > 0 {
i -= len(m.Sql)
copy(dAtA[i:], m.Sql)
- i = encodeVarint(dAtA, i, uint64(len(m.Sql)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Sql)))
i--
dAtA[i] = 0x32
}
@@ -8057,7 +8014,7 @@ func (m *ApplyVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -8065,7 +8022,7 @@ func (m *ApplyVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -8093,7 +8050,7 @@ func (m *ApplyVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -8134,7 +8091,7 @@ func (m *ApplyVSchemaResponse_ParamList) MarshalToSizedBufferVT(dAtA []byte) (in
for iNdEx := len(m.Params) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Params[iNdEx])
copy(dAtA[i:], m.Params[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Params[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Params[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -8181,15 +8138,15 @@ func (m *ApplyVSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -8200,7 +8157,7 @@ func (m *ApplyVSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8250,12 +8207,12 @@ func (m *BackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.IncrementalFromPos) > 0 {
i -= len(m.IncrementalFromPos)
copy(dAtA[i:], m.IncrementalFromPos)
- i = encodeVarint(dAtA, i, uint64(len(m.IncrementalFromPos)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.IncrementalFromPos)))
i--
dAtA[i] = 0x22
}
if m.Concurrency != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Concurrency))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Concurrency))
i--
dAtA[i] = 0x18
}
@@ -8275,7 +8232,7 @@ func (m *BackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8318,21 +8275,21 @@ func (m *BackupResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
@@ -8342,7 +8299,7 @@ func (m *BackupResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8382,7 +8339,7 @@ func (m *BackupShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.IncrementalFromPos) > 0 {
i -= len(m.IncrementalFromPos)
copy(dAtA[i:], m.IncrementalFromPos)
- i = encodeVarint(dAtA, i, uint64(len(m.IncrementalFromPos)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.IncrementalFromPos)))
i--
dAtA[i] = 0x32
}
@@ -8397,7 +8354,7 @@ func (m *BackupShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x28
}
if m.Concurrency != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Concurrency))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Concurrency))
i--
dAtA[i] = 0x20
}
@@ -8414,14 +8371,14 @@ func (m *BackupShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -8461,14 +8418,14 @@ func (m *CancelSchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Uuid) > 0 {
i -= len(m.Uuid)
copy(dAtA[i:], m.Uuid)
- i = encodeVarint(dAtA, i, uint64(len(m.Uuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Uuid)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -8509,15 +8466,15 @@ func (m *CancelSchemaMigrationResponse) MarshalToSizedBufferVT(dAtA []byte) (int
for k := range m.RowsAffectedByShard {
v := m.RowsAffectedByShard[k]
baseI := i
- i = encodeVarint(dAtA, i, uint64(v))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(v))
i--
dAtA[i] = 0x10
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -8566,7 +8523,7 @@ func (m *ChangeTabletTypeRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
dAtA[i] = 0x18
}
if m.DbType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.DbType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DbType))
i--
dAtA[i] = 0x10
}
@@ -8576,7 +8533,7 @@ func (m *ChangeTabletTypeRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8629,7 +8586,7 @@ func (m *ChangeTabletTypeResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -8639,7 +8596,7 @@ func (m *ChangeTabletTypeResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8699,14 +8656,14 @@ func (m *CheckThrottlerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Scope) > 0 {
i -= len(m.Scope)
copy(dAtA[i:], m.Scope)
- i = encodeVarint(dAtA, i, uint64(len(m.Scope)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Scope)))
i--
dAtA[i] = 0x1a
}
if len(m.AppName) > 0 {
i -= len(m.AppName)
copy(dAtA[i:], m.AppName)
- i = encodeVarint(dAtA, i, uint64(len(m.AppName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AppName)))
i--
dAtA[i] = 0x12
}
@@ -8716,7 +8673,7 @@ func (m *CheckThrottlerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8759,7 +8716,7 @@ func (m *CheckThrottlerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -8769,7 +8726,7 @@ func (m *CheckThrottlerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -8809,14 +8766,14 @@ func (m *CleanupSchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte) (int
if len(m.Uuid) > 0 {
i -= len(m.Uuid)
copy(dAtA[i:], m.Uuid)
- i = encodeVarint(dAtA, i, uint64(len(m.Uuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Uuid)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -8857,15 +8814,15 @@ func (m *CleanupSchemaMigrationResponse) MarshalToSizedBufferVT(dAtA []byte) (in
for k := range m.RowsAffectedByShard {
v := m.RowsAffectedByShard[k]
baseI := i
- i = encodeVarint(dAtA, i, uint64(v))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(v))
i--
dAtA[i] = 0x10
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -8906,14 +8863,14 @@ func (m *CompleteSchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte) (in
if len(m.Uuid) > 0 {
i -= len(m.Uuid)
copy(dAtA[i:], m.Uuid)
- i = encodeVarint(dAtA, i, uint64(len(m.Uuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Uuid)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -8954,15 +8911,15 @@ func (m *CompleteSchemaMigrationResponse) MarshalToSizedBufferVT(dAtA []byte) (i
for k := range m.RowsAffectedByShard {
v := m.RowsAffectedByShard[k]
baseI := i
- i = encodeVarint(dAtA, i, uint64(v))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(v))
i--
dAtA[i] = 0x10
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -9003,14 +8960,14 @@ func (m *CreateKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.SidecarDbName) > 0 {
i -= len(m.SidecarDbName)
copy(dAtA[i:], m.SidecarDbName)
- i = encodeVarint(dAtA, i, uint64(len(m.SidecarDbName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SidecarDbName)))
i--
dAtA[i] = 0x5a
}
if len(m.DurabilityPolicy) > 0 {
i -= len(m.DurabilityPolicy)
copy(dAtA[i:], m.DurabilityPolicy)
- i = encodeVarint(dAtA, i, uint64(len(m.DurabilityPolicy)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DurabilityPolicy)))
i--
dAtA[i] = 0x52
}
@@ -9020,19 +8977,19 @@ func (m *CreateKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x4a
}
if len(m.BaseKeyspace) > 0 {
i -= len(m.BaseKeyspace)
copy(dAtA[i:], m.BaseKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.BaseKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BaseKeyspace)))
i--
dAtA[i] = 0x42
}
if m.Type != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Type))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type))
i--
dAtA[i] = 0x38
}
@@ -9059,7 +9016,7 @@ func (m *CreateKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -9102,7 +9059,7 @@ func (m *CreateKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -9162,14 +9119,14 @@ func (m *CreateShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ShardName) > 0 {
i -= len(m.ShardName)
copy(dAtA[i:], m.ShardName)
- i = encodeVarint(dAtA, i, uint64(len(m.ShardName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ShardName)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -9222,7 +9179,7 @@ func (m *CreateShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -9232,7 +9189,7 @@ func (m *CreateShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -9282,7 +9239,7 @@ func (m *DeleteCellInfoRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -9355,7 +9312,7 @@ func (m *DeleteCellsAliasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -9448,7 +9405,7 @@ func (m *DeleteKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -9555,7 +9512,7 @@ func (m *DeleteShardsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -9629,7 +9586,7 @@ func (m *DeleteSrvVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0xa
}
@@ -9716,7 +9673,7 @@ func (m *DeleteTabletsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -9813,7 +9770,7 @@ func (m *EmergencyReparentShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -9824,7 +9781,7 @@ func (m *EmergencyReparentShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -9835,21 +9792,21 @@ func (m *EmergencyReparentShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -9893,7 +9850,7 @@ func (m *EmergencyReparentShardResponse) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -9904,21 +9861,21 @@ func (m *EmergencyReparentShardResponse) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -9966,14 +9923,14 @@ func (m *ExecuteFetchAsAppRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
dAtA[i] = 0x20
}
if m.MaxRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxRows))
i--
dAtA[i] = 0x18
}
if len(m.Query) > 0 {
i -= len(m.Query)
copy(dAtA[i:], m.Query)
- i = encodeVarint(dAtA, i, uint64(len(m.Query)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Query)))
i--
dAtA[i] = 0x12
}
@@ -9983,7 +9940,7 @@ func (m *ExecuteFetchAsAppRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -10026,7 +9983,7 @@ func (m *ExecuteFetchAsAppResponse) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -10084,14 +10041,14 @@ func (m *ExecuteFetchAsDBARequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
dAtA[i] = 0x20
}
if m.MaxRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxRows))
i--
dAtA[i] = 0x18
}
if len(m.Query) > 0 {
i -= len(m.Query)
copy(dAtA[i:], m.Query)
- i = encodeVarint(dAtA, i, uint64(len(m.Query)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Query)))
i--
dAtA[i] = 0x12
}
@@ -10101,7 +10058,7 @@ func (m *ExecuteFetchAsDBARequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -10144,7 +10101,7 @@ func (m *ExecuteFetchAsDBAResponse) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -10187,7 +10144,7 @@ func (m *ExecuteHookRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -10197,7 +10154,7 @@ func (m *ExecuteHookRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -10240,7 +10197,7 @@ func (m *ExecuteHookResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -10298,14 +10255,14 @@ func (m *ExecuteMultiFetchAsDBARequest) MarshalToSizedBufferVT(dAtA []byte) (int
dAtA[i] = 0x20
}
if m.MaxRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxRows))
i--
dAtA[i] = 0x18
}
if len(m.Sql) > 0 {
i -= len(m.Sql)
copy(dAtA[i:], m.Sql)
- i = encodeVarint(dAtA, i, uint64(len(m.Sql)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Sql)))
i--
dAtA[i] = 0x12
}
@@ -10315,7 +10272,7 @@ func (m *ExecuteMultiFetchAsDBARequest) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -10359,7 +10316,7 @@ func (m *ExecuteMultiFetchAsDBAResponse) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -10400,7 +10357,7 @@ func (m *FindAllShardsInKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (in
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -10446,15 +10403,15 @@ func (m *FindAllShardsInKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (i
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -10495,14 +10452,14 @@ func (m *ForceCutOverSchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte)
if len(m.Uuid) > 0 {
i -= len(m.Uuid)
copy(dAtA[i:], m.Uuid)
- i = encodeVarint(dAtA, i, uint64(len(m.Uuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Uuid)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -10543,15 +10500,15 @@ func (m *ForceCutOverSchemaMigrationResponse) MarshalToSizedBufferVT(dAtA []byte
for k := range m.RowsAffectedByShard {
v := m.RowsAffectedByShard[k]
baseI := i
- i = encodeVarint(dAtA, i, uint64(v))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(v))
i--
dAtA[i] = 0x10
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -10590,7 +10547,7 @@ func (m *GetBackupsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.DetailedLimit != 0 {
- i = encodeVarint(dAtA, i, uint64(m.DetailedLimit))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DetailedLimit))
i--
dAtA[i] = 0x28
}
@@ -10605,21 +10562,21 @@ func (m *GetBackupsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x20
}
if m.Limit != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Limit))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Limit))
i--
dAtA[i] = 0x18
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -10663,7 +10620,7 @@ func (m *GetBackupsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -10704,7 +10661,7 @@ func (m *GetCellInfoRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0xa
}
@@ -10747,7 +10704,7 @@ func (m *GetCellInfoResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -10821,7 +10778,7 @@ func (m *GetCellInfoNamesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
for iNdEx := len(m.Names) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Names[iNdEx])
copy(dAtA[i:], m.Names[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -10901,15 +10858,15 @@ func (m *GetCellsAliasesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -10953,7 +10910,7 @@ func (m *GetFullStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -10996,7 +10953,7 @@ func (m *GetFullStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11073,7 +11030,7 @@ func (m *GetKeyspacesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11114,7 +11071,7 @@ func (m *GetKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -11157,7 +11114,7 @@ func (m *GetKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11200,7 +11157,7 @@ func (m *GetPermissionsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11243,7 +11200,7 @@ func (m *GetPermissionsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11319,7 +11276,7 @@ func (m *GetKeyspaceRoutingRulesResponse) MarshalToSizedBufferVT(dAtA []byte) (i
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11395,7 +11352,7 @@ func (m *GetRoutingRulesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11476,7 +11433,7 @@ func (m *GetSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.ExcludeTables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ExcludeTables[iNdEx])
copy(dAtA[i:], m.ExcludeTables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -11485,7 +11442,7 @@ func (m *GetSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Tables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Tables[iNdEx])
copy(dAtA[i:], m.Tables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -11496,7 +11453,7 @@ func (m *GetSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11539,7 +11496,7 @@ func (m *GetSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11577,17 +11534,17 @@ func (m *GetSchemaMigrationsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
copy(dAtA[i:], m.unknownFields)
}
if m.Skip != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Skip))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Skip))
i--
dAtA[i] = 0x40
}
if m.Limit != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Limit))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Limit))
i--
dAtA[i] = 0x38
}
if m.Order != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Order))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Order))
i--
dAtA[i] = 0x30
}
@@ -11597,33 +11554,33 @@ func (m *GetSchemaMigrationsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
if m.Status != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Status))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Status))
i--
dAtA[i] = 0x20
}
if len(m.MigrationContext) > 0 {
i -= len(m.MigrationContext)
copy(dAtA[i:], m.MigrationContext)
- i = encodeVarint(dAtA, i, uint64(len(m.MigrationContext)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.MigrationContext)))
i--
dAtA[i] = 0x1a
}
if len(m.Uuid) > 0 {
i -= len(m.Uuid)
copy(dAtA[i:], m.Uuid)
- i = encodeVarint(dAtA, i, uint64(len(m.Uuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Uuid)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -11667,7 +11624,7 @@ func (m *GetSchemaMigrationsResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11709,7 +11666,7 @@ func (m *GetShardReplicationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -11717,14 +11674,14 @@ func (m *GetShardReplicationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -11770,15 +11727,15 @@ func (m *GetShardReplicationResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -11819,14 +11776,14 @@ func (m *GetShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ShardName) > 0 {
i -= len(m.ShardName)
copy(dAtA[i:], m.ShardName)
- i = encodeVarint(dAtA, i, uint64(len(m.ShardName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ShardName)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -11869,7 +11826,7 @@ func (m *GetShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11945,7 +11902,7 @@ func (m *GetShardRoutingRulesResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -11986,7 +11943,7 @@ func (m *GetSrvKeyspaceNamesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -12028,7 +11985,7 @@ func (m *GetSrvKeyspaceNamesResponse_NameList) MarshalToSizedBufferVT(dAtA []byt
for iNdEx := len(m.Names) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Names[iNdEx])
copy(dAtA[i:], m.Names[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -12075,15 +12032,15 @@ func (m *GetSrvKeyspaceNamesResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -12125,7 +12082,7 @@ func (m *GetSrvKeyspacesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -12133,7 +12090,7 @@ func (m *GetSrvKeyspacesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -12179,15 +12136,15 @@ func (m *GetSrvKeyspacesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -12229,7 +12186,7 @@ func (m *UpdateThrottlerConfigRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
for iNdEx := len(m.AppCheckedMetrics) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.AppCheckedMetrics[iNdEx])
copy(dAtA[i:], m.AppCheckedMetrics[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.AppCheckedMetrics[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AppCheckedMetrics[iNdEx])))
i--
dAtA[i] = 0x62
}
@@ -12237,14 +12194,14 @@ func (m *UpdateThrottlerConfigRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.AppName) > 0 {
i -= len(m.AppName)
copy(dAtA[i:], m.AppName)
- i = encodeVarint(dAtA, i, uint64(len(m.AppName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AppName)))
i--
dAtA[i] = 0x5a
}
if len(m.MetricName) > 0 {
i -= len(m.MetricName)
copy(dAtA[i:], m.MetricName)
- i = encodeVarint(dAtA, i, uint64(len(m.MetricName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.MetricName)))
i--
dAtA[i] = 0x52
}
@@ -12254,7 +12211,7 @@ func (m *UpdateThrottlerConfigRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x4a
}
@@ -12291,7 +12248,7 @@ func (m *UpdateThrottlerConfigRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.CustomQuery) > 0 {
i -= len(m.CustomQuery)
copy(dAtA[i:], m.CustomQuery)
- i = encodeVarint(dAtA, i, uint64(len(m.CustomQuery)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CustomQuery)))
i--
dAtA[i] = 0x2a
}
@@ -12324,7 +12281,7 @@ func (m *UpdateThrottlerConfigRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -12397,7 +12354,7 @@ func (m *GetSrvVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0xa
}
@@ -12440,7 +12397,7 @@ func (m *GetSrvVSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -12481,7 +12438,7 @@ func (m *GetSrvVSchemasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -12528,15 +12485,15 @@ func (m *GetSrvVSchemasResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -12580,7 +12537,7 @@ func (m *GetTabletRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -12623,7 +12580,7 @@ func (m *GetTabletResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -12661,7 +12618,7 @@ func (m *GetTabletsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.TabletType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletType))
i--
dAtA[i] = 0x30
}
@@ -12672,7 +12629,7 @@ func (m *GetTabletsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -12691,7 +12648,7 @@ func (m *GetTabletsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -12699,14 +12656,14 @@ func (m *GetTabletsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -12750,7 +12707,7 @@ func (m *GetTabletsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -12794,7 +12751,7 @@ func (m *GetThrottlerStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -12837,7 +12794,7 @@ func (m *GetThrottlerStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -12885,14 +12842,14 @@ func (m *GetTopologyPathRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
dAtA[i] = 0x18
}
if m.Version != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Version))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version))
i--
dAtA[i] = 0x10
}
if len(m.Path) > 0 {
i -= len(m.Path)
copy(dAtA[i:], m.Path)
- i = encodeVarint(dAtA, i, uint64(len(m.Path)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Path)))
i--
dAtA[i] = 0xa
}
@@ -12935,7 +12892,7 @@ func (m *GetTopologyPathResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -12973,7 +12930,7 @@ func (m *TopologyCell) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.Version != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Version))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version))
i--
dAtA[i] = 0x28
}
@@ -12981,7 +12938,7 @@ func (m *TopologyCell) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Children) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Children[iNdEx])
copy(dAtA[i:], m.Children[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Children[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Children[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -12989,27 +12946,202 @@ func (m *TopologyCell) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Data) > 0 {
i -= len(m.Data)
copy(dAtA[i:], m.Data)
- i = encodeVarint(dAtA, i, uint64(len(m.Data)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Data)))
i--
dAtA[i] = 0x1a
}
if len(m.Path) > 0 {
i -= len(m.Path)
copy(dAtA[i:], m.Path)
- i = encodeVarint(dAtA, i, uint64(len(m.Path)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Path)))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
+func (m *GetUnresolvedTransactionsRequest) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *GetUnresolvedTransactionsRequest) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *GetUnresolvedTransactionsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if m.AbandonAge != 0 {
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AbandonAge))
+ i--
+ dAtA[i] = 0x10
+ }
+ if len(m.Keyspace) > 0 {
+ i -= len(m.Keyspace)
+ copy(dAtA[i:], m.Keyspace)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *GetUnresolvedTransactionsResponse) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *GetUnresolvedTransactionsResponse) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *GetUnresolvedTransactionsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if len(m.Transactions) > 0 {
+ for iNdEx := len(m.Transactions) - 1; iNdEx >= 0; iNdEx-- {
+ size, err := m.Transactions[iNdEx].MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0xa
+ }
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *ConcludeTransactionRequest) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ConcludeTransactionRequest) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *ConcludeTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ if len(m.Participants) > 0 {
+ for iNdEx := len(m.Participants) - 1; iNdEx >= 0; iNdEx-- {
+ size, err := m.Participants[iNdEx].MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x12
+ }
+ }
+ if len(m.Dtid) > 0 {
+ i -= len(m.Dtid)
+ copy(dAtA[i:], m.Dtid)
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *ConcludeTransactionResponse) MarshalVT() (dAtA []byte, err error) {
+ if m == nil {
+ return nil, nil
+ }
+ size := m.SizeVT()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalToSizedBufferVT(dAtA[:size])
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ConcludeTransactionResponse) MarshalToVT(dAtA []byte) (int, error) {
+ size := m.SizeVT()
+ return m.MarshalToSizedBufferVT(dAtA[:size])
+}
+
+func (m *ConcludeTransactionResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
+ if m == nil {
+ return 0, nil
+ }
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.unknownFields != nil {
+ i -= len(m.unknownFields)
+ copy(dAtA[i:], m.unknownFields)
+ }
+ return len(dAtA) - i, nil
+}
+
func (m *GetVSchemaRequest) MarshalVT() (dAtA []byte, err error) {
if m == nil {
return nil, nil
@@ -13043,7 +13175,7 @@ func (m *GetVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -13086,7 +13218,7 @@ func (m *GetVersionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -13126,7 +13258,7 @@ func (m *GetVersionResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Version) > 0 {
i -= len(m.Version)
copy(dAtA[i:], m.Version)
- i = encodeVarint(dAtA, i, uint64(len(m.Version)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Version)))
i--
dAtA[i] = 0xa
}
@@ -13169,7 +13301,7 @@ func (m *GetVSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -13210,7 +13342,7 @@ func (m *GetWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Shards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Shards[iNdEx])
copy(dAtA[i:], m.Shards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
i--
dAtA[i] = 0x32
}
@@ -13228,7 +13360,7 @@ func (m *GetWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0x22
}
@@ -13255,7 +13387,7 @@ func (m *GetWorkflowsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -13299,7 +13431,7 @@ func (m *GetWorkflowsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -13343,7 +13475,7 @@ func (m *InitShardPrimaryRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -13363,21 +13495,21 @@ func (m *InitShardPrimaryRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -13421,7 +13553,7 @@ func (m *InitShardPrimaryResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -13462,14 +13594,14 @@ func (m *LaunchSchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Uuid) > 0 {
i -= len(m.Uuid)
copy(dAtA[i:], m.Uuid)
- i = encodeVarint(dAtA, i, uint64(len(m.Uuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Uuid)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -13510,15 +13642,15 @@ func (m *LaunchSchemaMigrationResponse) MarshalToSizedBufferVT(dAtA []byte) (int
for k := range m.RowsAffectedByShard {
v := m.RowsAffectedByShard[k]
baseI := i
- i = encodeVarint(dAtA, i, uint64(v))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(v))
i--
dAtA[i] = 0x10
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -13557,14 +13689,14 @@ func (m *LookupVindexCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
copy(dAtA[i:], m.unknownFields)
}
if m.TabletSelectionPreference != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
i--
dAtA[i] = 0x38
}
if len(m.TabletTypes) > 0 {
var pksize2 int
for _, num := range m.TabletTypes {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -13578,7 +13710,7 @@ func (m *LookupVindexCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x32
}
@@ -13598,7 +13730,7 @@ func (m *LookupVindexCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -13606,7 +13738,7 @@ func (m *LookupVindexCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -13614,14 +13746,14 @@ func (m *LookupVindexCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -13694,21 +13826,21 @@ func (m *LookupVindexExternalizeRequest) MarshalToSizedBufferVT(dAtA []byte) (in
if len(m.TableKeyspace) > 0 {
i -= len(m.TableKeyspace)
copy(dAtA[i:], m.TableKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.TableKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableKeyspace)))
i--
dAtA[i] = 0x1a
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -13794,7 +13926,7 @@ func (m *MaterializeCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -13921,14 +14053,14 @@ func (m *MigrateCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.OnDdl) > 0 {
i -= len(m.OnDdl)
copy(dAtA[i:], m.OnDdl)
- i = encodeVarint(dAtA, i, uint64(len(m.OnDdl)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OnDdl)))
i--
dAtA[i] = 0x62
}
if len(m.SourceTimeZone) > 0 {
i -= len(m.SourceTimeZone)
copy(dAtA[i:], m.SourceTimeZone)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceTimeZone)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceTimeZone)))
i--
dAtA[i] = 0x5a
}
@@ -13936,7 +14068,7 @@ func (m *MigrateCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.ExcludeTables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ExcludeTables[iNdEx])
copy(dAtA[i:], m.ExcludeTables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
i--
dAtA[i] = 0x52
}
@@ -13945,7 +14077,7 @@ func (m *MigrateCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.IncludeTables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.IncludeTables[iNdEx])
copy(dAtA[i:], m.IncludeTables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.IncludeTables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.IncludeTables[iNdEx])))
i--
dAtA[i] = 0x4a
}
@@ -13961,14 +14093,14 @@ func (m *MigrateCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
dAtA[i] = 0x40
}
if m.TabletSelectionPreference != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
i--
dAtA[i] = 0x38
}
if len(m.TabletTypes) > 0 {
var pksize2 int
for _, num := range m.TabletTypes {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -13982,7 +14114,7 @@ func (m *MigrateCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x32
}
@@ -13990,7 +14122,7 @@ func (m *MigrateCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x2a
}
@@ -13998,28 +14130,28 @@ func (m *MigrateCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.MountName) > 0 {
i -= len(m.MountName)
copy(dAtA[i:], m.MountName)
- i = encodeVarint(dAtA, i, uint64(len(m.MountName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.MountName)))
i--
dAtA[i] = 0x22
}
if len(m.TargetKeyspace) > 0 {
i -= len(m.TargetKeyspace)
copy(dAtA[i:], m.TargetKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
i--
dAtA[i] = 0x1a
}
if len(m.SourceKeyspace) > 0 {
i -= len(m.SourceKeyspace)
copy(dAtA[i:], m.SourceKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceKeyspace)))
i--
dAtA[i] = 0x12
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -14099,14 +14231,14 @@ func (m *MigrateCompleteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.TargetKeyspace) > 0 {
i -= len(m.TargetKeyspace)
copy(dAtA[i:], m.TargetKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
i--
dAtA[i] = 0x1a
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -14147,7 +14279,7 @@ func (m *MigrateCompleteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
for iNdEx := len(m.DryRunResults) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.DryRunResults[iNdEx])
copy(dAtA[i:], m.DryRunResults[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.DryRunResults[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DryRunResults[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -14155,7 +14287,7 @@ func (m *MigrateCompleteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
if len(m.Summary) > 0 {
i -= len(m.Summary)
copy(dAtA[i:], m.Summary)
- i = encodeVarint(dAtA, i, uint64(len(m.Summary)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Summary)))
i--
dAtA[i] = 0xa
}
@@ -14195,28 +14327,28 @@ func (m *MountRegisterRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x22
}
if len(m.TopoRoot) > 0 {
i -= len(m.TopoRoot)
copy(dAtA[i:], m.TopoRoot)
- i = encodeVarint(dAtA, i, uint64(len(m.TopoRoot)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TopoRoot)))
i--
dAtA[i] = 0x1a
}
if len(m.TopoServer) > 0 {
i -= len(m.TopoServer)
copy(dAtA[i:], m.TopoServer)
- i = encodeVarint(dAtA, i, uint64(len(m.TopoServer)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TopoServer)))
i--
dAtA[i] = 0x12
}
if len(m.TopoType) > 0 {
i -= len(m.TopoType)
copy(dAtA[i:], m.TopoType)
- i = encodeVarint(dAtA, i, uint64(len(m.TopoType)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TopoType)))
i--
dAtA[i] = 0xa
}
@@ -14289,7 +14421,7 @@ func (m *MountUnregisterRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x22
}
@@ -14362,7 +14494,7 @@ func (m *MountShowRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x22
}
@@ -14402,28 +14534,28 @@ func (m *MountShowResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x22
}
if len(m.TopoRoot) > 0 {
i -= len(m.TopoRoot)
copy(dAtA[i:], m.TopoRoot)
- i = encodeVarint(dAtA, i, uint64(len(m.TopoRoot)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TopoRoot)))
i--
dAtA[i] = 0x1a
}
if len(m.TopoServer) > 0 {
i -= len(m.TopoServer)
copy(dAtA[i:], m.TopoServer)
- i = encodeVarint(dAtA, i, uint64(len(m.TopoServer)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TopoServer)))
i--
dAtA[i] = 0x12
}
if len(m.TopoType) > 0 {
i -= len(m.TopoType)
copy(dAtA[i:], m.TopoType)
- i = encodeVarint(dAtA, i, uint64(len(m.TopoType)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TopoType)))
i--
dAtA[i] = 0xa
}
@@ -14497,7 +14629,7 @@ func (m *MountListResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Names) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Names[iNdEx])
copy(dAtA[i:], m.Names[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Names[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -14541,7 +14673,7 @@ func (m *MoveTablesCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1
i--
@@ -14618,21 +14750,21 @@ func (m *MoveTablesCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
if len(m.OnDdl) > 0 {
i -= len(m.OnDdl)
copy(dAtA[i:], m.OnDdl)
- i = encodeVarint(dAtA, i, uint64(len(m.OnDdl)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OnDdl)))
i--
dAtA[i] = 0x6a
}
if len(m.SourceTimeZone) > 0 {
i -= len(m.SourceTimeZone)
copy(dAtA[i:], m.SourceTimeZone)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceTimeZone)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceTimeZone)))
i--
dAtA[i] = 0x62
}
if len(m.ExternalClusterName) > 0 {
i -= len(m.ExternalClusterName)
copy(dAtA[i:], m.ExternalClusterName)
- i = encodeVarint(dAtA, i, uint64(len(m.ExternalClusterName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExternalClusterName)))
i--
dAtA[i] = 0x5a
}
@@ -14640,7 +14772,7 @@ func (m *MoveTablesCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
for iNdEx := len(m.ExcludeTables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ExcludeTables[iNdEx])
copy(dAtA[i:], m.ExcludeTables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
i--
dAtA[i] = 0x52
}
@@ -14649,7 +14781,7 @@ func (m *MoveTablesCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
for iNdEx := len(m.IncludeTables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.IncludeTables[iNdEx])
copy(dAtA[i:], m.IncludeTables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.IncludeTables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.IncludeTables[iNdEx])))
i--
dAtA[i] = 0x4a
}
@@ -14668,20 +14800,20 @@ func (m *MoveTablesCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
for iNdEx := len(m.SourceShards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.SourceShards[iNdEx])
copy(dAtA[i:], m.SourceShards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.SourceShards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceShards[iNdEx])))
i--
dAtA[i] = 0x3a
}
}
if m.TabletSelectionPreference != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
i--
dAtA[i] = 0x30
}
if len(m.TabletTypes) > 0 {
var pksize2 int
for _, num := range m.TabletTypes {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -14695,7 +14827,7 @@ func (m *MoveTablesCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x2a
}
@@ -14703,7 +14835,7 @@ func (m *MoveTablesCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -14711,21 +14843,21 @@ func (m *MoveTablesCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
if len(m.TargetKeyspace) > 0 {
i -= len(m.TargetKeyspace)
copy(dAtA[i:], m.TargetKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
i--
dAtA[i] = 0x1a
}
if len(m.SourceKeyspace) > 0 {
i -= len(m.SourceKeyspace)
copy(dAtA[i:], m.SourceKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceKeyspace)))
i--
dAtA[i] = 0x12
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -14778,7 +14910,7 @@ func (m *MoveTablesCreateResponse_TabletInfo) MarshalToSizedBufferVT(dAtA []byte
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -14822,7 +14954,7 @@ func (m *MoveTablesCreateResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -14830,7 +14962,7 @@ func (m *MoveTablesCreateResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
if len(m.Summary) > 0 {
i -= len(m.Summary)
copy(dAtA[i:], m.Summary)
- i = encodeVarint(dAtA, i, uint64(len(m.Summary)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Summary)))
i--
dAtA[i] = 0xa
}
@@ -14871,7 +15003,7 @@ func (m *MoveTablesCompleteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
for iNdEx := len(m.Shards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Shards[iNdEx])
copy(dAtA[i:], m.Shards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
i--
dAtA[i] = 0x42
}
@@ -14919,14 +15051,14 @@ func (m *MoveTablesCompleteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
if len(m.TargetKeyspace) > 0 {
i -= len(m.TargetKeyspace)
copy(dAtA[i:], m.TargetKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
i--
dAtA[i] = 0x1a
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -14967,7 +15099,7 @@ func (m *MoveTablesCompleteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
for iNdEx := len(m.DryRunResults) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.DryRunResults[iNdEx])
copy(dAtA[i:], m.DryRunResults[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.DryRunResults[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DryRunResults[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -14975,7 +15107,7 @@ func (m *MoveTablesCompleteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, e
if len(m.Summary) > 0 {
i -= len(m.Summary)
copy(dAtA[i:], m.Summary)
- i = encodeVarint(dAtA, i, uint64(len(m.Summary)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Summary)))
i--
dAtA[i] = 0xa
}
@@ -15018,7 +15150,7 @@ func (m *PingTabletRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -15104,7 +15236,7 @@ func (m *PlannedReparentShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
@@ -15114,7 +15246,7 @@ func (m *PlannedReparentShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -15124,7 +15256,7 @@ func (m *PlannedReparentShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -15134,21 +15266,21 @@ func (m *PlannedReparentShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -15192,7 +15324,7 @@ func (m *PlannedReparentShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -15203,21 +15335,21 @@ func (m *PlannedReparentShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -15268,7 +15400,7 @@ func (m *RebuildKeyspaceGraphRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -15276,7 +15408,7 @@ func (m *RebuildKeyspaceGraphRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -15350,7 +15482,7 @@ func (m *RebuildVSchemaGraphRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -15427,7 +15559,7 @@ func (m *RefreshStateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -15501,7 +15633,7 @@ func (m *RefreshStateByShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -15509,14 +15641,14 @@ func (m *RefreshStateByShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -15556,7 +15688,7 @@ func (m *RefreshStateByShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.PartialRefreshDetails) > 0 {
i -= len(m.PartialRefreshDetails)
copy(dAtA[i:], m.PartialRefreshDetails)
- i = encodeVarint(dAtA, i, uint64(len(m.PartialRefreshDetails)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PartialRefreshDetails)))
i--
dAtA[i] = 0x12
}
@@ -15609,7 +15741,7 @@ func (m *ReloadSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -15680,7 +15812,7 @@ func (m *ReloadSchemaKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
copy(dAtA[i:], m.unknownFields)
}
if m.Concurrency != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Concurrency))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Concurrency))
i--
dAtA[i] = 0x20
}
@@ -15697,14 +15829,14 @@ func (m *ReloadSchemaKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.WaitPosition) > 0 {
i -= len(m.WaitPosition)
copy(dAtA[i:], m.WaitPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -15748,7 +15880,7 @@ func (m *ReloadSchemaKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -15787,7 +15919,7 @@ func (m *ReloadSchemaShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
copy(dAtA[i:], m.unknownFields)
}
if m.Concurrency != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Concurrency))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Concurrency))
i--
dAtA[i] = 0x28
}
@@ -15804,21 +15936,21 @@ func (m *ReloadSchemaShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
if len(m.WaitPosition) > 0 {
i -= len(m.WaitPosition)
copy(dAtA[i:], m.WaitPosition)
- i = encodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WaitPosition)))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -15862,7 +15994,7 @@ func (m *ReloadSchemaShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -15903,21 +16035,21 @@ func (m *RemoveBackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -16010,14 +16142,14 @@ func (m *RemoveKeyspaceCellRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -16110,21 +16242,21 @@ func (m *RemoveShardCellRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0x1a
}
if len(m.ShardName) > 0 {
i -= len(m.ShardName)
copy(dAtA[i:], m.ShardName)
- i = encodeVarint(dAtA, i, uint64(len(m.ShardName)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ShardName)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -16200,7 +16332,7 @@ func (m *ReparentTabletRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -16243,21 +16375,21 @@ func (m *ReparentTabletResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -16294,6 +16426,16 @@ func (m *ReshardCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.WorkflowOptions != nil {
+ size, err := m.WorkflowOptions.MarshalToSizedBufferVT(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
+ i--
+ dAtA[i] = 0x6a
+ }
if m.AutoStart {
i--
if m.AutoStart {
@@ -16327,7 +16469,7 @@ func (m *ReshardCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.OnDdl) > 0 {
i -= len(m.OnDdl)
copy(dAtA[i:], m.OnDdl)
- i = encodeVarint(dAtA, i, uint64(len(m.OnDdl)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OnDdl)))
i--
dAtA[i] = 0x4a
}
@@ -16342,14 +16484,14 @@ func (m *ReshardCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
dAtA[i] = 0x40
}
if m.TabletSelectionPreference != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
i--
dAtA[i] = 0x38
}
if len(m.TabletTypes) > 0 {
var pksize2 int
for _, num := range m.TabletTypes {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -16363,7 +16505,7 @@ func (m *ReshardCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x32
}
@@ -16371,7 +16513,7 @@ func (m *ReshardCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x2a
}
@@ -16380,7 +16522,7 @@ func (m *ReshardCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.TargetShards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.TargetShards[iNdEx])
copy(dAtA[i:], m.TargetShards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.TargetShards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetShards[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -16389,7 +16531,7 @@ func (m *ReshardCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.SourceShards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.SourceShards[iNdEx])
copy(dAtA[i:], m.SourceShards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.SourceShards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceShards[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -16397,14 +16539,14 @@ func (m *ReshardCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -16447,7 +16589,7 @@ func (m *RestoreFromBackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -16464,7 +16606,7 @@ func (m *RestoreFromBackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
if len(m.RestoreToPos) > 0 {
i -= len(m.RestoreToPos)
copy(dAtA[i:], m.RestoreToPos)
- i = encodeVarint(dAtA, i, uint64(len(m.RestoreToPos)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RestoreToPos)))
i--
dAtA[i] = 0x1a
}
@@ -16474,7 +16616,7 @@ func (m *RestoreFromBackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -16484,7 +16626,7 @@ func (m *RestoreFromBackupRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -16527,21 +16669,21 @@ func (m *RestoreFromBackupResponse) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x1a
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0x12
}
@@ -16551,7 +16693,7 @@ func (m *RestoreFromBackupResponse) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -16591,14 +16733,14 @@ func (m *RetrySchemaMigrationRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Uuid) > 0 {
i -= len(m.Uuid)
copy(dAtA[i:], m.Uuid)
- i = encodeVarint(dAtA, i, uint64(len(m.Uuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Uuid)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -16639,15 +16781,15 @@ func (m *RetrySchemaMigrationResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
for k := range m.RowsAffectedByShard {
v := m.RowsAffectedByShard[k]
baseI := i
- i = encodeVarint(dAtA, i, uint64(v))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(v))
i--
dAtA[i] = 0x10
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -16691,7 +16833,7 @@ func (m *RunHealthCheckRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -16764,14 +16906,14 @@ func (m *SetKeyspaceDurabilityPolicyRequest) MarshalToSizedBufferVT(dAtA []byte)
if len(m.DurabilityPolicy) > 0 {
i -= len(m.DurabilityPolicy)
copy(dAtA[i:], m.DurabilityPolicy)
- i = encodeVarint(dAtA, i, uint64(len(m.DurabilityPolicy)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DurabilityPolicy)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -16814,7 +16956,7 @@ func (m *SetKeyspaceDurabilityPolicyResponse) MarshalToSizedBufferVT(dAtA []byte
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -16864,7 +17006,7 @@ func (m *SetKeyspaceShardingInfoRequest) MarshalToSizedBufferVT(dAtA []byte) (in
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -16907,7 +17049,7 @@ func (m *SetKeyspaceShardingInfoResponse) MarshalToSizedBufferVT(dAtA []byte) (i
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -16957,14 +17099,14 @@ func (m *SetShardIsPrimaryServingRequest) MarshalToSizedBufferVT(dAtA []byte) (i
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -17007,7 +17149,7 @@ func (m *SetShardIsPrimaryServingResponse) MarshalToSizedBufferVT(dAtA []byte) (
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -17068,7 +17210,7 @@ func (m *SetShardTabletControlRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
for iNdEx := len(m.DeniedTables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.DeniedTables[iNdEx])
copy(dAtA[i:], m.DeniedTables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.DeniedTables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DeniedTables[iNdEx])))
i--
dAtA[i] = 0x2a
}
@@ -17077,27 +17219,27 @@ func (m *SetShardTabletControlRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x22
}
}
if m.TabletType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletType))
i--
dAtA[i] = 0x18
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -17140,7 +17282,7 @@ func (m *SetShardTabletControlResponse) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -17193,7 +17335,7 @@ func (m *SetWritableRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -17269,21 +17411,21 @@ func (m *ShardReplicationAddRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -17356,21 +17498,21 @@ func (m *ShardReplicationFixRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e
if len(m.Cell) > 0 {
i -= len(m.Cell)
copy(dAtA[i:], m.Cell)
- i = encodeVarint(dAtA, i, uint64(len(m.Cell)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cell)))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -17413,7 +17555,7 @@ func (m *ShardReplicationFixResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -17453,14 +17595,14 @@ func (m *ShardReplicationPositionsRequest) MarshalToSizedBufferVT(dAtA []byte) (
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -17506,15 +17648,15 @@ func (m *ShardReplicationPositionsResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -17528,15 +17670,15 @@ func (m *ShardReplicationPositionsResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -17580,21 +17722,21 @@ func (m *ShardReplicationRemoveRequest) MarshalToSizedBufferVT(dAtA []byte) (int
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -17670,7 +17812,7 @@ func (m *SleepTabletRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -17680,7 +17822,7 @@ func (m *SleepTabletRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -17754,7 +17896,7 @@ func (m *SourceShardAddRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Tables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Tables[iNdEx])
copy(dAtA[i:], m.Tables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
i--
dAtA[i] = 0x3a
}
@@ -17765,40 +17907,40 @@ func (m *SourceShardAddRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
if len(m.SourceShard) > 0 {
i -= len(m.SourceShard)
copy(dAtA[i:], m.SourceShard)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceShard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceShard)))
i--
dAtA[i] = 0x2a
}
if len(m.SourceKeyspace) > 0 {
i -= len(m.SourceKeyspace)
copy(dAtA[i:], m.SourceKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceKeyspace)))
i--
dAtA[i] = 0x22
}
if m.Uid != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Uid))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Uid))
i--
dAtA[i] = 0x18
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -17841,7 +17983,7 @@ func (m *SourceShardAddResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -17879,21 +18021,21 @@ func (m *SourceShardDeleteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, err
copy(dAtA[i:], m.unknownFields)
}
if m.Uid != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Uid))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Uid))
i--
dAtA[i] = 0x18
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -17936,7 +18078,7 @@ func (m *SourceShardDeleteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -17979,7 +18121,7 @@ func (m *StartReplicationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -18055,7 +18197,7 @@ func (m *StopReplicationRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -18131,7 +18273,7 @@ func (m *TabletExternallyReparentedRequest) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -18174,7 +18316,7 @@ func (m *TabletExternallyReparentedResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -18184,21 +18326,21 @@ func (m *TabletExternallyReparentedResponse) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -18241,14 +18383,14 @@ func (m *UpdateCellInfoRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -18291,14 +18433,14 @@ func (m *UpdateCellInfoResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -18341,14 +18483,14 @@ func (m *UpdateCellsAliasRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -18391,14 +18533,14 @@ func (m *UpdateCellsAliasResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -18487,15 +18629,15 @@ func (m *ValidateResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -18504,7 +18646,7 @@ func (m *ValidateResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Results) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Results[iNdEx])
copy(dAtA[i:], m.Results[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -18555,7 +18697,7 @@ func (m *ValidateKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -18601,15 +18743,15 @@ func (m *ValidateKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -18618,7 +18760,7 @@ func (m *ValidateKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err
for iNdEx := len(m.Results) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Results[iNdEx])
copy(dAtA[i:], m.Results[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -18690,7 +18832,7 @@ func (m *ValidateSchemaKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int
for iNdEx := len(m.ExcludeTables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ExcludeTables[iNdEx])
copy(dAtA[i:], m.ExcludeTables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -18698,7 +18840,7 @@ func (m *ValidateSchemaKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (int
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -18744,15 +18886,15 @@ func (m *ValidateSchemaKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (in
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -18761,7 +18903,7 @@ func (m *ValidateSchemaKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (in
for iNdEx := len(m.Results) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Results[iNdEx])
copy(dAtA[i:], m.Results[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -18812,14 +18954,14 @@ func (m *ValidateShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -18860,7 +19002,7 @@ func (m *ValidateShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Results) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Results[iNdEx])
copy(dAtA[i:], m.Results[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -18901,7 +19043,7 @@ func (m *ValidateVersionKeyspaceRequest) MarshalToSizedBufferVT(dAtA []byte) (in
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -18947,15 +19089,15 @@ func (m *ValidateVersionKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (i
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -18964,7 +19106,7 @@ func (m *ValidateVersionKeyspaceResponse) MarshalToSizedBufferVT(dAtA []byte) (i
for iNdEx := len(m.Results) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Results[iNdEx])
copy(dAtA[i:], m.Results[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -19005,14 +19147,14 @@ func (m *ValidateVersionShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Shard) > 0 {
i -= len(m.Shard)
copy(dAtA[i:], m.Shard)
- i = encodeVarint(dAtA, i, uint64(len(m.Shard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shard)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -19053,7 +19195,7 @@ func (m *ValidateVersionShardResponse) MarshalToSizedBufferVT(dAtA []byte) (int,
for iNdEx := len(m.Results) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Results[iNdEx])
copy(dAtA[i:], m.Results[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -19105,7 +19247,7 @@ func (m *ValidateVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
for iNdEx := len(m.ExcludeTables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.ExcludeTables[iNdEx])
copy(dAtA[i:], m.ExcludeTables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExcludeTables[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -19114,7 +19256,7 @@ func (m *ValidateVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
for iNdEx := len(m.Shards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Shards[iNdEx])
copy(dAtA[i:], m.Shards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -19122,7 +19264,7 @@ func (m *ValidateVSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -19168,15 +19310,15 @@ func (m *ValidateVSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -19185,7 +19327,7 @@ func (m *ValidateVSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro
for iNdEx := len(m.Results) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Results[iNdEx])
copy(dAtA[i:], m.Results[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Results[iNdEx])))
i--
dAtA[i] = 0xa
}
@@ -19223,20 +19365,39 @@ func (m *VDiffCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.AutoStart != nil {
+ i--
+ if *m.AutoStart {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x1
+ i--
+ dAtA[i] = 0xb0
+ }
+ if m.RowDiffColumnTruncateAt != 0 {
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowDiffColumnTruncateAt))
+ i--
+ dAtA[i] = 0x1
+ i--
+ dAtA[i] = 0xa8
+ }
if m.MaxDiffDuration != nil {
size, err := m.MaxDiffDuration.MarshalToSizedBufferVT(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0xa2
}
if m.MaxReportSampleRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxReportSampleRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxReportSampleRows))
i--
dAtA[i] = 0x1
i--
@@ -19272,7 +19433,7 @@ func (m *VDiffCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1
i--
@@ -19289,7 +19450,7 @@ func (m *VDiffCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x78
}
if m.MaxExtraRowsToCompare != 0 {
- i = encodeVarint(dAtA, i, uint64(m.MaxExtraRowsToCompare))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaxExtraRowsToCompare))
i--
dAtA[i] = 0x70
}
@@ -19329,12 +19490,12 @@ func (m *VDiffCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x52
}
if m.Limit != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Limit))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Limit))
i--
dAtA[i] = 0x48
}
@@ -19342,20 +19503,20 @@ func (m *VDiffCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Tables) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Tables[iNdEx])
copy(dAtA[i:], m.Tables[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tables[iNdEx])))
i--
dAtA[i] = 0x42
}
}
if m.TabletSelectionPreference != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletSelectionPreference))
i--
dAtA[i] = 0x38
}
if len(m.TabletTypes) > 0 {
var pksize2 int
for _, num := range m.TabletTypes {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -19369,7 +19530,7 @@ func (m *VDiffCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x32
}
@@ -19377,7 +19538,7 @@ func (m *VDiffCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.TargetCells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.TargetCells[iNdEx])
copy(dAtA[i:], m.TargetCells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.TargetCells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetCells[iNdEx])))
i--
dAtA[i] = 0x2a
}
@@ -19386,7 +19547,7 @@ func (m *VDiffCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.SourceCells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.SourceCells[iNdEx])
copy(dAtA[i:], m.SourceCells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.SourceCells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceCells[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -19394,21 +19555,21 @@ func (m *VDiffCreateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Uuid) > 0 {
i -= len(m.Uuid)
copy(dAtA[i:], m.Uuid)
- i = encodeVarint(dAtA, i, uint64(len(m.Uuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Uuid)))
i--
dAtA[i] = 0x1a
}
if len(m.TargetKeyspace) > 0 {
i -= len(m.TargetKeyspace)
copy(dAtA[i:], m.TargetKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
i--
dAtA[i] = 0x12
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -19448,7 +19609,7 @@ func (m *VDiffCreateResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.UUID) > 0 {
i -= len(m.UUID)
copy(dAtA[i:], m.UUID)
- i = encodeVarint(dAtA, i, uint64(len(m.UUID)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UUID)))
i--
dAtA[i] = 0xa
}
@@ -19488,21 +19649,21 @@ func (m *VDiffDeleteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Arg) > 0 {
i -= len(m.Arg)
copy(dAtA[i:], m.Arg)
- i = encodeVarint(dAtA, i, uint64(len(m.Arg)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Arg)))
i--
dAtA[i] = 0x1a
}
if len(m.TargetKeyspace) > 0 {
i -= len(m.TargetKeyspace)
copy(dAtA[i:], m.TargetKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
i--
dAtA[i] = 0x12
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -19572,24 +19733,33 @@ func (m *VDiffResumeRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if len(m.TargetShards) > 0 {
+ for iNdEx := len(m.TargetShards) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.TargetShards[iNdEx])
+ copy(dAtA[i:], m.TargetShards[iNdEx])
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetShards[iNdEx])))
+ i--
+ dAtA[i] = 0x22
+ }
+ }
if len(m.Uuid) > 0 {
i -= len(m.Uuid)
copy(dAtA[i:], m.Uuid)
- i = encodeVarint(dAtA, i, uint64(len(m.Uuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Uuid)))
i--
dAtA[i] = 0x1a
}
if len(m.TargetKeyspace) > 0 {
i -= len(m.TargetKeyspace)
copy(dAtA[i:], m.TargetKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
i--
dAtA[i] = 0x12
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -19662,21 +19832,21 @@ func (m *VDiffShowRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Arg) > 0 {
i -= len(m.Arg)
copy(dAtA[i:], m.Arg)
- i = encodeVarint(dAtA, i, uint64(len(m.Arg)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Arg)))
i--
dAtA[i] = 0x1a
}
if len(m.TargetKeyspace) > 0 {
i -= len(m.TargetKeyspace)
copy(dAtA[i:], m.TargetKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
i--
dAtA[i] = 0x12
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -19722,15 +19892,15 @@ func (m *VDiffShowResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -19768,24 +19938,33 @@ func (m *VDiffStopRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if len(m.TargetShards) > 0 {
+ for iNdEx := len(m.TargetShards) - 1; iNdEx >= 0; iNdEx-- {
+ i -= len(m.TargetShards[iNdEx])
+ copy(dAtA[i:], m.TargetShards[iNdEx])
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetShards[iNdEx])))
+ i--
+ dAtA[i] = 0x22
+ }
+ }
if len(m.Uuid) > 0 {
i -= len(m.Uuid)
copy(dAtA[i:], m.Uuid)
- i = encodeVarint(dAtA, i, uint64(len(m.Uuid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Uuid)))
i--
dAtA[i] = 0x1a
}
if len(m.TargetKeyspace) > 0 {
i -= len(m.TargetKeyspace)
copy(dAtA[i:], m.TargetKeyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetKeyspace)))
i--
dAtA[i] = 0x12
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0xa
}
@@ -19859,7 +20038,7 @@ func (m *WorkflowDeleteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Shards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Shards[iNdEx])
copy(dAtA[i:], m.Shards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
i--
dAtA[i] = 0x2a
}
@@ -19887,14 +20066,14 @@ func (m *WorkflowDeleteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -19947,7 +20126,7 @@ func (m *WorkflowDeleteResponse_TabletInfo) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -19991,7 +20170,7 @@ func (m *WorkflowDeleteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -19999,7 +20178,7 @@ func (m *WorkflowDeleteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Summary) > 0 {
i -= len(m.Summary)
copy(dAtA[i:], m.Summary)
- i = encodeVarint(dAtA, i, uint64(len(m.Summary)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Summary)))
i--
dAtA[i] = 0xa
}
@@ -20040,7 +20219,7 @@ func (m *WorkflowStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
for iNdEx := len(m.Shards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Shards[iNdEx])
copy(dAtA[i:], m.Shards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -20048,14 +20227,14 @@ func (m *WorkflowStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -20099,12 +20278,12 @@ func (m *WorkflowStatusResponse_TableCopyState) MarshalToSizedBufferVT(dAtA []by
dAtA[i] = 0x35
}
if m.BytesTotal != 0 {
- i = encodeVarint(dAtA, i, uint64(m.BytesTotal))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BytesTotal))
i--
dAtA[i] = 0x28
}
if m.BytesCopied != 0 {
- i = encodeVarint(dAtA, i, uint64(m.BytesCopied))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BytesCopied))
i--
dAtA[i] = 0x20
}
@@ -20115,12 +20294,12 @@ func (m *WorkflowStatusResponse_TableCopyState) MarshalToSizedBufferVT(dAtA []by
dAtA[i] = 0x1d
}
if m.RowsTotal != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RowsTotal))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowsTotal))
i--
dAtA[i] = 0x10
}
if m.RowsCopied != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RowsCopied))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowsCopied))
i--
dAtA[i] = 0x8
}
@@ -20160,28 +20339,28 @@ func (m *WorkflowStatusResponse_ShardStreamState) MarshalToSizedBufferVT(dAtA []
if len(m.Info) > 0 {
i -= len(m.Info)
copy(dAtA[i:], m.Info)
- i = encodeVarint(dAtA, i, uint64(len(m.Info)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Info)))
i--
dAtA[i] = 0x32
}
if len(m.Status) > 0 {
i -= len(m.Status)
copy(dAtA[i:], m.Status)
- i = encodeVarint(dAtA, i, uint64(len(m.Status)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Status)))
i--
dAtA[i] = 0x2a
}
if len(m.Position) > 0 {
i -= len(m.Position)
copy(dAtA[i:], m.Position)
- i = encodeVarint(dAtA, i, uint64(len(m.Position)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Position)))
i--
dAtA[i] = 0x22
}
if len(m.SourceShard) > 0 {
i -= len(m.SourceShard)
copy(dAtA[i:], m.SourceShard)
- i = encodeVarint(dAtA, i, uint64(len(m.SourceShard)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceShard)))
i--
dAtA[i] = 0x1a
}
@@ -20191,12 +20370,12 @@ func (m *WorkflowStatusResponse_ShardStreamState) MarshalToSizedBufferVT(dAtA []
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if m.Id != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Id))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Id))
i--
dAtA[i] = 0x8
}
@@ -20240,7 +20419,7 @@ func (m *WorkflowStatusResponse_ShardStreams) MarshalToSizedBufferVT(dAtA []byte
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -20281,7 +20460,7 @@ func (m *WorkflowStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.TrafficState) > 0 {
i -= len(m.TrafficState)
copy(dAtA[i:], m.TrafficState)
- i = encodeVarint(dAtA, i, uint64(len(m.TrafficState)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TrafficState)))
i--
dAtA[i] = 0x1a
}
@@ -20294,15 +20473,15 @@ func (m *WorkflowStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x12
}
@@ -20316,15 +20495,15 @@ func (m *WorkflowStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0xa
}
@@ -20362,11 +20541,21 @@ func (m *WorkflowSwitchTrafficRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.Force {
+ i--
+ if m.Force {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x60
+ }
if len(m.Shards) > 0 {
for iNdEx := len(m.Shards) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Shards[iNdEx])
copy(dAtA[i:], m.Shards[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Shards[iNdEx])))
i--
dAtA[i] = 0x5a
}
@@ -20397,12 +20586,12 @@ func (m *WorkflowSwitchTrafficRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x42
}
if m.Direction != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Direction))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Direction))
i--
dAtA[i] = 0x38
}
@@ -20422,14 +20611,14 @@ func (m *WorkflowSwitchTrafficRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
if len(m.TabletTypes) > 0 {
var pksize2 int
for _, num := range m.TabletTypes {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -20443,7 +20632,7 @@ func (m *WorkflowSwitchTrafficRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x22
}
@@ -20451,7 +20640,7 @@ func (m *WorkflowSwitchTrafficRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x1a
}
@@ -20459,14 +20648,14 @@ func (m *WorkflowSwitchTrafficRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -20507,7 +20696,7 @@ func (m *WorkflowSwitchTrafficResponse) MarshalToSizedBufferVT(dAtA []byte) (int
for iNdEx := len(m.DryRunResults) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.DryRunResults[iNdEx])
copy(dAtA[i:], m.DryRunResults[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.DryRunResults[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DryRunResults[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -20515,21 +20704,21 @@ func (m *WorkflowSwitchTrafficResponse) MarshalToSizedBufferVT(dAtA []byte) (int
if len(m.CurrentState) > 0 {
i -= len(m.CurrentState)
copy(dAtA[i:], m.CurrentState)
- i = encodeVarint(dAtA, i, uint64(len(m.CurrentState)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CurrentState)))
i--
dAtA[i] = 0x1a
}
if len(m.StartState) > 0 {
i -= len(m.StartState)
copy(dAtA[i:], m.StartState)
- i = encodeVarint(dAtA, i, uint64(len(m.StartState)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StartState)))
i--
dAtA[i] = 0x12
}
if len(m.Summary) > 0 {
i -= len(m.Summary)
copy(dAtA[i:], m.Summary)
- i = encodeVarint(dAtA, i, uint64(len(m.Summary)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Summary)))
i--
dAtA[i] = 0xa
}
@@ -20572,14 +20761,14 @@ func (m *WorkflowUpdateRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -20632,7 +20821,7 @@ func (m *WorkflowUpdateResponse_TabletInfo) MarshalToSizedBufferVT(dAtA []byte)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -20676,7 +20865,7 @@ func (m *WorkflowUpdateResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -20684,7 +20873,7 @@ func (m *WorkflowUpdateResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
if len(m.Summary) > 0 {
i -= len(m.Summary)
copy(dAtA[i:], m.Summary)
- i = encodeVarint(dAtA, i, uint64(len(m.Summary)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Summary)))
i--
dAtA[i] = 0xa
}
@@ -20760,7 +20949,7 @@ func (m *GetMirrorRulesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -20806,7 +20995,7 @@ func (m *WorkflowMirrorTrafficRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
if len(m.TabletTypes) > 0 {
var pksize2 int
for _, num := range m.TabletTypes {
- pksize2 += sov(uint64(num))
+ pksize2 += protohelpers.SizeOfVarint(uint64(num))
}
i -= pksize2
j1 := i
@@ -20820,21 +21009,21 @@ func (m *WorkflowMirrorTrafficRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
dAtA[j1] = uint8(num)
j1++
}
- i = encodeVarint(dAtA, i, uint64(pksize2))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2))
i--
dAtA[i] = 0x1a
}
if len(m.Workflow) > 0 {
i -= len(m.Workflow)
copy(dAtA[i:], m.Workflow)
- i = encodeVarint(dAtA, i, uint64(len(m.Workflow)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Workflow)))
i--
dAtA[i] = 0x12
}
if len(m.Keyspace) > 0 {
i -= len(m.Keyspace)
copy(dAtA[i:], m.Keyspace)
- i = encodeVarint(dAtA, i, uint64(len(m.Keyspace)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace)))
i--
dAtA[i] = 0xa
}
@@ -20874,38 +21063,27 @@ func (m *WorkflowMirrorTrafficResponse) MarshalToSizedBufferVT(dAtA []byte) (int
if len(m.CurrentState) > 0 {
i -= len(m.CurrentState)
copy(dAtA[i:], m.CurrentState)
- i = encodeVarint(dAtA, i, uint64(len(m.CurrentState)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CurrentState)))
i--
dAtA[i] = 0x1a
}
if len(m.StartState) > 0 {
i -= len(m.StartState)
copy(dAtA[i:], m.StartState)
- i = encodeVarint(dAtA, i, uint64(len(m.StartState)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StartState)))
i--
dAtA[i] = 0x12
}
if len(m.Summary) > 0 {
i -= len(m.Summary)
copy(dAtA[i:], m.Summary)
- i = encodeVarint(dAtA, i, uint64(len(m.Summary)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Summary)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *ExecuteVtctlCommandRequest) SizeVT() (n int) {
if m == nil {
return 0
@@ -20915,11 +21093,11 @@ func (m *ExecuteVtctlCommandRequest) SizeVT() (n int) {
if len(m.Args) > 0 {
for _, s := range m.Args {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.ActionTimeout != 0 {
- n += 1 + sov(uint64(m.ActionTimeout))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ActionTimeout))
}
n += len(m.unknownFields)
return n
@@ -20933,7 +21111,7 @@ func (m *ExecuteVtctlCommandResponse) SizeVT() (n int) {
_ = l
if m.Event != nil {
l = m.Event.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -20947,15 +21125,15 @@ func (m *TableMaterializeSettings) SizeVT() (n int) {
_ = l
l = len(m.TargetTable)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SourceExpression)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.CreateDdl)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -20969,15 +21147,15 @@ func (m *MaterializeSettings) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SourceKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.StopAfterCopy {
n += 2
@@ -20985,54 +21163,60 @@ func (m *MaterializeSettings) SizeVT() (n int) {
if len(m.TableSettings) > 0 {
for _, e := range m.TableSettings {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TabletTypes)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ExternalCluster)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaterializationIntent != 0 {
- n += 1 + sov(uint64(m.MaterializationIntent))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaterializationIntent))
}
l = len(m.SourceTimeZone)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetTimeZone)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.SourceShards) > 0 {
for _, s := range m.SourceShards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.OnDdl)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.DeferSecondaryKeys {
n += 2
}
if m.TabletSelectionPreference != 0 {
- n += 1 + sov(uint64(m.TabletSelectionPreference))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletSelectionPreference))
}
if m.AtomicCopy {
n += 3
}
if m.WorkflowOptions != nil {
l = m.WorkflowOptions.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if len(m.ReferenceTables) > 0 {
+ for _, s := range m.ReferenceTables {
+ l = len(s)
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
}
n += len(m.unknownFields)
return n
@@ -21046,11 +21230,11 @@ func (m *Keyspace) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Keyspace != nil {
l = m.Keyspace.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -21064,80 +21248,80 @@ func (m *SchemaMigration) SizeVT() (n int) {
_ = l
l = len(m.Uuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Schema)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Table)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.MigrationStatement)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Strategy != 0 {
- n += 1 + sov(uint64(m.Strategy))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Strategy))
}
l = len(m.Options)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AddedAt != nil {
l = m.AddedAt.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.RequestedAt != nil {
l = m.RequestedAt.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReadyAt != nil {
l = m.ReadyAt.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.StartedAt != nil {
l = m.StartedAt.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.LivenessTimestamp != nil {
l = m.LivenessTimestamp.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CompletedAt != nil {
l = m.CompletedAt.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CleanedUpAt != nil {
l = m.CleanedUpAt.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Status != 0 {
- n += 2 + sov(uint64(m.Status))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.Status))
}
l = len(m.LogPath)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Artifacts)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Retries != 0 {
- n += 2 + sov(uint64(m.Retries))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.Retries))
}
if m.Tablet != nil {
l = m.Tablet.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TabletFailure {
n += 3
@@ -21147,64 +21331,64 @@ func (m *SchemaMigration) SizeVT() (n int) {
}
l = len(m.MigrationContext)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DdlAction)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Message)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.EtaSeconds != 0 {
- n += 2 + sov(uint64(m.EtaSeconds))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.EtaSeconds))
}
if m.RowsCopied != 0 {
- n += 2 + sov(uint64(m.RowsCopied))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.RowsCopied))
}
if m.TableRows != 0 {
- n += 2 + sov(uint64(m.TableRows))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.TableRows))
}
if m.AddedUniqueKeys != 0 {
- n += 2 + sov(uint64(m.AddedUniqueKeys))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.AddedUniqueKeys))
}
if m.RemovedUniqueKeys != 0 {
- n += 2 + sov(uint64(m.RemovedUniqueKeys))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.RemovedUniqueKeys))
}
l = len(m.LogFile)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ArtifactRetention != nil {
l = m.ArtifactRetention.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PostponeCompletion {
n += 3
}
l = len(m.RemovedUniqueKeyNames)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DroppedNoDefaultColumnNames)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ExpandedColumnNames)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.RevertibleNotes)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AllowConcurrent {
n += 3
}
l = len(m.RevertedUuid)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.IsView {
n += 3
@@ -21213,51 +21397,51 @@ func (m *SchemaMigration) SizeVT() (n int) {
n += 3
}
if m.VitessLivenessIndicator != 0 {
- n += 2 + sov(uint64(m.VitessLivenessIndicator))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.VitessLivenessIndicator))
}
if m.UserThrottleRatio != 0 {
n += 6
}
l = len(m.SpecialPlan)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.LastThrottledAt != nil {
l = m.LastThrottledAt.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ComponentThrottled)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CancelledAt != nil {
l = m.CancelledAt.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PostponeLaunch {
n += 3
}
l = len(m.Stage)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CutoverAttempts != 0 {
- n += 2 + sov(uint64(m.CutoverAttempts))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.CutoverAttempts))
}
if m.IsImmediateOperation {
n += 3
}
if m.ReviewedAt != nil {
l = m.ReviewedAt.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReadyToCompleteAt != nil {
l = m.ReadyToCompleteAt.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.RemovedForeignKeyNames)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -21271,15 +21455,15 @@ func (m *Shard) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Shard != nil {
l = m.Shard.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -21293,7 +21477,7 @@ func (m *WorkflowOptions) SizeVT() (n int) {
_ = l
l = len(m.TenantId)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.StripShardedAutoIncrement {
n += 2
@@ -21301,7 +21485,15 @@ func (m *WorkflowOptions) SizeVT() (n int) {
if len(m.Shards) > 0 {
for _, s := range m.Shards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ }
+ if len(m.Config) > 0 {
+ for k, v := range m.Config {
+ _ = k
+ _ = v
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -21316,12 +21508,12 @@ func (m *Workflow_ReplicationLocation) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Shards) > 0 {
for _, s := range m.Shards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -21337,13 +21529,13 @@ func (m *Workflow_ShardStream) SizeVT() (n int) {
if len(m.Streams) > 0 {
for _, e := range m.Streams {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TabletControls) > 0 {
for _, e := range m.TabletControls {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.IsPrimaryServing {
@@ -21361,14 +21553,14 @@ func (m *Workflow_Stream_CopyState) SizeVT() (n int) {
_ = l
l = len(m.Table)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.LastPk)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.StreamId != 0 {
- n += 1 + sov(uint64(m.StreamId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.StreamId))
}
n += len(m.unknownFields)
return n
@@ -21381,33 +21573,33 @@ func (m *Workflow_Stream_Log) SizeVT() (n int) {
var l int
_ = l
if m.Id != 0 {
- n += 1 + sov(uint64(m.Id))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Id))
}
if m.StreamId != 0 {
- n += 1 + sov(uint64(m.StreamId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.StreamId))
}
l = len(m.Type)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.State)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CreatedAt != nil {
l = m.CreatedAt.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.UpdatedAt != nil {
l = m.UpdatedAt.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Message)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Count != 0 {
- n += 1 + sov(uint64(m.Count))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Count))
}
n += len(m.unknownFields)
return n
@@ -21421,11 +21613,11 @@ func (m *Workflow_Stream_ThrottlerStatus) SizeVT() (n int) {
_ = l
l = len(m.ComponentThrottled)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TimeThrottled != nil {
l = m.TimeThrottled.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -21438,91 +21630,91 @@ func (m *Workflow_Stream) SizeVT() (n int) {
var l int
_ = l
if m.Id != 0 {
- n += 1 + sov(uint64(m.Id))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Id))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Tablet != nil {
l = m.Tablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.BinlogSource != nil {
l = m.BinlogSource.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.StopPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.State)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DbName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionTimestamp != nil {
l = m.TransactionTimestamp.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TimeUpdated != nil {
l = m.TimeUpdated.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Message)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.CopyStates) > 0 {
for _, e := range m.CopyStates {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Logs) > 0 {
for _, e := range m.Logs {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.LogFetchError)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Tags) > 0 {
for _, s := range m.Tags {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.RowsCopied != 0 {
- n += 2 + sov(uint64(m.RowsCopied))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.RowsCopied))
}
if m.ThrottlerStatus != nil {
l = m.ThrottlerStatus.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.TabletTypes) > 0 {
l = 0
for _, e := range m.TabletTypes {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 2 + sov(uint64(l)) + l
+ n += 2 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if m.TabletSelectionPreference != 0 {
- n += 2 + sov(uint64(m.TabletSelectionPreference))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.TabletSelectionPreference))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -21537,18 +21729,18 @@ func (m *Workflow) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Source != nil {
l = m.Source.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxVReplicationLag != 0 {
- n += 1 + sov(uint64(m.MaxVReplicationLag))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxVReplicationLag))
}
if len(m.ShardStreams) > 0 {
for k, v := range m.ShardStreams {
@@ -21558,28 +21750,28 @@ func (m *Workflow) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
l = len(m.WorkflowType)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.WorkflowSubType)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxVReplicationTransactionLag != 0 {
- n += 1 + sov(uint64(m.MaxVReplicationTransactionLag))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxVReplicationTransactionLag))
}
if m.DeferSecondaryKeys {
n += 2
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -21593,11 +21785,11 @@ func (m *AddCellInfoRequest) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CellInfo != nil {
l = m.CellInfo.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -21621,12 +21813,12 @@ func (m *AddCellsAliasRequest) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -21651,7 +21843,7 @@ func (m *ApplyKeyspaceRoutingRulesRequest) SizeVT() (n int) {
_ = l
if m.KeyspaceRoutingRules != nil {
l = m.KeyspaceRoutingRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SkipRebuild {
n += 2
@@ -21659,7 +21851,7 @@ func (m *ApplyKeyspaceRoutingRulesRequest) SizeVT() (n int) {
if len(m.RebuildCells) > 0 {
for _, s := range m.RebuildCells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -21674,7 +21866,7 @@ func (m *ApplyKeyspaceRoutingRulesResponse) SizeVT() (n int) {
_ = l
if m.KeyspaceRoutingRules != nil {
l = m.KeyspaceRoutingRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -21688,7 +21880,7 @@ func (m *ApplyRoutingRulesRequest) SizeVT() (n int) {
_ = l
if m.RoutingRules != nil {
l = m.RoutingRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SkipRebuild {
n += 2
@@ -21696,7 +21888,7 @@ func (m *ApplyRoutingRulesRequest) SizeVT() (n int) {
if len(m.RebuildCells) > 0 {
for _, s := range m.RebuildCells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -21721,7 +21913,7 @@ func (m *ApplyShardRoutingRulesRequest) SizeVT() (n int) {
_ = l
if m.ShardRoutingRules != nil {
l = m.ShardRoutingRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SkipRebuild {
n += 2
@@ -21729,7 +21921,7 @@ func (m *ApplyShardRoutingRulesRequest) SizeVT() (n int) {
if len(m.RebuildCells) > 0 {
for _, s := range m.RebuildCells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -21754,38 +21946,38 @@ func (m *ApplySchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Sql) > 0 {
for _, s := range m.Sql {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.DdlStrategy)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.UuidList) > 0 {
for _, s := range m.UuidList {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.MigrationContext)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.WaitReplicasTimeout != nil {
l = m.WaitReplicasTimeout.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CallerId != nil {
l = m.CallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.BatchSize != 0 {
- n += 1 + sov(uint64(m.BatchSize))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.BatchSize))
}
n += len(m.unknownFields)
return n
@@ -21800,15 +21992,15 @@ func (m *ApplySchemaResponse) SizeVT() (n int) {
if len(m.UuidList) > 0 {
for _, s := range m.UuidList {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.RowsAffectedByShard) > 0 {
for k, v := range m.RowsAffectedByShard {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + sov(uint64(v))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + protohelpers.SizeOfVarint(uint64(v))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -21823,7 +22015,7 @@ func (m *ApplyVSchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SkipRebuild {
n += 2
@@ -21834,16 +22026,16 @@ func (m *ApplyVSchemaRequest) SizeVT() (n int) {
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.VSchema != nil {
l = m.VSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Sql)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Strict {
n += 2
@@ -21861,7 +22053,7 @@ func (m *ApplyVSchemaResponse_ParamList) SizeVT() (n int) {
if len(m.Params) > 0 {
for _, s := range m.Params {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -21876,7 +22068,7 @@ func (m *ApplyVSchemaResponse) SizeVT() (n int) {
_ = l
if m.VSchema != nil {
l = m.VSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.UnknownVindexParams) > 0 {
for k, v := range m.UnknownVindexParams {
@@ -21886,9 +22078,9 @@ func (m *ApplyVSchemaResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -21903,17 +22095,17 @@ func (m *BackupRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AllowPrimary {
n += 2
}
if m.Concurrency != 0 {
- n += 1 + sov(uint64(m.Concurrency))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Concurrency))
}
l = len(m.IncrementalFromPos)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.UpgradeSafe {
n += 2
@@ -21930,19 +22122,19 @@ func (m *BackupResponse) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Event != nil {
l = m.Event.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -21956,24 +22148,24 @@ func (m *BackupShardRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AllowPrimary {
n += 2
}
if m.Concurrency != 0 {
- n += 1 + sov(uint64(m.Concurrency))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Concurrency))
}
if m.UpgradeSafe {
n += 2
}
l = len(m.IncrementalFromPos)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -21987,11 +22179,11 @@ func (m *CancelSchemaMigrationRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Uuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22007,8 +22199,8 @@ func (m *CancelSchemaMigrationResponse) SizeVT() (n int) {
for k, v := range m.RowsAffectedByShard {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + sov(uint64(v))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + protohelpers.SizeOfVarint(uint64(v))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -22023,10 +22215,10 @@ func (m *ChangeTabletTypeRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.DbType != 0 {
- n += 1 + sov(uint64(m.DbType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.DbType))
}
if m.DryRun {
n += 2
@@ -22043,11 +22235,11 @@ func (m *ChangeTabletTypeResponse) SizeVT() (n int) {
_ = l
if m.BeforeTablet != nil {
l = m.BeforeTablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AfterTablet != nil {
l = m.AfterTablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.WasDryRun {
n += 2
@@ -22064,15 +22256,15 @@ func (m *CheckThrottlerRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.AppName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Scope)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SkipRequestHeartbeats {
n += 2
@@ -22092,11 +22284,11 @@ func (m *CheckThrottlerResponse) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Check != nil {
l = m.Check.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22110,11 +22302,11 @@ func (m *CleanupSchemaMigrationRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Uuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22130,8 +22322,8 @@ func (m *CleanupSchemaMigrationResponse) SizeVT() (n int) {
for k, v := range m.RowsAffectedByShard {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + sov(uint64(v))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + protohelpers.SizeOfVarint(uint64(v))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -22146,11 +22338,11 @@ func (m *CompleteSchemaMigrationRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Uuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22166,8 +22358,8 @@ func (m *CompleteSchemaMigrationResponse) SizeVT() (n int) {
for k, v := range m.RowsAffectedByShard {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + sov(uint64(v))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + protohelpers.SizeOfVarint(uint64(v))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -22182,7 +22374,7 @@ func (m *CreateKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Force {
n += 2
@@ -22191,23 +22383,23 @@ func (m *CreateKeyspaceRequest) SizeVT() (n int) {
n += 2
}
if m.Type != 0 {
- n += 1 + sov(uint64(m.Type))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Type))
}
l = len(m.BaseKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.SnapshotTime != nil {
l = m.SnapshotTime.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DurabilityPolicy)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SidecarDbName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22221,7 +22413,7 @@ func (m *CreateKeyspaceResponse) SizeVT() (n int) {
_ = l
if m.Keyspace != nil {
l = m.Keyspace.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22235,11 +22427,11 @@ func (m *CreateShardRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ShardName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Force {
n += 2
@@ -22259,11 +22451,11 @@ func (m *CreateShardResponse) SizeVT() (n int) {
_ = l
if m.Keyspace != nil {
l = m.Keyspace.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Shard != nil {
l = m.Shard.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ShardAlreadyExists {
n += 2
@@ -22280,7 +22472,7 @@ func (m *DeleteCellInfoRequest) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Force {
n += 2
@@ -22307,7 +22499,7 @@ func (m *DeleteCellsAliasRequest) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22331,7 +22523,7 @@ func (m *DeleteKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Recursive {
n += 2
@@ -22362,7 +22554,7 @@ func (m *DeleteShardsRequest) SizeVT() (n int) {
if len(m.Shards) > 0 {
for _, e := range m.Shards {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Recursive {
@@ -22396,7 +22588,7 @@ func (m *DeleteSrvVSchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22421,7 +22613,7 @@ func (m *DeleteTabletsRequest) SizeVT() (n int) {
if len(m.TabletAliases) > 0 {
for _, e := range m.TabletAliases {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.AllowPrimary {
@@ -22449,25 +22641,25 @@ func (m *EmergencyReparentShardRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.NewPrimary != nil {
l = m.NewPrimary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.IgnoreReplicas) > 0 {
for _, e := range m.IgnoreReplicas {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.WaitReplicasTimeout != nil {
l = m.WaitReplicasTimeout.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PreventCrossCellPromotion {
n += 2
@@ -22487,20 +22679,20 @@ func (m *EmergencyReparentShardResponse) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PromotedPrimary != nil {
l = m.PromotedPrimary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -22515,14 +22707,14 @@ func (m *ExecuteFetchAsAppRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Query)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxRows != 0 {
- n += 1 + sov(uint64(m.MaxRows))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxRows))
}
if m.UsePool {
n += 2
@@ -22539,7 +22731,7 @@ func (m *ExecuteFetchAsAppResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22553,14 +22745,14 @@ func (m *ExecuteFetchAsDBARequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Query)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxRows != 0 {
- n += 1 + sov(uint64(m.MaxRows))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxRows))
}
if m.DisableBinlogs {
n += 2
@@ -22580,7 +22772,7 @@ func (m *ExecuteFetchAsDBAResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22594,11 +22786,11 @@ func (m *ExecuteHookRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TabletHookRequest != nil {
l = m.TabletHookRequest.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22612,7 +22804,7 @@ func (m *ExecuteHookResponse) SizeVT() (n int) {
_ = l
if m.HookResult != nil {
l = m.HookResult.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22626,14 +22818,14 @@ func (m *ExecuteMultiFetchAsDBARequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Sql)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MaxRows != 0 {
- n += 1 + sov(uint64(m.MaxRows))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxRows))
}
if m.DisableBinlogs {
n += 2
@@ -22654,7 +22846,7 @@ func (m *ExecuteMultiFetchAsDBAResponse) SizeVT() (n int) {
if len(m.Results) > 0 {
for _, e := range m.Results {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -22669,7 +22861,7 @@ func (m *FindAllShardsInKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22689,9 +22881,9 @@ func (m *FindAllShardsInKeyspaceResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -22706,11 +22898,11 @@ func (m *ForceCutOverSchemaMigrationRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Uuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22726,8 +22918,8 @@ func (m *ForceCutOverSchemaMigrationResponse) SizeVT() (n int) {
for k, v := range m.RowsAffectedByShard {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + sov(uint64(v))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + protohelpers.SizeOfVarint(uint64(v))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -22742,20 +22934,20 @@ func (m *GetBackupsRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Limit != 0 {
- n += 1 + sov(uint64(m.Limit))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Limit))
}
if m.Detailed {
n += 2
}
if m.DetailedLimit != 0 {
- n += 1 + sov(uint64(m.DetailedLimit))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.DetailedLimit))
}
n += len(m.unknownFields)
return n
@@ -22770,7 +22962,7 @@ func (m *GetBackupsResponse) SizeVT() (n int) {
if len(m.Backups) > 0 {
for _, e := range m.Backups {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -22785,7 +22977,7 @@ func (m *GetCellInfoRequest) SizeVT() (n int) {
_ = l
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22799,7 +22991,7 @@ func (m *GetCellInfoResponse) SizeVT() (n int) {
_ = l
if m.CellInfo != nil {
l = m.CellInfo.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22824,7 +23016,7 @@ func (m *GetCellInfoNamesResponse) SizeVT() (n int) {
if len(m.Names) > 0 {
for _, s := range m.Names {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -22855,9 +23047,9 @@ func (m *GetCellsAliasesResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -22872,7 +23064,7 @@ func (m *GetFullStatusRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22886,7 +23078,7 @@ func (m *GetFullStatusResponse) SizeVT() (n int) {
_ = l
if m.Status != nil {
l = m.Status.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22911,7 +23103,7 @@ func (m *GetKeyspacesResponse) SizeVT() (n int) {
if len(m.Keyspaces) > 0 {
for _, e := range m.Keyspaces {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -22926,7 +23118,7 @@ func (m *GetKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22940,7 +23132,7 @@ func (m *GetKeyspaceResponse) SizeVT() (n int) {
_ = l
if m.Keyspace != nil {
l = m.Keyspace.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22954,7 +23146,7 @@ func (m *GetPermissionsRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22968,7 +23160,7 @@ func (m *GetPermissionsResponse) SizeVT() (n int) {
_ = l
if m.Permissions != nil {
l = m.Permissions.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -22992,7 +23184,7 @@ func (m *GetKeyspaceRoutingRulesResponse) SizeVT() (n int) {
_ = l
if m.KeyspaceRoutingRules != nil {
l = m.KeyspaceRoutingRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23016,7 +23208,7 @@ func (m *GetRoutingRulesResponse) SizeVT() (n int) {
_ = l
if m.RoutingRules != nil {
l = m.RoutingRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23030,18 +23222,18 @@ func (m *GetSchemaRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Tables) > 0 {
for _, s := range m.Tables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ExcludeTables) > 0 {
for _, s := range m.ExcludeTables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.IncludeViews {
@@ -23068,7 +23260,7 @@ func (m *GetSchemaResponse) SizeVT() (n int) {
_ = l
if m.Schema != nil {
l = m.Schema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23082,31 +23274,31 @@ func (m *GetSchemaMigrationsRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Uuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.MigrationContext)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Status != 0 {
- n += 1 + sov(uint64(m.Status))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Status))
}
if m.Recent != nil {
l = m.Recent.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Order != 0 {
- n += 1 + sov(uint64(m.Order))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Order))
}
if m.Limit != 0 {
- n += 1 + sov(uint64(m.Limit))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Limit))
}
if m.Skip != 0 {
- n += 1 + sov(uint64(m.Skip))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Skip))
}
n += len(m.unknownFields)
return n
@@ -23121,7 +23313,7 @@ func (m *GetSchemaMigrationsResponse) SizeVT() (n int) {
if len(m.Migrations) > 0 {
for _, e := range m.Migrations {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -23136,16 +23328,16 @@ func (m *GetShardReplicationRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -23166,9 +23358,9 @@ func (m *GetShardReplicationResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -23183,11 +23375,11 @@ func (m *GetShardRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ShardName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23201,7 +23393,7 @@ func (m *GetShardResponse) SizeVT() (n int) {
_ = l
if m.Shard != nil {
l = m.Shard.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23225,7 +23417,7 @@ func (m *GetShardRoutingRulesResponse) SizeVT() (n int) {
_ = l
if m.ShardRoutingRules != nil {
l = m.ShardRoutingRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23240,7 +23432,7 @@ func (m *GetSrvKeyspaceNamesRequest) SizeVT() (n int) {
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -23256,7 +23448,7 @@ func (m *GetSrvKeyspaceNamesResponse_NameList) SizeVT() (n int) {
if len(m.Names) > 0 {
for _, s := range m.Names {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -23277,9 +23469,9 @@ func (m *GetSrvKeyspaceNamesResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -23294,12 +23486,12 @@ func (m *GetSrvKeyspacesRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -23320,9 +23512,9 @@ func (m *GetSrvKeyspacesResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -23337,7 +23529,7 @@ func (m *UpdateThrottlerConfigRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Enable {
n += 2
@@ -23350,7 +23542,7 @@ func (m *UpdateThrottlerConfigRequest) SizeVT() (n int) {
}
l = len(m.CustomQuery)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CustomQuerySet {
n += 2
@@ -23363,20 +23555,20 @@ func (m *UpdateThrottlerConfigRequest) SizeVT() (n int) {
}
if m.ThrottledApp != nil {
l = m.ThrottledApp.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.MetricName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.AppName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.AppCheckedMetrics) > 0 {
for _, s := range m.AppCheckedMetrics {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -23401,7 +23593,7 @@ func (m *GetSrvVSchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23415,7 +23607,7 @@ func (m *GetSrvVSchemaResponse) SizeVT() (n int) {
_ = l
if m.SrvVSchema != nil {
l = m.SrvVSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23430,7 +23622,7 @@ func (m *GetSrvVSchemasRequest) SizeVT() (n int) {
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -23451,9 +23643,9 @@ func (m *GetSrvVSchemasResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -23468,7 +23660,7 @@ func (m *GetTabletRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23482,7 +23674,7 @@ func (m *GetTabletResponse) SizeVT() (n int) {
_ = l
if m.Tablet != nil {
l = m.Tablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23496,16 +23688,16 @@ func (m *GetTabletsRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Strict {
@@ -23514,11 +23706,11 @@ func (m *GetTabletsRequest) SizeVT() (n int) {
if len(m.TabletAliases) > 0 {
for _, e := range m.TabletAliases {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.TabletType != 0 {
- n += 1 + sov(uint64(m.TabletType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletType))
}
n += len(m.unknownFields)
return n
@@ -23533,7 +23725,7 @@ func (m *GetTabletsResponse) SizeVT() (n int) {
if len(m.Tablets) > 0 {
for _, e := range m.Tablets {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -23548,7 +23740,7 @@ func (m *GetThrottlerStatusRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23562,7 +23754,7 @@ func (m *GetThrottlerStatusResponse) SizeVT() (n int) {
_ = l
if m.Status != nil {
l = m.Status.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23576,10 +23768,10 @@ func (m *GetTopologyPathRequest) SizeVT() (n int) {
_ = l
l = len(m.Path)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Version != 0 {
- n += 1 + sov(uint64(m.Version))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Version))
}
if m.AsJson {
n += 2
@@ -23596,7 +23788,7 @@ func (m *GetTopologyPathResponse) SizeVT() (n int) {
_ = l
if m.Cell != nil {
l = m.Cell.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23610,25 +23802,88 @@ func (m *TopologyCell) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Path)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Data)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Children) > 0 {
for _, s := range m.Children {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Version != 0 {
- n += 1 + sov(uint64(m.Version))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Version))
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *GetUnresolvedTransactionsRequest) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Keyspace)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if m.AbandonAge != 0 {
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.AbandonAge))
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *GetUnresolvedTransactionsResponse) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if len(m.Transactions) > 0 {
+ for _, e := range m.Transactions {
+ l = e.SizeVT()
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *ConcludeTransactionRequest) SizeVT() (n int) {
+ if m == nil {
+ return 0
}
+ var l int
+ _ = l
+ l = len(m.Dtid)
+ if l > 0 {
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if len(m.Participants) > 0 {
+ for _, e := range m.Participants {
+ l = e.SizeVT()
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ }
+ n += len(m.unknownFields)
+ return n
+}
+
+func (m *ConcludeTransactionResponse) SizeVT() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
n += len(m.unknownFields)
return n
}
@@ -23641,7 +23896,7 @@ func (m *GetVSchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23655,7 +23910,7 @@ func (m *GetVersionRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23669,7 +23924,7 @@ func (m *GetVersionResponse) SizeVT() (n int) {
_ = l
l = len(m.Version)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23683,7 +23938,7 @@ func (m *GetVSchemaResponse) SizeVT() (n int) {
_ = l
if m.VSchema != nil {
l = m.VSchema.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23697,7 +23952,7 @@ func (m *GetWorkflowsRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ActiveOnly {
n += 2
@@ -23707,7 +23962,7 @@ func (m *GetWorkflowsRequest) SizeVT() (n int) {
}
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.IncludeLogs {
n += 2
@@ -23715,7 +23970,7 @@ func (m *GetWorkflowsRequest) SizeVT() (n int) {
if len(m.Shards) > 0 {
for _, s := range m.Shards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -23731,7 +23986,7 @@ func (m *GetWorkflowsResponse) SizeVT() (n int) {
if len(m.Workflows) > 0 {
for _, e := range m.Workflows {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -23746,22 +24001,22 @@ func (m *InitShardPrimaryRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PrimaryElectTabletAlias != nil {
l = m.PrimaryElectTabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Force {
n += 2
}
if m.WaitReplicasTimeout != nil {
l = m.WaitReplicasTimeout.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23776,7 +24031,7 @@ func (m *InitShardPrimaryResponse) SizeVT() (n int) {
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -23791,11 +24046,11 @@ func (m *LaunchSchemaMigrationRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Uuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23811,8 +24066,8 @@ func (m *LaunchSchemaMigrationResponse) SizeVT() (n int) {
for k, v := range m.RowsAffectedByShard {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + sov(uint64(v))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + protohelpers.SizeOfVarint(uint64(v))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -23827,21 +24082,21 @@ func (m *LookupVindexCreateRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Vindex != nil {
l = m.Vindex.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ContinueAfterCopyWithOwner {
n += 2
@@ -23849,12 +24104,12 @@ func (m *LookupVindexCreateRequest) SizeVT() (n int) {
if len(m.TabletTypes) > 0 {
l = 0
for _, e := range m.TabletTypes {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if m.TabletSelectionPreference != 0 {
- n += 1 + sov(uint64(m.TabletSelectionPreference))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletSelectionPreference))
}
n += len(m.unknownFields)
return n
@@ -23878,15 +24133,15 @@ func (m *LookupVindexExternalizeRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TableKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23913,7 +24168,7 @@ func (m *MaterializeCreateRequest) SizeVT() (n int) {
_ = l
if m.Settings != nil {
l = m.Settings.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -23937,35 +24192,35 @@ func (m *MigrateCreateRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SourceKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.MountName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TabletTypes) > 0 {
l = 0
for _, e := range m.TabletTypes {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if m.TabletSelectionPreference != 0 {
- n += 1 + sov(uint64(m.TabletSelectionPreference))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletSelectionPreference))
}
if m.AllTables {
n += 2
@@ -23973,22 +24228,22 @@ func (m *MigrateCreateRequest) SizeVT() (n int) {
if len(m.IncludeTables) > 0 {
for _, s := range m.IncludeTables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ExcludeTables) > 0 {
for _, s := range m.ExcludeTables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.SourceTimeZone)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.OnDdl)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.StopAfterCopy {
n += 2
@@ -24017,11 +24272,11 @@ func (m *MigrateCompleteRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.KeepData {
n += 2
@@ -24047,12 +24302,12 @@ func (m *MigrateCompleteResponse) SizeVT() (n int) {
_ = l
l = len(m.Summary)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.DryRunResults) > 0 {
for _, s := range m.DryRunResults {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -24067,19 +24322,19 @@ func (m *MountRegisterRequest) SizeVT() (n int) {
_ = l
l = len(m.TopoType)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TopoServer)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TopoRoot)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24103,7 +24358,7 @@ func (m *MountUnregisterRequest) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24127,7 +24382,7 @@ func (m *MountShowRequest) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24141,19 +24396,19 @@ func (m *MountShowResponse) SizeVT() (n int) {
_ = l
l = len(m.TopoType)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TopoServer)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TopoRoot)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24178,7 +24433,7 @@ func (m *MountListResponse) SizeVT() (n int) {
if len(m.Names) > 0 {
for _, s := range m.Names {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -24193,36 +24448,36 @@ func (m *MoveTablesCreateRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SourceKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TabletTypes) > 0 {
l = 0
for _, e := range m.TabletTypes {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if m.TabletSelectionPreference != 0 {
- n += 1 + sov(uint64(m.TabletSelectionPreference))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletSelectionPreference))
}
if len(m.SourceShards) > 0 {
for _, s := range m.SourceShards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.AllTables {
@@ -24231,26 +24486,26 @@ func (m *MoveTablesCreateRequest) SizeVT() (n int) {
if len(m.IncludeTables) > 0 {
for _, s := range m.IncludeTables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ExcludeTables) > 0 {
for _, s := range m.ExcludeTables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
l = len(m.ExternalClusterName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SourceTimeZone)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.OnDdl)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.StopAfterCopy {
n += 2
@@ -24272,7 +24527,7 @@ func (m *MoveTablesCreateRequest) SizeVT() (n int) {
}
if m.WorkflowOptions != nil {
l = m.WorkflowOptions.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24286,7 +24541,7 @@ func (m *MoveTablesCreateResponse_TabletInfo) SizeVT() (n int) {
_ = l
if m.Tablet != nil {
l = m.Tablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Created {
n += 2
@@ -24303,12 +24558,12 @@ func (m *MoveTablesCreateResponse) SizeVT() (n int) {
_ = l
l = len(m.Summary)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Details) > 0 {
for _, e := range m.Details {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -24323,11 +24578,11 @@ func (m *MoveTablesCompleteRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.KeepData {
n += 2
@@ -24344,7 +24599,7 @@ func (m *MoveTablesCompleteRequest) SizeVT() (n int) {
if len(m.Shards) > 0 {
for _, s := range m.Shards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -24359,12 +24614,12 @@ func (m *MoveTablesCompleteResponse) SizeVT() (n int) {
_ = l
l = len(m.Summary)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.DryRunResults) > 0 {
for _, s := range m.DryRunResults {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -24379,7 +24634,7 @@ func (m *PingTabletRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24403,27 +24658,27 @@ func (m *PlannedReparentShardRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.NewPrimary != nil {
l = m.NewPrimary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AvoidPrimary != nil {
l = m.AvoidPrimary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.WaitReplicasTimeout != nil {
l = m.WaitReplicasTimeout.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TolerableReplicationLag != nil {
l = m.TolerableReplicationLag.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AllowCrossCellPromotion {
n += 2
@@ -24440,20 +24695,20 @@ func (m *PlannedReparentShardResponse) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PromotedPrimary != nil {
l = m.PromotedPrimary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -24468,12 +24723,12 @@ func (m *RebuildKeyspaceGraphRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.AllowPartial {
@@ -24502,7 +24757,7 @@ func (m *RebuildVSchemaGraphRequest) SizeVT() (n int) {
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -24527,7 +24782,7 @@ func (m *RefreshStateRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24551,16 +24806,16 @@ func (m *RefreshStateByShardRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -24578,7 +24833,7 @@ func (m *RefreshStateByShardResponse) SizeVT() (n int) {
}
l = len(m.PartialRefreshDetails)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24592,7 +24847,7 @@ func (m *ReloadSchemaRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24616,17 +24871,17 @@ func (m *ReloadSchemaKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.WaitPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.IncludePrimary {
n += 2
}
if m.Concurrency != 0 {
- n += 1 + sov(uint64(m.Concurrency))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Concurrency))
}
n += len(m.unknownFields)
return n
@@ -24641,7 +24896,7 @@ func (m *ReloadSchemaKeyspaceResponse) SizeVT() (n int) {
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -24656,21 +24911,21 @@ func (m *ReloadSchemaShardRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.WaitPosition)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.IncludePrimary {
n += 2
}
if m.Concurrency != 0 {
- n += 1 + sov(uint64(m.Concurrency))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Concurrency))
}
n += len(m.unknownFields)
return n
@@ -24685,7 +24940,7 @@ func (m *ReloadSchemaShardResponse) SizeVT() (n int) {
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -24700,15 +24955,15 @@ func (m *RemoveBackupRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24732,11 +24987,11 @@ func (m *RemoveKeyspaceCellRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Force {
n += 2
@@ -24766,15 +25021,15 @@ func (m *RemoveShardCellRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.ShardName)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Force {
n += 2
@@ -24804,7 +25059,7 @@ func (m *ReparentTabletRequest) SizeVT() (n int) {
_ = l
if m.Tablet != nil {
l = m.Tablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24818,15 +25073,15 @@ func (m *ReparentTabletResponse) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Primary != nil {
l = m.Primary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24840,46 +25095,46 @@ func (m *ReshardCreateRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.SourceShards) > 0 {
for _, s := range m.SourceShards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TargetShards) > 0 {
for _, s := range m.TargetShards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TabletTypes) > 0 {
l = 0
for _, e := range m.TabletTypes {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if m.TabletSelectionPreference != 0 {
- n += 1 + sov(uint64(m.TabletSelectionPreference))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletSelectionPreference))
}
if m.SkipSchemaCopy {
n += 2
}
l = len(m.OnDdl)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.StopAfterCopy {
n += 2
@@ -24890,6 +25145,10 @@ func (m *ReshardCreateRequest) SizeVT() (n int) {
if m.AutoStart {
n += 2
}
+ if m.WorkflowOptions != nil {
+ l = m.WorkflowOptions.SizeVT()
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
n += len(m.unknownFields)
return n
}
@@ -24902,22 +25161,22 @@ func (m *RestoreFromBackupRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.BackupTime != nil {
l = m.BackupTime.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.RestoreToPos)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.DryRun {
n += 2
}
if m.RestoreToTimestamp != nil {
l = m.RestoreToTimestamp.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24931,19 +25190,19 @@ func (m *RestoreFromBackupResponse) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Event != nil {
l = m.Event.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24957,11 +25216,11 @@ func (m *RetrySchemaMigrationRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Uuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -24977,8 +25236,8 @@ func (m *RetrySchemaMigrationResponse) SizeVT() (n int) {
for k, v := range m.RowsAffectedByShard {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + sov(uint64(v))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + protohelpers.SizeOfVarint(uint64(v))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -24993,7 +25252,7 @@ func (m *RunHealthCheckRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25017,11 +25276,11 @@ func (m *SetKeyspaceDurabilityPolicyRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DurabilityPolicy)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25035,7 +25294,7 @@ func (m *SetKeyspaceDurabilityPolicyResponse) SizeVT() (n int) {
_ = l
if m.Keyspace != nil {
l = m.Keyspace.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25049,7 +25308,7 @@ func (m *SetKeyspaceShardingInfoRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Force {
n += 2
@@ -25066,7 +25325,7 @@ func (m *SetKeyspaceShardingInfoResponse) SizeVT() (n int) {
_ = l
if m.Keyspace != nil {
l = m.Keyspace.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25080,11 +25339,11 @@ func (m *SetShardIsPrimaryServingRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.IsServing {
n += 2
@@ -25101,7 +25360,7 @@ func (m *SetShardIsPrimaryServingResponse) SizeVT() (n int) {
_ = l
if m.Shard != nil {
l = m.Shard.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25115,25 +25374,25 @@ func (m *SetShardTabletControlRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TabletType != 0 {
- n += 1 + sov(uint64(m.TabletType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletType))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.DeniedTables) > 0 {
for _, s := range m.DeniedTables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.DisableQueryService {
@@ -25154,7 +25413,7 @@ func (m *SetShardTabletControlResponse) SizeVT() (n int) {
_ = l
if m.Shard != nil {
l = m.Shard.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25168,7 +25427,7 @@ func (m *SetWritableRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Writable {
n += 2
@@ -25195,15 +25454,15 @@ func (m *ShardReplicationAddRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25227,15 +25486,15 @@ func (m *ShardReplicationFixRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Cell)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25249,7 +25508,7 @@ func (m *ShardReplicationFixResponse) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25263,11 +25522,11 @@ func (m *ShardReplicationPositionsRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25287,9 +25546,9 @@ func (m *ShardReplicationPositionsResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if len(m.TabletMap) > 0 {
@@ -25300,9 +25559,9 @@ func (m *ShardReplicationPositionsResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -25317,15 +25576,15 @@ func (m *ShardReplicationRemoveRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25349,11 +25608,11 @@ func (m *SleepTabletRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Duration != nil {
l = m.Duration.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25377,31 +25636,31 @@ func (m *SourceShardAddRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Uid != 0 {
- n += 1 + sov(uint64(m.Uid))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Uid))
}
l = len(m.SourceKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SourceShard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.KeyRange != nil {
l = m.KeyRange.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Tables) > 0 {
for _, s := range m.Tables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -25416,7 +25675,7 @@ func (m *SourceShardAddResponse) SizeVT() (n int) {
_ = l
if m.Shard != nil {
l = m.Shard.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25430,14 +25689,14 @@ func (m *SourceShardDeleteRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Uid != 0 {
- n += 1 + sov(uint64(m.Uid))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Uid))
}
n += len(m.unknownFields)
return n
@@ -25451,7 +25710,7 @@ func (m *SourceShardDeleteResponse) SizeVT() (n int) {
_ = l
if m.Shard != nil {
l = m.Shard.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25465,7 +25724,7 @@ func (m *StartReplicationRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25489,7 +25748,7 @@ func (m *StopReplicationRequest) SizeVT() (n int) {
_ = l
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25513,7 +25772,7 @@ func (m *TabletExternallyReparentedRequest) SizeVT() (n int) {
_ = l
if m.Tablet != nil {
l = m.Tablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25527,19 +25786,19 @@ func (m *TabletExternallyReparentedResponse) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.NewPrimary != nil {
l = m.NewPrimary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.OldPrimary != nil {
l = m.OldPrimary.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25553,11 +25812,11 @@ func (m *UpdateCellInfoRequest) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CellInfo != nil {
l = m.CellInfo.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25571,11 +25830,11 @@ func (m *UpdateCellInfoResponse) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CellInfo != nil {
l = m.CellInfo.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25589,11 +25848,11 @@ func (m *UpdateCellsAliasRequest) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CellsAlias != nil {
l = m.CellsAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25607,11 +25866,11 @@ func (m *UpdateCellsAliasResponse) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.CellsAlias != nil {
l = m.CellsAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25639,7 +25898,7 @@ func (m *ValidateResponse) SizeVT() (n int) {
if len(m.Results) > 0 {
for _, s := range m.Results {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ResultsByKeyspace) > 0 {
@@ -25650,9 +25909,9 @@ func (m *ValidateResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -25667,7 +25926,7 @@ func (m *ValidateKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PingTablets {
n += 2
@@ -25685,7 +25944,7 @@ func (m *ValidateKeyspaceResponse) SizeVT() (n int) {
if len(m.Results) > 0 {
for _, s := range m.Results {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ResultsByShard) > 0 {
@@ -25696,9 +25955,9 @@ func (m *ValidateKeyspaceResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -25713,12 +25972,12 @@ func (m *ValidateSchemaKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.ExcludeTables) > 0 {
for _, s := range m.ExcludeTables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.IncludeViews {
@@ -25743,7 +26002,7 @@ func (m *ValidateSchemaKeyspaceResponse) SizeVT() (n int) {
if len(m.Results) > 0 {
for _, s := range m.Results {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ResultsByShard) > 0 {
@@ -25754,9 +26013,9 @@ func (m *ValidateSchemaKeyspaceResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -25771,11 +26030,11 @@ func (m *ValidateShardRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.PingTablets {
n += 2
@@ -25793,7 +26052,7 @@ func (m *ValidateShardResponse) SizeVT() (n int) {
if len(m.Results) > 0 {
for _, s := range m.Results {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -25808,7 +26067,7 @@ func (m *ValidateVersionKeyspaceRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25823,7 +26082,7 @@ func (m *ValidateVersionKeyspaceResponse) SizeVT() (n int) {
if len(m.Results) > 0 {
for _, s := range m.Results {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ResultsByShard) > 0 {
@@ -25834,9 +26093,9 @@ func (m *ValidateVersionKeyspaceResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -25851,11 +26110,11 @@ func (m *ValidateVersionShardRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Shard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -25870,7 +26129,7 @@ func (m *ValidateVersionShardResponse) SizeVT() (n int) {
if len(m.Results) > 0 {
for _, s := range m.Results {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -25885,18 +26144,18 @@ func (m *ValidateVSchemaRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Shards) > 0 {
for _, s := range m.Shards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ExcludeTables) > 0 {
for _, s := range m.ExcludeTables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.IncludeViews {
@@ -25915,7 +26174,7 @@ func (m *ValidateVSchemaResponse) SizeVT() (n int) {
if len(m.Results) > 0 {
for _, s := range m.Results {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.ResultsByShard) > 0 {
@@ -25926,9 +26185,9 @@ func (m *ValidateVSchemaResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -25943,50 +26202,50 @@ func (m *VDiffCreateRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Uuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.SourceCells) > 0 {
for _, s := range m.SourceCells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TargetCells) > 0 {
for _, s := range m.TargetCells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TabletTypes) > 0 {
l = 0
for _, e := range m.TabletTypes {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if m.TabletSelectionPreference != 0 {
- n += 1 + sov(uint64(m.TabletSelectionPreference))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletSelectionPreference))
}
if len(m.Tables) > 0 {
for _, s := range m.Tables {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Limit != 0 {
- n += 1 + sov(uint64(m.Limit))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Limit))
}
if m.FilteredReplicationWaitTime != nil {
l = m.FilteredReplicationWaitTime.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.DebugQuery {
n += 2
@@ -25998,14 +26257,14 @@ func (m *VDiffCreateRequest) SizeVT() (n int) {
n += 2
}
if m.MaxExtraRowsToCompare != 0 {
- n += 1 + sov(uint64(m.MaxExtraRowsToCompare))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.MaxExtraRowsToCompare))
}
if m.Wait {
n += 2
}
if m.WaitUpdateInterval != nil {
l = m.WaitUpdateInterval.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.AutoRetry {
n += 3
@@ -26014,11 +26273,17 @@ func (m *VDiffCreateRequest) SizeVT() (n int) {
n += 3
}
if m.MaxReportSampleRows != 0 {
- n += 2 + sov(uint64(m.MaxReportSampleRows))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.MaxReportSampleRows))
}
if m.MaxDiffDuration != nil {
l = m.MaxDiffDuration.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if m.RowDiffColumnTruncateAt != 0 {
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.RowDiffColumnTruncateAt))
+ }
+ if m.AutoStart != nil {
+ n += 3
}
n += len(m.unknownFields)
return n
@@ -26032,7 +26297,7 @@ func (m *VDiffCreateResponse) SizeVT() (n int) {
_ = l
l = len(m.UUID)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -26046,15 +26311,15 @@ func (m *VDiffDeleteRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Arg)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -26078,15 +26343,21 @@ func (m *VDiffResumeRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Uuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if len(m.TargetShards) > 0 {
+ for _, s := range m.TargetShards {
+ l = len(s)
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
}
n += len(m.unknownFields)
return n
@@ -26110,15 +26381,15 @@ func (m *VDiffShowRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Arg)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -26138,9 +26409,9 @@ func (m *VDiffShowResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
n += len(m.unknownFields)
@@ -26155,15 +26426,21 @@ func (m *VDiffStopRequest) SizeVT() (n int) {
_ = l
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TargetKeyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Uuid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if len(m.TargetShards) > 0 {
+ for _, s := range m.TargetShards {
+ l = len(s)
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
}
n += len(m.unknownFields)
return n
@@ -26187,11 +26464,11 @@ func (m *WorkflowDeleteRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.KeepData {
n += 2
@@ -26202,7 +26479,7 @@ func (m *WorkflowDeleteRequest) SizeVT() (n int) {
if len(m.Shards) > 0 {
for _, s := range m.Shards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -26217,7 +26494,7 @@ func (m *WorkflowDeleteResponse_TabletInfo) SizeVT() (n int) {
_ = l
if m.Tablet != nil {
l = m.Tablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Deleted {
n += 2
@@ -26234,12 +26511,12 @@ func (m *WorkflowDeleteResponse) SizeVT() (n int) {
_ = l
l = len(m.Summary)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Details) > 0 {
for _, e := range m.Details {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -26254,16 +26531,16 @@ func (m *WorkflowStatusRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Shards) > 0 {
for _, s := range m.Shards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -26277,19 +26554,19 @@ func (m *WorkflowStatusResponse_TableCopyState) SizeVT() (n int) {
var l int
_ = l
if m.RowsCopied != 0 {
- n += 1 + sov(uint64(m.RowsCopied))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.RowsCopied))
}
if m.RowsTotal != 0 {
- n += 1 + sov(uint64(m.RowsTotal))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.RowsTotal))
}
if m.RowsPercentage != 0 {
n += 5
}
if m.BytesCopied != 0 {
- n += 1 + sov(uint64(m.BytesCopied))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.BytesCopied))
}
if m.BytesTotal != 0 {
- n += 1 + sov(uint64(m.BytesTotal))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.BytesTotal))
}
if m.BytesPercentage != 0 {
n += 5
@@ -26305,27 +26582,27 @@ func (m *WorkflowStatusResponse_ShardStreamState) SizeVT() (n int) {
var l int
_ = l
if m.Id != 0 {
- n += 1 + sov(uint64(m.Id))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Id))
}
if m.Tablet != nil {
l = m.Tablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SourceShard)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Position)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Status)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Info)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -26340,7 +26617,7 @@ func (m *WorkflowStatusResponse_ShardStreams) SizeVT() (n int) {
if len(m.Streams) > 0 {
for _, e := range m.Streams {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -26361,9 +26638,9 @@ func (m *WorkflowStatusResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if len(m.ShardStreams) > 0 {
@@ -26374,14 +26651,14 @@ func (m *WorkflowStatusResponse) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
l = len(m.TrafficState)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -26395,38 +26672,38 @@ func (m *WorkflowSwitchTrafficRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.TabletTypes) > 0 {
l = 0
for _, e := range m.TabletTypes {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if m.MaxReplicationLagAllowed != nil {
l = m.MaxReplicationLagAllowed.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.EnableReverseReplication {
n += 2
}
if m.Direction != 0 {
- n += 1 + sov(uint64(m.Direction))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Direction))
}
if m.Timeout != nil {
l = m.Timeout.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.DryRun {
n += 2
@@ -26437,9 +26714,12 @@ func (m *WorkflowSwitchTrafficRequest) SizeVT() (n int) {
if len(m.Shards) > 0 {
for _, s := range m.Shards {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
+ if m.Force {
+ n += 2
+ }
n += len(m.unknownFields)
return n
}
@@ -26452,20 +26732,20 @@ func (m *WorkflowSwitchTrafficResponse) SizeVT() (n int) {
_ = l
l = len(m.Summary)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.StartState)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.CurrentState)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.DryRunResults) > 0 {
for _, s := range m.DryRunResults {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -26480,11 +26760,11 @@ func (m *WorkflowUpdateRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TabletRequest != nil {
l = m.TabletRequest.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -26498,7 +26778,7 @@ func (m *WorkflowUpdateResponse_TabletInfo) SizeVT() (n int) {
_ = l
if m.Tablet != nil {
l = m.Tablet.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Changed {
n += 2
@@ -26515,12 +26795,12 @@ func (m *WorkflowUpdateResponse) SizeVT() (n int) {
_ = l
l = len(m.Summary)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Details) > 0 {
for _, e := range m.Details {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -26545,7 +26825,7 @@ func (m *GetMirrorRulesResponse) SizeVT() (n int) {
_ = l
if m.MirrorRules != nil {
l = m.MirrorRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -26559,18 +26839,18 @@ func (m *WorkflowMirrorTrafficRequest) SizeVT() (n int) {
_ = l
l = len(m.Keyspace)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Workflow)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.TabletTypes) > 0 {
l = 0
for _, e := range m.TabletTypes {
- l += sov(uint64(e))
+ l += protohelpers.SizeOfVarint(uint64(e))
}
- n += 1 + sov(uint64(l)) + l
+ n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l
}
if m.Percent != 0 {
n += 5
@@ -26587,26 +26867,20 @@ func (m *WorkflowMirrorTrafficResponse) SizeVT() (n int) {
_ = l
l = len(m.Summary)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.StartState)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.CurrentState)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *ExecuteVtctlCommandRequest) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -26615,7 +26889,7 @@ func (m *ExecuteVtctlCommandRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26643,7 +26917,7 @@ func (m *ExecuteVtctlCommandRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26657,11 +26931,11 @@ func (m *ExecuteVtctlCommandRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26675,7 +26949,7 @@ func (m *ExecuteVtctlCommandRequest) UnmarshalVT(dAtA []byte) error {
m.ActionTimeout = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26689,12 +26963,12 @@ func (m *ExecuteVtctlCommandRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -26717,7 +26991,7 @@ func (m *ExecuteVtctlCommandResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26745,7 +27019,7 @@ func (m *ExecuteVtctlCommandResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26758,11 +27032,11 @@ func (m *ExecuteVtctlCommandResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26776,12 +27050,12 @@ func (m *ExecuteVtctlCommandResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -26804,7 +27078,7 @@ func (m *TableMaterializeSettings) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26832,7 +27106,7 @@ func (m *TableMaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26846,11 +27120,11 @@ func (m *TableMaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26864,7 +27138,7 @@ func (m *TableMaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26878,11 +27152,11 @@ func (m *TableMaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26896,7 +27170,7 @@ func (m *TableMaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26910,11 +27184,11 @@ func (m *TableMaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -26923,12 +27197,12 @@ func (m *TableMaterializeSettings) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -26951,7 +27225,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26979,7 +27253,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -26993,11 +27267,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27011,7 +27285,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27025,11 +27299,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27043,7 +27317,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27057,11 +27331,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27075,7 +27349,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27095,7 +27369,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27108,11 +27382,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27129,7 +27403,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27143,11 +27417,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27161,7 +27435,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27175,11 +27449,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27193,7 +27467,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27207,11 +27481,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27225,7 +27499,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
m.MaterializationIntent = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27244,7 +27518,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27258,11 +27532,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27276,7 +27550,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27290,11 +27564,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27308,7 +27582,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27322,11 +27596,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27340,7 +27614,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27354,11 +27628,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27372,7 +27646,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27392,7 +27666,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
m.TabletSelectionPreference = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27411,7 +27685,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27431,7 +27705,7 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27444,11 +27718,11 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27460,14 +27734,46 @@ func (m *MaterializeSettings) UnmarshalVT(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 18:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ReferenceTables", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ReferenceTables = append(m.ReferenceTables, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -27490,7 +27796,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27518,7 +27824,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27532,11 +27838,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27550,7 +27856,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27563,11 +27869,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27581,12 +27887,12 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -27609,7 +27915,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27637,7 +27943,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27651,11 +27957,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27669,7 +27975,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27683,11 +27989,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27701,7 +28007,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27715,11 +28021,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27733,7 +28039,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27747,11 +28053,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27765,7 +28071,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27779,11 +28085,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27797,7 +28103,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27811,11 +28117,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27829,7 +28135,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
m.Strategy = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27848,7 +28154,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27862,11 +28168,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27880,7 +28186,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27893,11 +28199,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27916,7 +28222,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27929,11 +28235,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27952,7 +28258,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -27965,11 +28271,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -27988,7 +28294,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28001,11 +28307,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28024,7 +28330,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28037,11 +28343,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28060,7 +28366,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28073,11 +28379,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28096,7 +28402,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28109,11 +28415,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28132,7 +28438,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
m.Status = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28151,7 +28457,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28165,11 +28471,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28183,7 +28489,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28197,11 +28503,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28215,7 +28521,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
m.Retries = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28234,7 +28540,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28247,11 +28553,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28270,7 +28576,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28301,7 +28607,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28315,11 +28621,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28333,7 +28639,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28347,11 +28653,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28365,7 +28671,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28379,11 +28685,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28397,7 +28703,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
m.EtaSeconds = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28416,7 +28722,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
m.RowsCopied = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28435,7 +28741,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
m.TableRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28454,7 +28760,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
m.AddedUniqueKeys = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28473,7 +28779,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
m.RemovedUniqueKeys = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28492,7 +28798,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28506,11 +28812,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28524,7 +28830,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28537,11 +28843,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28560,7 +28866,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28580,7 +28886,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28594,11 +28900,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28612,7 +28918,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28626,11 +28932,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28644,7 +28950,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28658,11 +28964,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28676,7 +28982,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28690,11 +28996,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28708,7 +29014,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28728,7 +29034,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28742,11 +29048,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28760,7 +29066,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28780,7 +29086,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28800,7 +29106,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
m.VitessLivenessIndicator = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28830,7 +29136,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28844,11 +29150,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28862,7 +29168,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28875,11 +29181,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28898,7 +29204,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28912,11 +29218,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28930,7 +29236,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28943,11 +29249,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -28966,7 +29272,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -28986,7 +29292,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29000,11 +29306,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29018,7 +29324,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
m.CutoverAttempts = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29037,7 +29343,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29057,7 +29363,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29070,11 +29376,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29093,7 +29399,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29106,11 +29412,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29129,7 +29435,7 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29143,11 +29449,11 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29156,12 +29462,12 @@ func (m *SchemaMigration) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -29184,7 +29490,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29212,7 +29518,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29226,11 +29532,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29244,7 +29550,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29258,11 +29564,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29276,7 +29582,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29289,11 +29595,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29307,12 +29613,12 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -29335,7 +29641,7 @@ func (m *WorkflowOptions) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29363,7 +29669,7 @@ func (m *WorkflowOptions) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29377,11 +29683,11 @@ func (m *WorkflowOptions) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29395,7 +29701,7 @@ func (m *WorkflowOptions) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29415,7 +29721,7 @@ func (m *WorkflowOptions) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29429,25 +29735,152 @@ func (m *WorkflowOptions) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Shards = append(m.Shards, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.Config == nil {
+ m.Config = make(map[string]string)
+ }
+ var mapkey string
+ var mapvalue string
+ for iNdEx < postIndex {
+ entryPreIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ if fieldNum == 1 {
+ var stringLenmapkey uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapkey |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapkey := int(stringLenmapkey)
+ if intStringLenmapkey < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postStringIndexmapkey := iNdEx + intStringLenmapkey
+ if postStringIndexmapkey < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postStringIndexmapkey > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
+ iNdEx = postStringIndexmapkey
+ } else if fieldNum == 2 {
+ var stringLenmapvalue uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLenmapvalue |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLenmapvalue := int(stringLenmapvalue)
+ if intStringLenmapvalue < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postStringIndexmapvalue := iNdEx + intStringLenmapvalue
+ if postStringIndexmapvalue < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postStringIndexmapvalue > l {
+ return io.ErrUnexpectedEOF
+ }
+ mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
+ iNdEx = postStringIndexmapvalue
+ } else {
+ iNdEx = entryPreIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > postIndex {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+ m.Config[mapkey] = mapvalue
+ iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -29470,7 +29903,7 @@ func (m *Workflow_ReplicationLocation) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29498,7 +29931,7 @@ func (m *Workflow_ReplicationLocation) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29512,11 +29945,11 @@ func (m *Workflow_ReplicationLocation) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29530,7 +29963,7 @@ func (m *Workflow_ReplicationLocation) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29544,11 +29977,11 @@ func (m *Workflow_ReplicationLocation) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29557,12 +29990,12 @@ func (m *Workflow_ReplicationLocation) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -29585,7 +30018,7 @@ func (m *Workflow_ShardStream) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29613,7 +30046,7 @@ func (m *Workflow_ShardStream) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29626,11 +30059,11 @@ func (m *Workflow_ShardStream) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29647,7 +30080,7 @@ func (m *Workflow_ShardStream) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29660,11 +30093,11 @@ func (m *Workflow_ShardStream) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29681,7 +30114,7 @@ func (m *Workflow_ShardStream) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29696,12 +30129,12 @@ func (m *Workflow_ShardStream) UnmarshalVT(dAtA []byte) error {
m.IsPrimaryServing = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -29724,7 +30157,7 @@ func (m *Workflow_Stream_CopyState) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29752,7 +30185,7 @@ func (m *Workflow_Stream_CopyState) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29766,11 +30199,11 @@ func (m *Workflow_Stream_CopyState) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29784,7 +30217,7 @@ func (m *Workflow_Stream_CopyState) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29798,11 +30231,11 @@ func (m *Workflow_Stream_CopyState) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29816,7 +30249,7 @@ func (m *Workflow_Stream_CopyState) UnmarshalVT(dAtA []byte) error {
m.StreamId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29830,12 +30263,12 @@ func (m *Workflow_Stream_CopyState) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -29858,7 +30291,7 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29886,7 +30319,7 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
m.Id = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29905,7 +30338,7 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
m.StreamId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29924,7 +30357,7 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29938,11 +30371,11 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29956,7 +30389,7 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -29970,11 +30403,11 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -29988,7 +30421,7 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30001,11 +30434,11 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30024,7 +30457,7 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30037,11 +30470,11 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30060,7 +30493,7 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30074,11 +30507,11 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30092,7 +30525,7 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
m.Count = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30106,12 +30539,12 @@ func (m *Workflow_Stream_Log) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -30134,7 +30567,7 @@ func (m *Workflow_Stream_ThrottlerStatus) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30162,7 +30595,7 @@ func (m *Workflow_Stream_ThrottlerStatus) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30176,11 +30609,11 @@ func (m *Workflow_Stream_ThrottlerStatus) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30194,7 +30627,7 @@ func (m *Workflow_Stream_ThrottlerStatus) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30207,11 +30640,11 @@ func (m *Workflow_Stream_ThrottlerStatus) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30225,12 +30658,12 @@ func (m *Workflow_Stream_ThrottlerStatus) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -30253,7 +30686,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30281,7 +30714,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
m.Id = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30300,7 +30733,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30314,11 +30747,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30332,7 +30765,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30345,11 +30778,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30368,7 +30801,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30381,11 +30814,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30404,7 +30837,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30418,11 +30851,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30436,7 +30869,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30450,11 +30883,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30468,7 +30901,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30482,11 +30915,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30500,7 +30933,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30514,11 +30947,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30532,7 +30965,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30545,11 +30978,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30568,7 +31001,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30581,11 +31014,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30604,7 +31037,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30618,11 +31051,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30636,7 +31069,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30649,11 +31082,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30670,7 +31103,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30683,11 +31116,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30704,7 +31137,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30718,11 +31151,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30736,7 +31169,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30750,11 +31183,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30768,7 +31201,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
m.RowsCopied = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30787,7 +31220,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30800,11 +31233,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30821,7 +31254,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30838,7 +31271,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30851,11 +31284,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30868,7 +31301,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30892,7 +31325,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
m.TabletSelectionPreference = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30911,7 +31344,7 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30925,11 +31358,11 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -30938,12 +31371,12 @@ func (m *Workflow_Stream) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -30966,7 +31399,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -30994,7 +31427,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31008,11 +31441,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31026,7 +31459,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31039,11 +31472,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31062,7 +31495,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31075,11 +31508,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31098,7 +31531,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
m.MaxVReplicationLag = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31117,7 +31550,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31130,11 +31563,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31149,7 +31582,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31166,7 +31599,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31180,11 +31613,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -31195,7 +31628,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31208,11 +31641,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -31224,12 +31657,12 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -31246,7 +31679,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31260,11 +31693,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31278,7 +31711,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31292,11 +31725,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31310,7 +31743,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
m.MaxVReplicationTransactionLag = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31329,7 +31762,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31349,7 +31782,7 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31362,11 +31795,11 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31380,12 +31813,12 @@ func (m *Workflow) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -31408,7 +31841,7 @@ func (m *AddCellInfoRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31436,7 +31869,7 @@ func (m *AddCellInfoRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31450,11 +31883,11 @@ func (m *AddCellInfoRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31468,7 +31901,7 @@ func (m *AddCellInfoRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31481,11 +31914,11 @@ func (m *AddCellInfoRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31499,12 +31932,12 @@ func (m *AddCellInfoRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -31527,7 +31960,7 @@ func (m *AddCellInfoResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31550,12 +31983,12 @@ func (m *AddCellInfoResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -31578,7 +32011,7 @@ func (m *AddCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31606,7 +32039,7 @@ func (m *AddCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31620,11 +32053,11 @@ func (m *AddCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31638,7 +32071,7 @@ func (m *AddCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31652,11 +32085,11 @@ func (m *AddCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31665,12 +32098,12 @@ func (m *AddCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -31693,7 +32126,7 @@ func (m *AddCellsAliasResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31716,12 +32149,12 @@ func (m *AddCellsAliasResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -31744,7 +32177,7 @@ func (m *ApplyKeyspaceRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31772,7 +32205,7 @@ func (m *ApplyKeyspaceRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31785,11 +32218,11 @@ func (m *ApplyKeyspaceRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31808,7 +32241,7 @@ func (m *ApplyKeyspaceRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31828,7 +32261,7 @@ func (m *ApplyKeyspaceRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31842,11 +32275,11 @@ func (m *ApplyKeyspaceRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31855,12 +32288,12 @@ func (m *ApplyKeyspaceRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -31883,7 +32316,7 @@ func (m *ApplyKeyspaceRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31911,7 +32344,7 @@ func (m *ApplyKeyspaceRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31924,11 +32357,11 @@ func (m *ApplyKeyspaceRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -31942,12 +32375,12 @@ func (m *ApplyKeyspaceRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -31970,7 +32403,7 @@ func (m *ApplyRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -31998,7 +32431,7 @@ func (m *ApplyRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32011,11 +32444,11 @@ func (m *ApplyRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32034,7 +32467,7 @@ func (m *ApplyRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32054,7 +32487,7 @@ func (m *ApplyRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32068,11 +32501,11 @@ func (m *ApplyRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32081,12 +32514,12 @@ func (m *ApplyRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -32109,7 +32542,7 @@ func (m *ApplyRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32132,12 +32565,12 @@ func (m *ApplyRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -32160,7 +32593,7 @@ func (m *ApplyShardRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32188,7 +32621,7 @@ func (m *ApplyShardRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32201,11 +32634,11 @@ func (m *ApplyShardRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32224,7 +32657,7 @@ func (m *ApplyShardRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32244,7 +32677,7 @@ func (m *ApplyShardRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32258,11 +32691,11 @@ func (m *ApplyShardRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32271,12 +32704,12 @@ func (m *ApplyShardRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -32299,7 +32732,7 @@ func (m *ApplyShardRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32322,12 +32755,12 @@ func (m *ApplyShardRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -32350,7 +32783,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32378,7 +32811,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32392,11 +32825,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32410,7 +32843,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32424,11 +32857,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32442,7 +32875,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32456,11 +32889,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32474,7 +32907,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32488,11 +32921,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32506,7 +32939,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32520,11 +32953,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32538,7 +32971,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32551,11 +32984,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32574,7 +33007,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32587,11 +33020,11 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32610,7 +33043,7 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
m.BatchSize = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32624,12 +33057,12 @@ func (m *ApplySchemaRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -32652,7 +33085,7 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32680,7 +33113,7 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32694,11 +33127,11 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32712,7 +33145,7 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32725,11 +33158,11 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32744,7 +33177,7 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32761,7 +33194,7 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32775,11 +33208,11 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -32789,7 +33222,7 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
} else if fieldNum == 2 {
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32803,12 +33236,12 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
}
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -32820,12 +33253,12 @@ func (m *ApplySchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -32848,7 +33281,7 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32876,7 +33309,7 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32890,11 +33323,11 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32908,7 +33341,7 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32928,7 +33361,7 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32948,7 +33381,7 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32962,11 +33395,11 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -32980,7 +33413,7 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -32993,11 +33426,11 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33016,7 +33449,7 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33030,11 +33463,11 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33048,7 +33481,7 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33063,12 +33496,12 @@ func (m *ApplyVSchemaRequest) UnmarshalVT(dAtA []byte) error {
m.Strict = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -33091,7 +33524,7 @@ func (m *ApplyVSchemaResponse_ParamList) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33119,7 +33552,7 @@ func (m *ApplyVSchemaResponse_ParamList) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33133,11 +33566,11 @@ func (m *ApplyVSchemaResponse_ParamList) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33146,12 +33579,12 @@ func (m *ApplyVSchemaResponse_ParamList) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -33174,7 +33607,7 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33202,7 +33635,7 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33215,11 +33648,11 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33238,7 +33671,7 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33251,11 +33684,11 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33270,7 +33703,7 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33287,7 +33720,7 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33301,11 +33734,11 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -33316,7 +33749,7 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33329,11 +33762,11 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -33345,12 +33778,12 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -33362,12 +33795,12 @@ func (m *ApplyVSchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -33390,7 +33823,7 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33418,7 +33851,7 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33431,11 +33864,11 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33454,7 +33887,7 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33474,7 +33907,7 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
m.Concurrency = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33493,7 +33926,7 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33507,11 +33940,11 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33525,7 +33958,7 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33540,12 +33973,12 @@ func (m *BackupRequest) UnmarshalVT(dAtA []byte) error {
m.UpgradeSafe = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -33568,7 +34001,7 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33596,7 +34029,7 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33609,11 +34042,11 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33632,7 +34065,7 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33646,11 +34079,11 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33664,7 +34097,7 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33678,11 +34111,11 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33696,7 +34129,7 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33709,11 +34142,11 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33727,12 +34160,12 @@ func (m *BackupResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -33755,7 +34188,7 @@ func (m *BackupShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33783,7 +34216,7 @@ func (m *BackupShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33797,11 +34230,11 @@ func (m *BackupShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33815,7 +34248,7 @@ func (m *BackupShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33829,11 +34262,11 @@ func (m *BackupShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33847,7 +34280,7 @@ func (m *BackupShardRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33867,7 +34300,7 @@ func (m *BackupShardRequest) UnmarshalVT(dAtA []byte) error {
m.Concurrency = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33886,7 +34319,7 @@ func (m *BackupShardRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33906,7 +34339,7 @@ func (m *BackupShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33920,11 +34353,11 @@ func (m *BackupShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -33933,12 +34366,12 @@ func (m *BackupShardRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -33961,7 +34394,7 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -33989,7 +34422,7 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34003,11 +34436,11 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34021,7 +34454,7 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34035,11 +34468,11 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34048,12 +34481,12 @@ func (m *CancelSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -34076,7 +34509,7 @@ func (m *CancelSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34104,7 +34537,7 @@ func (m *CancelSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34117,11 +34550,11 @@ func (m *CancelSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34136,7 +34569,7 @@ func (m *CancelSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34153,7 +34586,7 @@ func (m *CancelSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34167,11 +34600,11 @@ func (m *CancelSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -34181,7 +34614,7 @@ func (m *CancelSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
} else if fieldNum == 2 {
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34195,12 +34628,12 @@ func (m *CancelSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -34212,12 +34645,12 @@ func (m *CancelSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -34240,7 +34673,7 @@ func (m *ChangeTabletTypeRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34268,7 +34701,7 @@ func (m *ChangeTabletTypeRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34281,11 +34714,11 @@ func (m *ChangeTabletTypeRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34304,7 +34737,7 @@ func (m *ChangeTabletTypeRequest) UnmarshalVT(dAtA []byte) error {
m.DbType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34323,7 +34756,7 @@ func (m *ChangeTabletTypeRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34338,12 +34771,12 @@ func (m *ChangeTabletTypeRequest) UnmarshalVT(dAtA []byte) error {
m.DryRun = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -34366,7 +34799,7 @@ func (m *ChangeTabletTypeResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34394,7 +34827,7 @@ func (m *ChangeTabletTypeResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34407,11 +34840,11 @@ func (m *ChangeTabletTypeResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34430,7 +34863,7 @@ func (m *ChangeTabletTypeResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34443,11 +34876,11 @@ func (m *ChangeTabletTypeResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34466,7 +34899,7 @@ func (m *ChangeTabletTypeResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34481,12 +34914,12 @@ func (m *ChangeTabletTypeResponse) UnmarshalVT(dAtA []byte) error {
m.WasDryRun = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -34509,7 +34942,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34537,7 +34970,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34550,11 +34983,11 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34573,7 +35006,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34587,11 +35020,11 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34605,7 +35038,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34619,11 +35052,11 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34637,7 +35070,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34657,7 +35090,7 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34672,12 +35105,12 @@ func (m *CheckThrottlerRequest) UnmarshalVT(dAtA []byte) error {
m.OkIfNotExists = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -34700,7 +35133,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34728,7 +35161,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34741,11 +35174,11 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34764,7 +35197,7 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34777,11 +35210,11 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34795,12 +35228,12 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -34823,7 +35256,7 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34851,7 +35284,7 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34865,11 +35298,11 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34883,7 +35316,7 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34897,11 +35330,11 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34910,12 +35343,12 @@ func (m *CleanupSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -34938,7 +35371,7 @@ func (m *CleanupSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34966,7 +35399,7 @@ func (m *CleanupSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -34979,11 +35412,11 @@ func (m *CleanupSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -34998,7 +35431,7 @@ func (m *CleanupSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35015,7 +35448,7 @@ func (m *CleanupSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35029,11 +35462,11 @@ func (m *CleanupSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -35043,7 +35476,7 @@ func (m *CleanupSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
} else if fieldNum == 2 {
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35057,12 +35490,12 @@ func (m *CleanupSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -35074,12 +35507,12 @@ func (m *CleanupSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -35102,7 +35535,7 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35130,7 +35563,7 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35144,11 +35577,11 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35162,7 +35595,7 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35176,11 +35609,11 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35189,12 +35622,12 @@ func (m *CompleteSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -35217,7 +35650,7 @@ func (m *CompleteSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35245,7 +35678,7 @@ func (m *CompleteSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35258,11 +35691,11 @@ func (m *CompleteSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35277,7 +35710,7 @@ func (m *CompleteSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35294,7 +35727,7 @@ func (m *CompleteSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35308,11 +35741,11 @@ func (m *CompleteSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -35322,7 +35755,7 @@ func (m *CompleteSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
} else if fieldNum == 2 {
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35336,12 +35769,12 @@ func (m *CompleteSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -35353,12 +35786,12 @@ func (m *CompleteSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -35381,7 +35814,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35409,7 +35842,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35423,11 +35856,11 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35441,7 +35874,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35461,7 +35894,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35481,7 +35914,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
m.Type = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35500,7 +35933,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35514,11 +35947,11 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35532,7 +35965,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35545,11 +35978,11 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35568,7 +36001,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35582,11 +36015,11 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35600,7 +36033,7 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35614,11 +36047,11 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35627,12 +36060,12 @@ func (m *CreateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -35655,7 +36088,7 @@ func (m *CreateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35683,7 +36116,7 @@ func (m *CreateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35696,11 +36129,11 @@ func (m *CreateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35714,12 +36147,12 @@ func (m *CreateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -35742,7 +36175,7 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35770,7 +36203,7 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35784,11 +36217,11 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35802,7 +36235,7 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35816,11 +36249,11 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35834,7 +36267,7 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35854,7 +36287,7 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35869,12 +36302,12 @@ func (m *CreateShardRequest) UnmarshalVT(dAtA []byte) error {
m.IncludeParent = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -35897,7 +36330,7 @@ func (m *CreateShardResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35925,7 +36358,7 @@ func (m *CreateShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35938,11 +36371,11 @@ func (m *CreateShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35961,7 +36394,7 @@ func (m *CreateShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -35974,11 +36407,11 @@ func (m *CreateShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -35997,7 +36430,7 @@ func (m *CreateShardResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36012,12 +36445,12 @@ func (m *CreateShardResponse) UnmarshalVT(dAtA []byte) error {
m.ShardAlreadyExists = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36040,7 +36473,7 @@ func (m *DeleteCellInfoRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36068,7 +36501,7 @@ func (m *DeleteCellInfoRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36082,11 +36515,11 @@ func (m *DeleteCellInfoRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -36100,7 +36533,7 @@ func (m *DeleteCellInfoRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36115,12 +36548,12 @@ func (m *DeleteCellInfoRequest) UnmarshalVT(dAtA []byte) error {
m.Force = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36143,7 +36576,7 @@ func (m *DeleteCellInfoResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36166,12 +36599,12 @@ func (m *DeleteCellInfoResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36194,7 +36627,7 @@ func (m *DeleteCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36222,7 +36655,7 @@ func (m *DeleteCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36236,11 +36669,11 @@ func (m *DeleteCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -36249,12 +36682,12 @@ func (m *DeleteCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36277,7 +36710,7 @@ func (m *DeleteCellsAliasResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36300,12 +36733,12 @@ func (m *DeleteCellsAliasResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36328,7 +36761,7 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36356,7 +36789,7 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36370,11 +36803,11 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -36388,7 +36821,7 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36408,7 +36841,7 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36423,12 +36856,12 @@ func (m *DeleteKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
m.Force = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36451,7 +36884,7 @@ func (m *DeleteKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36474,12 +36907,12 @@ func (m *DeleteKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36502,7 +36935,7 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36530,7 +36963,7 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36543,11 +36976,11 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -36564,7 +36997,7 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36584,7 +37017,7 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36604,7 +37037,7 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36619,12 +37052,12 @@ func (m *DeleteShardsRequest) UnmarshalVT(dAtA []byte) error {
m.Force = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36647,7 +37080,7 @@ func (m *DeleteShardsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36670,12 +37103,12 @@ func (m *DeleteShardsResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36698,7 +37131,7 @@ func (m *DeleteSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36726,7 +37159,7 @@ func (m *DeleteSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36740,11 +37173,11 @@ func (m *DeleteSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -36753,12 +37186,12 @@ func (m *DeleteSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36781,7 +37214,7 @@ func (m *DeleteSrvVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36804,12 +37237,12 @@ func (m *DeleteSrvVSchemaResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36832,7 +37265,7 @@ func (m *DeleteTabletsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36860,7 +37293,7 @@ func (m *DeleteTabletsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36873,11 +37306,11 @@ func (m *DeleteTabletsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -36894,7 +37327,7 @@ func (m *DeleteTabletsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36909,12 +37342,12 @@ func (m *DeleteTabletsRequest) UnmarshalVT(dAtA []byte) error {
m.AllowPrimary = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36937,7 +37370,7 @@ func (m *DeleteTabletsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -36960,12 +37393,12 @@ func (m *DeleteTabletsResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -36988,7 +37421,7 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37016,7 +37449,7 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37030,11 +37463,11 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37048,7 +37481,7 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37062,11 +37495,11 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37080,7 +37513,7 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37093,11 +37526,11 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37116,7 +37549,7 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37129,11 +37562,11 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37150,7 +37583,7 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37163,11 +37596,11 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37186,7 +37619,7 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37206,7 +37639,7 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37221,12 +37654,12 @@ func (m *EmergencyReparentShardRequest) UnmarshalVT(dAtA []byte) error {
m.WaitForAllTablets = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -37249,7 +37682,7 @@ func (m *EmergencyReparentShardResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37277,7 +37710,7 @@ func (m *EmergencyReparentShardResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37291,11 +37724,11 @@ func (m *EmergencyReparentShardResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37309,7 +37742,7 @@ func (m *EmergencyReparentShardResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37323,11 +37756,11 @@ func (m *EmergencyReparentShardResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37341,7 +37774,7 @@ func (m *EmergencyReparentShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37354,11 +37787,11 @@ func (m *EmergencyReparentShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37377,7 +37810,7 @@ func (m *EmergencyReparentShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37390,11 +37823,11 @@ func (m *EmergencyReparentShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37406,12 +37839,12 @@ func (m *EmergencyReparentShardResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -37434,7 +37867,7 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37462,7 +37895,7 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37475,11 +37908,11 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37498,7 +37931,7 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37512,11 +37945,11 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37530,7 +37963,7 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
m.MaxRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37549,7 +37982,7 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37564,12 +37997,12 @@ func (m *ExecuteFetchAsAppRequest) UnmarshalVT(dAtA []byte) error {
m.UsePool = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -37592,7 +38025,7 @@ func (m *ExecuteFetchAsAppResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37620,7 +38053,7 @@ func (m *ExecuteFetchAsAppResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37633,11 +38066,11 @@ func (m *ExecuteFetchAsAppResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37651,12 +38084,12 @@ func (m *ExecuteFetchAsAppResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -37679,7 +38112,7 @@ func (m *ExecuteFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37707,7 +38140,7 @@ func (m *ExecuteFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37720,11 +38153,11 @@ func (m *ExecuteFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37743,7 +38176,7 @@ func (m *ExecuteFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37757,11 +38190,11 @@ func (m *ExecuteFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37775,7 +38208,7 @@ func (m *ExecuteFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
m.MaxRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37794,7 +38227,7 @@ func (m *ExecuteFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37814,7 +38247,7 @@ func (m *ExecuteFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37829,12 +38262,12 @@ func (m *ExecuteFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
m.ReloadSchema = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -37857,7 +38290,7 @@ func (m *ExecuteFetchAsDBAResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37885,7 +38318,7 @@ func (m *ExecuteFetchAsDBAResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37898,11 +38331,11 @@ func (m *ExecuteFetchAsDBAResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -37916,12 +38349,12 @@ func (m *ExecuteFetchAsDBAResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -37944,7 +38377,7 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37972,7 +38405,7 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -37985,11 +38418,11 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -38008,7 +38441,7 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38021,11 +38454,11 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -38039,12 +38472,12 @@ func (m *ExecuteHookRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -38067,7 +38500,7 @@ func (m *ExecuteHookResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38095,7 +38528,7 @@ func (m *ExecuteHookResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38108,11 +38541,11 @@ func (m *ExecuteHookResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -38126,12 +38559,12 @@ func (m *ExecuteHookResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -38154,7 +38587,7 @@ func (m *ExecuteMultiFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38182,7 +38615,7 @@ func (m *ExecuteMultiFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38195,11 +38628,11 @@ func (m *ExecuteMultiFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -38218,7 +38651,7 @@ func (m *ExecuteMultiFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38232,11 +38665,11 @@ func (m *ExecuteMultiFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -38250,7 +38683,7 @@ func (m *ExecuteMultiFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
m.MaxRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38269,7 +38702,7 @@ func (m *ExecuteMultiFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38289,7 +38722,7 @@ func (m *ExecuteMultiFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38304,12 +38737,12 @@ func (m *ExecuteMultiFetchAsDBARequest) UnmarshalVT(dAtA []byte) error {
m.ReloadSchema = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -38332,7 +38765,7 @@ func (m *ExecuteMultiFetchAsDBAResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38360,7 +38793,7 @@ func (m *ExecuteMultiFetchAsDBAResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38373,11 +38806,11 @@ func (m *ExecuteMultiFetchAsDBAResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -38389,12 +38822,12 @@ func (m *ExecuteMultiFetchAsDBAResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -38417,7 +38850,7 @@ func (m *FindAllShardsInKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38445,7 +38878,7 @@ func (m *FindAllShardsInKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38459,11 +38892,11 @@ func (m *FindAllShardsInKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -38472,12 +38905,12 @@ func (m *FindAllShardsInKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -38500,7 +38933,7 @@ func (m *FindAllShardsInKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38528,7 +38961,7 @@ func (m *FindAllShardsInKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38541,11 +38974,11 @@ func (m *FindAllShardsInKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -38560,7 +38993,7 @@ func (m *FindAllShardsInKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38577,7 +39010,7 @@ func (m *FindAllShardsInKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38591,11 +39024,11 @@ func (m *FindAllShardsInKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -38606,7 +39039,7 @@ func (m *FindAllShardsInKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38619,11 +39052,11 @@ func (m *FindAllShardsInKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -38635,12 +39068,12 @@ func (m *FindAllShardsInKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -38652,12 +39085,12 @@ func (m *FindAllShardsInKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -38680,7 +39113,7 @@ func (m *ForceCutOverSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38708,7 +39141,7 @@ func (m *ForceCutOverSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38722,11 +39155,11 @@ func (m *ForceCutOverSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -38740,7 +39173,7 @@ func (m *ForceCutOverSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38754,11 +39187,11 @@ func (m *ForceCutOverSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -38767,12 +39200,12 @@ func (m *ForceCutOverSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -38795,7 +39228,7 @@ func (m *ForceCutOverSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38823,7 +39256,7 @@ func (m *ForceCutOverSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38836,11 +39269,11 @@ func (m *ForceCutOverSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -38855,7 +39288,7 @@ func (m *ForceCutOverSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38872,7 +39305,7 @@ func (m *ForceCutOverSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38886,11 +39319,11 @@ func (m *ForceCutOverSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -38900,7 +39333,7 @@ func (m *ForceCutOverSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
} else if fieldNum == 2 {
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38914,12 +39347,12 @@ func (m *ForceCutOverSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -38931,12 +39364,12 @@ func (m *ForceCutOverSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -38959,7 +39392,7 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -38987,7 +39420,7 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39001,11 +39434,11 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -39019,7 +39452,7 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39033,11 +39466,11 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -39051,7 +39484,7 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
m.Limit = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39070,7 +39503,7 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39090,7 +39523,7 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
m.DetailedLimit = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39104,12 +39537,12 @@ func (m *GetBackupsRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -39132,7 +39565,7 @@ func (m *GetBackupsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39160,7 +39593,7 @@ func (m *GetBackupsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39173,11 +39606,11 @@ func (m *GetBackupsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -39189,12 +39622,12 @@ func (m *GetBackupsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -39217,7 +39650,7 @@ func (m *GetCellInfoRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39245,7 +39678,7 @@ func (m *GetCellInfoRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39259,11 +39692,11 @@ func (m *GetCellInfoRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -39272,12 +39705,12 @@ func (m *GetCellInfoRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -39300,7 +39733,7 @@ func (m *GetCellInfoResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39328,7 +39761,7 @@ func (m *GetCellInfoResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39341,11 +39774,11 @@ func (m *GetCellInfoResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -39359,12 +39792,12 @@ func (m *GetCellInfoResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -39387,7 +39820,7 @@ func (m *GetCellInfoNamesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39410,12 +39843,12 @@ func (m *GetCellInfoNamesRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -39438,7 +39871,7 @@ func (m *GetCellInfoNamesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39466,7 +39899,7 @@ func (m *GetCellInfoNamesResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39480,11 +39913,11 @@ func (m *GetCellInfoNamesResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -39493,12 +39926,12 @@ func (m *GetCellInfoNamesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -39521,7 +39954,7 @@ func (m *GetCellsAliasesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39544,12 +39977,12 @@ func (m *GetCellsAliasesRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -39572,7 +40005,7 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39600,7 +40033,7 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39613,11 +40046,11 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -39632,7 +40065,7 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39649,7 +40082,7 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39663,11 +40096,11 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -39678,7 +40111,7 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39691,11 +40124,11 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -39707,12 +40140,12 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -39724,12 +40157,12 @@ func (m *GetCellsAliasesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -39752,7 +40185,7 @@ func (m *GetFullStatusRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39780,7 +40213,7 @@ func (m *GetFullStatusRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39793,11 +40226,11 @@ func (m *GetFullStatusRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -39811,12 +40244,12 @@ func (m *GetFullStatusRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -39839,7 +40272,7 @@ func (m *GetFullStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39867,7 +40300,7 @@ func (m *GetFullStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39880,11 +40313,11 @@ func (m *GetFullStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -39898,12 +40331,12 @@ func (m *GetFullStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -39926,7 +40359,7 @@ func (m *GetKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -39949,12 +40382,12 @@ func (m *GetKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -39977,7 +40410,7 @@ func (m *GetKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40005,7 +40438,7 @@ func (m *GetKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40018,11 +40451,11 @@ func (m *GetKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -40034,12 +40467,12 @@ func (m *GetKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -40062,7 +40495,7 @@ func (m *GetKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40090,7 +40523,7 @@ func (m *GetKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40104,11 +40537,11 @@ func (m *GetKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -40117,12 +40550,12 @@ func (m *GetKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -40145,7 +40578,7 @@ func (m *GetKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40173,7 +40606,7 @@ func (m *GetKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40186,11 +40619,11 @@ func (m *GetKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -40204,12 +40637,12 @@ func (m *GetKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -40232,7 +40665,7 @@ func (m *GetPermissionsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40260,7 +40693,7 @@ func (m *GetPermissionsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40273,11 +40706,11 @@ func (m *GetPermissionsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -40291,12 +40724,12 @@ func (m *GetPermissionsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -40319,7 +40752,7 @@ func (m *GetPermissionsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40347,7 +40780,7 @@ func (m *GetPermissionsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40360,11 +40793,11 @@ func (m *GetPermissionsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -40378,12 +40811,12 @@ func (m *GetPermissionsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -40406,7 +40839,7 @@ func (m *GetKeyspaceRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40429,12 +40862,12 @@ func (m *GetKeyspaceRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -40457,7 +40890,7 @@ func (m *GetKeyspaceRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40485,7 +40918,7 @@ func (m *GetKeyspaceRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40498,11 +40931,11 @@ func (m *GetKeyspaceRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -40516,12 +40949,12 @@ func (m *GetKeyspaceRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -40544,7 +40977,7 @@ func (m *GetRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40567,12 +41000,12 @@ func (m *GetRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -40595,7 +41028,7 @@ func (m *GetRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40623,7 +41056,7 @@ func (m *GetRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40636,11 +41069,11 @@ func (m *GetRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -40654,12 +41087,12 @@ func (m *GetRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -40682,7 +41115,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40710,7 +41143,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40723,11 +41156,11 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -40746,7 +41179,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40760,11 +41193,11 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -40778,7 +41211,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40792,11 +41225,11 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -40810,7 +41243,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40830,7 +41263,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40850,7 +41283,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40870,7 +41303,7 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40885,12 +41318,12 @@ func (m *GetSchemaRequest) UnmarshalVT(dAtA []byte) error {
m.TableSchemaOnly = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -40913,7 +41346,7 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40941,7 +41374,7 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -40954,11 +41387,11 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -40972,12 +41405,12 @@ func (m *GetSchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -41000,7 +41433,7 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41028,7 +41461,7 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41042,11 +41475,11 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41060,7 +41493,7 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41074,11 +41507,11 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41092,7 +41525,7 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41106,11 +41539,11 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41124,7 +41557,7 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
m.Status = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41143,7 +41576,7 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41156,11 +41589,11 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41179,7 +41612,7 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
m.Order = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41198,7 +41631,7 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
m.Limit = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41217,7 +41650,7 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
m.Skip = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41231,12 +41664,12 @@ func (m *GetSchemaMigrationsRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -41259,7 +41692,7 @@ func (m *GetSchemaMigrationsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41287,7 +41720,7 @@ func (m *GetSchemaMigrationsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41300,11 +41733,11 @@ func (m *GetSchemaMigrationsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41316,12 +41749,12 @@ func (m *GetSchemaMigrationsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -41344,7 +41777,7 @@ func (m *GetShardReplicationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41372,7 +41805,7 @@ func (m *GetShardReplicationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41386,11 +41819,11 @@ func (m *GetShardReplicationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41404,7 +41837,7 @@ func (m *GetShardReplicationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41418,11 +41851,11 @@ func (m *GetShardReplicationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41436,7 +41869,7 @@ func (m *GetShardReplicationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41450,11 +41883,11 @@ func (m *GetShardReplicationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41463,12 +41896,12 @@ func (m *GetShardReplicationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -41491,7 +41924,7 @@ func (m *GetShardReplicationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41519,7 +41952,7 @@ func (m *GetShardReplicationResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41532,11 +41965,11 @@ func (m *GetShardReplicationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41551,7 +41984,7 @@ func (m *GetShardReplicationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41568,7 +42001,7 @@ func (m *GetShardReplicationResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41582,11 +42015,11 @@ func (m *GetShardReplicationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -41597,7 +42030,7 @@ func (m *GetShardReplicationResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41610,11 +42043,11 @@ func (m *GetShardReplicationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -41626,12 +42059,12 @@ func (m *GetShardReplicationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -41643,12 +42076,12 @@ func (m *GetShardReplicationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -41671,7 +42104,7 @@ func (m *GetShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41699,7 +42132,7 @@ func (m *GetShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41713,11 +42146,11 @@ func (m *GetShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41731,7 +42164,7 @@ func (m *GetShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41745,11 +42178,11 @@ func (m *GetShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41758,12 +42191,12 @@ func (m *GetShardRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -41786,7 +42219,7 @@ func (m *GetShardResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41814,7 +42247,7 @@ func (m *GetShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41827,11 +42260,11 @@ func (m *GetShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41845,12 +42278,12 @@ func (m *GetShardResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -41873,7 +42306,7 @@ func (m *GetShardRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41896,12 +42329,12 @@ func (m *GetShardRoutingRulesRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -41924,7 +42357,7 @@ func (m *GetShardRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41952,7 +42385,7 @@ func (m *GetShardRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -41965,11 +42398,11 @@ func (m *GetShardRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -41983,12 +42416,12 @@ func (m *GetShardRoutingRulesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -42011,7 +42444,7 @@ func (m *GetSrvKeyspaceNamesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42039,7 +42472,7 @@ func (m *GetSrvKeyspaceNamesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42053,11 +42486,11 @@ func (m *GetSrvKeyspaceNamesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42066,12 +42499,12 @@ func (m *GetSrvKeyspaceNamesRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -42094,7 +42527,7 @@ func (m *GetSrvKeyspaceNamesResponse_NameList) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42122,7 +42555,7 @@ func (m *GetSrvKeyspaceNamesResponse_NameList) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42136,11 +42569,11 @@ func (m *GetSrvKeyspaceNamesResponse_NameList) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42149,12 +42582,12 @@ func (m *GetSrvKeyspaceNamesResponse_NameList) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -42177,7 +42610,7 @@ func (m *GetSrvKeyspaceNamesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42205,7 +42638,7 @@ func (m *GetSrvKeyspaceNamesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42218,11 +42651,11 @@ func (m *GetSrvKeyspaceNamesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42237,7 +42670,7 @@ func (m *GetSrvKeyspaceNamesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42254,7 +42687,7 @@ func (m *GetSrvKeyspaceNamesResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42268,11 +42701,11 @@ func (m *GetSrvKeyspaceNamesResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -42283,7 +42716,7 @@ func (m *GetSrvKeyspaceNamesResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42296,11 +42729,11 @@ func (m *GetSrvKeyspaceNamesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -42312,12 +42745,12 @@ func (m *GetSrvKeyspaceNamesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -42329,12 +42762,12 @@ func (m *GetSrvKeyspaceNamesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -42357,7 +42790,7 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42385,7 +42818,7 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42399,11 +42832,11 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42417,7 +42850,7 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42431,11 +42864,11 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42444,12 +42877,12 @@ func (m *GetSrvKeyspacesRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -42472,7 +42905,7 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42500,7 +42933,7 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42513,11 +42946,11 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42532,7 +42965,7 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42549,7 +42982,7 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42563,11 +42996,11 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -42578,7 +43011,7 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42591,11 +43024,11 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -42607,12 +43040,12 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -42624,12 +43057,12 @@ func (m *GetSrvKeyspacesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -42652,7 +43085,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42680,7 +43113,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42694,11 +43127,11 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42712,7 +43145,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42732,7 +43165,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42763,7 +43196,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42777,11 +43210,11 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42795,7 +43228,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42815,7 +43248,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42835,7 +43268,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42855,7 +43288,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42868,11 +43301,11 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42891,7 +43324,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42905,11 +43338,11 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42923,7 +43356,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42937,11 +43370,11 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42955,7 +43388,7 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -42969,11 +43402,11 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -42982,12 +43415,12 @@ func (m *UpdateThrottlerConfigRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -43010,7 +43443,7 @@ func (m *UpdateThrottlerConfigResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43033,12 +43466,12 @@ func (m *UpdateThrottlerConfigResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -43061,7 +43494,7 @@ func (m *GetSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43089,7 +43522,7 @@ func (m *GetSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43103,11 +43536,11 @@ func (m *GetSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -43116,12 +43549,12 @@ func (m *GetSrvVSchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -43144,7 +43577,7 @@ func (m *GetSrvVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43172,7 +43605,7 @@ func (m *GetSrvVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43185,11 +43618,11 @@ func (m *GetSrvVSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -43203,12 +43636,12 @@ func (m *GetSrvVSchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -43231,7 +43664,7 @@ func (m *GetSrvVSchemasRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43259,7 +43692,7 @@ func (m *GetSrvVSchemasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43273,11 +43706,11 @@ func (m *GetSrvVSchemasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -43286,12 +43719,12 @@ func (m *GetSrvVSchemasRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -43314,7 +43747,7 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43342,7 +43775,7 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43355,11 +43788,11 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -43374,7 +43807,7 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43391,7 +43824,7 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43405,11 +43838,11 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -43420,7 +43853,7 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43433,11 +43866,11 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -43449,12 +43882,12 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -43466,12 +43899,12 @@ func (m *GetSrvVSchemasResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -43494,7 +43927,7 @@ func (m *GetTabletRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43522,7 +43955,7 @@ func (m *GetTabletRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43535,11 +43968,11 @@ func (m *GetTabletRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -43553,12 +43986,12 @@ func (m *GetTabletRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -43581,7 +44014,7 @@ func (m *GetTabletResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43609,7 +44042,7 @@ func (m *GetTabletResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43622,11 +44055,11 @@ func (m *GetTabletResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -43640,12 +44073,12 @@ func (m *GetTabletResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -43668,7 +44101,7 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43696,7 +44129,7 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43710,11 +44143,11 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -43728,7 +44161,7 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43742,11 +44175,11 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -43760,7 +44193,7 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43774,11 +44207,11 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -43792,7 +44225,7 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43812,7 +44245,7 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43825,11 +44258,11 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -43846,7 +44279,7 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
m.TabletType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43860,12 +44293,12 @@ func (m *GetTabletsRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -43888,7 +44321,7 @@ func (m *GetTabletsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43916,7 +44349,7 @@ func (m *GetTabletsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -43929,11 +44362,11 @@ func (m *GetTabletsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -43945,12 +44378,12 @@ func (m *GetTabletsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -43973,7 +44406,7 @@ func (m *GetThrottlerStatusRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44001,7 +44434,7 @@ func (m *GetThrottlerStatusRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44014,11 +44447,11 @@ func (m *GetThrottlerStatusRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44032,12 +44465,12 @@ func (m *GetThrottlerStatusRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -44060,7 +44493,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44088,7 +44521,7 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44101,11 +44534,11 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44119,12 +44552,12 @@ func (m *GetThrottlerStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -44147,7 +44580,7 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44175,7 +44608,7 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44189,11 +44622,11 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44207,7 +44640,7 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
m.Version = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44226,7 +44659,7 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44241,12 +44674,12 @@ func (m *GetTopologyPathRequest) UnmarshalVT(dAtA []byte) error {
m.AsJson = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -44269,7 +44702,7 @@ func (m *GetTopologyPathResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44297,7 +44730,7 @@ func (m *GetTopologyPathResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44310,11 +44743,11 @@ func (m *GetTopologyPathResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44328,12 +44761,12 @@ func (m *GetTopologyPathResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -44356,7 +44789,7 @@ func (m *TopologyCell) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44384,7 +44817,7 @@ func (m *TopologyCell) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44398,11 +44831,11 @@ func (m *TopologyCell) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44416,7 +44849,7 @@ func (m *TopologyCell) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44430,11 +44863,11 @@ func (m *TopologyCell) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44448,7 +44881,7 @@ func (m *TopologyCell) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44462,11 +44895,11 @@ func (m *TopologyCell) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44480,7 +44913,296 @@ func (m *TopologyCell) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Children = append(m.Children, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
+ }
+ m.Version = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.Version |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *GetUnresolvedTransactionsRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: GetUnresolvedTransactionsRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: GetUnresolvedTransactionsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Keyspace", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Keyspace = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AbandonAge", wireType)
+ }
+ m.AbandonAge = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.AbandonAge |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *GetUnresolvedTransactionsResponse) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: GetUnresolvedTransactionsResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: GetUnresolvedTransactionsResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Transactions", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Transactions = append(m.Transactions, &query.TransactionMetadata{})
+ if err := m.Transactions[len(m.Transactions)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ConcludeTransactionRequest) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ConcludeTransactionRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ConcludeTransactionRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Dtid", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44494,44 +45216,110 @@ func (m *TopologyCell) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Children = append(m.Children, string(dAtA[iNdEx:postIndex]))
+ m.Dtid = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
- case 5:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Participants", wireType)
}
- m.Version = 0
+ var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
- m.Version |= int64(b&0x7F) << shift
+ msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Participants = append(m.Participants, &query.Target{})
+ if err := m.Participants[len(m.Participants)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if (skippy < 0) || (iNdEx+skippy) < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ConcludeTransactionResponse) UnmarshalVT(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ConcludeTransactionResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ConcludeTransactionResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -44554,7 +45342,7 @@ func (m *GetVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44582,7 +45370,7 @@ func (m *GetVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44596,11 +45384,11 @@ func (m *GetVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44609,12 +45397,12 @@ func (m *GetVSchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -44637,7 +45425,7 @@ func (m *GetVersionRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44665,7 +45453,7 @@ func (m *GetVersionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44678,11 +45466,11 @@ func (m *GetVersionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44696,12 +45484,12 @@ func (m *GetVersionRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -44724,7 +45512,7 @@ func (m *GetVersionResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44752,7 +45540,7 @@ func (m *GetVersionResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44766,11 +45554,11 @@ func (m *GetVersionResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44779,12 +45567,12 @@ func (m *GetVersionResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -44807,7 +45595,7 @@ func (m *GetVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44835,7 +45623,7 @@ func (m *GetVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44848,11 +45636,11 @@ func (m *GetVSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44866,12 +45654,12 @@ func (m *GetVSchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -44894,7 +45682,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44922,7 +45710,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44936,11 +45724,11 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -44954,7 +45742,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44974,7 +45762,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -44994,7 +45782,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45008,11 +45796,11 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45026,7 +45814,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45046,7 +45834,7 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45060,11 +45848,11 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45073,12 +45861,12 @@ func (m *GetWorkflowsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -45101,7 +45889,7 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45129,7 +45917,7 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45142,11 +45930,11 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45158,12 +45946,12 @@ func (m *GetWorkflowsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -45186,7 +45974,7 @@ func (m *InitShardPrimaryRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45214,7 +46002,7 @@ func (m *InitShardPrimaryRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45228,11 +46016,11 @@ func (m *InitShardPrimaryRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45246,7 +46034,7 @@ func (m *InitShardPrimaryRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45260,11 +46048,11 @@ func (m *InitShardPrimaryRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45278,7 +46066,7 @@ func (m *InitShardPrimaryRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45291,11 +46079,11 @@ func (m *InitShardPrimaryRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45314,7 +46102,7 @@ func (m *InitShardPrimaryRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45334,7 +46122,7 @@ func (m *InitShardPrimaryRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45347,11 +46135,11 @@ func (m *InitShardPrimaryRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45365,12 +46153,12 @@ func (m *InitShardPrimaryRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -45393,7 +46181,7 @@ func (m *InitShardPrimaryResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45421,7 +46209,7 @@ func (m *InitShardPrimaryResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45434,11 +46222,11 @@ func (m *InitShardPrimaryResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45450,12 +46238,12 @@ func (m *InitShardPrimaryResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -45478,7 +46266,7 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45506,7 +46294,7 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45520,11 +46308,11 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45538,7 +46326,7 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45552,11 +46340,11 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45565,12 +46353,12 @@ func (m *LaunchSchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -45593,7 +46381,7 @@ func (m *LaunchSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45621,7 +46409,7 @@ func (m *LaunchSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45634,11 +46422,11 @@ func (m *LaunchSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45653,7 +46441,7 @@ func (m *LaunchSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45670,7 +46458,7 @@ func (m *LaunchSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45684,11 +46472,11 @@ func (m *LaunchSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -45698,7 +46486,7 @@ func (m *LaunchSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
} else if fieldNum == 2 {
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45712,12 +46500,12 @@ func (m *LaunchSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -45729,12 +46517,12 @@ func (m *LaunchSchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -45757,7 +46545,7 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45785,7 +46573,7 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45799,11 +46587,11 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45817,7 +46605,7 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45831,11 +46619,11 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45849,7 +46637,7 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45863,11 +46651,11 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45881,7 +46669,7 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45894,11 +46682,11 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45917,7 +46705,7 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45935,7 +46723,7 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45952,7 +46740,7 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -45965,11 +46753,11 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -45982,7 +46770,7 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46006,7 +46794,7 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
m.TabletSelectionPreference = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46020,12 +46808,12 @@ func (m *LookupVindexCreateRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -46048,7 +46836,7 @@ func (m *LookupVindexCreateResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46071,12 +46859,12 @@ func (m *LookupVindexCreateResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -46099,7 +46887,7 @@ func (m *LookupVindexExternalizeRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46127,7 +46915,7 @@ func (m *LookupVindexExternalizeRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46141,11 +46929,11 @@ func (m *LookupVindexExternalizeRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46159,7 +46947,7 @@ func (m *LookupVindexExternalizeRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46173,11 +46961,11 @@ func (m *LookupVindexExternalizeRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46191,7 +46979,7 @@ func (m *LookupVindexExternalizeRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46205,11 +46993,11 @@ func (m *LookupVindexExternalizeRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46218,12 +47006,12 @@ func (m *LookupVindexExternalizeRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -46246,7 +47034,7 @@ func (m *LookupVindexExternalizeResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46274,7 +47062,7 @@ func (m *LookupVindexExternalizeResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46289,12 +47077,12 @@ func (m *LookupVindexExternalizeResponse) UnmarshalVT(dAtA []byte) error {
m.WorkflowDeleted = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -46317,7 +47105,7 @@ func (m *MaterializeCreateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46345,7 +47133,7 @@ func (m *MaterializeCreateRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46358,11 +47146,11 @@ func (m *MaterializeCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46376,12 +47164,12 @@ func (m *MaterializeCreateRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -46404,7 +47192,7 @@ func (m *MaterializeCreateResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46427,12 +47215,12 @@ func (m *MaterializeCreateResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -46455,7 +47243,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46483,7 +47271,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46497,11 +47285,11 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46515,7 +47303,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46529,11 +47317,11 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46547,7 +47335,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46561,11 +47349,11 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46579,7 +47367,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46593,11 +47381,11 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46611,7 +47399,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46625,11 +47413,11 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46641,7 +47429,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46658,7 +47446,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46671,11 +47459,11 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46688,7 +47476,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46712,7 +47500,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
m.TabletSelectionPreference = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46731,7 +47519,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46751,7 +47539,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46765,11 +47553,11 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46783,7 +47571,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46797,11 +47585,11 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46815,7 +47603,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46829,11 +47617,11 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46847,7 +47635,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46861,11 +47649,11 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -46879,7 +47667,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46899,7 +47687,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46919,7 +47707,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46939,7 +47727,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46959,7 +47747,7 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -46974,12 +47762,12 @@ func (m *MigrateCreateRequest) UnmarshalVT(dAtA []byte) error {
m.NoRoutingRules = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -47002,7 +47790,7 @@ func (m *MigrateCompleteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47030,7 +47818,7 @@ func (m *MigrateCompleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47044,11 +47832,11 @@ func (m *MigrateCompleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47062,7 +47850,7 @@ func (m *MigrateCompleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47076,11 +47864,11 @@ func (m *MigrateCompleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47094,7 +47882,7 @@ func (m *MigrateCompleteRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47114,7 +47902,7 @@ func (m *MigrateCompleteRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47134,7 +47922,7 @@ func (m *MigrateCompleteRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47154,7 +47942,7 @@ func (m *MigrateCompleteRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47169,12 +47957,12 @@ func (m *MigrateCompleteRequest) UnmarshalVT(dAtA []byte) error {
m.DryRun = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -47197,7 +47985,7 @@ func (m *MigrateCompleteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47225,7 +48013,7 @@ func (m *MigrateCompleteResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47239,11 +48027,11 @@ func (m *MigrateCompleteResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47257,7 +48045,7 @@ func (m *MigrateCompleteResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47271,11 +48059,11 @@ func (m *MigrateCompleteResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47284,12 +48072,12 @@ func (m *MigrateCompleteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -47312,7 +48100,7 @@ func (m *MountRegisterRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47340,7 +48128,7 @@ func (m *MountRegisterRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47354,11 +48142,11 @@ func (m *MountRegisterRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47372,7 +48160,7 @@ func (m *MountRegisterRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47386,11 +48174,11 @@ func (m *MountRegisterRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47404,7 +48192,7 @@ func (m *MountRegisterRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47418,11 +48206,11 @@ func (m *MountRegisterRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47436,7 +48224,7 @@ func (m *MountRegisterRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47450,11 +48238,11 @@ func (m *MountRegisterRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47463,12 +48251,12 @@ func (m *MountRegisterRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -47491,7 +48279,7 @@ func (m *MountRegisterResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47514,12 +48302,12 @@ func (m *MountRegisterResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -47542,7 +48330,7 @@ func (m *MountUnregisterRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47570,7 +48358,7 @@ func (m *MountUnregisterRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47584,11 +48372,11 @@ func (m *MountUnregisterRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47597,12 +48385,12 @@ func (m *MountUnregisterRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -47625,7 +48413,7 @@ func (m *MountUnregisterResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47648,12 +48436,12 @@ func (m *MountUnregisterResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -47676,7 +48464,7 @@ func (m *MountShowRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47704,7 +48492,7 @@ func (m *MountShowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47718,11 +48506,11 @@ func (m *MountShowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47731,12 +48519,12 @@ func (m *MountShowRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -47759,7 +48547,7 @@ func (m *MountShowResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47787,7 +48575,7 @@ func (m *MountShowResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47801,11 +48589,11 @@ func (m *MountShowResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47819,7 +48607,7 @@ func (m *MountShowResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47833,11 +48621,11 @@ func (m *MountShowResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47851,7 +48639,7 @@ func (m *MountShowResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47865,11 +48653,11 @@ func (m *MountShowResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47883,7 +48671,7 @@ func (m *MountShowResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47897,11 +48685,11 @@ func (m *MountShowResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -47910,12 +48698,12 @@ func (m *MountShowResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -47938,7 +48726,7 @@ func (m *MountListRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -47961,12 +48749,12 @@ func (m *MountListRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -47989,7 +48777,7 @@ func (m *MountListResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48017,7 +48805,7 @@ func (m *MountListResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48031,11 +48819,11 @@ func (m *MountListResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48044,12 +48832,12 @@ func (m *MountListResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -48072,7 +48860,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48100,7 +48888,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48114,11 +48902,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48132,7 +48920,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48146,11 +48934,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48164,7 +48952,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48178,11 +48966,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48196,7 +48984,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48210,11 +48998,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48226,7 +49014,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48243,7 +49031,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48256,11 +49044,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48273,7 +49061,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48297,7 +49085,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
m.TabletSelectionPreference = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48316,7 +49104,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48330,11 +49118,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48348,7 +49136,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48368,7 +49156,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48382,11 +49170,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48400,7 +49188,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48414,11 +49202,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48432,7 +49220,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48446,11 +49234,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48464,7 +49252,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48478,11 +49266,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48496,7 +49284,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48510,11 +49298,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48528,7 +49316,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48548,7 +49336,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48568,7 +49356,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48588,7 +49376,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48608,7 +49396,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48628,7 +49416,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48648,7 +49436,7 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48661,11 +49449,11 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48679,12 +49467,12 @@ func (m *MoveTablesCreateRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -48707,7 +49495,7 @@ func (m *MoveTablesCreateResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48735,7 +49523,7 @@ func (m *MoveTablesCreateResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48748,11 +49536,11 @@ func (m *MoveTablesCreateResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48771,7 +49559,7 @@ func (m *MoveTablesCreateResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48786,12 +49574,12 @@ func (m *MoveTablesCreateResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
m.Created = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -48814,7 +49602,7 @@ func (m *MoveTablesCreateResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48842,7 +49630,7 @@ func (m *MoveTablesCreateResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48856,11 +49644,11 @@ func (m *MoveTablesCreateResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48874,7 +49662,7 @@ func (m *MoveTablesCreateResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48887,11 +49675,11 @@ func (m *MoveTablesCreateResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48903,12 +49691,12 @@ func (m *MoveTablesCreateResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -48931,7 +49719,7 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48959,7 +49747,7 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -48973,11 +49761,11 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -48991,7 +49779,7 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49005,11 +49793,11 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49023,7 +49811,7 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49043,7 +49831,7 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49063,7 +49851,7 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49083,7 +49871,7 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49103,7 +49891,7 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49117,11 +49905,11 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49130,12 +49918,12 @@ func (m *MoveTablesCompleteRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -49158,7 +49946,7 @@ func (m *MoveTablesCompleteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49186,7 +49974,7 @@ func (m *MoveTablesCompleteResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49200,11 +49988,11 @@ func (m *MoveTablesCompleteResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49218,7 +50006,7 @@ func (m *MoveTablesCompleteResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49232,11 +50020,11 @@ func (m *MoveTablesCompleteResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49245,12 +50033,12 @@ func (m *MoveTablesCompleteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -49273,7 +50061,7 @@ func (m *PingTabletRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49301,7 +50089,7 @@ func (m *PingTabletRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49314,11 +50102,11 @@ func (m *PingTabletRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49332,12 +50120,12 @@ func (m *PingTabletRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -49360,7 +50148,7 @@ func (m *PingTabletResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49383,12 +50171,12 @@ func (m *PingTabletResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -49411,7 +50199,7 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49439,7 +50227,7 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49453,11 +50241,11 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49471,7 +50259,7 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49485,11 +50273,11 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49503,7 +50291,7 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49516,11 +50304,11 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49539,7 +50327,7 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49552,11 +50340,11 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49575,7 +50363,7 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49588,11 +50376,11 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49611,7 +50399,7 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49624,11 +50412,11 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49647,7 +50435,7 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49662,12 +50450,12 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
m.AllowCrossCellPromotion = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -49690,7 +50478,7 @@ func (m *PlannedReparentShardResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49718,7 +50506,7 @@ func (m *PlannedReparentShardResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49732,11 +50520,11 @@ func (m *PlannedReparentShardResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49750,7 +50538,7 @@ func (m *PlannedReparentShardResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49764,11 +50552,11 @@ func (m *PlannedReparentShardResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49782,7 +50570,7 @@ func (m *PlannedReparentShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49795,11 +50583,11 @@ func (m *PlannedReparentShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49818,7 +50606,7 @@ func (m *PlannedReparentShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49831,11 +50619,11 @@ func (m *PlannedReparentShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49847,12 +50635,12 @@ func (m *PlannedReparentShardResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -49875,7 +50663,7 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49903,7 +50691,7 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49917,11 +50705,11 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49935,7 +50723,7 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49949,11 +50737,11 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -49967,7 +50755,7 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -49982,12 +50770,12 @@ func (m *RebuildKeyspaceGraphRequest) UnmarshalVT(dAtA []byte) error {
m.AllowPartial = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50010,7 +50798,7 @@ func (m *RebuildKeyspaceGraphResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50033,12 +50821,12 @@ func (m *RebuildKeyspaceGraphResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50061,7 +50849,7 @@ func (m *RebuildVSchemaGraphRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50089,7 +50877,7 @@ func (m *RebuildVSchemaGraphRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50103,11 +50891,11 @@ func (m *RebuildVSchemaGraphRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -50116,12 +50904,12 @@ func (m *RebuildVSchemaGraphRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50144,7 +50932,7 @@ func (m *RebuildVSchemaGraphResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50167,12 +50955,12 @@ func (m *RebuildVSchemaGraphResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50195,7 +50983,7 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50223,7 +51011,7 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50236,11 +51024,11 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -50254,12 +51042,12 @@ func (m *RefreshStateRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50282,7 +51070,7 @@ func (m *RefreshStateResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50305,12 +51093,12 @@ func (m *RefreshStateResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50333,7 +51121,7 @@ func (m *RefreshStateByShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50361,7 +51149,7 @@ func (m *RefreshStateByShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50375,11 +51163,11 @@ func (m *RefreshStateByShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -50393,7 +51181,7 @@ func (m *RefreshStateByShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50407,11 +51195,11 @@ func (m *RefreshStateByShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -50425,7 +51213,7 @@ func (m *RefreshStateByShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50439,11 +51227,11 @@ func (m *RefreshStateByShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -50452,12 +51240,12 @@ func (m *RefreshStateByShardRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50480,7 +51268,7 @@ func (m *RefreshStateByShardResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50508,7 +51296,7 @@ func (m *RefreshStateByShardResponse) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50528,7 +51316,7 @@ func (m *RefreshStateByShardResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50542,11 +51330,11 @@ func (m *RefreshStateByShardResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -50555,12 +51343,12 @@ func (m *RefreshStateByShardResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50583,7 +51371,7 @@ func (m *ReloadSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50611,7 +51399,7 @@ func (m *ReloadSchemaRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50624,11 +51412,11 @@ func (m *ReloadSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -50642,12 +51430,12 @@ func (m *ReloadSchemaRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50670,7 +51458,7 @@ func (m *ReloadSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50693,12 +51481,12 @@ func (m *ReloadSchemaResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50721,7 +51509,7 @@ func (m *ReloadSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50749,7 +51537,7 @@ func (m *ReloadSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50763,11 +51551,11 @@ func (m *ReloadSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -50781,7 +51569,7 @@ func (m *ReloadSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50795,11 +51583,11 @@ func (m *ReloadSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -50813,7 +51601,7 @@ func (m *ReloadSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50833,7 +51621,7 @@ func (m *ReloadSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
m.Concurrency = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50847,12 +51635,12 @@ func (m *ReloadSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50875,7 +51663,7 @@ func (m *ReloadSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50903,7 +51691,7 @@ func (m *ReloadSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50916,11 +51704,11 @@ func (m *ReloadSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -50932,12 +51720,12 @@ func (m *ReloadSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -50960,7 +51748,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -50988,7 +51776,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51002,11 +51790,11 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51020,7 +51808,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51034,11 +51822,11 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51052,7 +51840,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51066,11 +51854,11 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51084,7 +51872,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51104,7 +51892,7 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
m.Concurrency = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51118,12 +51906,12 @@ func (m *ReloadSchemaShardRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -51146,7 +51934,7 @@ func (m *ReloadSchemaShardResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51174,7 +51962,7 @@ func (m *ReloadSchemaShardResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51187,11 +51975,11 @@ func (m *ReloadSchemaShardResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51203,12 +51991,12 @@ func (m *ReloadSchemaShardResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -51231,7 +52019,7 @@ func (m *RemoveBackupRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51259,7 +52047,7 @@ func (m *RemoveBackupRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51273,11 +52061,11 @@ func (m *RemoveBackupRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51291,7 +52079,7 @@ func (m *RemoveBackupRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51305,11 +52093,11 @@ func (m *RemoveBackupRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51323,7 +52111,7 @@ func (m *RemoveBackupRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51337,11 +52125,11 @@ func (m *RemoveBackupRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51350,12 +52138,12 @@ func (m *RemoveBackupRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -51378,7 +52166,7 @@ func (m *RemoveBackupResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51401,12 +52189,12 @@ func (m *RemoveBackupResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -51429,7 +52217,7 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51457,7 +52245,7 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51471,11 +52259,11 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51489,7 +52277,7 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51503,11 +52291,11 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51521,7 +52309,7 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51541,7 +52329,7 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51556,12 +52344,12 @@ func (m *RemoveKeyspaceCellRequest) UnmarshalVT(dAtA []byte) error {
m.Recursive = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -51584,7 +52372,7 @@ func (m *RemoveKeyspaceCellResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51607,12 +52395,12 @@ func (m *RemoveKeyspaceCellResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -51635,7 +52423,7 @@ func (m *RemoveShardCellRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51663,7 +52451,7 @@ func (m *RemoveShardCellRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51677,11 +52465,11 @@ func (m *RemoveShardCellRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51695,7 +52483,7 @@ func (m *RemoveShardCellRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51709,11 +52497,11 @@ func (m *RemoveShardCellRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51727,7 +52515,7 @@ func (m *RemoveShardCellRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51741,11 +52529,11 @@ func (m *RemoveShardCellRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51759,7 +52547,7 @@ func (m *RemoveShardCellRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51779,7 +52567,7 @@ func (m *RemoveShardCellRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51794,12 +52582,12 @@ func (m *RemoveShardCellRequest) UnmarshalVT(dAtA []byte) error {
m.Recursive = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -51822,7 +52610,7 @@ func (m *RemoveShardCellResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51845,12 +52633,12 @@ func (m *RemoveShardCellResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -51873,7 +52661,7 @@ func (m *ReparentTabletRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51901,7 +52689,7 @@ func (m *ReparentTabletRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51914,11 +52702,11 @@ func (m *ReparentTabletRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -51932,12 +52720,12 @@ func (m *ReparentTabletRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -51960,7 +52748,7 @@ func (m *ReparentTabletResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -51988,7 +52776,7 @@ func (m *ReparentTabletResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52002,11 +52790,11 @@ func (m *ReparentTabletResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52020,7 +52808,7 @@ func (m *ReparentTabletResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52034,11 +52822,11 @@ func (m *ReparentTabletResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52052,7 +52840,7 @@ func (m *ReparentTabletResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52065,11 +52853,11 @@ func (m *ReparentTabletResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52083,12 +52871,12 @@ func (m *ReparentTabletResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -52111,7 +52899,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52139,7 +52927,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52153,11 +52941,11 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52171,7 +52959,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52185,11 +52973,11 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52203,7 +52991,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52217,11 +53005,11 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52235,7 +53023,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52249,11 +53037,11 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52267,7 +53055,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52281,11 +53069,11 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52297,7 +53085,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52314,7 +53102,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52327,11 +53115,11 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52344,7 +53132,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52368,7 +53156,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
m.TabletSelectionPreference = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52387,7 +53175,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52407,7 +53195,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52421,11 +53209,11 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52439,7 +53227,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52459,7 +53247,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52479,7 +53267,7 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52492,14 +53280,50 @@ func (m *ReshardCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
m.AutoStart = bool(v != 0)
+ case 13:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field WorkflowOptions", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.WorkflowOptions == nil {
+ m.WorkflowOptions = &WorkflowOptions{}
+ }
+ if err := m.WorkflowOptions.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -52522,7 +53346,7 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52550,7 +53374,7 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52563,11 +53387,11 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52586,7 +53410,7 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52599,11 +53423,11 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52622,7 +53446,7 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52636,11 +53460,11 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52654,7 +53478,7 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52674,7 +53498,7 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52687,11 +53511,11 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52705,12 +53529,12 @@ func (m *RestoreFromBackupRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -52733,7 +53557,7 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52761,7 +53585,7 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52774,11 +53598,11 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52797,7 +53621,7 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52811,11 +53635,11 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52829,7 +53653,7 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52843,11 +53667,11 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52861,7 +53685,7 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52874,11 +53698,11 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52892,12 +53716,12 @@ func (m *RestoreFromBackupResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -52920,7 +53744,7 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52948,7 +53772,7 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52962,11 +53786,11 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -52980,7 +53804,7 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -52994,11 +53818,11 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -53007,12 +53831,12 @@ func (m *RetrySchemaMigrationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -53035,7 +53859,7 @@ func (m *RetrySchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53063,7 +53887,7 @@ func (m *RetrySchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53076,11 +53900,11 @@ func (m *RetrySchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -53095,7 +53919,7 @@ func (m *RetrySchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53112,7 +53936,7 @@ func (m *RetrySchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53126,11 +53950,11 @@ func (m *RetrySchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -53140,7 +53964,7 @@ func (m *RetrySchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
} else if fieldNum == 2 {
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53154,12 +53978,12 @@ func (m *RetrySchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
}
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -53171,12 +53995,12 @@ func (m *RetrySchemaMigrationResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -53199,7 +54023,7 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53227,7 +54051,7 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53240,11 +54064,11 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -53258,12 +54082,12 @@ func (m *RunHealthCheckRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -53286,7 +54110,7 @@ func (m *RunHealthCheckResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53309,12 +54133,12 @@ func (m *RunHealthCheckResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -53337,7 +54161,7 @@ func (m *SetKeyspaceDurabilityPolicyRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53365,7 +54189,7 @@ func (m *SetKeyspaceDurabilityPolicyRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53379,11 +54203,11 @@ func (m *SetKeyspaceDurabilityPolicyRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -53397,7 +54221,7 @@ func (m *SetKeyspaceDurabilityPolicyRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53411,11 +54235,11 @@ func (m *SetKeyspaceDurabilityPolicyRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -53424,12 +54248,12 @@ func (m *SetKeyspaceDurabilityPolicyRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -53452,7 +54276,7 @@ func (m *SetKeyspaceDurabilityPolicyResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53480,7 +54304,7 @@ func (m *SetKeyspaceDurabilityPolicyResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53493,11 +54317,11 @@ func (m *SetKeyspaceDurabilityPolicyResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -53511,12 +54335,12 @@ func (m *SetKeyspaceDurabilityPolicyResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -53539,7 +54363,7 @@ func (m *SetKeyspaceShardingInfoRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53567,7 +54391,7 @@ func (m *SetKeyspaceShardingInfoRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53581,11 +54405,11 @@ func (m *SetKeyspaceShardingInfoRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -53599,7 +54423,7 @@ func (m *SetKeyspaceShardingInfoRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53614,12 +54438,12 @@ func (m *SetKeyspaceShardingInfoRequest) UnmarshalVT(dAtA []byte) error {
m.Force = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -53642,7 +54466,7 @@ func (m *SetKeyspaceShardingInfoResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53670,7 +54494,7 @@ func (m *SetKeyspaceShardingInfoResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53683,11 +54507,11 @@ func (m *SetKeyspaceShardingInfoResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -53701,12 +54525,12 @@ func (m *SetKeyspaceShardingInfoResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -53729,7 +54553,7 @@ func (m *SetShardIsPrimaryServingRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53757,7 +54581,7 @@ func (m *SetShardIsPrimaryServingRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53771,11 +54595,11 @@ func (m *SetShardIsPrimaryServingRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -53789,7 +54613,7 @@ func (m *SetShardIsPrimaryServingRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53803,11 +54627,11 @@ func (m *SetShardIsPrimaryServingRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -53821,7 +54645,7 @@ func (m *SetShardIsPrimaryServingRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53836,12 +54660,12 @@ func (m *SetShardIsPrimaryServingRequest) UnmarshalVT(dAtA []byte) error {
m.IsServing = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -53864,7 +54688,7 @@ func (m *SetShardIsPrimaryServingResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53892,7 +54716,7 @@ func (m *SetShardIsPrimaryServingResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53905,11 +54729,11 @@ func (m *SetShardIsPrimaryServingResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -53923,12 +54747,12 @@ func (m *SetShardIsPrimaryServingResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -53951,7 +54775,7 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53979,7 +54803,7 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -53993,11 +54817,11 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54011,7 +54835,7 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54025,11 +54849,11 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54043,7 +54867,7 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
m.TabletType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54062,7 +54886,7 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54076,11 +54900,11 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54094,7 +54918,7 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54108,11 +54932,11 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54126,7 +54950,7 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54146,7 +54970,7 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54161,12 +54985,12 @@ func (m *SetShardTabletControlRequest) UnmarshalVT(dAtA []byte) error {
m.Remove = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -54189,7 +55013,7 @@ func (m *SetShardTabletControlResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54217,7 +55041,7 @@ func (m *SetShardTabletControlResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54230,11 +55054,11 @@ func (m *SetShardTabletControlResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54248,12 +55072,12 @@ func (m *SetShardTabletControlResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -54276,7 +55100,7 @@ func (m *SetWritableRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54304,7 +55128,7 @@ func (m *SetWritableRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54317,11 +55141,11 @@ func (m *SetWritableRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54340,7 +55164,7 @@ func (m *SetWritableRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54355,12 +55179,12 @@ func (m *SetWritableRequest) UnmarshalVT(dAtA []byte) error {
m.Writable = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -54383,7 +55207,7 @@ func (m *SetWritableResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54406,12 +55230,12 @@ func (m *SetWritableResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -54434,7 +55258,7 @@ func (m *ShardReplicationAddRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54462,7 +55286,7 @@ func (m *ShardReplicationAddRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54476,11 +55300,11 @@ func (m *ShardReplicationAddRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54494,7 +55318,7 @@ func (m *ShardReplicationAddRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54508,11 +55332,11 @@ func (m *ShardReplicationAddRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54526,7 +55350,7 @@ func (m *ShardReplicationAddRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54539,11 +55363,11 @@ func (m *ShardReplicationAddRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54557,12 +55381,12 @@ func (m *ShardReplicationAddRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -54585,7 +55409,7 @@ func (m *ShardReplicationAddResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54608,12 +55432,12 @@ func (m *ShardReplicationAddResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -54636,7 +55460,7 @@ func (m *ShardReplicationFixRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54664,7 +55488,7 @@ func (m *ShardReplicationFixRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54678,11 +55502,11 @@ func (m *ShardReplicationFixRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54696,7 +55520,7 @@ func (m *ShardReplicationFixRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54710,11 +55534,11 @@ func (m *ShardReplicationFixRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54728,7 +55552,7 @@ func (m *ShardReplicationFixRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54742,11 +55566,11 @@ func (m *ShardReplicationFixRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54755,12 +55579,12 @@ func (m *ShardReplicationFixRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -54783,7 +55607,7 @@ func (m *ShardReplicationFixResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54811,7 +55635,7 @@ func (m *ShardReplicationFixResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54824,11 +55648,11 @@ func (m *ShardReplicationFixResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54842,12 +55666,12 @@ func (m *ShardReplicationFixResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -54870,7 +55694,7 @@ func (m *ShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54898,7 +55722,7 @@ func (m *ShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54912,11 +55736,11 @@ func (m *ShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54930,7 +55754,7 @@ func (m *ShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -54944,11 +55768,11 @@ func (m *ShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -54957,12 +55781,12 @@ func (m *ShardReplicationPositionsRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -54985,7 +55809,7 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55013,7 +55837,7 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55026,11 +55850,11 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55045,7 +55869,7 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55062,7 +55886,7 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55076,11 +55900,11 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -55091,7 +55915,7 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55104,11 +55928,11 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -55120,12 +55944,12 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -55142,7 +55966,7 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55155,11 +55979,11 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55174,7 +55998,7 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55191,7 +56015,7 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55205,11 +56029,11 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -55220,7 +56044,7 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55233,11 +56057,11 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -55249,12 +56073,12 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -55266,12 +56090,12 @@ func (m *ShardReplicationPositionsResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -55294,7 +56118,7 @@ func (m *ShardReplicationRemoveRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55322,7 +56146,7 @@ func (m *ShardReplicationRemoveRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55336,11 +56160,11 @@ func (m *ShardReplicationRemoveRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55354,7 +56178,7 @@ func (m *ShardReplicationRemoveRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55368,11 +56192,11 @@ func (m *ShardReplicationRemoveRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55386,7 +56210,7 @@ func (m *ShardReplicationRemoveRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55399,11 +56223,11 @@ func (m *ShardReplicationRemoveRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55417,12 +56241,12 @@ func (m *ShardReplicationRemoveRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -55445,7 +56269,7 @@ func (m *ShardReplicationRemoveResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55468,12 +56292,12 @@ func (m *ShardReplicationRemoveResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -55496,7 +56320,7 @@ func (m *SleepTabletRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55524,7 +56348,7 @@ func (m *SleepTabletRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55537,11 +56361,11 @@ func (m *SleepTabletRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55560,7 +56384,7 @@ func (m *SleepTabletRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55573,11 +56397,11 @@ func (m *SleepTabletRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55591,12 +56415,12 @@ func (m *SleepTabletRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -55619,7 +56443,7 @@ func (m *SleepTabletResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55642,12 +56466,12 @@ func (m *SleepTabletResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -55670,7 +56494,7 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55698,7 +56522,7 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55712,11 +56536,11 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55730,7 +56554,7 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55744,11 +56568,11 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55762,7 +56586,7 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
m.Uid = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55781,7 +56605,7 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55795,11 +56619,11 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55813,7 +56637,7 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55827,11 +56651,11 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55845,7 +56669,7 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55858,11 +56682,11 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55881,7 +56705,7 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55895,11 +56719,11 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55908,12 +56732,12 @@ func (m *SourceShardAddRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -55936,7 +56760,7 @@ func (m *SourceShardAddResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55964,7 +56788,7 @@ func (m *SourceShardAddResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -55977,11 +56801,11 @@ func (m *SourceShardAddResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -55995,12 +56819,12 @@ func (m *SourceShardAddResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -56023,7 +56847,7 @@ func (m *SourceShardDeleteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56051,7 +56875,7 @@ func (m *SourceShardDeleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56065,11 +56889,11 @@ func (m *SourceShardDeleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56083,7 +56907,7 @@ func (m *SourceShardDeleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56097,11 +56921,11 @@ func (m *SourceShardDeleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56115,7 +56939,7 @@ func (m *SourceShardDeleteRequest) UnmarshalVT(dAtA []byte) error {
m.Uid = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56129,12 +56953,12 @@ func (m *SourceShardDeleteRequest) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -56157,7 +56981,7 @@ func (m *SourceShardDeleteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56185,7 +57009,7 @@ func (m *SourceShardDeleteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56198,11 +57022,11 @@ func (m *SourceShardDeleteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56216,12 +57040,12 @@ func (m *SourceShardDeleteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -56244,7 +57068,7 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56272,7 +57096,7 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56285,11 +57109,11 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56303,12 +57127,12 @@ func (m *StartReplicationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -56331,7 +57155,7 @@ func (m *StartReplicationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56354,12 +57178,12 @@ func (m *StartReplicationResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -56382,7 +57206,7 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56410,7 +57234,7 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56423,11 +57247,11 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56441,12 +57265,12 @@ func (m *StopReplicationRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -56469,7 +57293,7 @@ func (m *StopReplicationResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56492,12 +57316,12 @@ func (m *StopReplicationResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -56520,7 +57344,7 @@ func (m *TabletExternallyReparentedRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56548,7 +57372,7 @@ func (m *TabletExternallyReparentedRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56561,11 +57385,11 @@ func (m *TabletExternallyReparentedRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56579,12 +57403,12 @@ func (m *TabletExternallyReparentedRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -56607,7 +57431,7 @@ func (m *TabletExternallyReparentedResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56635,7 +57459,7 @@ func (m *TabletExternallyReparentedResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56649,11 +57473,11 @@ func (m *TabletExternallyReparentedResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56667,7 +57491,7 @@ func (m *TabletExternallyReparentedResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56681,11 +57505,11 @@ func (m *TabletExternallyReparentedResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56699,7 +57523,7 @@ func (m *TabletExternallyReparentedResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56712,11 +57536,11 @@ func (m *TabletExternallyReparentedResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56735,7 +57559,7 @@ func (m *TabletExternallyReparentedResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56748,11 +57572,11 @@ func (m *TabletExternallyReparentedResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56766,12 +57590,12 @@ func (m *TabletExternallyReparentedResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -56794,7 +57618,7 @@ func (m *UpdateCellInfoRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56822,7 +57646,7 @@ func (m *UpdateCellInfoRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56836,11 +57660,11 @@ func (m *UpdateCellInfoRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56854,7 +57678,7 @@ func (m *UpdateCellInfoRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56867,11 +57691,11 @@ func (m *UpdateCellInfoRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56885,12 +57709,12 @@ func (m *UpdateCellInfoRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -56913,7 +57737,7 @@ func (m *UpdateCellInfoResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56941,7 +57765,7 @@ func (m *UpdateCellInfoResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56955,11 +57779,11 @@ func (m *UpdateCellInfoResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -56973,7 +57797,7 @@ func (m *UpdateCellInfoResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -56986,11 +57810,11 @@ func (m *UpdateCellInfoResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57004,12 +57828,12 @@ func (m *UpdateCellInfoResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -57032,7 +57856,7 @@ func (m *UpdateCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57060,7 +57884,7 @@ func (m *UpdateCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57074,11 +57898,11 @@ func (m *UpdateCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57092,7 +57916,7 @@ func (m *UpdateCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57105,11 +57929,11 @@ func (m *UpdateCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57123,12 +57947,12 @@ func (m *UpdateCellsAliasRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -57151,7 +57975,7 @@ func (m *UpdateCellsAliasResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57179,7 +58003,7 @@ func (m *UpdateCellsAliasResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57193,11 +58017,11 @@ func (m *UpdateCellsAliasResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57211,7 +58035,7 @@ func (m *UpdateCellsAliasResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57224,11 +58048,11 @@ func (m *UpdateCellsAliasResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57242,12 +58066,12 @@ func (m *UpdateCellsAliasResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -57270,7 +58094,7 @@ func (m *ValidateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57298,7 +58122,7 @@ func (m *ValidateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57313,12 +58137,12 @@ func (m *ValidateRequest) UnmarshalVT(dAtA []byte) error {
m.PingTablets = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -57341,7 +58165,7 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57369,7 +58193,7 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57383,11 +58207,11 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57401,7 +58225,7 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57414,11 +58238,11 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57433,7 +58257,7 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57450,7 +58274,7 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57464,11 +58288,11 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -57479,7 +58303,7 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57492,11 +58316,11 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -57508,12 +58332,12 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -57525,12 +58349,12 @@ func (m *ValidateResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -57553,7 +58377,7 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57581,7 +58405,7 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57595,11 +58419,11 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57613,7 +58437,7 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57628,12 +58452,12 @@ func (m *ValidateKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
m.PingTablets = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -57656,7 +58480,7 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57684,7 +58508,7 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57698,11 +58522,11 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57716,7 +58540,7 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57729,11 +58553,11 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57748,7 +58572,7 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57765,7 +58589,7 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57779,11 +58603,11 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -57794,7 +58618,7 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57807,11 +58631,11 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -57823,12 +58647,12 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -57840,12 +58664,12 @@ func (m *ValidateKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -57868,7 +58692,7 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57896,7 +58720,7 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57910,11 +58734,11 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57928,7 +58752,7 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57942,11 +58766,11 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -57960,7 +58784,7 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -57980,7 +58804,7 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58000,7 +58824,7 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58015,12 +58839,12 @@ func (m *ValidateSchemaKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
m.IncludeVschema = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -58043,7 +58867,7 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58071,7 +58895,7 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58085,11 +58909,11 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -58103,7 +58927,7 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58116,11 +58940,11 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -58135,7 +58959,7 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58152,7 +58976,7 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58166,11 +58990,11 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -58181,7 +59005,7 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58194,11 +59018,11 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -58210,12 +59034,12 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -58227,12 +59051,12 @@ func (m *ValidateSchemaKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -58255,7 +59079,7 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58283,7 +59107,7 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58297,11 +59121,11 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -58315,7 +59139,7 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58329,11 +59153,11 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -58347,7 +59171,7 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58362,12 +59186,12 @@ func (m *ValidateShardRequest) UnmarshalVT(dAtA []byte) error {
m.PingTablets = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -58390,7 +59214,7 @@ func (m *ValidateShardResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58418,7 +59242,7 @@ func (m *ValidateShardResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58432,11 +59256,11 @@ func (m *ValidateShardResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -58445,12 +59269,12 @@ func (m *ValidateShardResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -58473,7 +59297,7 @@ func (m *ValidateVersionKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58501,7 +59325,7 @@ func (m *ValidateVersionKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58515,11 +59339,11 @@ func (m *ValidateVersionKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -58528,12 +59352,12 @@ func (m *ValidateVersionKeyspaceRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -58556,7 +59380,7 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58584,7 +59408,7 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58598,11 +59422,11 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -58616,7 +59440,7 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58629,11 +59453,11 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -58648,7 +59472,7 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58665,7 +59489,7 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58679,11 +59503,11 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -58694,7 +59518,7 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58707,11 +59531,11 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -58723,12 +59547,12 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -58740,12 +59564,12 @@ func (m *ValidateVersionKeyspaceResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -58768,7 +59592,7 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58796,7 +59620,7 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58810,11 +59634,11 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -58828,7 +59652,7 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58842,11 +59666,11 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -58855,12 +59679,12 @@ func (m *ValidateVersionShardRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -58883,7 +59707,7 @@ func (m *ValidateVersionShardResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58911,7 +59735,7 @@ func (m *ValidateVersionShardResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58925,11 +59749,11 @@ func (m *ValidateVersionShardResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -58938,12 +59762,12 @@ func (m *ValidateVersionShardResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -58966,7 +59790,7 @@ func (m *ValidateVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -58994,7 +59818,7 @@ func (m *ValidateVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59008,11 +59832,11 @@ func (m *ValidateVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59026,7 +59850,7 @@ func (m *ValidateVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59040,11 +59864,11 @@ func (m *ValidateVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59058,7 +59882,7 @@ func (m *ValidateVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59072,11 +59896,11 @@ func (m *ValidateVSchemaRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59090,7 +59914,7 @@ func (m *ValidateVSchemaRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59105,12 +59929,12 @@ func (m *ValidateVSchemaRequest) UnmarshalVT(dAtA []byte) error {
m.IncludeViews = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -59133,7 +59957,7 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59161,7 +59985,7 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59175,11 +59999,11 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59193,7 +60017,7 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59206,11 +60030,11 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59225,7 +60049,7 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59242,7 +60066,7 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59256,11 +60080,11 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -59271,7 +60095,7 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59284,11 +60108,11 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -59300,12 +60124,12 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -59317,12 +60141,12 @@ func (m *ValidateVSchemaResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -59345,7 +60169,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59373,7 +60197,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59387,11 +60211,11 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59405,7 +60229,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59419,11 +60243,11 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59437,7 +60261,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59451,11 +60275,11 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59469,7 +60293,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59483,11 +60307,11 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59501,7 +60325,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59515,11 +60339,11 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59531,7 +60355,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59548,7 +60372,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59561,11 +60385,11 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59578,7 +60402,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59602,7 +60426,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
m.TabletSelectionPreference = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59621,7 +60445,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59635,11 +60459,11 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59653,7 +60477,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
m.Limit = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59672,7 +60496,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59685,11 +60509,11 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59708,7 +60532,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59728,7 +60552,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59748,7 +60572,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59768,7 +60592,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
m.MaxExtraRowsToCompare = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59787,7 +60611,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59807,7 +60631,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59820,11 +60644,11 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59843,7 +60667,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59863,7 +60687,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59883,7 +60707,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
m.MaxReportSampleRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59902,7 +60726,7 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59915,11 +60739,11 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -59931,14 +60755,54 @@ func (m *VDiffCreateRequest) UnmarshalVT(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 21:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field RowDiffColumnTruncateAt", wireType)
+ }
+ m.RowDiffColumnTruncateAt = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.RowDiffColumnTruncateAt |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ case 22:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AutoStart", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ b := bool(v != 0)
+ m.AutoStart = &b
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -59961,7 +60825,7 @@ func (m *VDiffCreateResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -59989,7 +60853,7 @@ func (m *VDiffCreateResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60003,11 +60867,11 @@ func (m *VDiffCreateResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60016,12 +60880,12 @@ func (m *VDiffCreateResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -60044,7 +60908,7 @@ func (m *VDiffDeleteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60072,7 +60936,7 @@ func (m *VDiffDeleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60086,11 +60950,11 @@ func (m *VDiffDeleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60104,7 +60968,7 @@ func (m *VDiffDeleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60118,11 +60982,11 @@ func (m *VDiffDeleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60136,7 +61000,7 @@ func (m *VDiffDeleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60150,11 +61014,11 @@ func (m *VDiffDeleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60163,12 +61027,12 @@ func (m *VDiffDeleteRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -60191,7 +61055,7 @@ func (m *VDiffDeleteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60214,12 +61078,12 @@ func (m *VDiffDeleteResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -60242,7 +61106,7 @@ func (m *VDiffResumeRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60270,7 +61134,7 @@ func (m *VDiffResumeRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60284,11 +61148,11 @@ func (m *VDiffResumeRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60302,7 +61166,7 @@ func (m *VDiffResumeRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60316,11 +61180,11 @@ func (m *VDiffResumeRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60334,7 +61198,7 @@ func (m *VDiffResumeRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60348,25 +61212,57 @@ func (m *VDiffResumeRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Uuid = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field TargetShards", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.TargetShards = append(m.TargetShards, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -60389,7 +61285,7 @@ func (m *VDiffResumeResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60412,12 +61308,12 @@ func (m *VDiffResumeResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -60440,7 +61336,7 @@ func (m *VDiffShowRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60468,7 +61364,7 @@ func (m *VDiffShowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60482,11 +61378,11 @@ func (m *VDiffShowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60500,7 +61396,7 @@ func (m *VDiffShowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60514,11 +61410,11 @@ func (m *VDiffShowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60532,7 +61428,7 @@ func (m *VDiffShowRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60546,11 +61442,11 @@ func (m *VDiffShowRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60559,12 +61455,12 @@ func (m *VDiffShowRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -60587,7 +61483,7 @@ func (m *VDiffShowResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60615,7 +61511,7 @@ func (m *VDiffShowResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60628,11 +61524,11 @@ func (m *VDiffShowResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60647,7 +61543,7 @@ func (m *VDiffShowResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60664,7 +61560,7 @@ func (m *VDiffShowResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60678,11 +61574,11 @@ func (m *VDiffShowResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -60693,7 +61589,7 @@ func (m *VDiffShowResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60706,11 +61602,11 @@ func (m *VDiffShowResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -60722,12 +61618,12 @@ func (m *VDiffShowResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -60739,12 +61635,12 @@ func (m *VDiffShowResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -60767,7 +61663,7 @@ func (m *VDiffStopRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60795,7 +61691,7 @@ func (m *VDiffStopRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60809,11 +61705,11 @@ func (m *VDiffStopRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60827,7 +61723,7 @@ func (m *VDiffStopRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60841,11 +61737,11 @@ func (m *VDiffStopRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -60859,7 +61755,7 @@ func (m *VDiffStopRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60873,25 +61769,57 @@ func (m *VDiffStopRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Uuid = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field TargetShards", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return protohelpers.ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.TargetShards = append(m.TargetShards, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -60914,7 +61842,7 @@ func (m *VDiffStopResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60937,12 +61865,12 @@ func (m *VDiffStopResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -60965,7 +61893,7 @@ func (m *WorkflowDeleteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -60993,7 +61921,7 @@ func (m *WorkflowDeleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61007,11 +61935,11 @@ func (m *WorkflowDeleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61025,7 +61953,7 @@ func (m *WorkflowDeleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61039,11 +61967,11 @@ func (m *WorkflowDeleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61057,7 +61985,7 @@ func (m *WorkflowDeleteRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61077,7 +62005,7 @@ func (m *WorkflowDeleteRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61097,7 +62025,7 @@ func (m *WorkflowDeleteRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61111,11 +62039,11 @@ func (m *WorkflowDeleteRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61124,12 +62052,12 @@ func (m *WorkflowDeleteRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -61152,7 +62080,7 @@ func (m *WorkflowDeleteResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61180,7 +62108,7 @@ func (m *WorkflowDeleteResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61193,11 +62121,11 @@ func (m *WorkflowDeleteResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61216,7 +62144,7 @@ func (m *WorkflowDeleteResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61231,12 +62159,12 @@ func (m *WorkflowDeleteResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
m.Deleted = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -61259,7 +62187,7 @@ func (m *WorkflowDeleteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61287,7 +62215,7 @@ func (m *WorkflowDeleteResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61301,11 +62229,11 @@ func (m *WorkflowDeleteResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61319,7 +62247,7 @@ func (m *WorkflowDeleteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61332,11 +62260,11 @@ func (m *WorkflowDeleteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61348,12 +62276,12 @@ func (m *WorkflowDeleteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -61376,7 +62304,7 @@ func (m *WorkflowStatusRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61404,7 +62332,7 @@ func (m *WorkflowStatusRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61418,11 +62346,11 @@ func (m *WorkflowStatusRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61436,7 +62364,7 @@ func (m *WorkflowStatusRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61450,11 +62378,11 @@ func (m *WorkflowStatusRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61468,7 +62396,7 @@ func (m *WorkflowStatusRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61482,11 +62410,11 @@ func (m *WorkflowStatusRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61495,12 +62423,12 @@ func (m *WorkflowStatusRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -61523,7 +62451,7 @@ func (m *WorkflowStatusResponse_TableCopyState) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61551,7 +62479,7 @@ func (m *WorkflowStatusResponse_TableCopyState) UnmarshalVT(dAtA []byte) error {
m.RowsCopied = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61570,7 +62498,7 @@ func (m *WorkflowStatusResponse_TableCopyState) UnmarshalVT(dAtA []byte) error {
m.RowsTotal = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61600,7 +62528,7 @@ func (m *WorkflowStatusResponse_TableCopyState) UnmarshalVT(dAtA []byte) error {
m.BytesCopied = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61619,7 +62547,7 @@ func (m *WorkflowStatusResponse_TableCopyState) UnmarshalVT(dAtA []byte) error {
m.BytesTotal = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61644,12 +62572,12 @@ func (m *WorkflowStatusResponse_TableCopyState) UnmarshalVT(dAtA []byte) error {
m.BytesPercentage = float32(math.Float32frombits(v))
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -61672,7 +62600,7 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61700,7 +62628,7 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
m.Id = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61719,7 +62647,7 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61732,11 +62660,11 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61755,7 +62683,7 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61769,11 +62697,11 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61787,7 +62715,7 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61801,11 +62729,11 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61819,7 +62747,7 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61833,11 +62761,11 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61851,7 +62779,7 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61865,11 +62793,11 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61878,12 +62806,12 @@ func (m *WorkflowStatusResponse_ShardStreamState) UnmarshalVT(dAtA []byte) error
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -61906,7 +62834,7 @@ func (m *WorkflowStatusResponse_ShardStreams) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61934,7 +62862,7 @@ func (m *WorkflowStatusResponse_ShardStreams) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -61947,11 +62875,11 @@ func (m *WorkflowStatusResponse_ShardStreams) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -61963,12 +62891,12 @@ func (m *WorkflowStatusResponse_ShardStreams) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -61991,7 +62919,7 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62019,7 +62947,7 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62032,11 +62960,11 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62051,7 +62979,7 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62068,7 +62996,7 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62082,11 +63010,11 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -62097,7 +63025,7 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62110,11 +63038,11 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -62126,12 +63054,12 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -62148,7 +63076,7 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62161,11 +63089,11 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62180,7 +63108,7 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62197,7 +63125,7 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62211,11 +63139,11 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -62226,7 +63154,7 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62239,11 +63167,11 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -62255,12 +63183,12 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -62277,7 +63205,7 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62291,11 +63219,11 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62304,12 +63232,12 @@ func (m *WorkflowStatusResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -62332,7 +63260,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62360,7 +63288,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62374,11 +63302,11 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62392,7 +63320,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62406,11 +63334,11 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62424,7 +63352,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62438,11 +63366,11 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62454,7 +63382,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62471,7 +63399,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62484,11 +63412,11 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62501,7 +63429,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62525,7 +63453,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62538,11 +63466,11 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62561,7 +63489,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62581,7 +63509,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
m.Direction = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62600,7 +63528,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62613,11 +63541,11 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62636,7 +63564,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62656,7 +63584,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62676,7 +63604,7 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62690,25 +63618,45 @@ func (m *WorkflowSwitchTrafficRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Shards = append(m.Shards, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
+ case 12:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Force", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.Force = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -62731,7 +63679,7 @@ func (m *WorkflowSwitchTrafficResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62759,7 +63707,7 @@ func (m *WorkflowSwitchTrafficResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62773,11 +63721,11 @@ func (m *WorkflowSwitchTrafficResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62791,7 +63739,7 @@ func (m *WorkflowSwitchTrafficResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62805,11 +63753,11 @@ func (m *WorkflowSwitchTrafficResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62823,7 +63771,7 @@ func (m *WorkflowSwitchTrafficResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62837,11 +63785,11 @@ func (m *WorkflowSwitchTrafficResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62855,7 +63803,7 @@ func (m *WorkflowSwitchTrafficResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62869,11 +63817,11 @@ func (m *WorkflowSwitchTrafficResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62882,12 +63830,12 @@ func (m *WorkflowSwitchTrafficResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -62910,7 +63858,7 @@ func (m *WorkflowUpdateRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62938,7 +63886,7 @@ func (m *WorkflowUpdateRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62952,11 +63900,11 @@ func (m *WorkflowUpdateRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -62970,7 +63918,7 @@ func (m *WorkflowUpdateRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -62983,11 +63931,11 @@ func (m *WorkflowUpdateRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -63001,12 +63949,12 @@ func (m *WorkflowUpdateRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -63029,7 +63977,7 @@ func (m *WorkflowUpdateResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63057,7 +64005,7 @@ func (m *WorkflowUpdateResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63070,11 +64018,11 @@ func (m *WorkflowUpdateResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -63093,7 +64041,7 @@ func (m *WorkflowUpdateResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63108,12 +64056,12 @@ func (m *WorkflowUpdateResponse_TabletInfo) UnmarshalVT(dAtA []byte) error {
m.Changed = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -63136,7 +64084,7 @@ func (m *WorkflowUpdateResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63164,7 +64112,7 @@ func (m *WorkflowUpdateResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63178,11 +64126,11 @@ func (m *WorkflowUpdateResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -63196,7 +64144,7 @@ func (m *WorkflowUpdateResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63209,11 +64157,11 @@ func (m *WorkflowUpdateResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -63225,12 +64173,12 @@ func (m *WorkflowUpdateResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -63253,7 +64201,7 @@ func (m *GetMirrorRulesRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63276,12 +64224,12 @@ func (m *GetMirrorRulesRequest) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -63304,7 +64252,7 @@ func (m *GetMirrorRulesResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63332,7 +64280,7 @@ func (m *GetMirrorRulesResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63345,11 +64293,11 @@ func (m *GetMirrorRulesResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -63363,12 +64311,12 @@ func (m *GetMirrorRulesResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -63391,7 +64339,7 @@ func (m *WorkflowMirrorTrafficRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63419,7 +64367,7 @@ func (m *WorkflowMirrorTrafficRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63433,11 +64381,11 @@ func (m *WorkflowMirrorTrafficRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -63451,7 +64399,7 @@ func (m *WorkflowMirrorTrafficRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63465,11 +64413,11 @@ func (m *WorkflowMirrorTrafficRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -63481,7 +64429,7 @@ func (m *WorkflowMirrorTrafficRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63498,7 +64446,7 @@ func (m *WorkflowMirrorTrafficRequest) UnmarshalVT(dAtA []byte) error {
var packedLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63511,11 +64459,11 @@ func (m *WorkflowMirrorTrafficRequest) UnmarshalVT(dAtA []byte) error {
}
}
if packedLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + packedLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -63528,7 +64476,7 @@ func (m *WorkflowMirrorTrafficRequest) UnmarshalVT(dAtA []byte) error {
var v topodata.TabletType
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63558,12 +64506,12 @@ func (m *WorkflowMirrorTrafficRequest) UnmarshalVT(dAtA []byte) error {
m.Percent = float32(math.Float32frombits(v))
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -63586,7 +64534,7 @@ func (m *WorkflowMirrorTrafficResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63614,7 +64562,7 @@ func (m *WorkflowMirrorTrafficResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63628,11 +64576,11 @@ func (m *WorkflowMirrorTrafficResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -63646,7 +64594,7 @@ func (m *WorkflowMirrorTrafficResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63660,11 +64608,11 @@ func (m *WorkflowMirrorTrafficResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -63678,7 +64626,7 @@ func (m *WorkflowMirrorTrafficResponse) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -63692,11 +64640,11 @@ func (m *WorkflowMirrorTrafficResponse) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -63705,12 +64653,12 @@ func (m *WorkflowMirrorTrafficResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -63725,88 +64673,3 @@ func (m *WorkflowMirrorTrafficResponse) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/vtctlservice/vtctlservice.pb.go b/go/vt/proto/vtctlservice/vtctlservice.pb.go
index e5ff978e853..85e5a2e7291 100644
--- a/go/vt/proto/vtctlservice/vtctlservice.pb.go
+++ b/go/vt/proto/vtctlservice/vtctlservice.pb.go
@@ -51,7 +51,7 @@ var file_vtctlservice_proto_rawDesc = []byte{
0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x74, 0x63,
0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x56, 0x74,
0x63, 0x74, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x32, 0xdf, 0x57, 0x0a, 0x06, 0x56, 0x74, 0x63, 0x74, 0x6c,
+ 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x32, 0xc1, 0x59, 0x0a, 0x06, 0x56, 0x74, 0x63, 0x74, 0x6c,
0x64, 0x12, 0x4e, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64,
0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
@@ -135,628 +135,642 @@ var file_vtctlservice_proto_rawDesc = []byte{
0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d,
0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x43,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x2e,
+ 0x22, 0x00, 0x12, 0x66, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72,
+ 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72,
+ 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x20, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x44,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x20, 0x2e,
0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65,
- 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65,
- 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43,
- 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c,
- 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1e, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x5d, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54,
- 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x12,
- 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65,
- 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c,
- 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63,
- 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x28,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67,
- 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65,
- 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
- 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x41, 0x70, 0x70, 0x12, 0x23, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65,
- 0x74, 0x63, 0x68, 0x41, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63,
- 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x75,
- 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x12, 0x23, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
- 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78,
- 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x45, 0x78, 0x65,
- 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75,
- 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42,
- 0x41, 0x12, 0x28, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78,
- 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41,
- 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d,
- 0x75, 0x6c, 0x74, 0x69, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64,
- 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
- 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x1b,
- 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74,
+ 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x73, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x22, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x72,
+ 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16,
+ 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x28, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x65,
+ 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a,
+ 0x11, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x41,
+ 0x70, 0x70, 0x12, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45,
+ 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x41, 0x70, 0x70,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68,
+ 0x41, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x60, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41,
+ 0x73, 0x44, 0x42, 0x41, 0x12, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44,
+ 0x42, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x46, 0x65, 0x74,
+ 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b,
+ 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65,
+ 0x63, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63,
+ 0x75, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x6f, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46,
+ 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x12, 0x28, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x75, 0x6c,
+ 0x74, 0x69, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x65, 0x74, 0x63,
+ 0x68, 0x41, 0x73, 0x44, 0x42, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x72, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73,
+ 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x1b, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74,
0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f,
- 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0a,
- 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
- 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x47, 0x65, 0x74,
- 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x47, 0x65, 0x74,
- 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x22, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c,
- 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65,
- 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43,
- 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65,
- 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x47, 0x65,
- 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x47, 0x65,
- 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a,
- 0x17, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74,
- 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69,
- 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
- 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x47, 0x65,
- 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75,
- 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
- 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
- 0x12, 0x66, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
+ 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46,
+ 0x6f, 0x72, 0x63, 0x65, 0x43, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75,
+ 0x70, 0x73, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47,
+ 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
+ 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
+ 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43,
+ 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d,
+ 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x5a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d,
+ 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c,
+ 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x75,
+ 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65,
+ 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47,
+ 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47,
+ 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73,
+ 0x12, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
+ 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x47, 0x65, 0x74,
+ 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72,
+ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
+ 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
+ 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48,
+ 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1b, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
- 0x12, 0x45, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12,
- 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x66, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x69, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69,
+ 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74,
- 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x66, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
- 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x47, 0x65,
- 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x21, 0x2e,
+ 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x13, 0x47, 0x65,
+ 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65,
+ 0x73, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65,
+ 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c,
+ 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
+ 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74,
+ 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x28, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d,
+ 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1f, 0x2e,
0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
- 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
- 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
- 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74,
- 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x47, 0x65,
- 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x20, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
+ 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20,
0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72,
- 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a,
- 0x0a, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x1c, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x47, 0x65,
- 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x12, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
- 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x5a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61,
- 0x74, 0x68, 0x12, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47,
- 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x74,
- 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0a, 0x47,
- 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x73, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x47,
+ 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x73, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65,
+ 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
+ 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68,
+ 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f,
+ 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f,
+ 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70,
+ 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f,
+ 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x12, 0x2b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
+ 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x72,
+ 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a,
+ 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74,
0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x49, 0x6e, 0x69, 0x74,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x22, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x69,
- 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15, 0x4c, 0x61, 0x75, 0x6e, 0x63,
- 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x75,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65,
+ 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x49, 0x6e,
+ 0x69, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x22,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49,
+ 0x6e, 0x69, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15, 0x4c, 0x61, 0x75,
0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56,
- 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69,
- 0x6e, 0x64, 0x65, 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x6f,
- 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17, 0x4c, 0x6f,
- 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e,
- 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x78,
- 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x6f,
- 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
- 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60,
- 0x0a, 0x11, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65,
- 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
- 0x12, 0x55, 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x69,
- 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x4d, 0x6f, 0x75, 0x6e, 0x74,
- 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
- 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73,
- 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a,
- 0x0f, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
- 0x12, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x75,
- 0x6e, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x4d, 0x6f, 0x75,
- 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74,
- 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x75,
- 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4c,
- 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a,
- 0x10, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f,
- 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x4d, 0x6f,
- 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
- 0x12, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x76,
- 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d,
- 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
- 0x4b, 0x0a, 0x0a, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x1c, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14,
- 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64,
- 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x52, 0x65, 0x62, 0x75, 0x69,
- 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12,
- 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x62, 0x75,
- 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x66, 0x0a, 0x13, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x62,
- 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x52, 0x65,
- 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74,
- 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74,
- 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a,
- 0x13, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53,
- 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x6f,
- 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x12, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c,
- 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42,
- 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f,
- 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x12, 0x24,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76,
- 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43,
- 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a,
- 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c,
- 0x12, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6d,
- 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x52, 0x65, 0x70,
- 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x20, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65,
- 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x43, 0x72, 0x65,
+ 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c,
+ 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
+ 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x24, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
+ 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17,
+ 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x78, 0x74, 0x65,
+ 0x72, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c,
+ 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x78, 0x74, 0x65, 0x72,
+ 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x60, 0x0a, 0x11, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69,
+ 0x7a, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
+ 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x11, 0x52, 0x65, 0x73,
- 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x23,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f,
- 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75,
- 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x69, 0x0a,
- 0x14, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53,
- 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x48,
- 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x4d, 0x6f, 0x75,
+ 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69,
+ 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x67,
+ 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x5a, 0x0a, 0x0f, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
+ 0x65, 0x72, 0x12, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d,
+ 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
+ 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x4d,
+ 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d,
+ 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x75, 0x6e,
+ 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x5b, 0x0a, 0x10, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12,
+ 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
+ 0x74, 0x65, 0x12, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d,
+ 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x43,
+ 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x00, 0x12, 0x4b, 0x0a, 0x0a, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12,
+ 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x69, 0x6e, 0x67,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69,
+ 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x6e,
+ 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x52, 0x65, 0x62,
+ 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70,
+ 0x68, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65,
+ 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61,
+ 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x13, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x25, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52,
+ 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61,
+ 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c,
+ 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x66, 0x0a, 0x13, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42,
+ 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42,
+ 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73,
+ 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x6f, 0x61,
+ 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x52, 0x65,
+ 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52,
+ 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53,
+ 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x6f,
+ 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76,
+ 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x52, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c,
+ 0x12, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6d,
+ 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x5a, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65,
+ 0x6c, 0x6c, 0x12, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c,
+ 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x52,
+ 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x20, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x11, 0x52,
+ 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
+ 0x12, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73,
+ 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63,
+ 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12,
+ 0x69, 0x0a, 0x14, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69,
+ 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d,
+ 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72,
+ 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x52, 0x75,
+ 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x76,
0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c,
- 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x7e, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
- 0x12, 0x2d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69,
- 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
- 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x75, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50,
- 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69,
- 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x76, 0x74, 0x63, 0x74,
- 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73,
- 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
- 0x6c, 0x12, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65,
+ 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x48, 0x65,
+ 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x12, 0x2d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
+ 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65,
+ 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49,
+ 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x12,
+ 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72,
+ 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15, 0x53, 0x65,
0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74,
- 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x13, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x12, 0x25, 0x2e,
- 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66,
- 0x0a, 0x13, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x72, 0x6f, 0x6c, 0x12, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f,
+ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x57,
+ 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x13, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x12,
+ 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x66, 0x0a, 0x13, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x12, 0x25, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x19, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76,
+ 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x28, 0x2e, 0x76,
0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x19, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73,
- 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
- 0x12, 0x6f, 0x0a, 0x16, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x28, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c,
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, 0x65,
- 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, 0x65, 0x65,
- 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x41, 0x64, 0x64, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
+ 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c,
+ 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x41, 0x64, 0x64, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
0x61, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12,
- 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65,
- 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10,
- 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61,
- 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x53,
- 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74,
- 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x1a, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72,
- 0x65, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x41,
+ 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11,
+ 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x12, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d,
+ 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a,
+ 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f,
+ 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x1a, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70,
+ 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e,
+ 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
- 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79,
- 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65,
- 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
- 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49,
- 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a,
- 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x08,
- 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x28, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
- 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17, 0x56, 0x61, 0x6c,
- 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69,
- 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a,
- 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e,
+ 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x5d, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45,
+ 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74,
+ 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e,
0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
- 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69,
- 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x21, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
- 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
+ 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x28,
0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
- 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56,
- 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c,
- 0x65, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56,
- 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73,
- 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56,
- 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f,
- 0x77, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44,
- 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66,
- 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48,
- 0x0a, 0x09, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x1b, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f,
- 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76,
+ 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17, 0x56,
+ 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61,
+ 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x69, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69,
+ 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x56, 0x61,
+ 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x21, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x22, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52,
+ 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53,
+ 0x68, 0x6f, 0x77, 0x12, 0x1b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69,
+ 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+ 0x12, 0x48, 0x0a, 0x09, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x1b, 0x2e,
+ 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53,
+ 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x76, 0x74, 0x63,
+ 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f, 0x70,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x76,
0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15, 0x57, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66,
- 0x66, 0x69, 0x63, 0x12, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15,
0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72,
- 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76,
+ 0x61, 0x66, 0x66, 0x69, 0x63, 0x12, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
+ 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x57, 0x6f,
+ 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x76,
0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75,
- 0x6c, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72,
+ 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
0x61, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15, 0x57, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x66,
- 0x66, 0x69, 0x63, 0x12, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c,
+ 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15,
0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x72,
- 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76,
- 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2b, 0x5a, 0x29, 0x76, 0x69, 0x74, 0x65,
- 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f,
- 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x73, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x61, 0x66, 0x66, 0x69, 0x63, 0x12, 0x27, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72,
+ 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2b, 0x5a, 0x29, 0x76, 0x69,
+ 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67,
+ 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var file_vtctlservice_proto_goTypes = []any{
@@ -775,227 +789,231 @@ var file_vtctlservice_proto_goTypes = []any{
(*vtctldata.CheckThrottlerRequest)(nil), // 12: vtctldata.CheckThrottlerRequest
(*vtctldata.CleanupSchemaMigrationRequest)(nil), // 13: vtctldata.CleanupSchemaMigrationRequest
(*vtctldata.CompleteSchemaMigrationRequest)(nil), // 14: vtctldata.CompleteSchemaMigrationRequest
- (*vtctldata.CreateKeyspaceRequest)(nil), // 15: vtctldata.CreateKeyspaceRequest
- (*vtctldata.CreateShardRequest)(nil), // 16: vtctldata.CreateShardRequest
- (*vtctldata.DeleteCellInfoRequest)(nil), // 17: vtctldata.DeleteCellInfoRequest
- (*vtctldata.DeleteCellsAliasRequest)(nil), // 18: vtctldata.DeleteCellsAliasRequest
- (*vtctldata.DeleteKeyspaceRequest)(nil), // 19: vtctldata.DeleteKeyspaceRequest
- (*vtctldata.DeleteShardsRequest)(nil), // 20: vtctldata.DeleteShardsRequest
- (*vtctldata.DeleteSrvVSchemaRequest)(nil), // 21: vtctldata.DeleteSrvVSchemaRequest
- (*vtctldata.DeleteTabletsRequest)(nil), // 22: vtctldata.DeleteTabletsRequest
- (*vtctldata.EmergencyReparentShardRequest)(nil), // 23: vtctldata.EmergencyReparentShardRequest
- (*vtctldata.ExecuteFetchAsAppRequest)(nil), // 24: vtctldata.ExecuteFetchAsAppRequest
- (*vtctldata.ExecuteFetchAsDBARequest)(nil), // 25: vtctldata.ExecuteFetchAsDBARequest
- (*vtctldata.ExecuteHookRequest)(nil), // 26: vtctldata.ExecuteHookRequest
- (*vtctldata.ExecuteMultiFetchAsDBARequest)(nil), // 27: vtctldata.ExecuteMultiFetchAsDBARequest
- (*vtctldata.FindAllShardsInKeyspaceRequest)(nil), // 28: vtctldata.FindAllShardsInKeyspaceRequest
- (*vtctldata.ForceCutOverSchemaMigrationRequest)(nil), // 29: vtctldata.ForceCutOverSchemaMigrationRequest
- (*vtctldata.GetBackupsRequest)(nil), // 30: vtctldata.GetBackupsRequest
- (*vtctldata.GetCellInfoRequest)(nil), // 31: vtctldata.GetCellInfoRequest
- (*vtctldata.GetCellInfoNamesRequest)(nil), // 32: vtctldata.GetCellInfoNamesRequest
- (*vtctldata.GetCellsAliasesRequest)(nil), // 33: vtctldata.GetCellsAliasesRequest
- (*vtctldata.GetFullStatusRequest)(nil), // 34: vtctldata.GetFullStatusRequest
- (*vtctldata.GetKeyspaceRequest)(nil), // 35: vtctldata.GetKeyspaceRequest
- (*vtctldata.GetKeyspacesRequest)(nil), // 36: vtctldata.GetKeyspacesRequest
- (*vtctldata.GetKeyspaceRoutingRulesRequest)(nil), // 37: vtctldata.GetKeyspaceRoutingRulesRequest
- (*vtctldata.GetPermissionsRequest)(nil), // 38: vtctldata.GetPermissionsRequest
- (*vtctldata.GetRoutingRulesRequest)(nil), // 39: vtctldata.GetRoutingRulesRequest
- (*vtctldata.GetSchemaRequest)(nil), // 40: vtctldata.GetSchemaRequest
- (*vtctldata.GetSchemaMigrationsRequest)(nil), // 41: vtctldata.GetSchemaMigrationsRequest
- (*vtctldata.GetShardReplicationRequest)(nil), // 42: vtctldata.GetShardReplicationRequest
- (*vtctldata.GetShardRequest)(nil), // 43: vtctldata.GetShardRequest
- (*vtctldata.GetShardRoutingRulesRequest)(nil), // 44: vtctldata.GetShardRoutingRulesRequest
- (*vtctldata.GetSrvKeyspaceNamesRequest)(nil), // 45: vtctldata.GetSrvKeyspaceNamesRequest
- (*vtctldata.GetSrvKeyspacesRequest)(nil), // 46: vtctldata.GetSrvKeyspacesRequest
- (*vtctldata.UpdateThrottlerConfigRequest)(nil), // 47: vtctldata.UpdateThrottlerConfigRequest
- (*vtctldata.GetSrvVSchemaRequest)(nil), // 48: vtctldata.GetSrvVSchemaRequest
- (*vtctldata.GetSrvVSchemasRequest)(nil), // 49: vtctldata.GetSrvVSchemasRequest
- (*vtctldata.GetTabletRequest)(nil), // 50: vtctldata.GetTabletRequest
- (*vtctldata.GetTabletsRequest)(nil), // 51: vtctldata.GetTabletsRequest
- (*vtctldata.GetThrottlerStatusRequest)(nil), // 52: vtctldata.GetThrottlerStatusRequest
- (*vtctldata.GetTopologyPathRequest)(nil), // 53: vtctldata.GetTopologyPathRequest
- (*vtctldata.GetVersionRequest)(nil), // 54: vtctldata.GetVersionRequest
- (*vtctldata.GetVSchemaRequest)(nil), // 55: vtctldata.GetVSchemaRequest
- (*vtctldata.GetWorkflowsRequest)(nil), // 56: vtctldata.GetWorkflowsRequest
- (*vtctldata.InitShardPrimaryRequest)(nil), // 57: vtctldata.InitShardPrimaryRequest
- (*vtctldata.LaunchSchemaMigrationRequest)(nil), // 58: vtctldata.LaunchSchemaMigrationRequest
- (*vtctldata.LookupVindexCreateRequest)(nil), // 59: vtctldata.LookupVindexCreateRequest
- (*vtctldata.LookupVindexExternalizeRequest)(nil), // 60: vtctldata.LookupVindexExternalizeRequest
- (*vtctldata.MaterializeCreateRequest)(nil), // 61: vtctldata.MaterializeCreateRequest
- (*vtctldata.MigrateCreateRequest)(nil), // 62: vtctldata.MigrateCreateRequest
- (*vtctldata.MountRegisterRequest)(nil), // 63: vtctldata.MountRegisterRequest
- (*vtctldata.MountUnregisterRequest)(nil), // 64: vtctldata.MountUnregisterRequest
- (*vtctldata.MountShowRequest)(nil), // 65: vtctldata.MountShowRequest
- (*vtctldata.MountListRequest)(nil), // 66: vtctldata.MountListRequest
- (*vtctldata.MoveTablesCreateRequest)(nil), // 67: vtctldata.MoveTablesCreateRequest
- (*vtctldata.MoveTablesCompleteRequest)(nil), // 68: vtctldata.MoveTablesCompleteRequest
- (*vtctldata.PingTabletRequest)(nil), // 69: vtctldata.PingTabletRequest
- (*vtctldata.PlannedReparentShardRequest)(nil), // 70: vtctldata.PlannedReparentShardRequest
- (*vtctldata.RebuildKeyspaceGraphRequest)(nil), // 71: vtctldata.RebuildKeyspaceGraphRequest
- (*vtctldata.RebuildVSchemaGraphRequest)(nil), // 72: vtctldata.RebuildVSchemaGraphRequest
- (*vtctldata.RefreshStateRequest)(nil), // 73: vtctldata.RefreshStateRequest
- (*vtctldata.RefreshStateByShardRequest)(nil), // 74: vtctldata.RefreshStateByShardRequest
- (*vtctldata.ReloadSchemaRequest)(nil), // 75: vtctldata.ReloadSchemaRequest
- (*vtctldata.ReloadSchemaKeyspaceRequest)(nil), // 76: vtctldata.ReloadSchemaKeyspaceRequest
- (*vtctldata.ReloadSchemaShardRequest)(nil), // 77: vtctldata.ReloadSchemaShardRequest
- (*vtctldata.RemoveBackupRequest)(nil), // 78: vtctldata.RemoveBackupRequest
- (*vtctldata.RemoveKeyspaceCellRequest)(nil), // 79: vtctldata.RemoveKeyspaceCellRequest
- (*vtctldata.RemoveShardCellRequest)(nil), // 80: vtctldata.RemoveShardCellRequest
- (*vtctldata.ReparentTabletRequest)(nil), // 81: vtctldata.ReparentTabletRequest
- (*vtctldata.ReshardCreateRequest)(nil), // 82: vtctldata.ReshardCreateRequest
- (*vtctldata.RestoreFromBackupRequest)(nil), // 83: vtctldata.RestoreFromBackupRequest
- (*vtctldata.RetrySchemaMigrationRequest)(nil), // 84: vtctldata.RetrySchemaMigrationRequest
- (*vtctldata.RunHealthCheckRequest)(nil), // 85: vtctldata.RunHealthCheckRequest
- (*vtctldata.SetKeyspaceDurabilityPolicyRequest)(nil), // 86: vtctldata.SetKeyspaceDurabilityPolicyRequest
- (*vtctldata.SetShardIsPrimaryServingRequest)(nil), // 87: vtctldata.SetShardIsPrimaryServingRequest
- (*vtctldata.SetShardTabletControlRequest)(nil), // 88: vtctldata.SetShardTabletControlRequest
- (*vtctldata.SetWritableRequest)(nil), // 89: vtctldata.SetWritableRequest
- (*vtctldata.ShardReplicationAddRequest)(nil), // 90: vtctldata.ShardReplicationAddRequest
- (*vtctldata.ShardReplicationFixRequest)(nil), // 91: vtctldata.ShardReplicationFixRequest
- (*vtctldata.ShardReplicationPositionsRequest)(nil), // 92: vtctldata.ShardReplicationPositionsRequest
- (*vtctldata.ShardReplicationRemoveRequest)(nil), // 93: vtctldata.ShardReplicationRemoveRequest
- (*vtctldata.SleepTabletRequest)(nil), // 94: vtctldata.SleepTabletRequest
- (*vtctldata.SourceShardAddRequest)(nil), // 95: vtctldata.SourceShardAddRequest
- (*vtctldata.SourceShardDeleteRequest)(nil), // 96: vtctldata.SourceShardDeleteRequest
- (*vtctldata.StartReplicationRequest)(nil), // 97: vtctldata.StartReplicationRequest
- (*vtctldata.StopReplicationRequest)(nil), // 98: vtctldata.StopReplicationRequest
- (*vtctldata.TabletExternallyReparentedRequest)(nil), // 99: vtctldata.TabletExternallyReparentedRequest
- (*vtctldata.UpdateCellInfoRequest)(nil), // 100: vtctldata.UpdateCellInfoRequest
- (*vtctldata.UpdateCellsAliasRequest)(nil), // 101: vtctldata.UpdateCellsAliasRequest
- (*vtctldata.ValidateRequest)(nil), // 102: vtctldata.ValidateRequest
- (*vtctldata.ValidateKeyspaceRequest)(nil), // 103: vtctldata.ValidateKeyspaceRequest
- (*vtctldata.ValidateSchemaKeyspaceRequest)(nil), // 104: vtctldata.ValidateSchemaKeyspaceRequest
- (*vtctldata.ValidateShardRequest)(nil), // 105: vtctldata.ValidateShardRequest
- (*vtctldata.ValidateVersionKeyspaceRequest)(nil), // 106: vtctldata.ValidateVersionKeyspaceRequest
- (*vtctldata.ValidateVersionShardRequest)(nil), // 107: vtctldata.ValidateVersionShardRequest
- (*vtctldata.ValidateVSchemaRequest)(nil), // 108: vtctldata.ValidateVSchemaRequest
- (*vtctldata.VDiffCreateRequest)(nil), // 109: vtctldata.VDiffCreateRequest
- (*vtctldata.VDiffDeleteRequest)(nil), // 110: vtctldata.VDiffDeleteRequest
- (*vtctldata.VDiffResumeRequest)(nil), // 111: vtctldata.VDiffResumeRequest
- (*vtctldata.VDiffShowRequest)(nil), // 112: vtctldata.VDiffShowRequest
- (*vtctldata.VDiffStopRequest)(nil), // 113: vtctldata.VDiffStopRequest
- (*vtctldata.WorkflowDeleteRequest)(nil), // 114: vtctldata.WorkflowDeleteRequest
- (*vtctldata.WorkflowStatusRequest)(nil), // 115: vtctldata.WorkflowStatusRequest
- (*vtctldata.WorkflowSwitchTrafficRequest)(nil), // 116: vtctldata.WorkflowSwitchTrafficRequest
- (*vtctldata.WorkflowUpdateRequest)(nil), // 117: vtctldata.WorkflowUpdateRequest
- (*vtctldata.GetMirrorRulesRequest)(nil), // 118: vtctldata.GetMirrorRulesRequest
- (*vtctldata.WorkflowMirrorTrafficRequest)(nil), // 119: vtctldata.WorkflowMirrorTrafficRequest
- (*vtctldata.ExecuteVtctlCommandResponse)(nil), // 120: vtctldata.ExecuteVtctlCommandResponse
- (*vtctldata.AddCellInfoResponse)(nil), // 121: vtctldata.AddCellInfoResponse
- (*vtctldata.AddCellsAliasResponse)(nil), // 122: vtctldata.AddCellsAliasResponse
- (*vtctldata.ApplyRoutingRulesResponse)(nil), // 123: vtctldata.ApplyRoutingRulesResponse
- (*vtctldata.ApplySchemaResponse)(nil), // 124: vtctldata.ApplySchemaResponse
- (*vtctldata.ApplyKeyspaceRoutingRulesResponse)(nil), // 125: vtctldata.ApplyKeyspaceRoutingRulesResponse
- (*vtctldata.ApplyShardRoutingRulesResponse)(nil), // 126: vtctldata.ApplyShardRoutingRulesResponse
- (*vtctldata.ApplyVSchemaResponse)(nil), // 127: vtctldata.ApplyVSchemaResponse
- (*vtctldata.BackupResponse)(nil), // 128: vtctldata.BackupResponse
- (*vtctldata.CancelSchemaMigrationResponse)(nil), // 129: vtctldata.CancelSchemaMigrationResponse
- (*vtctldata.ChangeTabletTypeResponse)(nil), // 130: vtctldata.ChangeTabletTypeResponse
- (*vtctldata.CheckThrottlerResponse)(nil), // 131: vtctldata.CheckThrottlerResponse
- (*vtctldata.CleanupSchemaMigrationResponse)(nil), // 132: vtctldata.CleanupSchemaMigrationResponse
- (*vtctldata.CompleteSchemaMigrationResponse)(nil), // 133: vtctldata.CompleteSchemaMigrationResponse
- (*vtctldata.CreateKeyspaceResponse)(nil), // 134: vtctldata.CreateKeyspaceResponse
- (*vtctldata.CreateShardResponse)(nil), // 135: vtctldata.CreateShardResponse
- (*vtctldata.DeleteCellInfoResponse)(nil), // 136: vtctldata.DeleteCellInfoResponse
- (*vtctldata.DeleteCellsAliasResponse)(nil), // 137: vtctldata.DeleteCellsAliasResponse
- (*vtctldata.DeleteKeyspaceResponse)(nil), // 138: vtctldata.DeleteKeyspaceResponse
- (*vtctldata.DeleteShardsResponse)(nil), // 139: vtctldata.DeleteShardsResponse
- (*vtctldata.DeleteSrvVSchemaResponse)(nil), // 140: vtctldata.DeleteSrvVSchemaResponse
- (*vtctldata.DeleteTabletsResponse)(nil), // 141: vtctldata.DeleteTabletsResponse
- (*vtctldata.EmergencyReparentShardResponse)(nil), // 142: vtctldata.EmergencyReparentShardResponse
- (*vtctldata.ExecuteFetchAsAppResponse)(nil), // 143: vtctldata.ExecuteFetchAsAppResponse
- (*vtctldata.ExecuteFetchAsDBAResponse)(nil), // 144: vtctldata.ExecuteFetchAsDBAResponse
- (*vtctldata.ExecuteHookResponse)(nil), // 145: vtctldata.ExecuteHookResponse
- (*vtctldata.ExecuteMultiFetchAsDBAResponse)(nil), // 146: vtctldata.ExecuteMultiFetchAsDBAResponse
- (*vtctldata.FindAllShardsInKeyspaceResponse)(nil), // 147: vtctldata.FindAllShardsInKeyspaceResponse
- (*vtctldata.ForceCutOverSchemaMigrationResponse)(nil), // 148: vtctldata.ForceCutOverSchemaMigrationResponse
- (*vtctldata.GetBackupsResponse)(nil), // 149: vtctldata.GetBackupsResponse
- (*vtctldata.GetCellInfoResponse)(nil), // 150: vtctldata.GetCellInfoResponse
- (*vtctldata.GetCellInfoNamesResponse)(nil), // 151: vtctldata.GetCellInfoNamesResponse
- (*vtctldata.GetCellsAliasesResponse)(nil), // 152: vtctldata.GetCellsAliasesResponse
- (*vtctldata.GetFullStatusResponse)(nil), // 153: vtctldata.GetFullStatusResponse
- (*vtctldata.GetKeyspaceResponse)(nil), // 154: vtctldata.GetKeyspaceResponse
- (*vtctldata.GetKeyspacesResponse)(nil), // 155: vtctldata.GetKeyspacesResponse
- (*vtctldata.GetKeyspaceRoutingRulesResponse)(nil), // 156: vtctldata.GetKeyspaceRoutingRulesResponse
- (*vtctldata.GetPermissionsResponse)(nil), // 157: vtctldata.GetPermissionsResponse
- (*vtctldata.GetRoutingRulesResponse)(nil), // 158: vtctldata.GetRoutingRulesResponse
- (*vtctldata.GetSchemaResponse)(nil), // 159: vtctldata.GetSchemaResponse
- (*vtctldata.GetSchemaMigrationsResponse)(nil), // 160: vtctldata.GetSchemaMigrationsResponse
- (*vtctldata.GetShardReplicationResponse)(nil), // 161: vtctldata.GetShardReplicationResponse
- (*vtctldata.GetShardResponse)(nil), // 162: vtctldata.GetShardResponse
- (*vtctldata.GetShardRoutingRulesResponse)(nil), // 163: vtctldata.GetShardRoutingRulesResponse
- (*vtctldata.GetSrvKeyspaceNamesResponse)(nil), // 164: vtctldata.GetSrvKeyspaceNamesResponse
- (*vtctldata.GetSrvKeyspacesResponse)(nil), // 165: vtctldata.GetSrvKeyspacesResponse
- (*vtctldata.UpdateThrottlerConfigResponse)(nil), // 166: vtctldata.UpdateThrottlerConfigResponse
- (*vtctldata.GetSrvVSchemaResponse)(nil), // 167: vtctldata.GetSrvVSchemaResponse
- (*vtctldata.GetSrvVSchemasResponse)(nil), // 168: vtctldata.GetSrvVSchemasResponse
- (*vtctldata.GetTabletResponse)(nil), // 169: vtctldata.GetTabletResponse
- (*vtctldata.GetTabletsResponse)(nil), // 170: vtctldata.GetTabletsResponse
- (*vtctldata.GetThrottlerStatusResponse)(nil), // 171: vtctldata.GetThrottlerStatusResponse
- (*vtctldata.GetTopologyPathResponse)(nil), // 172: vtctldata.GetTopologyPathResponse
- (*vtctldata.GetVersionResponse)(nil), // 173: vtctldata.GetVersionResponse
- (*vtctldata.GetVSchemaResponse)(nil), // 174: vtctldata.GetVSchemaResponse
- (*vtctldata.GetWorkflowsResponse)(nil), // 175: vtctldata.GetWorkflowsResponse
- (*vtctldata.InitShardPrimaryResponse)(nil), // 176: vtctldata.InitShardPrimaryResponse
- (*vtctldata.LaunchSchemaMigrationResponse)(nil), // 177: vtctldata.LaunchSchemaMigrationResponse
- (*vtctldata.LookupVindexCreateResponse)(nil), // 178: vtctldata.LookupVindexCreateResponse
- (*vtctldata.LookupVindexExternalizeResponse)(nil), // 179: vtctldata.LookupVindexExternalizeResponse
- (*vtctldata.MaterializeCreateResponse)(nil), // 180: vtctldata.MaterializeCreateResponse
- (*vtctldata.WorkflowStatusResponse)(nil), // 181: vtctldata.WorkflowStatusResponse
- (*vtctldata.MountRegisterResponse)(nil), // 182: vtctldata.MountRegisterResponse
- (*vtctldata.MountUnregisterResponse)(nil), // 183: vtctldata.MountUnregisterResponse
- (*vtctldata.MountShowResponse)(nil), // 184: vtctldata.MountShowResponse
- (*vtctldata.MountListResponse)(nil), // 185: vtctldata.MountListResponse
- (*vtctldata.MoveTablesCompleteResponse)(nil), // 186: vtctldata.MoveTablesCompleteResponse
- (*vtctldata.PingTabletResponse)(nil), // 187: vtctldata.PingTabletResponse
- (*vtctldata.PlannedReparentShardResponse)(nil), // 188: vtctldata.PlannedReparentShardResponse
- (*vtctldata.RebuildKeyspaceGraphResponse)(nil), // 189: vtctldata.RebuildKeyspaceGraphResponse
- (*vtctldata.RebuildVSchemaGraphResponse)(nil), // 190: vtctldata.RebuildVSchemaGraphResponse
- (*vtctldata.RefreshStateResponse)(nil), // 191: vtctldata.RefreshStateResponse
- (*vtctldata.RefreshStateByShardResponse)(nil), // 192: vtctldata.RefreshStateByShardResponse
- (*vtctldata.ReloadSchemaResponse)(nil), // 193: vtctldata.ReloadSchemaResponse
- (*vtctldata.ReloadSchemaKeyspaceResponse)(nil), // 194: vtctldata.ReloadSchemaKeyspaceResponse
- (*vtctldata.ReloadSchemaShardResponse)(nil), // 195: vtctldata.ReloadSchemaShardResponse
- (*vtctldata.RemoveBackupResponse)(nil), // 196: vtctldata.RemoveBackupResponse
- (*vtctldata.RemoveKeyspaceCellResponse)(nil), // 197: vtctldata.RemoveKeyspaceCellResponse
- (*vtctldata.RemoveShardCellResponse)(nil), // 198: vtctldata.RemoveShardCellResponse
- (*vtctldata.ReparentTabletResponse)(nil), // 199: vtctldata.ReparentTabletResponse
- (*vtctldata.RestoreFromBackupResponse)(nil), // 200: vtctldata.RestoreFromBackupResponse
- (*vtctldata.RetrySchemaMigrationResponse)(nil), // 201: vtctldata.RetrySchemaMigrationResponse
- (*vtctldata.RunHealthCheckResponse)(nil), // 202: vtctldata.RunHealthCheckResponse
- (*vtctldata.SetKeyspaceDurabilityPolicyResponse)(nil), // 203: vtctldata.SetKeyspaceDurabilityPolicyResponse
- (*vtctldata.SetShardIsPrimaryServingResponse)(nil), // 204: vtctldata.SetShardIsPrimaryServingResponse
- (*vtctldata.SetShardTabletControlResponse)(nil), // 205: vtctldata.SetShardTabletControlResponse
- (*vtctldata.SetWritableResponse)(nil), // 206: vtctldata.SetWritableResponse
- (*vtctldata.ShardReplicationAddResponse)(nil), // 207: vtctldata.ShardReplicationAddResponse
- (*vtctldata.ShardReplicationFixResponse)(nil), // 208: vtctldata.ShardReplicationFixResponse
- (*vtctldata.ShardReplicationPositionsResponse)(nil), // 209: vtctldata.ShardReplicationPositionsResponse
- (*vtctldata.ShardReplicationRemoveResponse)(nil), // 210: vtctldata.ShardReplicationRemoveResponse
- (*vtctldata.SleepTabletResponse)(nil), // 211: vtctldata.SleepTabletResponse
- (*vtctldata.SourceShardAddResponse)(nil), // 212: vtctldata.SourceShardAddResponse
- (*vtctldata.SourceShardDeleteResponse)(nil), // 213: vtctldata.SourceShardDeleteResponse
- (*vtctldata.StartReplicationResponse)(nil), // 214: vtctldata.StartReplicationResponse
- (*vtctldata.StopReplicationResponse)(nil), // 215: vtctldata.StopReplicationResponse
- (*vtctldata.TabletExternallyReparentedResponse)(nil), // 216: vtctldata.TabletExternallyReparentedResponse
- (*vtctldata.UpdateCellInfoResponse)(nil), // 217: vtctldata.UpdateCellInfoResponse
- (*vtctldata.UpdateCellsAliasResponse)(nil), // 218: vtctldata.UpdateCellsAliasResponse
- (*vtctldata.ValidateResponse)(nil), // 219: vtctldata.ValidateResponse
- (*vtctldata.ValidateKeyspaceResponse)(nil), // 220: vtctldata.ValidateKeyspaceResponse
- (*vtctldata.ValidateSchemaKeyspaceResponse)(nil), // 221: vtctldata.ValidateSchemaKeyspaceResponse
- (*vtctldata.ValidateShardResponse)(nil), // 222: vtctldata.ValidateShardResponse
- (*vtctldata.ValidateVersionKeyspaceResponse)(nil), // 223: vtctldata.ValidateVersionKeyspaceResponse
- (*vtctldata.ValidateVersionShardResponse)(nil), // 224: vtctldata.ValidateVersionShardResponse
- (*vtctldata.ValidateVSchemaResponse)(nil), // 225: vtctldata.ValidateVSchemaResponse
- (*vtctldata.VDiffCreateResponse)(nil), // 226: vtctldata.VDiffCreateResponse
- (*vtctldata.VDiffDeleteResponse)(nil), // 227: vtctldata.VDiffDeleteResponse
- (*vtctldata.VDiffResumeResponse)(nil), // 228: vtctldata.VDiffResumeResponse
- (*vtctldata.VDiffShowResponse)(nil), // 229: vtctldata.VDiffShowResponse
- (*vtctldata.VDiffStopResponse)(nil), // 230: vtctldata.VDiffStopResponse
- (*vtctldata.WorkflowDeleteResponse)(nil), // 231: vtctldata.WorkflowDeleteResponse
- (*vtctldata.WorkflowSwitchTrafficResponse)(nil), // 232: vtctldata.WorkflowSwitchTrafficResponse
- (*vtctldata.WorkflowUpdateResponse)(nil), // 233: vtctldata.WorkflowUpdateResponse
- (*vtctldata.GetMirrorRulesResponse)(nil), // 234: vtctldata.GetMirrorRulesResponse
- (*vtctldata.WorkflowMirrorTrafficResponse)(nil), // 235: vtctldata.WorkflowMirrorTrafficResponse
+ (*vtctldata.ConcludeTransactionRequest)(nil), // 15: vtctldata.ConcludeTransactionRequest
+ (*vtctldata.CreateKeyspaceRequest)(nil), // 16: vtctldata.CreateKeyspaceRequest
+ (*vtctldata.CreateShardRequest)(nil), // 17: vtctldata.CreateShardRequest
+ (*vtctldata.DeleteCellInfoRequest)(nil), // 18: vtctldata.DeleteCellInfoRequest
+ (*vtctldata.DeleteCellsAliasRequest)(nil), // 19: vtctldata.DeleteCellsAliasRequest
+ (*vtctldata.DeleteKeyspaceRequest)(nil), // 20: vtctldata.DeleteKeyspaceRequest
+ (*vtctldata.DeleteShardsRequest)(nil), // 21: vtctldata.DeleteShardsRequest
+ (*vtctldata.DeleteSrvVSchemaRequest)(nil), // 22: vtctldata.DeleteSrvVSchemaRequest
+ (*vtctldata.DeleteTabletsRequest)(nil), // 23: vtctldata.DeleteTabletsRequest
+ (*vtctldata.EmergencyReparentShardRequest)(nil), // 24: vtctldata.EmergencyReparentShardRequest
+ (*vtctldata.ExecuteFetchAsAppRequest)(nil), // 25: vtctldata.ExecuteFetchAsAppRequest
+ (*vtctldata.ExecuteFetchAsDBARequest)(nil), // 26: vtctldata.ExecuteFetchAsDBARequest
+ (*vtctldata.ExecuteHookRequest)(nil), // 27: vtctldata.ExecuteHookRequest
+ (*vtctldata.ExecuteMultiFetchAsDBARequest)(nil), // 28: vtctldata.ExecuteMultiFetchAsDBARequest
+ (*vtctldata.FindAllShardsInKeyspaceRequest)(nil), // 29: vtctldata.FindAllShardsInKeyspaceRequest
+ (*vtctldata.ForceCutOverSchemaMigrationRequest)(nil), // 30: vtctldata.ForceCutOverSchemaMigrationRequest
+ (*vtctldata.GetBackupsRequest)(nil), // 31: vtctldata.GetBackupsRequest
+ (*vtctldata.GetCellInfoRequest)(nil), // 32: vtctldata.GetCellInfoRequest
+ (*vtctldata.GetCellInfoNamesRequest)(nil), // 33: vtctldata.GetCellInfoNamesRequest
+ (*vtctldata.GetCellsAliasesRequest)(nil), // 34: vtctldata.GetCellsAliasesRequest
+ (*vtctldata.GetFullStatusRequest)(nil), // 35: vtctldata.GetFullStatusRequest
+ (*vtctldata.GetKeyspaceRequest)(nil), // 36: vtctldata.GetKeyspaceRequest
+ (*vtctldata.GetKeyspacesRequest)(nil), // 37: vtctldata.GetKeyspacesRequest
+ (*vtctldata.GetKeyspaceRoutingRulesRequest)(nil), // 38: vtctldata.GetKeyspaceRoutingRulesRequest
+ (*vtctldata.GetPermissionsRequest)(nil), // 39: vtctldata.GetPermissionsRequest
+ (*vtctldata.GetRoutingRulesRequest)(nil), // 40: vtctldata.GetRoutingRulesRequest
+ (*vtctldata.GetSchemaRequest)(nil), // 41: vtctldata.GetSchemaRequest
+ (*vtctldata.GetSchemaMigrationsRequest)(nil), // 42: vtctldata.GetSchemaMigrationsRequest
+ (*vtctldata.GetShardReplicationRequest)(nil), // 43: vtctldata.GetShardReplicationRequest
+ (*vtctldata.GetShardRequest)(nil), // 44: vtctldata.GetShardRequest
+ (*vtctldata.GetShardRoutingRulesRequest)(nil), // 45: vtctldata.GetShardRoutingRulesRequest
+ (*vtctldata.GetSrvKeyspaceNamesRequest)(nil), // 46: vtctldata.GetSrvKeyspaceNamesRequest
+ (*vtctldata.GetSrvKeyspacesRequest)(nil), // 47: vtctldata.GetSrvKeyspacesRequest
+ (*vtctldata.UpdateThrottlerConfigRequest)(nil), // 48: vtctldata.UpdateThrottlerConfigRequest
+ (*vtctldata.GetSrvVSchemaRequest)(nil), // 49: vtctldata.GetSrvVSchemaRequest
+ (*vtctldata.GetSrvVSchemasRequest)(nil), // 50: vtctldata.GetSrvVSchemasRequest
+ (*vtctldata.GetTabletRequest)(nil), // 51: vtctldata.GetTabletRequest
+ (*vtctldata.GetTabletsRequest)(nil), // 52: vtctldata.GetTabletsRequest
+ (*vtctldata.GetThrottlerStatusRequest)(nil), // 53: vtctldata.GetThrottlerStatusRequest
+ (*vtctldata.GetTopologyPathRequest)(nil), // 54: vtctldata.GetTopologyPathRequest
+ (*vtctldata.GetUnresolvedTransactionsRequest)(nil), // 55: vtctldata.GetUnresolvedTransactionsRequest
+ (*vtctldata.GetVersionRequest)(nil), // 56: vtctldata.GetVersionRequest
+ (*vtctldata.GetVSchemaRequest)(nil), // 57: vtctldata.GetVSchemaRequest
+ (*vtctldata.GetWorkflowsRequest)(nil), // 58: vtctldata.GetWorkflowsRequest
+ (*vtctldata.InitShardPrimaryRequest)(nil), // 59: vtctldata.InitShardPrimaryRequest
+ (*vtctldata.LaunchSchemaMigrationRequest)(nil), // 60: vtctldata.LaunchSchemaMigrationRequest
+ (*vtctldata.LookupVindexCreateRequest)(nil), // 61: vtctldata.LookupVindexCreateRequest
+ (*vtctldata.LookupVindexExternalizeRequest)(nil), // 62: vtctldata.LookupVindexExternalizeRequest
+ (*vtctldata.MaterializeCreateRequest)(nil), // 63: vtctldata.MaterializeCreateRequest
+ (*vtctldata.MigrateCreateRequest)(nil), // 64: vtctldata.MigrateCreateRequest
+ (*vtctldata.MountRegisterRequest)(nil), // 65: vtctldata.MountRegisterRequest
+ (*vtctldata.MountUnregisterRequest)(nil), // 66: vtctldata.MountUnregisterRequest
+ (*vtctldata.MountShowRequest)(nil), // 67: vtctldata.MountShowRequest
+ (*vtctldata.MountListRequest)(nil), // 68: vtctldata.MountListRequest
+ (*vtctldata.MoveTablesCreateRequest)(nil), // 69: vtctldata.MoveTablesCreateRequest
+ (*vtctldata.MoveTablesCompleteRequest)(nil), // 70: vtctldata.MoveTablesCompleteRequest
+ (*vtctldata.PingTabletRequest)(nil), // 71: vtctldata.PingTabletRequest
+ (*vtctldata.PlannedReparentShardRequest)(nil), // 72: vtctldata.PlannedReparentShardRequest
+ (*vtctldata.RebuildKeyspaceGraphRequest)(nil), // 73: vtctldata.RebuildKeyspaceGraphRequest
+ (*vtctldata.RebuildVSchemaGraphRequest)(nil), // 74: vtctldata.RebuildVSchemaGraphRequest
+ (*vtctldata.RefreshStateRequest)(nil), // 75: vtctldata.RefreshStateRequest
+ (*vtctldata.RefreshStateByShardRequest)(nil), // 76: vtctldata.RefreshStateByShardRequest
+ (*vtctldata.ReloadSchemaRequest)(nil), // 77: vtctldata.ReloadSchemaRequest
+ (*vtctldata.ReloadSchemaKeyspaceRequest)(nil), // 78: vtctldata.ReloadSchemaKeyspaceRequest
+ (*vtctldata.ReloadSchemaShardRequest)(nil), // 79: vtctldata.ReloadSchemaShardRequest
+ (*vtctldata.RemoveBackupRequest)(nil), // 80: vtctldata.RemoveBackupRequest
+ (*vtctldata.RemoveKeyspaceCellRequest)(nil), // 81: vtctldata.RemoveKeyspaceCellRequest
+ (*vtctldata.RemoveShardCellRequest)(nil), // 82: vtctldata.RemoveShardCellRequest
+ (*vtctldata.ReparentTabletRequest)(nil), // 83: vtctldata.ReparentTabletRequest
+ (*vtctldata.ReshardCreateRequest)(nil), // 84: vtctldata.ReshardCreateRequest
+ (*vtctldata.RestoreFromBackupRequest)(nil), // 85: vtctldata.RestoreFromBackupRequest
+ (*vtctldata.RetrySchemaMigrationRequest)(nil), // 86: vtctldata.RetrySchemaMigrationRequest
+ (*vtctldata.RunHealthCheckRequest)(nil), // 87: vtctldata.RunHealthCheckRequest
+ (*vtctldata.SetKeyspaceDurabilityPolicyRequest)(nil), // 88: vtctldata.SetKeyspaceDurabilityPolicyRequest
+ (*vtctldata.SetShardIsPrimaryServingRequest)(nil), // 89: vtctldata.SetShardIsPrimaryServingRequest
+ (*vtctldata.SetShardTabletControlRequest)(nil), // 90: vtctldata.SetShardTabletControlRequest
+ (*vtctldata.SetWritableRequest)(nil), // 91: vtctldata.SetWritableRequest
+ (*vtctldata.ShardReplicationAddRequest)(nil), // 92: vtctldata.ShardReplicationAddRequest
+ (*vtctldata.ShardReplicationFixRequest)(nil), // 93: vtctldata.ShardReplicationFixRequest
+ (*vtctldata.ShardReplicationPositionsRequest)(nil), // 94: vtctldata.ShardReplicationPositionsRequest
+ (*vtctldata.ShardReplicationRemoveRequest)(nil), // 95: vtctldata.ShardReplicationRemoveRequest
+ (*vtctldata.SleepTabletRequest)(nil), // 96: vtctldata.SleepTabletRequest
+ (*vtctldata.SourceShardAddRequest)(nil), // 97: vtctldata.SourceShardAddRequest
+ (*vtctldata.SourceShardDeleteRequest)(nil), // 98: vtctldata.SourceShardDeleteRequest
+ (*vtctldata.StartReplicationRequest)(nil), // 99: vtctldata.StartReplicationRequest
+ (*vtctldata.StopReplicationRequest)(nil), // 100: vtctldata.StopReplicationRequest
+ (*vtctldata.TabletExternallyReparentedRequest)(nil), // 101: vtctldata.TabletExternallyReparentedRequest
+ (*vtctldata.UpdateCellInfoRequest)(nil), // 102: vtctldata.UpdateCellInfoRequest
+ (*vtctldata.UpdateCellsAliasRequest)(nil), // 103: vtctldata.UpdateCellsAliasRequest
+ (*vtctldata.ValidateRequest)(nil), // 104: vtctldata.ValidateRequest
+ (*vtctldata.ValidateKeyspaceRequest)(nil), // 105: vtctldata.ValidateKeyspaceRequest
+ (*vtctldata.ValidateSchemaKeyspaceRequest)(nil), // 106: vtctldata.ValidateSchemaKeyspaceRequest
+ (*vtctldata.ValidateShardRequest)(nil), // 107: vtctldata.ValidateShardRequest
+ (*vtctldata.ValidateVersionKeyspaceRequest)(nil), // 108: vtctldata.ValidateVersionKeyspaceRequest
+ (*vtctldata.ValidateVersionShardRequest)(nil), // 109: vtctldata.ValidateVersionShardRequest
+ (*vtctldata.ValidateVSchemaRequest)(nil), // 110: vtctldata.ValidateVSchemaRequest
+ (*vtctldata.VDiffCreateRequest)(nil), // 111: vtctldata.VDiffCreateRequest
+ (*vtctldata.VDiffDeleteRequest)(nil), // 112: vtctldata.VDiffDeleteRequest
+ (*vtctldata.VDiffResumeRequest)(nil), // 113: vtctldata.VDiffResumeRequest
+ (*vtctldata.VDiffShowRequest)(nil), // 114: vtctldata.VDiffShowRequest
+ (*vtctldata.VDiffStopRequest)(nil), // 115: vtctldata.VDiffStopRequest
+ (*vtctldata.WorkflowDeleteRequest)(nil), // 116: vtctldata.WorkflowDeleteRequest
+ (*vtctldata.WorkflowStatusRequest)(nil), // 117: vtctldata.WorkflowStatusRequest
+ (*vtctldata.WorkflowSwitchTrafficRequest)(nil), // 118: vtctldata.WorkflowSwitchTrafficRequest
+ (*vtctldata.WorkflowUpdateRequest)(nil), // 119: vtctldata.WorkflowUpdateRequest
+ (*vtctldata.GetMirrorRulesRequest)(nil), // 120: vtctldata.GetMirrorRulesRequest
+ (*vtctldata.WorkflowMirrorTrafficRequest)(nil), // 121: vtctldata.WorkflowMirrorTrafficRequest
+ (*vtctldata.ExecuteVtctlCommandResponse)(nil), // 122: vtctldata.ExecuteVtctlCommandResponse
+ (*vtctldata.AddCellInfoResponse)(nil), // 123: vtctldata.AddCellInfoResponse
+ (*vtctldata.AddCellsAliasResponse)(nil), // 124: vtctldata.AddCellsAliasResponse
+ (*vtctldata.ApplyRoutingRulesResponse)(nil), // 125: vtctldata.ApplyRoutingRulesResponse
+ (*vtctldata.ApplySchemaResponse)(nil), // 126: vtctldata.ApplySchemaResponse
+ (*vtctldata.ApplyKeyspaceRoutingRulesResponse)(nil), // 127: vtctldata.ApplyKeyspaceRoutingRulesResponse
+ (*vtctldata.ApplyShardRoutingRulesResponse)(nil), // 128: vtctldata.ApplyShardRoutingRulesResponse
+ (*vtctldata.ApplyVSchemaResponse)(nil), // 129: vtctldata.ApplyVSchemaResponse
+ (*vtctldata.BackupResponse)(nil), // 130: vtctldata.BackupResponse
+ (*vtctldata.CancelSchemaMigrationResponse)(nil), // 131: vtctldata.CancelSchemaMigrationResponse
+ (*vtctldata.ChangeTabletTypeResponse)(nil), // 132: vtctldata.ChangeTabletTypeResponse
+ (*vtctldata.CheckThrottlerResponse)(nil), // 133: vtctldata.CheckThrottlerResponse
+ (*vtctldata.CleanupSchemaMigrationResponse)(nil), // 134: vtctldata.CleanupSchemaMigrationResponse
+ (*vtctldata.CompleteSchemaMigrationResponse)(nil), // 135: vtctldata.CompleteSchemaMigrationResponse
+ (*vtctldata.ConcludeTransactionResponse)(nil), // 136: vtctldata.ConcludeTransactionResponse
+ (*vtctldata.CreateKeyspaceResponse)(nil), // 137: vtctldata.CreateKeyspaceResponse
+ (*vtctldata.CreateShardResponse)(nil), // 138: vtctldata.CreateShardResponse
+ (*vtctldata.DeleteCellInfoResponse)(nil), // 139: vtctldata.DeleteCellInfoResponse
+ (*vtctldata.DeleteCellsAliasResponse)(nil), // 140: vtctldata.DeleteCellsAliasResponse
+ (*vtctldata.DeleteKeyspaceResponse)(nil), // 141: vtctldata.DeleteKeyspaceResponse
+ (*vtctldata.DeleteShardsResponse)(nil), // 142: vtctldata.DeleteShardsResponse
+ (*vtctldata.DeleteSrvVSchemaResponse)(nil), // 143: vtctldata.DeleteSrvVSchemaResponse
+ (*vtctldata.DeleteTabletsResponse)(nil), // 144: vtctldata.DeleteTabletsResponse
+ (*vtctldata.EmergencyReparentShardResponse)(nil), // 145: vtctldata.EmergencyReparentShardResponse
+ (*vtctldata.ExecuteFetchAsAppResponse)(nil), // 146: vtctldata.ExecuteFetchAsAppResponse
+ (*vtctldata.ExecuteFetchAsDBAResponse)(nil), // 147: vtctldata.ExecuteFetchAsDBAResponse
+ (*vtctldata.ExecuteHookResponse)(nil), // 148: vtctldata.ExecuteHookResponse
+ (*vtctldata.ExecuteMultiFetchAsDBAResponse)(nil), // 149: vtctldata.ExecuteMultiFetchAsDBAResponse
+ (*vtctldata.FindAllShardsInKeyspaceResponse)(nil), // 150: vtctldata.FindAllShardsInKeyspaceResponse
+ (*vtctldata.ForceCutOverSchemaMigrationResponse)(nil), // 151: vtctldata.ForceCutOverSchemaMigrationResponse
+ (*vtctldata.GetBackupsResponse)(nil), // 152: vtctldata.GetBackupsResponse
+ (*vtctldata.GetCellInfoResponse)(nil), // 153: vtctldata.GetCellInfoResponse
+ (*vtctldata.GetCellInfoNamesResponse)(nil), // 154: vtctldata.GetCellInfoNamesResponse
+ (*vtctldata.GetCellsAliasesResponse)(nil), // 155: vtctldata.GetCellsAliasesResponse
+ (*vtctldata.GetFullStatusResponse)(nil), // 156: vtctldata.GetFullStatusResponse
+ (*vtctldata.GetKeyspaceResponse)(nil), // 157: vtctldata.GetKeyspaceResponse
+ (*vtctldata.GetKeyspacesResponse)(nil), // 158: vtctldata.GetKeyspacesResponse
+ (*vtctldata.GetKeyspaceRoutingRulesResponse)(nil), // 159: vtctldata.GetKeyspaceRoutingRulesResponse
+ (*vtctldata.GetPermissionsResponse)(nil), // 160: vtctldata.GetPermissionsResponse
+ (*vtctldata.GetRoutingRulesResponse)(nil), // 161: vtctldata.GetRoutingRulesResponse
+ (*vtctldata.GetSchemaResponse)(nil), // 162: vtctldata.GetSchemaResponse
+ (*vtctldata.GetSchemaMigrationsResponse)(nil), // 163: vtctldata.GetSchemaMigrationsResponse
+ (*vtctldata.GetShardReplicationResponse)(nil), // 164: vtctldata.GetShardReplicationResponse
+ (*vtctldata.GetShardResponse)(nil), // 165: vtctldata.GetShardResponse
+ (*vtctldata.GetShardRoutingRulesResponse)(nil), // 166: vtctldata.GetShardRoutingRulesResponse
+ (*vtctldata.GetSrvKeyspaceNamesResponse)(nil), // 167: vtctldata.GetSrvKeyspaceNamesResponse
+ (*vtctldata.GetSrvKeyspacesResponse)(nil), // 168: vtctldata.GetSrvKeyspacesResponse
+ (*vtctldata.UpdateThrottlerConfigResponse)(nil), // 169: vtctldata.UpdateThrottlerConfigResponse
+ (*vtctldata.GetSrvVSchemaResponse)(nil), // 170: vtctldata.GetSrvVSchemaResponse
+ (*vtctldata.GetSrvVSchemasResponse)(nil), // 171: vtctldata.GetSrvVSchemasResponse
+ (*vtctldata.GetTabletResponse)(nil), // 172: vtctldata.GetTabletResponse
+ (*vtctldata.GetTabletsResponse)(nil), // 173: vtctldata.GetTabletsResponse
+ (*vtctldata.GetThrottlerStatusResponse)(nil), // 174: vtctldata.GetThrottlerStatusResponse
+ (*vtctldata.GetTopologyPathResponse)(nil), // 175: vtctldata.GetTopologyPathResponse
+ (*vtctldata.GetUnresolvedTransactionsResponse)(nil), // 176: vtctldata.GetUnresolvedTransactionsResponse
+ (*vtctldata.GetVersionResponse)(nil), // 177: vtctldata.GetVersionResponse
+ (*vtctldata.GetVSchemaResponse)(nil), // 178: vtctldata.GetVSchemaResponse
+ (*vtctldata.GetWorkflowsResponse)(nil), // 179: vtctldata.GetWorkflowsResponse
+ (*vtctldata.InitShardPrimaryResponse)(nil), // 180: vtctldata.InitShardPrimaryResponse
+ (*vtctldata.LaunchSchemaMigrationResponse)(nil), // 181: vtctldata.LaunchSchemaMigrationResponse
+ (*vtctldata.LookupVindexCreateResponse)(nil), // 182: vtctldata.LookupVindexCreateResponse
+ (*vtctldata.LookupVindexExternalizeResponse)(nil), // 183: vtctldata.LookupVindexExternalizeResponse
+ (*vtctldata.MaterializeCreateResponse)(nil), // 184: vtctldata.MaterializeCreateResponse
+ (*vtctldata.WorkflowStatusResponse)(nil), // 185: vtctldata.WorkflowStatusResponse
+ (*vtctldata.MountRegisterResponse)(nil), // 186: vtctldata.MountRegisterResponse
+ (*vtctldata.MountUnregisterResponse)(nil), // 187: vtctldata.MountUnregisterResponse
+ (*vtctldata.MountShowResponse)(nil), // 188: vtctldata.MountShowResponse
+ (*vtctldata.MountListResponse)(nil), // 189: vtctldata.MountListResponse
+ (*vtctldata.MoveTablesCompleteResponse)(nil), // 190: vtctldata.MoveTablesCompleteResponse
+ (*vtctldata.PingTabletResponse)(nil), // 191: vtctldata.PingTabletResponse
+ (*vtctldata.PlannedReparentShardResponse)(nil), // 192: vtctldata.PlannedReparentShardResponse
+ (*vtctldata.RebuildKeyspaceGraphResponse)(nil), // 193: vtctldata.RebuildKeyspaceGraphResponse
+ (*vtctldata.RebuildVSchemaGraphResponse)(nil), // 194: vtctldata.RebuildVSchemaGraphResponse
+ (*vtctldata.RefreshStateResponse)(nil), // 195: vtctldata.RefreshStateResponse
+ (*vtctldata.RefreshStateByShardResponse)(nil), // 196: vtctldata.RefreshStateByShardResponse
+ (*vtctldata.ReloadSchemaResponse)(nil), // 197: vtctldata.ReloadSchemaResponse
+ (*vtctldata.ReloadSchemaKeyspaceResponse)(nil), // 198: vtctldata.ReloadSchemaKeyspaceResponse
+ (*vtctldata.ReloadSchemaShardResponse)(nil), // 199: vtctldata.ReloadSchemaShardResponse
+ (*vtctldata.RemoveBackupResponse)(nil), // 200: vtctldata.RemoveBackupResponse
+ (*vtctldata.RemoveKeyspaceCellResponse)(nil), // 201: vtctldata.RemoveKeyspaceCellResponse
+ (*vtctldata.RemoveShardCellResponse)(nil), // 202: vtctldata.RemoveShardCellResponse
+ (*vtctldata.ReparentTabletResponse)(nil), // 203: vtctldata.ReparentTabletResponse
+ (*vtctldata.RestoreFromBackupResponse)(nil), // 204: vtctldata.RestoreFromBackupResponse
+ (*vtctldata.RetrySchemaMigrationResponse)(nil), // 205: vtctldata.RetrySchemaMigrationResponse
+ (*vtctldata.RunHealthCheckResponse)(nil), // 206: vtctldata.RunHealthCheckResponse
+ (*vtctldata.SetKeyspaceDurabilityPolicyResponse)(nil), // 207: vtctldata.SetKeyspaceDurabilityPolicyResponse
+ (*vtctldata.SetShardIsPrimaryServingResponse)(nil), // 208: vtctldata.SetShardIsPrimaryServingResponse
+ (*vtctldata.SetShardTabletControlResponse)(nil), // 209: vtctldata.SetShardTabletControlResponse
+ (*vtctldata.SetWritableResponse)(nil), // 210: vtctldata.SetWritableResponse
+ (*vtctldata.ShardReplicationAddResponse)(nil), // 211: vtctldata.ShardReplicationAddResponse
+ (*vtctldata.ShardReplicationFixResponse)(nil), // 212: vtctldata.ShardReplicationFixResponse
+ (*vtctldata.ShardReplicationPositionsResponse)(nil), // 213: vtctldata.ShardReplicationPositionsResponse
+ (*vtctldata.ShardReplicationRemoveResponse)(nil), // 214: vtctldata.ShardReplicationRemoveResponse
+ (*vtctldata.SleepTabletResponse)(nil), // 215: vtctldata.SleepTabletResponse
+ (*vtctldata.SourceShardAddResponse)(nil), // 216: vtctldata.SourceShardAddResponse
+ (*vtctldata.SourceShardDeleteResponse)(nil), // 217: vtctldata.SourceShardDeleteResponse
+ (*vtctldata.StartReplicationResponse)(nil), // 218: vtctldata.StartReplicationResponse
+ (*vtctldata.StopReplicationResponse)(nil), // 219: vtctldata.StopReplicationResponse
+ (*vtctldata.TabletExternallyReparentedResponse)(nil), // 220: vtctldata.TabletExternallyReparentedResponse
+ (*vtctldata.UpdateCellInfoResponse)(nil), // 221: vtctldata.UpdateCellInfoResponse
+ (*vtctldata.UpdateCellsAliasResponse)(nil), // 222: vtctldata.UpdateCellsAliasResponse
+ (*vtctldata.ValidateResponse)(nil), // 223: vtctldata.ValidateResponse
+ (*vtctldata.ValidateKeyspaceResponse)(nil), // 224: vtctldata.ValidateKeyspaceResponse
+ (*vtctldata.ValidateSchemaKeyspaceResponse)(nil), // 225: vtctldata.ValidateSchemaKeyspaceResponse
+ (*vtctldata.ValidateShardResponse)(nil), // 226: vtctldata.ValidateShardResponse
+ (*vtctldata.ValidateVersionKeyspaceResponse)(nil), // 227: vtctldata.ValidateVersionKeyspaceResponse
+ (*vtctldata.ValidateVersionShardResponse)(nil), // 228: vtctldata.ValidateVersionShardResponse
+ (*vtctldata.ValidateVSchemaResponse)(nil), // 229: vtctldata.ValidateVSchemaResponse
+ (*vtctldata.VDiffCreateResponse)(nil), // 230: vtctldata.VDiffCreateResponse
+ (*vtctldata.VDiffDeleteResponse)(nil), // 231: vtctldata.VDiffDeleteResponse
+ (*vtctldata.VDiffResumeResponse)(nil), // 232: vtctldata.VDiffResumeResponse
+ (*vtctldata.VDiffShowResponse)(nil), // 233: vtctldata.VDiffShowResponse
+ (*vtctldata.VDiffStopResponse)(nil), // 234: vtctldata.VDiffStopResponse
+ (*vtctldata.WorkflowDeleteResponse)(nil), // 235: vtctldata.WorkflowDeleteResponse
+ (*vtctldata.WorkflowSwitchTrafficResponse)(nil), // 236: vtctldata.WorkflowSwitchTrafficResponse
+ (*vtctldata.WorkflowUpdateResponse)(nil), // 237: vtctldata.WorkflowUpdateResponse
+ (*vtctldata.GetMirrorRulesResponse)(nil), // 238: vtctldata.GetMirrorRulesResponse
+ (*vtctldata.WorkflowMirrorTrafficResponse)(nil), // 239: vtctldata.WorkflowMirrorTrafficResponse
}
var file_vtctlservice_proto_depIdxs = []int32{
0, // 0: vtctlservice.Vtctl.ExecuteVtctlCommand:input_type -> vtctldata.ExecuteVtctlCommandRequest
@@ -1013,233 +1031,237 @@ var file_vtctlservice_proto_depIdxs = []int32{
12, // 12: vtctlservice.Vtctld.CheckThrottler:input_type -> vtctldata.CheckThrottlerRequest
13, // 13: vtctlservice.Vtctld.CleanupSchemaMigration:input_type -> vtctldata.CleanupSchemaMigrationRequest
14, // 14: vtctlservice.Vtctld.CompleteSchemaMigration:input_type -> vtctldata.CompleteSchemaMigrationRequest
- 15, // 15: vtctlservice.Vtctld.CreateKeyspace:input_type -> vtctldata.CreateKeyspaceRequest
- 16, // 16: vtctlservice.Vtctld.CreateShard:input_type -> vtctldata.CreateShardRequest
- 17, // 17: vtctlservice.Vtctld.DeleteCellInfo:input_type -> vtctldata.DeleteCellInfoRequest
- 18, // 18: vtctlservice.Vtctld.DeleteCellsAlias:input_type -> vtctldata.DeleteCellsAliasRequest
- 19, // 19: vtctlservice.Vtctld.DeleteKeyspace:input_type -> vtctldata.DeleteKeyspaceRequest
- 20, // 20: vtctlservice.Vtctld.DeleteShards:input_type -> vtctldata.DeleteShardsRequest
- 21, // 21: vtctlservice.Vtctld.DeleteSrvVSchema:input_type -> vtctldata.DeleteSrvVSchemaRequest
- 22, // 22: vtctlservice.Vtctld.DeleteTablets:input_type -> vtctldata.DeleteTabletsRequest
- 23, // 23: vtctlservice.Vtctld.EmergencyReparentShard:input_type -> vtctldata.EmergencyReparentShardRequest
- 24, // 24: vtctlservice.Vtctld.ExecuteFetchAsApp:input_type -> vtctldata.ExecuteFetchAsAppRequest
- 25, // 25: vtctlservice.Vtctld.ExecuteFetchAsDBA:input_type -> vtctldata.ExecuteFetchAsDBARequest
- 26, // 26: vtctlservice.Vtctld.ExecuteHook:input_type -> vtctldata.ExecuteHookRequest
- 27, // 27: vtctlservice.Vtctld.ExecuteMultiFetchAsDBA:input_type -> vtctldata.ExecuteMultiFetchAsDBARequest
- 28, // 28: vtctlservice.Vtctld.FindAllShardsInKeyspace:input_type -> vtctldata.FindAllShardsInKeyspaceRequest
- 29, // 29: vtctlservice.Vtctld.ForceCutOverSchemaMigration:input_type -> vtctldata.ForceCutOverSchemaMigrationRequest
- 30, // 30: vtctlservice.Vtctld.GetBackups:input_type -> vtctldata.GetBackupsRequest
- 31, // 31: vtctlservice.Vtctld.GetCellInfo:input_type -> vtctldata.GetCellInfoRequest
- 32, // 32: vtctlservice.Vtctld.GetCellInfoNames:input_type -> vtctldata.GetCellInfoNamesRequest
- 33, // 33: vtctlservice.Vtctld.GetCellsAliases:input_type -> vtctldata.GetCellsAliasesRequest
- 34, // 34: vtctlservice.Vtctld.GetFullStatus:input_type -> vtctldata.GetFullStatusRequest
- 35, // 35: vtctlservice.Vtctld.GetKeyspace:input_type -> vtctldata.GetKeyspaceRequest
- 36, // 36: vtctlservice.Vtctld.GetKeyspaces:input_type -> vtctldata.GetKeyspacesRequest
- 37, // 37: vtctlservice.Vtctld.GetKeyspaceRoutingRules:input_type -> vtctldata.GetKeyspaceRoutingRulesRequest
- 38, // 38: vtctlservice.Vtctld.GetPermissions:input_type -> vtctldata.GetPermissionsRequest
- 39, // 39: vtctlservice.Vtctld.GetRoutingRules:input_type -> vtctldata.GetRoutingRulesRequest
- 40, // 40: vtctlservice.Vtctld.GetSchema:input_type -> vtctldata.GetSchemaRequest
- 41, // 41: vtctlservice.Vtctld.GetSchemaMigrations:input_type -> vtctldata.GetSchemaMigrationsRequest
- 42, // 42: vtctlservice.Vtctld.GetShardReplication:input_type -> vtctldata.GetShardReplicationRequest
- 43, // 43: vtctlservice.Vtctld.GetShard:input_type -> vtctldata.GetShardRequest
- 44, // 44: vtctlservice.Vtctld.GetShardRoutingRules:input_type -> vtctldata.GetShardRoutingRulesRequest
- 45, // 45: vtctlservice.Vtctld.GetSrvKeyspaceNames:input_type -> vtctldata.GetSrvKeyspaceNamesRequest
- 46, // 46: vtctlservice.Vtctld.GetSrvKeyspaces:input_type -> vtctldata.GetSrvKeyspacesRequest
- 47, // 47: vtctlservice.Vtctld.UpdateThrottlerConfig:input_type -> vtctldata.UpdateThrottlerConfigRequest
- 48, // 48: vtctlservice.Vtctld.GetSrvVSchema:input_type -> vtctldata.GetSrvVSchemaRequest
- 49, // 49: vtctlservice.Vtctld.GetSrvVSchemas:input_type -> vtctldata.GetSrvVSchemasRequest
- 50, // 50: vtctlservice.Vtctld.GetTablet:input_type -> vtctldata.GetTabletRequest
- 51, // 51: vtctlservice.Vtctld.GetTablets:input_type -> vtctldata.GetTabletsRequest
- 52, // 52: vtctlservice.Vtctld.GetThrottlerStatus:input_type -> vtctldata.GetThrottlerStatusRequest
- 53, // 53: vtctlservice.Vtctld.GetTopologyPath:input_type -> vtctldata.GetTopologyPathRequest
- 54, // 54: vtctlservice.Vtctld.GetVersion:input_type -> vtctldata.GetVersionRequest
- 55, // 55: vtctlservice.Vtctld.GetVSchema:input_type -> vtctldata.GetVSchemaRequest
- 56, // 56: vtctlservice.Vtctld.GetWorkflows:input_type -> vtctldata.GetWorkflowsRequest
- 57, // 57: vtctlservice.Vtctld.InitShardPrimary:input_type -> vtctldata.InitShardPrimaryRequest
- 58, // 58: vtctlservice.Vtctld.LaunchSchemaMigration:input_type -> vtctldata.LaunchSchemaMigrationRequest
- 59, // 59: vtctlservice.Vtctld.LookupVindexCreate:input_type -> vtctldata.LookupVindexCreateRequest
- 60, // 60: vtctlservice.Vtctld.LookupVindexExternalize:input_type -> vtctldata.LookupVindexExternalizeRequest
- 61, // 61: vtctlservice.Vtctld.MaterializeCreate:input_type -> vtctldata.MaterializeCreateRequest
- 62, // 62: vtctlservice.Vtctld.MigrateCreate:input_type -> vtctldata.MigrateCreateRequest
- 63, // 63: vtctlservice.Vtctld.MountRegister:input_type -> vtctldata.MountRegisterRequest
- 64, // 64: vtctlservice.Vtctld.MountUnregister:input_type -> vtctldata.MountUnregisterRequest
- 65, // 65: vtctlservice.Vtctld.MountShow:input_type -> vtctldata.MountShowRequest
- 66, // 66: vtctlservice.Vtctld.MountList:input_type -> vtctldata.MountListRequest
- 67, // 67: vtctlservice.Vtctld.MoveTablesCreate:input_type -> vtctldata.MoveTablesCreateRequest
- 68, // 68: vtctlservice.Vtctld.MoveTablesComplete:input_type -> vtctldata.MoveTablesCompleteRequest
- 69, // 69: vtctlservice.Vtctld.PingTablet:input_type -> vtctldata.PingTabletRequest
- 70, // 70: vtctlservice.Vtctld.PlannedReparentShard:input_type -> vtctldata.PlannedReparentShardRequest
- 71, // 71: vtctlservice.Vtctld.RebuildKeyspaceGraph:input_type -> vtctldata.RebuildKeyspaceGraphRequest
- 72, // 72: vtctlservice.Vtctld.RebuildVSchemaGraph:input_type -> vtctldata.RebuildVSchemaGraphRequest
- 73, // 73: vtctlservice.Vtctld.RefreshState:input_type -> vtctldata.RefreshStateRequest
- 74, // 74: vtctlservice.Vtctld.RefreshStateByShard:input_type -> vtctldata.RefreshStateByShardRequest
- 75, // 75: vtctlservice.Vtctld.ReloadSchema:input_type -> vtctldata.ReloadSchemaRequest
- 76, // 76: vtctlservice.Vtctld.ReloadSchemaKeyspace:input_type -> vtctldata.ReloadSchemaKeyspaceRequest
- 77, // 77: vtctlservice.Vtctld.ReloadSchemaShard:input_type -> vtctldata.ReloadSchemaShardRequest
- 78, // 78: vtctlservice.Vtctld.RemoveBackup:input_type -> vtctldata.RemoveBackupRequest
- 79, // 79: vtctlservice.Vtctld.RemoveKeyspaceCell:input_type -> vtctldata.RemoveKeyspaceCellRequest
- 80, // 80: vtctlservice.Vtctld.RemoveShardCell:input_type -> vtctldata.RemoveShardCellRequest
- 81, // 81: vtctlservice.Vtctld.ReparentTablet:input_type -> vtctldata.ReparentTabletRequest
- 82, // 82: vtctlservice.Vtctld.ReshardCreate:input_type -> vtctldata.ReshardCreateRequest
- 83, // 83: vtctlservice.Vtctld.RestoreFromBackup:input_type -> vtctldata.RestoreFromBackupRequest
- 84, // 84: vtctlservice.Vtctld.RetrySchemaMigration:input_type -> vtctldata.RetrySchemaMigrationRequest
- 85, // 85: vtctlservice.Vtctld.RunHealthCheck:input_type -> vtctldata.RunHealthCheckRequest
- 86, // 86: vtctlservice.Vtctld.SetKeyspaceDurabilityPolicy:input_type -> vtctldata.SetKeyspaceDurabilityPolicyRequest
- 87, // 87: vtctlservice.Vtctld.SetShardIsPrimaryServing:input_type -> vtctldata.SetShardIsPrimaryServingRequest
- 88, // 88: vtctlservice.Vtctld.SetShardTabletControl:input_type -> vtctldata.SetShardTabletControlRequest
- 89, // 89: vtctlservice.Vtctld.SetWritable:input_type -> vtctldata.SetWritableRequest
- 90, // 90: vtctlservice.Vtctld.ShardReplicationAdd:input_type -> vtctldata.ShardReplicationAddRequest
- 91, // 91: vtctlservice.Vtctld.ShardReplicationFix:input_type -> vtctldata.ShardReplicationFixRequest
- 92, // 92: vtctlservice.Vtctld.ShardReplicationPositions:input_type -> vtctldata.ShardReplicationPositionsRequest
- 93, // 93: vtctlservice.Vtctld.ShardReplicationRemove:input_type -> vtctldata.ShardReplicationRemoveRequest
- 94, // 94: vtctlservice.Vtctld.SleepTablet:input_type -> vtctldata.SleepTabletRequest
- 95, // 95: vtctlservice.Vtctld.SourceShardAdd:input_type -> vtctldata.SourceShardAddRequest
- 96, // 96: vtctlservice.Vtctld.SourceShardDelete:input_type -> vtctldata.SourceShardDeleteRequest
- 97, // 97: vtctlservice.Vtctld.StartReplication:input_type -> vtctldata.StartReplicationRequest
- 98, // 98: vtctlservice.Vtctld.StopReplication:input_type -> vtctldata.StopReplicationRequest
- 99, // 99: vtctlservice.Vtctld.TabletExternallyReparented:input_type -> vtctldata.TabletExternallyReparentedRequest
- 100, // 100: vtctlservice.Vtctld.UpdateCellInfo:input_type -> vtctldata.UpdateCellInfoRequest
- 101, // 101: vtctlservice.Vtctld.UpdateCellsAlias:input_type -> vtctldata.UpdateCellsAliasRequest
- 102, // 102: vtctlservice.Vtctld.Validate:input_type -> vtctldata.ValidateRequest
- 103, // 103: vtctlservice.Vtctld.ValidateKeyspace:input_type -> vtctldata.ValidateKeyspaceRequest
- 104, // 104: vtctlservice.Vtctld.ValidateSchemaKeyspace:input_type -> vtctldata.ValidateSchemaKeyspaceRequest
- 105, // 105: vtctlservice.Vtctld.ValidateShard:input_type -> vtctldata.ValidateShardRequest
- 106, // 106: vtctlservice.Vtctld.ValidateVersionKeyspace:input_type -> vtctldata.ValidateVersionKeyspaceRequest
- 107, // 107: vtctlservice.Vtctld.ValidateVersionShard:input_type -> vtctldata.ValidateVersionShardRequest
- 108, // 108: vtctlservice.Vtctld.ValidateVSchema:input_type -> vtctldata.ValidateVSchemaRequest
- 109, // 109: vtctlservice.Vtctld.VDiffCreate:input_type -> vtctldata.VDiffCreateRequest
- 110, // 110: vtctlservice.Vtctld.VDiffDelete:input_type -> vtctldata.VDiffDeleteRequest
- 111, // 111: vtctlservice.Vtctld.VDiffResume:input_type -> vtctldata.VDiffResumeRequest
- 112, // 112: vtctlservice.Vtctld.VDiffShow:input_type -> vtctldata.VDiffShowRequest
- 113, // 113: vtctlservice.Vtctld.VDiffStop:input_type -> vtctldata.VDiffStopRequest
- 114, // 114: vtctlservice.Vtctld.WorkflowDelete:input_type -> vtctldata.WorkflowDeleteRequest
- 115, // 115: vtctlservice.Vtctld.WorkflowStatus:input_type -> vtctldata.WorkflowStatusRequest
- 116, // 116: vtctlservice.Vtctld.WorkflowSwitchTraffic:input_type -> vtctldata.WorkflowSwitchTrafficRequest
- 117, // 117: vtctlservice.Vtctld.WorkflowUpdate:input_type -> vtctldata.WorkflowUpdateRequest
- 118, // 118: vtctlservice.Vtctld.GetMirrorRules:input_type -> vtctldata.GetMirrorRulesRequest
- 119, // 119: vtctlservice.Vtctld.WorkflowMirrorTraffic:input_type -> vtctldata.WorkflowMirrorTrafficRequest
- 120, // 120: vtctlservice.Vtctl.ExecuteVtctlCommand:output_type -> vtctldata.ExecuteVtctlCommandResponse
- 121, // 121: vtctlservice.Vtctld.AddCellInfo:output_type -> vtctldata.AddCellInfoResponse
- 122, // 122: vtctlservice.Vtctld.AddCellsAlias:output_type -> vtctldata.AddCellsAliasResponse
- 123, // 123: vtctlservice.Vtctld.ApplyRoutingRules:output_type -> vtctldata.ApplyRoutingRulesResponse
- 124, // 124: vtctlservice.Vtctld.ApplySchema:output_type -> vtctldata.ApplySchemaResponse
- 125, // 125: vtctlservice.Vtctld.ApplyKeyspaceRoutingRules:output_type -> vtctldata.ApplyKeyspaceRoutingRulesResponse
- 126, // 126: vtctlservice.Vtctld.ApplyShardRoutingRules:output_type -> vtctldata.ApplyShardRoutingRulesResponse
- 127, // 127: vtctlservice.Vtctld.ApplyVSchema:output_type -> vtctldata.ApplyVSchemaResponse
- 128, // 128: vtctlservice.Vtctld.Backup:output_type -> vtctldata.BackupResponse
- 128, // 129: vtctlservice.Vtctld.BackupShard:output_type -> vtctldata.BackupResponse
- 129, // 130: vtctlservice.Vtctld.CancelSchemaMigration:output_type -> vtctldata.CancelSchemaMigrationResponse
- 130, // 131: vtctlservice.Vtctld.ChangeTabletType:output_type -> vtctldata.ChangeTabletTypeResponse
- 131, // 132: vtctlservice.Vtctld.CheckThrottler:output_type -> vtctldata.CheckThrottlerResponse
- 132, // 133: vtctlservice.Vtctld.CleanupSchemaMigration:output_type -> vtctldata.CleanupSchemaMigrationResponse
- 133, // 134: vtctlservice.Vtctld.CompleteSchemaMigration:output_type -> vtctldata.CompleteSchemaMigrationResponse
- 134, // 135: vtctlservice.Vtctld.CreateKeyspace:output_type -> vtctldata.CreateKeyspaceResponse
- 135, // 136: vtctlservice.Vtctld.CreateShard:output_type -> vtctldata.CreateShardResponse
- 136, // 137: vtctlservice.Vtctld.DeleteCellInfo:output_type -> vtctldata.DeleteCellInfoResponse
- 137, // 138: vtctlservice.Vtctld.DeleteCellsAlias:output_type -> vtctldata.DeleteCellsAliasResponse
- 138, // 139: vtctlservice.Vtctld.DeleteKeyspace:output_type -> vtctldata.DeleteKeyspaceResponse
- 139, // 140: vtctlservice.Vtctld.DeleteShards:output_type -> vtctldata.DeleteShardsResponse
- 140, // 141: vtctlservice.Vtctld.DeleteSrvVSchema:output_type -> vtctldata.DeleteSrvVSchemaResponse
- 141, // 142: vtctlservice.Vtctld.DeleteTablets:output_type -> vtctldata.DeleteTabletsResponse
- 142, // 143: vtctlservice.Vtctld.EmergencyReparentShard:output_type -> vtctldata.EmergencyReparentShardResponse
- 143, // 144: vtctlservice.Vtctld.ExecuteFetchAsApp:output_type -> vtctldata.ExecuteFetchAsAppResponse
- 144, // 145: vtctlservice.Vtctld.ExecuteFetchAsDBA:output_type -> vtctldata.ExecuteFetchAsDBAResponse
- 145, // 146: vtctlservice.Vtctld.ExecuteHook:output_type -> vtctldata.ExecuteHookResponse
- 146, // 147: vtctlservice.Vtctld.ExecuteMultiFetchAsDBA:output_type -> vtctldata.ExecuteMultiFetchAsDBAResponse
- 147, // 148: vtctlservice.Vtctld.FindAllShardsInKeyspace:output_type -> vtctldata.FindAllShardsInKeyspaceResponse
- 148, // 149: vtctlservice.Vtctld.ForceCutOverSchemaMigration:output_type -> vtctldata.ForceCutOverSchemaMigrationResponse
- 149, // 150: vtctlservice.Vtctld.GetBackups:output_type -> vtctldata.GetBackupsResponse
- 150, // 151: vtctlservice.Vtctld.GetCellInfo:output_type -> vtctldata.GetCellInfoResponse
- 151, // 152: vtctlservice.Vtctld.GetCellInfoNames:output_type -> vtctldata.GetCellInfoNamesResponse
- 152, // 153: vtctlservice.Vtctld.GetCellsAliases:output_type -> vtctldata.GetCellsAliasesResponse
- 153, // 154: vtctlservice.Vtctld.GetFullStatus:output_type -> vtctldata.GetFullStatusResponse
- 154, // 155: vtctlservice.Vtctld.GetKeyspace:output_type -> vtctldata.GetKeyspaceResponse
- 155, // 156: vtctlservice.Vtctld.GetKeyspaces:output_type -> vtctldata.GetKeyspacesResponse
- 156, // 157: vtctlservice.Vtctld.GetKeyspaceRoutingRules:output_type -> vtctldata.GetKeyspaceRoutingRulesResponse
- 157, // 158: vtctlservice.Vtctld.GetPermissions:output_type -> vtctldata.GetPermissionsResponse
- 158, // 159: vtctlservice.Vtctld.GetRoutingRules:output_type -> vtctldata.GetRoutingRulesResponse
- 159, // 160: vtctlservice.Vtctld.GetSchema:output_type -> vtctldata.GetSchemaResponse
- 160, // 161: vtctlservice.Vtctld.GetSchemaMigrations:output_type -> vtctldata.GetSchemaMigrationsResponse
- 161, // 162: vtctlservice.Vtctld.GetShardReplication:output_type -> vtctldata.GetShardReplicationResponse
- 162, // 163: vtctlservice.Vtctld.GetShard:output_type -> vtctldata.GetShardResponse
- 163, // 164: vtctlservice.Vtctld.GetShardRoutingRules:output_type -> vtctldata.GetShardRoutingRulesResponse
- 164, // 165: vtctlservice.Vtctld.GetSrvKeyspaceNames:output_type -> vtctldata.GetSrvKeyspaceNamesResponse
- 165, // 166: vtctlservice.Vtctld.GetSrvKeyspaces:output_type -> vtctldata.GetSrvKeyspacesResponse
- 166, // 167: vtctlservice.Vtctld.UpdateThrottlerConfig:output_type -> vtctldata.UpdateThrottlerConfigResponse
- 167, // 168: vtctlservice.Vtctld.GetSrvVSchema:output_type -> vtctldata.GetSrvVSchemaResponse
- 168, // 169: vtctlservice.Vtctld.GetSrvVSchemas:output_type -> vtctldata.GetSrvVSchemasResponse
- 169, // 170: vtctlservice.Vtctld.GetTablet:output_type -> vtctldata.GetTabletResponse
- 170, // 171: vtctlservice.Vtctld.GetTablets:output_type -> vtctldata.GetTabletsResponse
- 171, // 172: vtctlservice.Vtctld.GetThrottlerStatus:output_type -> vtctldata.GetThrottlerStatusResponse
- 172, // 173: vtctlservice.Vtctld.GetTopologyPath:output_type -> vtctldata.GetTopologyPathResponse
- 173, // 174: vtctlservice.Vtctld.GetVersion:output_type -> vtctldata.GetVersionResponse
- 174, // 175: vtctlservice.Vtctld.GetVSchema:output_type -> vtctldata.GetVSchemaResponse
- 175, // 176: vtctlservice.Vtctld.GetWorkflows:output_type -> vtctldata.GetWorkflowsResponse
- 176, // 177: vtctlservice.Vtctld.InitShardPrimary:output_type -> vtctldata.InitShardPrimaryResponse
- 177, // 178: vtctlservice.Vtctld.LaunchSchemaMigration:output_type -> vtctldata.LaunchSchemaMigrationResponse
- 178, // 179: vtctlservice.Vtctld.LookupVindexCreate:output_type -> vtctldata.LookupVindexCreateResponse
- 179, // 180: vtctlservice.Vtctld.LookupVindexExternalize:output_type -> vtctldata.LookupVindexExternalizeResponse
- 180, // 181: vtctlservice.Vtctld.MaterializeCreate:output_type -> vtctldata.MaterializeCreateResponse
- 181, // 182: vtctlservice.Vtctld.MigrateCreate:output_type -> vtctldata.WorkflowStatusResponse
- 182, // 183: vtctlservice.Vtctld.MountRegister:output_type -> vtctldata.MountRegisterResponse
- 183, // 184: vtctlservice.Vtctld.MountUnregister:output_type -> vtctldata.MountUnregisterResponse
- 184, // 185: vtctlservice.Vtctld.MountShow:output_type -> vtctldata.MountShowResponse
- 185, // 186: vtctlservice.Vtctld.MountList:output_type -> vtctldata.MountListResponse
- 181, // 187: vtctlservice.Vtctld.MoveTablesCreate:output_type -> vtctldata.WorkflowStatusResponse
- 186, // 188: vtctlservice.Vtctld.MoveTablesComplete:output_type -> vtctldata.MoveTablesCompleteResponse
- 187, // 189: vtctlservice.Vtctld.PingTablet:output_type -> vtctldata.PingTabletResponse
- 188, // 190: vtctlservice.Vtctld.PlannedReparentShard:output_type -> vtctldata.PlannedReparentShardResponse
- 189, // 191: vtctlservice.Vtctld.RebuildKeyspaceGraph:output_type -> vtctldata.RebuildKeyspaceGraphResponse
- 190, // 192: vtctlservice.Vtctld.RebuildVSchemaGraph:output_type -> vtctldata.RebuildVSchemaGraphResponse
- 191, // 193: vtctlservice.Vtctld.RefreshState:output_type -> vtctldata.RefreshStateResponse
- 192, // 194: vtctlservice.Vtctld.RefreshStateByShard:output_type -> vtctldata.RefreshStateByShardResponse
- 193, // 195: vtctlservice.Vtctld.ReloadSchema:output_type -> vtctldata.ReloadSchemaResponse
- 194, // 196: vtctlservice.Vtctld.ReloadSchemaKeyspace:output_type -> vtctldata.ReloadSchemaKeyspaceResponse
- 195, // 197: vtctlservice.Vtctld.ReloadSchemaShard:output_type -> vtctldata.ReloadSchemaShardResponse
- 196, // 198: vtctlservice.Vtctld.RemoveBackup:output_type -> vtctldata.RemoveBackupResponse
- 197, // 199: vtctlservice.Vtctld.RemoveKeyspaceCell:output_type -> vtctldata.RemoveKeyspaceCellResponse
- 198, // 200: vtctlservice.Vtctld.RemoveShardCell:output_type -> vtctldata.RemoveShardCellResponse
- 199, // 201: vtctlservice.Vtctld.ReparentTablet:output_type -> vtctldata.ReparentTabletResponse
- 181, // 202: vtctlservice.Vtctld.ReshardCreate:output_type -> vtctldata.WorkflowStatusResponse
- 200, // 203: vtctlservice.Vtctld.RestoreFromBackup:output_type -> vtctldata.RestoreFromBackupResponse
- 201, // 204: vtctlservice.Vtctld.RetrySchemaMigration:output_type -> vtctldata.RetrySchemaMigrationResponse
- 202, // 205: vtctlservice.Vtctld.RunHealthCheck:output_type -> vtctldata.RunHealthCheckResponse
- 203, // 206: vtctlservice.Vtctld.SetKeyspaceDurabilityPolicy:output_type -> vtctldata.SetKeyspaceDurabilityPolicyResponse
- 204, // 207: vtctlservice.Vtctld.SetShardIsPrimaryServing:output_type -> vtctldata.SetShardIsPrimaryServingResponse
- 205, // 208: vtctlservice.Vtctld.SetShardTabletControl:output_type -> vtctldata.SetShardTabletControlResponse
- 206, // 209: vtctlservice.Vtctld.SetWritable:output_type -> vtctldata.SetWritableResponse
- 207, // 210: vtctlservice.Vtctld.ShardReplicationAdd:output_type -> vtctldata.ShardReplicationAddResponse
- 208, // 211: vtctlservice.Vtctld.ShardReplicationFix:output_type -> vtctldata.ShardReplicationFixResponse
- 209, // 212: vtctlservice.Vtctld.ShardReplicationPositions:output_type -> vtctldata.ShardReplicationPositionsResponse
- 210, // 213: vtctlservice.Vtctld.ShardReplicationRemove:output_type -> vtctldata.ShardReplicationRemoveResponse
- 211, // 214: vtctlservice.Vtctld.SleepTablet:output_type -> vtctldata.SleepTabletResponse
- 212, // 215: vtctlservice.Vtctld.SourceShardAdd:output_type -> vtctldata.SourceShardAddResponse
- 213, // 216: vtctlservice.Vtctld.SourceShardDelete:output_type -> vtctldata.SourceShardDeleteResponse
- 214, // 217: vtctlservice.Vtctld.StartReplication:output_type -> vtctldata.StartReplicationResponse
- 215, // 218: vtctlservice.Vtctld.StopReplication:output_type -> vtctldata.StopReplicationResponse
- 216, // 219: vtctlservice.Vtctld.TabletExternallyReparented:output_type -> vtctldata.TabletExternallyReparentedResponse
- 217, // 220: vtctlservice.Vtctld.UpdateCellInfo:output_type -> vtctldata.UpdateCellInfoResponse
- 218, // 221: vtctlservice.Vtctld.UpdateCellsAlias:output_type -> vtctldata.UpdateCellsAliasResponse
- 219, // 222: vtctlservice.Vtctld.Validate:output_type -> vtctldata.ValidateResponse
- 220, // 223: vtctlservice.Vtctld.ValidateKeyspace:output_type -> vtctldata.ValidateKeyspaceResponse
- 221, // 224: vtctlservice.Vtctld.ValidateSchemaKeyspace:output_type -> vtctldata.ValidateSchemaKeyspaceResponse
- 222, // 225: vtctlservice.Vtctld.ValidateShard:output_type -> vtctldata.ValidateShardResponse
- 223, // 226: vtctlservice.Vtctld.ValidateVersionKeyspace:output_type -> vtctldata.ValidateVersionKeyspaceResponse
- 224, // 227: vtctlservice.Vtctld.ValidateVersionShard:output_type -> vtctldata.ValidateVersionShardResponse
- 225, // 228: vtctlservice.Vtctld.ValidateVSchema:output_type -> vtctldata.ValidateVSchemaResponse
- 226, // 229: vtctlservice.Vtctld.VDiffCreate:output_type -> vtctldata.VDiffCreateResponse
- 227, // 230: vtctlservice.Vtctld.VDiffDelete:output_type -> vtctldata.VDiffDeleteResponse
- 228, // 231: vtctlservice.Vtctld.VDiffResume:output_type -> vtctldata.VDiffResumeResponse
- 229, // 232: vtctlservice.Vtctld.VDiffShow:output_type -> vtctldata.VDiffShowResponse
- 230, // 233: vtctlservice.Vtctld.VDiffStop:output_type -> vtctldata.VDiffStopResponse
- 231, // 234: vtctlservice.Vtctld.WorkflowDelete:output_type -> vtctldata.WorkflowDeleteResponse
- 181, // 235: vtctlservice.Vtctld.WorkflowStatus:output_type -> vtctldata.WorkflowStatusResponse
- 232, // 236: vtctlservice.Vtctld.WorkflowSwitchTraffic:output_type -> vtctldata.WorkflowSwitchTrafficResponse
- 233, // 237: vtctlservice.Vtctld.WorkflowUpdate:output_type -> vtctldata.WorkflowUpdateResponse
- 234, // 238: vtctlservice.Vtctld.GetMirrorRules:output_type -> vtctldata.GetMirrorRulesResponse
- 235, // 239: vtctlservice.Vtctld.WorkflowMirrorTraffic:output_type -> vtctldata.WorkflowMirrorTrafficResponse
- 120, // [120:240] is the sub-list for method output_type
- 0, // [0:120] is the sub-list for method input_type
+ 15, // 15: vtctlservice.Vtctld.ConcludeTransaction:input_type -> vtctldata.ConcludeTransactionRequest
+ 16, // 16: vtctlservice.Vtctld.CreateKeyspace:input_type -> vtctldata.CreateKeyspaceRequest
+ 17, // 17: vtctlservice.Vtctld.CreateShard:input_type -> vtctldata.CreateShardRequest
+ 18, // 18: vtctlservice.Vtctld.DeleteCellInfo:input_type -> vtctldata.DeleteCellInfoRequest
+ 19, // 19: vtctlservice.Vtctld.DeleteCellsAlias:input_type -> vtctldata.DeleteCellsAliasRequest
+ 20, // 20: vtctlservice.Vtctld.DeleteKeyspace:input_type -> vtctldata.DeleteKeyspaceRequest
+ 21, // 21: vtctlservice.Vtctld.DeleteShards:input_type -> vtctldata.DeleteShardsRequest
+ 22, // 22: vtctlservice.Vtctld.DeleteSrvVSchema:input_type -> vtctldata.DeleteSrvVSchemaRequest
+ 23, // 23: vtctlservice.Vtctld.DeleteTablets:input_type -> vtctldata.DeleteTabletsRequest
+ 24, // 24: vtctlservice.Vtctld.EmergencyReparentShard:input_type -> vtctldata.EmergencyReparentShardRequest
+ 25, // 25: vtctlservice.Vtctld.ExecuteFetchAsApp:input_type -> vtctldata.ExecuteFetchAsAppRequest
+ 26, // 26: vtctlservice.Vtctld.ExecuteFetchAsDBA:input_type -> vtctldata.ExecuteFetchAsDBARequest
+ 27, // 27: vtctlservice.Vtctld.ExecuteHook:input_type -> vtctldata.ExecuteHookRequest
+ 28, // 28: vtctlservice.Vtctld.ExecuteMultiFetchAsDBA:input_type -> vtctldata.ExecuteMultiFetchAsDBARequest
+ 29, // 29: vtctlservice.Vtctld.FindAllShardsInKeyspace:input_type -> vtctldata.FindAllShardsInKeyspaceRequest
+ 30, // 30: vtctlservice.Vtctld.ForceCutOverSchemaMigration:input_type -> vtctldata.ForceCutOverSchemaMigrationRequest
+ 31, // 31: vtctlservice.Vtctld.GetBackups:input_type -> vtctldata.GetBackupsRequest
+ 32, // 32: vtctlservice.Vtctld.GetCellInfo:input_type -> vtctldata.GetCellInfoRequest
+ 33, // 33: vtctlservice.Vtctld.GetCellInfoNames:input_type -> vtctldata.GetCellInfoNamesRequest
+ 34, // 34: vtctlservice.Vtctld.GetCellsAliases:input_type -> vtctldata.GetCellsAliasesRequest
+ 35, // 35: vtctlservice.Vtctld.GetFullStatus:input_type -> vtctldata.GetFullStatusRequest
+ 36, // 36: vtctlservice.Vtctld.GetKeyspace:input_type -> vtctldata.GetKeyspaceRequest
+ 37, // 37: vtctlservice.Vtctld.GetKeyspaces:input_type -> vtctldata.GetKeyspacesRequest
+ 38, // 38: vtctlservice.Vtctld.GetKeyspaceRoutingRules:input_type -> vtctldata.GetKeyspaceRoutingRulesRequest
+ 39, // 39: vtctlservice.Vtctld.GetPermissions:input_type -> vtctldata.GetPermissionsRequest
+ 40, // 40: vtctlservice.Vtctld.GetRoutingRules:input_type -> vtctldata.GetRoutingRulesRequest
+ 41, // 41: vtctlservice.Vtctld.GetSchema:input_type -> vtctldata.GetSchemaRequest
+ 42, // 42: vtctlservice.Vtctld.GetSchemaMigrations:input_type -> vtctldata.GetSchemaMigrationsRequest
+ 43, // 43: vtctlservice.Vtctld.GetShardReplication:input_type -> vtctldata.GetShardReplicationRequest
+ 44, // 44: vtctlservice.Vtctld.GetShard:input_type -> vtctldata.GetShardRequest
+ 45, // 45: vtctlservice.Vtctld.GetShardRoutingRules:input_type -> vtctldata.GetShardRoutingRulesRequest
+ 46, // 46: vtctlservice.Vtctld.GetSrvKeyspaceNames:input_type -> vtctldata.GetSrvKeyspaceNamesRequest
+ 47, // 47: vtctlservice.Vtctld.GetSrvKeyspaces:input_type -> vtctldata.GetSrvKeyspacesRequest
+ 48, // 48: vtctlservice.Vtctld.UpdateThrottlerConfig:input_type -> vtctldata.UpdateThrottlerConfigRequest
+ 49, // 49: vtctlservice.Vtctld.GetSrvVSchema:input_type -> vtctldata.GetSrvVSchemaRequest
+ 50, // 50: vtctlservice.Vtctld.GetSrvVSchemas:input_type -> vtctldata.GetSrvVSchemasRequest
+ 51, // 51: vtctlservice.Vtctld.GetTablet:input_type -> vtctldata.GetTabletRequest
+ 52, // 52: vtctlservice.Vtctld.GetTablets:input_type -> vtctldata.GetTabletsRequest
+ 53, // 53: vtctlservice.Vtctld.GetThrottlerStatus:input_type -> vtctldata.GetThrottlerStatusRequest
+ 54, // 54: vtctlservice.Vtctld.GetTopologyPath:input_type -> vtctldata.GetTopologyPathRequest
+ 55, // 55: vtctlservice.Vtctld.GetUnresolvedTransactions:input_type -> vtctldata.GetUnresolvedTransactionsRequest
+ 56, // 56: vtctlservice.Vtctld.GetVersion:input_type -> vtctldata.GetVersionRequest
+ 57, // 57: vtctlservice.Vtctld.GetVSchema:input_type -> vtctldata.GetVSchemaRequest
+ 58, // 58: vtctlservice.Vtctld.GetWorkflows:input_type -> vtctldata.GetWorkflowsRequest
+ 59, // 59: vtctlservice.Vtctld.InitShardPrimary:input_type -> vtctldata.InitShardPrimaryRequest
+ 60, // 60: vtctlservice.Vtctld.LaunchSchemaMigration:input_type -> vtctldata.LaunchSchemaMigrationRequest
+ 61, // 61: vtctlservice.Vtctld.LookupVindexCreate:input_type -> vtctldata.LookupVindexCreateRequest
+ 62, // 62: vtctlservice.Vtctld.LookupVindexExternalize:input_type -> vtctldata.LookupVindexExternalizeRequest
+ 63, // 63: vtctlservice.Vtctld.MaterializeCreate:input_type -> vtctldata.MaterializeCreateRequest
+ 64, // 64: vtctlservice.Vtctld.MigrateCreate:input_type -> vtctldata.MigrateCreateRequest
+ 65, // 65: vtctlservice.Vtctld.MountRegister:input_type -> vtctldata.MountRegisterRequest
+ 66, // 66: vtctlservice.Vtctld.MountUnregister:input_type -> vtctldata.MountUnregisterRequest
+ 67, // 67: vtctlservice.Vtctld.MountShow:input_type -> vtctldata.MountShowRequest
+ 68, // 68: vtctlservice.Vtctld.MountList:input_type -> vtctldata.MountListRequest
+ 69, // 69: vtctlservice.Vtctld.MoveTablesCreate:input_type -> vtctldata.MoveTablesCreateRequest
+ 70, // 70: vtctlservice.Vtctld.MoveTablesComplete:input_type -> vtctldata.MoveTablesCompleteRequest
+ 71, // 71: vtctlservice.Vtctld.PingTablet:input_type -> vtctldata.PingTabletRequest
+ 72, // 72: vtctlservice.Vtctld.PlannedReparentShard:input_type -> vtctldata.PlannedReparentShardRequest
+ 73, // 73: vtctlservice.Vtctld.RebuildKeyspaceGraph:input_type -> vtctldata.RebuildKeyspaceGraphRequest
+ 74, // 74: vtctlservice.Vtctld.RebuildVSchemaGraph:input_type -> vtctldata.RebuildVSchemaGraphRequest
+ 75, // 75: vtctlservice.Vtctld.RefreshState:input_type -> vtctldata.RefreshStateRequest
+ 76, // 76: vtctlservice.Vtctld.RefreshStateByShard:input_type -> vtctldata.RefreshStateByShardRequest
+ 77, // 77: vtctlservice.Vtctld.ReloadSchema:input_type -> vtctldata.ReloadSchemaRequest
+ 78, // 78: vtctlservice.Vtctld.ReloadSchemaKeyspace:input_type -> vtctldata.ReloadSchemaKeyspaceRequest
+ 79, // 79: vtctlservice.Vtctld.ReloadSchemaShard:input_type -> vtctldata.ReloadSchemaShardRequest
+ 80, // 80: vtctlservice.Vtctld.RemoveBackup:input_type -> vtctldata.RemoveBackupRequest
+ 81, // 81: vtctlservice.Vtctld.RemoveKeyspaceCell:input_type -> vtctldata.RemoveKeyspaceCellRequest
+ 82, // 82: vtctlservice.Vtctld.RemoveShardCell:input_type -> vtctldata.RemoveShardCellRequest
+ 83, // 83: vtctlservice.Vtctld.ReparentTablet:input_type -> vtctldata.ReparentTabletRequest
+ 84, // 84: vtctlservice.Vtctld.ReshardCreate:input_type -> vtctldata.ReshardCreateRequest
+ 85, // 85: vtctlservice.Vtctld.RestoreFromBackup:input_type -> vtctldata.RestoreFromBackupRequest
+ 86, // 86: vtctlservice.Vtctld.RetrySchemaMigration:input_type -> vtctldata.RetrySchemaMigrationRequest
+ 87, // 87: vtctlservice.Vtctld.RunHealthCheck:input_type -> vtctldata.RunHealthCheckRequest
+ 88, // 88: vtctlservice.Vtctld.SetKeyspaceDurabilityPolicy:input_type -> vtctldata.SetKeyspaceDurabilityPolicyRequest
+ 89, // 89: vtctlservice.Vtctld.SetShardIsPrimaryServing:input_type -> vtctldata.SetShardIsPrimaryServingRequest
+ 90, // 90: vtctlservice.Vtctld.SetShardTabletControl:input_type -> vtctldata.SetShardTabletControlRequest
+ 91, // 91: vtctlservice.Vtctld.SetWritable:input_type -> vtctldata.SetWritableRequest
+ 92, // 92: vtctlservice.Vtctld.ShardReplicationAdd:input_type -> vtctldata.ShardReplicationAddRequest
+ 93, // 93: vtctlservice.Vtctld.ShardReplicationFix:input_type -> vtctldata.ShardReplicationFixRequest
+ 94, // 94: vtctlservice.Vtctld.ShardReplicationPositions:input_type -> vtctldata.ShardReplicationPositionsRequest
+ 95, // 95: vtctlservice.Vtctld.ShardReplicationRemove:input_type -> vtctldata.ShardReplicationRemoveRequest
+ 96, // 96: vtctlservice.Vtctld.SleepTablet:input_type -> vtctldata.SleepTabletRequest
+ 97, // 97: vtctlservice.Vtctld.SourceShardAdd:input_type -> vtctldata.SourceShardAddRequest
+ 98, // 98: vtctlservice.Vtctld.SourceShardDelete:input_type -> vtctldata.SourceShardDeleteRequest
+ 99, // 99: vtctlservice.Vtctld.StartReplication:input_type -> vtctldata.StartReplicationRequest
+ 100, // 100: vtctlservice.Vtctld.StopReplication:input_type -> vtctldata.StopReplicationRequest
+ 101, // 101: vtctlservice.Vtctld.TabletExternallyReparented:input_type -> vtctldata.TabletExternallyReparentedRequest
+ 102, // 102: vtctlservice.Vtctld.UpdateCellInfo:input_type -> vtctldata.UpdateCellInfoRequest
+ 103, // 103: vtctlservice.Vtctld.UpdateCellsAlias:input_type -> vtctldata.UpdateCellsAliasRequest
+ 104, // 104: vtctlservice.Vtctld.Validate:input_type -> vtctldata.ValidateRequest
+ 105, // 105: vtctlservice.Vtctld.ValidateKeyspace:input_type -> vtctldata.ValidateKeyspaceRequest
+ 106, // 106: vtctlservice.Vtctld.ValidateSchemaKeyspace:input_type -> vtctldata.ValidateSchemaKeyspaceRequest
+ 107, // 107: vtctlservice.Vtctld.ValidateShard:input_type -> vtctldata.ValidateShardRequest
+ 108, // 108: vtctlservice.Vtctld.ValidateVersionKeyspace:input_type -> vtctldata.ValidateVersionKeyspaceRequest
+ 109, // 109: vtctlservice.Vtctld.ValidateVersionShard:input_type -> vtctldata.ValidateVersionShardRequest
+ 110, // 110: vtctlservice.Vtctld.ValidateVSchema:input_type -> vtctldata.ValidateVSchemaRequest
+ 111, // 111: vtctlservice.Vtctld.VDiffCreate:input_type -> vtctldata.VDiffCreateRequest
+ 112, // 112: vtctlservice.Vtctld.VDiffDelete:input_type -> vtctldata.VDiffDeleteRequest
+ 113, // 113: vtctlservice.Vtctld.VDiffResume:input_type -> vtctldata.VDiffResumeRequest
+ 114, // 114: vtctlservice.Vtctld.VDiffShow:input_type -> vtctldata.VDiffShowRequest
+ 115, // 115: vtctlservice.Vtctld.VDiffStop:input_type -> vtctldata.VDiffStopRequest
+ 116, // 116: vtctlservice.Vtctld.WorkflowDelete:input_type -> vtctldata.WorkflowDeleteRequest
+ 117, // 117: vtctlservice.Vtctld.WorkflowStatus:input_type -> vtctldata.WorkflowStatusRequest
+ 118, // 118: vtctlservice.Vtctld.WorkflowSwitchTraffic:input_type -> vtctldata.WorkflowSwitchTrafficRequest
+ 119, // 119: vtctlservice.Vtctld.WorkflowUpdate:input_type -> vtctldata.WorkflowUpdateRequest
+ 120, // 120: vtctlservice.Vtctld.GetMirrorRules:input_type -> vtctldata.GetMirrorRulesRequest
+ 121, // 121: vtctlservice.Vtctld.WorkflowMirrorTraffic:input_type -> vtctldata.WorkflowMirrorTrafficRequest
+ 122, // 122: vtctlservice.Vtctl.ExecuteVtctlCommand:output_type -> vtctldata.ExecuteVtctlCommandResponse
+ 123, // 123: vtctlservice.Vtctld.AddCellInfo:output_type -> vtctldata.AddCellInfoResponse
+ 124, // 124: vtctlservice.Vtctld.AddCellsAlias:output_type -> vtctldata.AddCellsAliasResponse
+ 125, // 125: vtctlservice.Vtctld.ApplyRoutingRules:output_type -> vtctldata.ApplyRoutingRulesResponse
+ 126, // 126: vtctlservice.Vtctld.ApplySchema:output_type -> vtctldata.ApplySchemaResponse
+ 127, // 127: vtctlservice.Vtctld.ApplyKeyspaceRoutingRules:output_type -> vtctldata.ApplyKeyspaceRoutingRulesResponse
+ 128, // 128: vtctlservice.Vtctld.ApplyShardRoutingRules:output_type -> vtctldata.ApplyShardRoutingRulesResponse
+ 129, // 129: vtctlservice.Vtctld.ApplyVSchema:output_type -> vtctldata.ApplyVSchemaResponse
+ 130, // 130: vtctlservice.Vtctld.Backup:output_type -> vtctldata.BackupResponse
+ 130, // 131: vtctlservice.Vtctld.BackupShard:output_type -> vtctldata.BackupResponse
+ 131, // 132: vtctlservice.Vtctld.CancelSchemaMigration:output_type -> vtctldata.CancelSchemaMigrationResponse
+ 132, // 133: vtctlservice.Vtctld.ChangeTabletType:output_type -> vtctldata.ChangeTabletTypeResponse
+ 133, // 134: vtctlservice.Vtctld.CheckThrottler:output_type -> vtctldata.CheckThrottlerResponse
+ 134, // 135: vtctlservice.Vtctld.CleanupSchemaMigration:output_type -> vtctldata.CleanupSchemaMigrationResponse
+ 135, // 136: vtctlservice.Vtctld.CompleteSchemaMigration:output_type -> vtctldata.CompleteSchemaMigrationResponse
+ 136, // 137: vtctlservice.Vtctld.ConcludeTransaction:output_type -> vtctldata.ConcludeTransactionResponse
+ 137, // 138: vtctlservice.Vtctld.CreateKeyspace:output_type -> vtctldata.CreateKeyspaceResponse
+ 138, // 139: vtctlservice.Vtctld.CreateShard:output_type -> vtctldata.CreateShardResponse
+ 139, // 140: vtctlservice.Vtctld.DeleteCellInfo:output_type -> vtctldata.DeleteCellInfoResponse
+ 140, // 141: vtctlservice.Vtctld.DeleteCellsAlias:output_type -> vtctldata.DeleteCellsAliasResponse
+ 141, // 142: vtctlservice.Vtctld.DeleteKeyspace:output_type -> vtctldata.DeleteKeyspaceResponse
+ 142, // 143: vtctlservice.Vtctld.DeleteShards:output_type -> vtctldata.DeleteShardsResponse
+ 143, // 144: vtctlservice.Vtctld.DeleteSrvVSchema:output_type -> vtctldata.DeleteSrvVSchemaResponse
+ 144, // 145: vtctlservice.Vtctld.DeleteTablets:output_type -> vtctldata.DeleteTabletsResponse
+ 145, // 146: vtctlservice.Vtctld.EmergencyReparentShard:output_type -> vtctldata.EmergencyReparentShardResponse
+ 146, // 147: vtctlservice.Vtctld.ExecuteFetchAsApp:output_type -> vtctldata.ExecuteFetchAsAppResponse
+ 147, // 148: vtctlservice.Vtctld.ExecuteFetchAsDBA:output_type -> vtctldata.ExecuteFetchAsDBAResponse
+ 148, // 149: vtctlservice.Vtctld.ExecuteHook:output_type -> vtctldata.ExecuteHookResponse
+ 149, // 150: vtctlservice.Vtctld.ExecuteMultiFetchAsDBA:output_type -> vtctldata.ExecuteMultiFetchAsDBAResponse
+ 150, // 151: vtctlservice.Vtctld.FindAllShardsInKeyspace:output_type -> vtctldata.FindAllShardsInKeyspaceResponse
+ 151, // 152: vtctlservice.Vtctld.ForceCutOverSchemaMigration:output_type -> vtctldata.ForceCutOverSchemaMigrationResponse
+ 152, // 153: vtctlservice.Vtctld.GetBackups:output_type -> vtctldata.GetBackupsResponse
+ 153, // 154: vtctlservice.Vtctld.GetCellInfo:output_type -> vtctldata.GetCellInfoResponse
+ 154, // 155: vtctlservice.Vtctld.GetCellInfoNames:output_type -> vtctldata.GetCellInfoNamesResponse
+ 155, // 156: vtctlservice.Vtctld.GetCellsAliases:output_type -> vtctldata.GetCellsAliasesResponse
+ 156, // 157: vtctlservice.Vtctld.GetFullStatus:output_type -> vtctldata.GetFullStatusResponse
+ 157, // 158: vtctlservice.Vtctld.GetKeyspace:output_type -> vtctldata.GetKeyspaceResponse
+ 158, // 159: vtctlservice.Vtctld.GetKeyspaces:output_type -> vtctldata.GetKeyspacesResponse
+ 159, // 160: vtctlservice.Vtctld.GetKeyspaceRoutingRules:output_type -> vtctldata.GetKeyspaceRoutingRulesResponse
+ 160, // 161: vtctlservice.Vtctld.GetPermissions:output_type -> vtctldata.GetPermissionsResponse
+ 161, // 162: vtctlservice.Vtctld.GetRoutingRules:output_type -> vtctldata.GetRoutingRulesResponse
+ 162, // 163: vtctlservice.Vtctld.GetSchema:output_type -> vtctldata.GetSchemaResponse
+ 163, // 164: vtctlservice.Vtctld.GetSchemaMigrations:output_type -> vtctldata.GetSchemaMigrationsResponse
+ 164, // 165: vtctlservice.Vtctld.GetShardReplication:output_type -> vtctldata.GetShardReplicationResponse
+ 165, // 166: vtctlservice.Vtctld.GetShard:output_type -> vtctldata.GetShardResponse
+ 166, // 167: vtctlservice.Vtctld.GetShardRoutingRules:output_type -> vtctldata.GetShardRoutingRulesResponse
+ 167, // 168: vtctlservice.Vtctld.GetSrvKeyspaceNames:output_type -> vtctldata.GetSrvKeyspaceNamesResponse
+ 168, // 169: vtctlservice.Vtctld.GetSrvKeyspaces:output_type -> vtctldata.GetSrvKeyspacesResponse
+ 169, // 170: vtctlservice.Vtctld.UpdateThrottlerConfig:output_type -> vtctldata.UpdateThrottlerConfigResponse
+ 170, // 171: vtctlservice.Vtctld.GetSrvVSchema:output_type -> vtctldata.GetSrvVSchemaResponse
+ 171, // 172: vtctlservice.Vtctld.GetSrvVSchemas:output_type -> vtctldata.GetSrvVSchemasResponse
+ 172, // 173: vtctlservice.Vtctld.GetTablet:output_type -> vtctldata.GetTabletResponse
+ 173, // 174: vtctlservice.Vtctld.GetTablets:output_type -> vtctldata.GetTabletsResponse
+ 174, // 175: vtctlservice.Vtctld.GetThrottlerStatus:output_type -> vtctldata.GetThrottlerStatusResponse
+ 175, // 176: vtctlservice.Vtctld.GetTopologyPath:output_type -> vtctldata.GetTopologyPathResponse
+ 176, // 177: vtctlservice.Vtctld.GetUnresolvedTransactions:output_type -> vtctldata.GetUnresolvedTransactionsResponse
+ 177, // 178: vtctlservice.Vtctld.GetVersion:output_type -> vtctldata.GetVersionResponse
+ 178, // 179: vtctlservice.Vtctld.GetVSchema:output_type -> vtctldata.GetVSchemaResponse
+ 179, // 180: vtctlservice.Vtctld.GetWorkflows:output_type -> vtctldata.GetWorkflowsResponse
+ 180, // 181: vtctlservice.Vtctld.InitShardPrimary:output_type -> vtctldata.InitShardPrimaryResponse
+ 181, // 182: vtctlservice.Vtctld.LaunchSchemaMigration:output_type -> vtctldata.LaunchSchemaMigrationResponse
+ 182, // 183: vtctlservice.Vtctld.LookupVindexCreate:output_type -> vtctldata.LookupVindexCreateResponse
+ 183, // 184: vtctlservice.Vtctld.LookupVindexExternalize:output_type -> vtctldata.LookupVindexExternalizeResponse
+ 184, // 185: vtctlservice.Vtctld.MaterializeCreate:output_type -> vtctldata.MaterializeCreateResponse
+ 185, // 186: vtctlservice.Vtctld.MigrateCreate:output_type -> vtctldata.WorkflowStatusResponse
+ 186, // 187: vtctlservice.Vtctld.MountRegister:output_type -> vtctldata.MountRegisterResponse
+ 187, // 188: vtctlservice.Vtctld.MountUnregister:output_type -> vtctldata.MountUnregisterResponse
+ 188, // 189: vtctlservice.Vtctld.MountShow:output_type -> vtctldata.MountShowResponse
+ 189, // 190: vtctlservice.Vtctld.MountList:output_type -> vtctldata.MountListResponse
+ 185, // 191: vtctlservice.Vtctld.MoveTablesCreate:output_type -> vtctldata.WorkflowStatusResponse
+ 190, // 192: vtctlservice.Vtctld.MoveTablesComplete:output_type -> vtctldata.MoveTablesCompleteResponse
+ 191, // 193: vtctlservice.Vtctld.PingTablet:output_type -> vtctldata.PingTabletResponse
+ 192, // 194: vtctlservice.Vtctld.PlannedReparentShard:output_type -> vtctldata.PlannedReparentShardResponse
+ 193, // 195: vtctlservice.Vtctld.RebuildKeyspaceGraph:output_type -> vtctldata.RebuildKeyspaceGraphResponse
+ 194, // 196: vtctlservice.Vtctld.RebuildVSchemaGraph:output_type -> vtctldata.RebuildVSchemaGraphResponse
+ 195, // 197: vtctlservice.Vtctld.RefreshState:output_type -> vtctldata.RefreshStateResponse
+ 196, // 198: vtctlservice.Vtctld.RefreshStateByShard:output_type -> vtctldata.RefreshStateByShardResponse
+ 197, // 199: vtctlservice.Vtctld.ReloadSchema:output_type -> vtctldata.ReloadSchemaResponse
+ 198, // 200: vtctlservice.Vtctld.ReloadSchemaKeyspace:output_type -> vtctldata.ReloadSchemaKeyspaceResponse
+ 199, // 201: vtctlservice.Vtctld.ReloadSchemaShard:output_type -> vtctldata.ReloadSchemaShardResponse
+ 200, // 202: vtctlservice.Vtctld.RemoveBackup:output_type -> vtctldata.RemoveBackupResponse
+ 201, // 203: vtctlservice.Vtctld.RemoveKeyspaceCell:output_type -> vtctldata.RemoveKeyspaceCellResponse
+ 202, // 204: vtctlservice.Vtctld.RemoveShardCell:output_type -> vtctldata.RemoveShardCellResponse
+ 203, // 205: vtctlservice.Vtctld.ReparentTablet:output_type -> vtctldata.ReparentTabletResponse
+ 185, // 206: vtctlservice.Vtctld.ReshardCreate:output_type -> vtctldata.WorkflowStatusResponse
+ 204, // 207: vtctlservice.Vtctld.RestoreFromBackup:output_type -> vtctldata.RestoreFromBackupResponse
+ 205, // 208: vtctlservice.Vtctld.RetrySchemaMigration:output_type -> vtctldata.RetrySchemaMigrationResponse
+ 206, // 209: vtctlservice.Vtctld.RunHealthCheck:output_type -> vtctldata.RunHealthCheckResponse
+ 207, // 210: vtctlservice.Vtctld.SetKeyspaceDurabilityPolicy:output_type -> vtctldata.SetKeyspaceDurabilityPolicyResponse
+ 208, // 211: vtctlservice.Vtctld.SetShardIsPrimaryServing:output_type -> vtctldata.SetShardIsPrimaryServingResponse
+ 209, // 212: vtctlservice.Vtctld.SetShardTabletControl:output_type -> vtctldata.SetShardTabletControlResponse
+ 210, // 213: vtctlservice.Vtctld.SetWritable:output_type -> vtctldata.SetWritableResponse
+ 211, // 214: vtctlservice.Vtctld.ShardReplicationAdd:output_type -> vtctldata.ShardReplicationAddResponse
+ 212, // 215: vtctlservice.Vtctld.ShardReplicationFix:output_type -> vtctldata.ShardReplicationFixResponse
+ 213, // 216: vtctlservice.Vtctld.ShardReplicationPositions:output_type -> vtctldata.ShardReplicationPositionsResponse
+ 214, // 217: vtctlservice.Vtctld.ShardReplicationRemove:output_type -> vtctldata.ShardReplicationRemoveResponse
+ 215, // 218: vtctlservice.Vtctld.SleepTablet:output_type -> vtctldata.SleepTabletResponse
+ 216, // 219: vtctlservice.Vtctld.SourceShardAdd:output_type -> vtctldata.SourceShardAddResponse
+ 217, // 220: vtctlservice.Vtctld.SourceShardDelete:output_type -> vtctldata.SourceShardDeleteResponse
+ 218, // 221: vtctlservice.Vtctld.StartReplication:output_type -> vtctldata.StartReplicationResponse
+ 219, // 222: vtctlservice.Vtctld.StopReplication:output_type -> vtctldata.StopReplicationResponse
+ 220, // 223: vtctlservice.Vtctld.TabletExternallyReparented:output_type -> vtctldata.TabletExternallyReparentedResponse
+ 221, // 224: vtctlservice.Vtctld.UpdateCellInfo:output_type -> vtctldata.UpdateCellInfoResponse
+ 222, // 225: vtctlservice.Vtctld.UpdateCellsAlias:output_type -> vtctldata.UpdateCellsAliasResponse
+ 223, // 226: vtctlservice.Vtctld.Validate:output_type -> vtctldata.ValidateResponse
+ 224, // 227: vtctlservice.Vtctld.ValidateKeyspace:output_type -> vtctldata.ValidateKeyspaceResponse
+ 225, // 228: vtctlservice.Vtctld.ValidateSchemaKeyspace:output_type -> vtctldata.ValidateSchemaKeyspaceResponse
+ 226, // 229: vtctlservice.Vtctld.ValidateShard:output_type -> vtctldata.ValidateShardResponse
+ 227, // 230: vtctlservice.Vtctld.ValidateVersionKeyspace:output_type -> vtctldata.ValidateVersionKeyspaceResponse
+ 228, // 231: vtctlservice.Vtctld.ValidateVersionShard:output_type -> vtctldata.ValidateVersionShardResponse
+ 229, // 232: vtctlservice.Vtctld.ValidateVSchema:output_type -> vtctldata.ValidateVSchemaResponse
+ 230, // 233: vtctlservice.Vtctld.VDiffCreate:output_type -> vtctldata.VDiffCreateResponse
+ 231, // 234: vtctlservice.Vtctld.VDiffDelete:output_type -> vtctldata.VDiffDeleteResponse
+ 232, // 235: vtctlservice.Vtctld.VDiffResume:output_type -> vtctldata.VDiffResumeResponse
+ 233, // 236: vtctlservice.Vtctld.VDiffShow:output_type -> vtctldata.VDiffShowResponse
+ 234, // 237: vtctlservice.Vtctld.VDiffStop:output_type -> vtctldata.VDiffStopResponse
+ 235, // 238: vtctlservice.Vtctld.WorkflowDelete:output_type -> vtctldata.WorkflowDeleteResponse
+ 185, // 239: vtctlservice.Vtctld.WorkflowStatus:output_type -> vtctldata.WorkflowStatusResponse
+ 236, // 240: vtctlservice.Vtctld.WorkflowSwitchTraffic:output_type -> vtctldata.WorkflowSwitchTrafficResponse
+ 237, // 241: vtctlservice.Vtctld.WorkflowUpdate:output_type -> vtctldata.WorkflowUpdateResponse
+ 238, // 242: vtctlservice.Vtctld.GetMirrorRules:output_type -> vtctldata.GetMirrorRulesResponse
+ 239, // 243: vtctlservice.Vtctld.WorkflowMirrorTraffic:output_type -> vtctldata.WorkflowMirrorTrafficResponse
+ 122, // [122:244] is the sub-list for method output_type
+ 0, // [0:122] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
diff --git a/go/vt/proto/vtctlservice/vtctlservice_grpc.pb.go b/go/vt/proto/vtctlservice/vtctlservice_grpc.pb.go
index 56cef8d1dcd..9e6ad8103ad 100644
--- a/go/vt/proto/vtctlservice/vtctlservice_grpc.pb.go
+++ b/go/vt/proto/vtctlservice/vtctlservice_grpc.pb.go
@@ -175,6 +175,8 @@ type VtctldClient interface {
CleanupSchemaMigration(ctx context.Context, in *vtctldata.CleanupSchemaMigrationRequest, opts ...grpc.CallOption) (*vtctldata.CleanupSchemaMigrationResponse, error)
// CompleteSchemaMigration completes one or all migrations executed with --postpone-completion.
CompleteSchemaMigration(ctx context.Context, in *vtctldata.CompleteSchemaMigrationRequest, opts ...grpc.CallOption) (*vtctldata.CompleteSchemaMigrationResponse, error)
+ // CompleteSchemaMigration completes one or all migrations executed with --postpone-completion.
+ ConcludeTransaction(ctx context.Context, in *vtctldata.ConcludeTransactionRequest, opts ...grpc.CallOption) (*vtctldata.ConcludeTransactionResponse, error)
// CreateKeyspace creates the specified keyspace in the topology. For a
// SNAPSHOT keyspace, the request must specify the name of a base keyspace,
// as well as a snapshot time.
@@ -274,6 +276,8 @@ type VtctldClient interface {
GetThrottlerStatus(ctx context.Context, in *vtctldata.GetThrottlerStatusRequest, opts ...grpc.CallOption) (*vtctldata.GetThrottlerStatusResponse, error)
// GetTopologyPath returns the topology cell at a given path.
GetTopologyPath(ctx context.Context, in *vtctldata.GetTopologyPathRequest, opts ...grpc.CallOption) (*vtctldata.GetTopologyPathResponse, error)
+ // GetTransactions returns the unresolved transactions for the request.
+ GetUnresolvedTransactions(ctx context.Context, in *vtctldata.GetUnresolvedTransactionsRequest, opts ...grpc.CallOption) (*vtctldata.GetUnresolvedTransactionsResponse, error)
// GetVersion returns the version of a tablet from its debug vars.
GetVersion(ctx context.Context, in *vtctldata.GetVersionRequest, opts ...grpc.CallOption) (*vtctldata.GetVersionResponse, error)
// GetVSchema returns the vschema for a keyspace.
@@ -649,6 +653,15 @@ func (c *vtctldClient) CompleteSchemaMigration(ctx context.Context, in *vtctldat
return out, nil
}
+func (c *vtctldClient) ConcludeTransaction(ctx context.Context, in *vtctldata.ConcludeTransactionRequest, opts ...grpc.CallOption) (*vtctldata.ConcludeTransactionResponse, error) {
+ out := new(vtctldata.ConcludeTransactionResponse)
+ err := c.cc.Invoke(ctx, "/vtctlservice.Vtctld/ConcludeTransaction", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *vtctldClient) CreateKeyspace(ctx context.Context, in *vtctldata.CreateKeyspaceRequest, opts ...grpc.CallOption) (*vtctldata.CreateKeyspaceResponse, error) {
out := new(vtctldata.CreateKeyspaceResponse)
err := c.cc.Invoke(ctx, "/vtctlservice.Vtctld/CreateKeyspace", in, out, opts...)
@@ -1000,6 +1013,15 @@ func (c *vtctldClient) GetTopologyPath(ctx context.Context, in *vtctldata.GetTop
return out, nil
}
+func (c *vtctldClient) GetUnresolvedTransactions(ctx context.Context, in *vtctldata.GetUnresolvedTransactionsRequest, opts ...grpc.CallOption) (*vtctldata.GetUnresolvedTransactionsResponse, error) {
+ out := new(vtctldata.GetUnresolvedTransactionsResponse)
+ err := c.cc.Invoke(ctx, "/vtctlservice.Vtctld/GetUnresolvedTransactions", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *vtctldClient) GetVersion(ctx context.Context, in *vtctldata.GetVersionRequest, opts ...grpc.CallOption) (*vtctldata.GetVersionResponse, error) {
out := new(vtctldata.GetVersionResponse)
err := c.cc.Invoke(ctx, "/vtctlservice.Vtctld/GetVersion", in, out, opts...)
@@ -1660,6 +1682,8 @@ type VtctldServer interface {
CleanupSchemaMigration(context.Context, *vtctldata.CleanupSchemaMigrationRequest) (*vtctldata.CleanupSchemaMigrationResponse, error)
// CompleteSchemaMigration completes one or all migrations executed with --postpone-completion.
CompleteSchemaMigration(context.Context, *vtctldata.CompleteSchemaMigrationRequest) (*vtctldata.CompleteSchemaMigrationResponse, error)
+ // CompleteSchemaMigration completes one or all migrations executed with --postpone-completion.
+ ConcludeTransaction(context.Context, *vtctldata.ConcludeTransactionRequest) (*vtctldata.ConcludeTransactionResponse, error)
// CreateKeyspace creates the specified keyspace in the topology. For a
// SNAPSHOT keyspace, the request must specify the name of a base keyspace,
// as well as a snapshot time.
@@ -1759,6 +1783,8 @@ type VtctldServer interface {
GetThrottlerStatus(context.Context, *vtctldata.GetThrottlerStatusRequest) (*vtctldata.GetThrottlerStatusResponse, error)
// GetTopologyPath returns the topology cell at a given path.
GetTopologyPath(context.Context, *vtctldata.GetTopologyPathRequest) (*vtctldata.GetTopologyPathResponse, error)
+ // GetTransactions returns the unresolved transactions for the request.
+ GetUnresolvedTransactions(context.Context, *vtctldata.GetUnresolvedTransactionsRequest) (*vtctldata.GetUnresolvedTransactionsResponse, error)
// GetVersion returns the version of a tablet from its debug vars.
GetVersion(context.Context, *vtctldata.GetVersionRequest) (*vtctldata.GetVersionResponse, error)
// GetVSchema returns the vschema for a keyspace.
@@ -2001,6 +2027,9 @@ func (UnimplementedVtctldServer) CleanupSchemaMigration(context.Context, *vtctld
func (UnimplementedVtctldServer) CompleteSchemaMigration(context.Context, *vtctldata.CompleteSchemaMigrationRequest) (*vtctldata.CompleteSchemaMigrationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CompleteSchemaMigration not implemented")
}
+func (UnimplementedVtctldServer) ConcludeTransaction(context.Context, *vtctldata.ConcludeTransactionRequest) (*vtctldata.ConcludeTransactionResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ConcludeTransaction not implemented")
+}
func (UnimplementedVtctldServer) CreateKeyspace(context.Context, *vtctldata.CreateKeyspaceRequest) (*vtctldata.CreateKeyspaceResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateKeyspace not implemented")
}
@@ -2118,6 +2147,9 @@ func (UnimplementedVtctldServer) GetThrottlerStatus(context.Context, *vtctldata.
func (UnimplementedVtctldServer) GetTopologyPath(context.Context, *vtctldata.GetTopologyPathRequest) (*vtctldata.GetTopologyPathResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetTopologyPath not implemented")
}
+func (UnimplementedVtctldServer) GetUnresolvedTransactions(context.Context, *vtctldata.GetUnresolvedTransactionsRequest) (*vtctldata.GetUnresolvedTransactionsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetUnresolvedTransactions not implemented")
+}
func (UnimplementedVtctldServer) GetVersion(context.Context, *vtctldata.GetVersionRequest) (*vtctldata.GetVersionResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented")
}
@@ -2587,6 +2619,24 @@ func _Vtctld_CompleteSchemaMigration_Handler(srv interface{}, ctx context.Contex
return interceptor(ctx, in, info, handler)
}
+func _Vtctld_ConcludeTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(vtctldata.ConcludeTransactionRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VtctldServer).ConcludeTransaction(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/vtctlservice.Vtctld/ConcludeTransaction",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VtctldServer).ConcludeTransaction(ctx, req.(*vtctldata.ConcludeTransactionRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _Vtctld_CreateKeyspace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(vtctldata.CreateKeyspaceRequest)
if err := dec(in); err != nil {
@@ -3289,6 +3339,24 @@ func _Vtctld_GetTopologyPath_Handler(srv interface{}, ctx context.Context, dec f
return interceptor(ctx, in, info, handler)
}
+func _Vtctld_GetUnresolvedTransactions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(vtctldata.GetUnresolvedTransactionsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(VtctldServer).GetUnresolvedTransactions(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/vtctlservice.Vtctld/GetUnresolvedTransactions",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(VtctldServer).GetUnresolvedTransactions(ctx, req.(*vtctldata.GetUnresolvedTransactionsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _Vtctld_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(vtctldata.GetVersionRequest)
if err := dec(in); err != nil {
@@ -4535,6 +4603,10 @@ var Vtctld_ServiceDesc = grpc.ServiceDesc{
MethodName: "CompleteSchemaMigration",
Handler: _Vtctld_CompleteSchemaMigration_Handler,
},
+ {
+ MethodName: "ConcludeTransaction",
+ Handler: _Vtctld_ConcludeTransaction_Handler,
+ },
{
MethodName: "CreateKeyspace",
Handler: _Vtctld_CreateKeyspace_Handler,
@@ -4691,6 +4763,10 @@ var Vtctld_ServiceDesc = grpc.ServiceDesc{
MethodName: "GetTopologyPath",
Handler: _Vtctld_GetTopologyPath_Handler,
},
+ {
+ MethodName: "GetUnresolvedTransactions",
+ Handler: _Vtctld_GetUnresolvedTransactions_Handler,
+ },
{
MethodName: "GetVersion",
Handler: _Vtctld_GetVersion_Handler,
diff --git a/go/vt/proto/vtgate/vtgate.pb.go b/go/vt/proto/vtgate/vtgate.pb.go
index a7a200cc93d..58392f86bb3 100644
--- a/go/vt/proto/vtgate/vtgate.pb.go
+++ b/go/vt/proto/vtgate/vtgate.pb.go
@@ -1082,6 +1082,10 @@ type VStreamFlags struct {
Cells string `protobuf:"bytes,4,opt,name=cells,proto3" json:"cells,omitempty"`
CellPreference string `protobuf:"bytes,5,opt,name=cell_preference,json=cellPreference,proto3" json:"cell_preference,omitempty"`
TabletOrder string `protobuf:"bytes,6,opt,name=tablet_order,json=tabletOrder,proto3" json:"tablet_order,omitempty"`
+ // When set, all new row events from the `heartbeat` table, for all shards, in the sidecardb will be streamed.
+ StreamKeyspaceHeartbeats bool `protobuf:"varint,7,opt,name=stream_keyspace_heartbeats,json=streamKeyspaceHeartbeats,proto3" json:"stream_keyspace_heartbeats,omitempty"`
+ // Include reshard journal events in the stream.
+ IncludeReshardJournalEvents bool `protobuf:"varint,8,opt,name=include_reshard_journal_events,json=includeReshardJournalEvents,proto3" json:"include_reshard_journal_events,omitempty"`
}
func (x *VStreamFlags) Reset() {
@@ -1158,6 +1162,20 @@ func (x *VStreamFlags) GetTabletOrder() string {
return ""
}
+func (x *VStreamFlags) GetStreamKeyspaceHeartbeats() bool {
+ if x != nil {
+ return x.StreamKeyspaceHeartbeats
+ }
+ return false
+}
+
+func (x *VStreamFlags) GetIncludeReshardJournalEvents() bool {
+ if x != nil {
+ return x.IncludeReshardJournalEvents
+ }
+ return false
+}
+
// VStreamRequest is the payload for VStream.
type VStreamRequest struct {
state protoimpl.MessageState
@@ -1827,7 +1845,7 @@ var file_vtgate_proto_rawDesc = []byte{
0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x74, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a,
0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xec, 0x01, 0x0a, 0x0c, 0x56,
+ 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xef, 0x02, 0x0a, 0x0c, 0x56,
0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d,
0x69, 0x6e, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x6b, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x53, 0x6b, 0x65, 0x77,
@@ -1842,68 +1860,76 @@ var file_vtgate_proto_rawDesc = []byte{
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x66,
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xf6, 0x01, 0x0a, 0x0e, 0x56, 0x53,
- 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x09,
+ 0x62, 0x6c, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x65, 0x61,
+ 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x48, 0x65, 0x61,
+ 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x69, 0x6e, 0x63, 0x6c, 0x75,
+ 0x64, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6a, 0x6f, 0x75, 0x72, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x1b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4a,
+ 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xf6, 0x01, 0x0a,
+ 0x0e, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x2c, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x49, 0x44, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x0a,
+ 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x56, 0x47, 0x74, 0x69, 0x64, 0x52, 0x05, 0x76, 0x67, 0x74, 0x69, 0x64, 0x12, 0x2a, 0x0a,
+ 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
+ 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x66, 0x6c, 0x61,
+ 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x74, 0x67, 0x61, 0x74,
+ 0x65, 0x2e, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05,
+ 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x3d, 0x0a, 0x0f, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e,
+ 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f,
+ 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76,
+ 0x65, 0x6e, 0x74, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72,
+ 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x08, 0x63, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x67, 0x61, 0x74, 0x65, 0x2e,
+ 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x11, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65,
+ 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x89, 0x01, 0x0a, 0x0f, 0x50, 0x72,
+ 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a,
+ 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76,
+ 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65,
+ 0x72, 0x72, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x67, 0x61, 0x74, 0x65, 0x2e, 0x53,
+ 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
+ 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66,
+ 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x6e, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x09,
0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44,
- 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
- 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70,
- 0x65, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x11, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x47,
- 0x74, 0x69, 0x64, 0x52, 0x05, 0x76, 0x67, 0x74, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x66, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69, 0x6e,
- 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06,
- 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x74, 0x67, 0x61, 0x74, 0x65, 0x2e, 0x56,
- 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61,
- 0x67, 0x73, 0x22, 0x3d, 0x0a, 0x0f, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74,
- 0x73, 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e,
- 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72,
- 0x49, 0x64, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x67, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x73,
- 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a,
- 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
- 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x89, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x70, 0x61,
- 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72,
- 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70,
- 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
- 0x72, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x67, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x73, 0x73,
- 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x06,
- 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c,
- 0x64, 0x73, 0x22, 0x6e, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x61, 0x6c,
- 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76,
- 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x08, 0x63,
- 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69,
- 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x67, 0x61, 0x74,
- 0x65, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69,
- 0x6f, 0x6e, 0x22, 0x3d, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69,
- 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x72,
- 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70,
- 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
- 0x72, 0x2a, 0x44, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
- 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
- 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x10,
- 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05,
- 0x54, 0x57, 0x4f, 0x50, 0x43, 0x10, 0x03, 0x2a, 0x3c, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
- 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c,
- 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x52, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x50,
- 0x4f, 0x53, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x54, 0x4f, 0x43, 0x4f, 0x4d,
- 0x4d, 0x49, 0x54, 0x10, 0x03, 0x42, 0x36, 0x0a, 0x0f, 0x69, 0x6f, 0x2e, 0x76, 0x69, 0x74, 0x65,
- 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x23, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73,
- 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74,
- 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x67, 0x61, 0x74, 0x65, 0x62, 0x06, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74,
+ 0x67, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3d, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a,
+ 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76,
+ 0x74, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65,
+ 0x72, 0x72, 0x6f, 0x72, 0x2a, 0x44, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45,
+ 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4e, 0x47,
+ 0x4c, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x10, 0x02, 0x12,
+ 0x09, 0x0a, 0x05, 0x54, 0x57, 0x4f, 0x50, 0x43, 0x10, 0x03, 0x2a, 0x3c, 0x0a, 0x0b, 0x43, 0x6f,
+ 0x6d, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52,
+ 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x52, 0x45, 0x10, 0x01, 0x12, 0x08,
+ 0x0a, 0x04, 0x50, 0x4f, 0x53, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x54, 0x4f,
+ 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x03, 0x42, 0x36, 0x0a, 0x0f, 0x69, 0x6f, 0x2e, 0x76,
+ 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x23, 0x76, 0x69, 0x74,
+ 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f,
+ 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x67, 0x61, 0x74, 0x65,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/go/vt/proto/vtgate/vtgate_vtproto.pb.go b/go/vt/proto/vtgate/vtgate_vtproto.pb.go
index bec24472760..d32eee0428a 100644
--- a/go/vt/proto/vtgate/vtgate_vtproto.pb.go
+++ b/go/vt/proto/vtgate/vtgate_vtproto.pb.go
@@ -1,5 +1,5 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: vtgate.proto
package vtgate
@@ -7,11 +7,11 @@ package vtgate
import (
binary "encoding/binary"
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
math "math"
- bits "math/bits"
binlogdata "vitess.io/vitess/go/vt/proto/binlogdata"
query "vitess.io/vitess/go/vt/proto/query"
topodata "vitess.io/vitess/go/vt/proto/topodata"
@@ -29,13 +29,12 @@ func (m *Session_ShardSession) CloneVT() *Session_ShardSession {
if m == nil {
return (*Session_ShardSession)(nil)
}
- r := &Session_ShardSession{
- Target: m.Target.CloneVT(),
- TransactionId: m.TransactionId,
- TabletAlias: m.TabletAlias.CloneVT(),
- ReservedId: m.ReservedId,
- VindexOnly: m.VindexOnly,
- }
+ r := new(Session_ShardSession)
+ r.Target = m.Target.CloneVT()
+ r.TransactionId = m.TransactionId
+ r.TabletAlias = m.TabletAlias.CloneVT()
+ r.ReservedId = m.ReservedId
+ r.VindexOnly = m.VindexOnly
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -51,25 +50,24 @@ func (m *Session) CloneVT() *Session {
if m == nil {
return (*Session)(nil)
}
- r := &Session{
- InTransaction: m.InTransaction,
- Autocommit: m.Autocommit,
- TargetString: m.TargetString,
- Options: m.Options.CloneVT(),
- TransactionMode: m.TransactionMode,
- LastInsertId: m.LastInsertId,
- FoundRows: m.FoundRows,
- RowCount: m.RowCount,
- InReservedConn: m.InReservedConn,
- LockSession: m.LockSession.CloneVT(),
- LastLockHeartbeat: m.LastLockHeartbeat,
- ReadAfterWrite: m.ReadAfterWrite.CloneVT(),
- DDLStrategy: m.DDLStrategy,
- SessionUUID: m.SessionUUID,
- EnableSystemSettings: m.EnableSystemSettings,
- QueryTimeout: m.QueryTimeout,
- MigrationContext: m.MigrationContext,
- }
+ r := new(Session)
+ r.InTransaction = m.InTransaction
+ r.Autocommit = m.Autocommit
+ r.TargetString = m.TargetString
+ r.Options = m.Options.CloneVT()
+ r.TransactionMode = m.TransactionMode
+ r.LastInsertId = m.LastInsertId
+ r.FoundRows = m.FoundRows
+ r.RowCount = m.RowCount
+ r.InReservedConn = m.InReservedConn
+ r.LockSession = m.LockSession.CloneVT()
+ r.LastLockHeartbeat = m.LastLockHeartbeat
+ r.ReadAfterWrite = m.ReadAfterWrite.CloneVT()
+ r.DDLStrategy = m.DDLStrategy
+ r.SessionUUID = m.SessionUUID
+ r.EnableSystemSettings = m.EnableSystemSettings
+ r.QueryTimeout = m.QueryTimeout
+ r.MigrationContext = m.MigrationContext
if rhs := m.ShardSessions; rhs != nil {
tmpContainer := make([]*Session_ShardSession, len(rhs))
for k, v := range rhs {
@@ -146,10 +144,9 @@ func (m *PrepareData) CloneVT() *PrepareData {
if m == nil {
return (*PrepareData)(nil)
}
- r := &PrepareData{
- PrepareStatement: m.PrepareStatement,
- ParamsCount: m.ParamsCount,
- }
+ r := new(PrepareData)
+ r.PrepareStatement = m.PrepareStatement
+ r.ParamsCount = m.ParamsCount
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -165,11 +162,10 @@ func (m *ReadAfterWrite) CloneVT() *ReadAfterWrite {
if m == nil {
return (*ReadAfterWrite)(nil)
}
- r := &ReadAfterWrite{
- ReadAfterWriteGtid: m.ReadAfterWriteGtid,
- ReadAfterWriteTimeout: m.ReadAfterWriteTimeout,
- SessionTrackGtids: m.SessionTrackGtids,
- }
+ r := new(ReadAfterWrite)
+ r.ReadAfterWriteGtid = m.ReadAfterWriteGtid
+ r.ReadAfterWriteTimeout = m.ReadAfterWriteTimeout
+ r.SessionTrackGtids = m.SessionTrackGtids
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -185,11 +181,10 @@ func (m *ExecuteRequest) CloneVT() *ExecuteRequest {
if m == nil {
return (*ExecuteRequest)(nil)
}
- r := &ExecuteRequest{
- CallerId: m.CallerId.CloneVT(),
- Session: m.Session.CloneVT(),
- Query: m.Query.CloneVT(),
- }
+ r := new(ExecuteRequest)
+ r.CallerId = m.CallerId.CloneVT()
+ r.Session = m.Session.CloneVT()
+ r.Query = m.Query.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -205,11 +200,10 @@ func (m *ExecuteResponse) CloneVT() *ExecuteResponse {
if m == nil {
return (*ExecuteResponse)(nil)
}
- r := &ExecuteResponse{
- Error: m.Error.CloneVT(),
- Session: m.Session.CloneVT(),
- Result: m.Result.CloneVT(),
- }
+ r := new(ExecuteResponse)
+ r.Error = m.Error.CloneVT()
+ r.Session = m.Session.CloneVT()
+ r.Result = m.Result.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -225,10 +219,9 @@ func (m *ExecuteBatchRequest) CloneVT() *ExecuteBatchRequest {
if m == nil {
return (*ExecuteBatchRequest)(nil)
}
- r := &ExecuteBatchRequest{
- CallerId: m.CallerId.CloneVT(),
- Session: m.Session.CloneVT(),
- }
+ r := new(ExecuteBatchRequest)
+ r.CallerId = m.CallerId.CloneVT()
+ r.Session = m.Session.CloneVT()
if rhs := m.Queries; rhs != nil {
tmpContainer := make([]*query.BoundQuery, len(rhs))
for k, v := range rhs {
@@ -251,10 +244,9 @@ func (m *ExecuteBatchResponse) CloneVT() *ExecuteBatchResponse {
if m == nil {
return (*ExecuteBatchResponse)(nil)
}
- r := &ExecuteBatchResponse{
- Error: m.Error.CloneVT(),
- Session: m.Session.CloneVT(),
- }
+ r := new(ExecuteBatchResponse)
+ r.Error = m.Error.CloneVT()
+ r.Session = m.Session.CloneVT()
if rhs := m.Results; rhs != nil {
tmpContainer := make([]*query.ResultWithError, len(rhs))
for k, v := range rhs {
@@ -277,11 +269,10 @@ func (m *StreamExecuteRequest) CloneVT() *StreamExecuteRequest {
if m == nil {
return (*StreamExecuteRequest)(nil)
}
- r := &StreamExecuteRequest{
- CallerId: m.CallerId.CloneVT(),
- Query: m.Query.CloneVT(),
- Session: m.Session.CloneVT(),
- }
+ r := new(StreamExecuteRequest)
+ r.CallerId = m.CallerId.CloneVT()
+ r.Query = m.Query.CloneVT()
+ r.Session = m.Session.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -297,10 +288,9 @@ func (m *StreamExecuteResponse) CloneVT() *StreamExecuteResponse {
if m == nil {
return (*StreamExecuteResponse)(nil)
}
- r := &StreamExecuteResponse{
- Result: m.Result.CloneVT(),
- Session: m.Session.CloneVT(),
- }
+ r := new(StreamExecuteResponse)
+ r.Result = m.Result.CloneVT()
+ r.Session = m.Session.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -316,10 +306,9 @@ func (m *ResolveTransactionRequest) CloneVT() *ResolveTransactionRequest {
if m == nil {
return (*ResolveTransactionRequest)(nil)
}
- r := &ResolveTransactionRequest{
- CallerId: m.CallerId.CloneVT(),
- Dtid: m.Dtid,
- }
+ r := new(ResolveTransactionRequest)
+ r.CallerId = m.CallerId.CloneVT()
+ r.Dtid = m.Dtid
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -335,7 +324,7 @@ func (m *ResolveTransactionResponse) CloneVT() *ResolveTransactionResponse {
if m == nil {
return (*ResolveTransactionResponse)(nil)
}
- r := &ResolveTransactionResponse{}
+ r := new(ResolveTransactionResponse)
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -351,14 +340,15 @@ func (m *VStreamFlags) CloneVT() *VStreamFlags {
if m == nil {
return (*VStreamFlags)(nil)
}
- r := &VStreamFlags{
- MinimizeSkew: m.MinimizeSkew,
- HeartbeatInterval: m.HeartbeatInterval,
- StopOnReshard: m.StopOnReshard,
- Cells: m.Cells,
- CellPreference: m.CellPreference,
- TabletOrder: m.TabletOrder,
- }
+ r := new(VStreamFlags)
+ r.MinimizeSkew = m.MinimizeSkew
+ r.HeartbeatInterval = m.HeartbeatInterval
+ r.StopOnReshard = m.StopOnReshard
+ r.Cells = m.Cells
+ r.CellPreference = m.CellPreference
+ r.TabletOrder = m.TabletOrder
+ r.StreamKeyspaceHeartbeats = m.StreamKeyspaceHeartbeats
+ r.IncludeReshardJournalEvents = m.IncludeReshardJournalEvents
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -374,13 +364,12 @@ func (m *VStreamRequest) CloneVT() *VStreamRequest {
if m == nil {
return (*VStreamRequest)(nil)
}
- r := &VStreamRequest{
- CallerId: m.CallerId.CloneVT(),
- TabletType: m.TabletType,
- Vgtid: m.Vgtid.CloneVT(),
- Filter: m.Filter.CloneVT(),
- Flags: m.Flags.CloneVT(),
- }
+ r := new(VStreamRequest)
+ r.CallerId = m.CallerId.CloneVT()
+ r.TabletType = m.TabletType
+ r.Vgtid = m.Vgtid.CloneVT()
+ r.Filter = m.Filter.CloneVT()
+ r.Flags = m.Flags.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -396,7 +385,7 @@ func (m *VStreamResponse) CloneVT() *VStreamResponse {
if m == nil {
return (*VStreamResponse)(nil)
}
- r := &VStreamResponse{}
+ r := new(VStreamResponse)
if rhs := m.Events; rhs != nil {
tmpContainer := make([]*binlogdata.VEvent, len(rhs))
for k, v := range rhs {
@@ -419,11 +408,10 @@ func (m *PrepareRequest) CloneVT() *PrepareRequest {
if m == nil {
return (*PrepareRequest)(nil)
}
- r := &PrepareRequest{
- CallerId: m.CallerId.CloneVT(),
- Session: m.Session.CloneVT(),
- Query: m.Query.CloneVT(),
- }
+ r := new(PrepareRequest)
+ r.CallerId = m.CallerId.CloneVT()
+ r.Session = m.Session.CloneVT()
+ r.Query = m.Query.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -439,10 +427,9 @@ func (m *PrepareResponse) CloneVT() *PrepareResponse {
if m == nil {
return (*PrepareResponse)(nil)
}
- r := &PrepareResponse{
- Error: m.Error.CloneVT(),
- Session: m.Session.CloneVT(),
- }
+ r := new(PrepareResponse)
+ r.Error = m.Error.CloneVT()
+ r.Session = m.Session.CloneVT()
if rhs := m.Fields; rhs != nil {
tmpContainer := make([]*query.Field, len(rhs))
for k, v := range rhs {
@@ -465,10 +452,9 @@ func (m *CloseSessionRequest) CloneVT() *CloseSessionRequest {
if m == nil {
return (*CloseSessionRequest)(nil)
}
- r := &CloseSessionRequest{
- CallerId: m.CallerId.CloneVT(),
- Session: m.Session.CloneVT(),
- }
+ r := new(CloseSessionRequest)
+ r.CallerId = m.CallerId.CloneVT()
+ r.Session = m.Session.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -484,9 +470,8 @@ func (m *CloseSessionResponse) CloneVT() *CloseSessionResponse {
if m == nil {
return (*CloseSessionResponse)(nil)
}
- r := &CloseSessionResponse{
- Error: m.Error.CloneVT(),
- }
+ r := new(CloseSessionResponse)
+ r.Error = m.Error.CloneVT()
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -539,7 +524,7 @@ func (m *Session_ShardSession) MarshalToSizedBufferVT(dAtA []byte) (int, error)
dAtA[i] = 0x28
}
if m.ReservedId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReservedId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReservedId))
i--
dAtA[i] = 0x20
}
@@ -549,12 +534,12 @@ func (m *Session_ShardSession) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if m.TransactionId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionId))
i--
dAtA[i] = 0x10
}
@@ -564,7 +549,7 @@ func (m *Session_ShardSession) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -604,7 +589,7 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.MigrationContext) > 0 {
i -= len(m.MigrationContext)
copy(dAtA[i:], m.MigrationContext)
- i = encodeVarint(dAtA, i, uint64(len(m.MigrationContext)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.MigrationContext)))
i--
dAtA[i] = 0x1
i--
@@ -619,15 +604,15 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x1
i--
@@ -635,7 +620,7 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
}
}
if m.QueryTimeout != 0 {
- i = encodeVarint(dAtA, i, uint64(m.QueryTimeout))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.QueryTimeout))
i--
dAtA[i] = 0x1
i--
@@ -645,15 +630,15 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for k := range m.AdvisoryLock {
v := m.AdvisoryLock[k]
baseI := i
- i = encodeVarint(dAtA, i, uint64(v))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(v))
i--
dAtA[i] = 0x10
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x1
i--
@@ -675,7 +660,7 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.SessionUUID) > 0 {
i -= len(m.SessionUUID)
copy(dAtA[i:], m.SessionUUID)
- i = encodeVarint(dAtA, i, uint64(len(m.SessionUUID)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SessionUUID)))
i--
dAtA[i] = 0x1
i--
@@ -684,7 +669,7 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.DDLStrategy) > 0 {
i -= len(m.DDLStrategy)
copy(dAtA[i:], m.DDLStrategy)
- i = encodeVarint(dAtA, i, uint64(len(m.DDLStrategy)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DDLStrategy)))
i--
dAtA[i] = 0x1
i--
@@ -696,14 +681,14 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0xa2
}
if m.LastLockHeartbeat != 0 {
- i = encodeVarint(dAtA, i, uint64(m.LastLockHeartbeat))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LastLockHeartbeat))
i--
dAtA[i] = 0x1
i--
@@ -715,7 +700,7 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1
i--
@@ -737,7 +722,7 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Savepoints) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Savepoints[iNdEx])
copy(dAtA[i:], m.Savepoints[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Savepoints[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Savepoints[iNdEx])))
i--
dAtA[i] = 0x1
i--
@@ -745,7 +730,7 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
}
}
if m.RowCount != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RowCount))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RowCount))
i--
dAtA[i] = 0x78
}
@@ -755,15 +740,15 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
baseI := i
i -= len(v)
copy(dAtA[i:], v)
- i = encodeVarint(dAtA, i, uint64(len(v)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v)))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x72
}
@@ -777,26 +762,26 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
i -= len(k)
copy(dAtA[i:], k)
- i = encodeVarint(dAtA, i, uint64(len(k)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k)))
i--
dAtA[i] = 0xa
- i = encodeVarint(dAtA, i, uint64(baseI-i))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i))
i--
dAtA[i] = 0x6a
}
}
if m.FoundRows != 0 {
- i = encodeVarint(dAtA, i, uint64(m.FoundRows))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FoundRows))
i--
dAtA[i] = 0x60
}
if m.LastInsertId != 0 {
- i = encodeVarint(dAtA, i, uint64(m.LastInsertId))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LastInsertId))
i--
dAtA[i] = 0x58
}
@@ -807,7 +792,7 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x52
}
@@ -819,7 +804,7 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x4a
}
@@ -831,13 +816,13 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x42
}
}
if m.TransactionMode != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TransactionMode))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TransactionMode))
i--
dAtA[i] = 0x38
}
@@ -847,14 +832,14 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
if len(m.TargetString) > 0 {
i -= len(m.TargetString)
copy(dAtA[i:], m.TargetString)
- i = encodeVarint(dAtA, i, uint64(len(m.TargetString)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TargetString)))
i--
dAtA[i] = 0x2a
}
@@ -875,7 +860,7 @@ func (m *Session) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -924,14 +909,14 @@ func (m *PrepareData) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.ParamsCount != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ParamsCount))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ParamsCount))
i--
dAtA[i] = 0x10
}
if len(m.PrepareStatement) > 0 {
i -= len(m.PrepareStatement)
copy(dAtA[i:], m.PrepareStatement)
- i = encodeVarint(dAtA, i, uint64(len(m.PrepareStatement)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PrepareStatement)))
i--
dAtA[i] = 0xa
}
@@ -987,7 +972,7 @@ func (m *ReadAfterWrite) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.ReadAfterWriteGtid) > 0 {
i -= len(m.ReadAfterWriteGtid)
copy(dAtA[i:], m.ReadAfterWriteGtid)
- i = encodeVarint(dAtA, i, uint64(len(m.ReadAfterWriteGtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ReadAfterWriteGtid)))
i--
dAtA[i] = 0xa
}
@@ -1030,7 +1015,7 @@ func (m *ExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1040,7 +1025,7 @@ func (m *ExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1050,7 +1035,7 @@ func (m *ExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1093,7 +1078,7 @@ func (m *ExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1103,7 +1088,7 @@ func (m *ExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1113,7 +1098,7 @@ func (m *ExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1157,7 +1142,7 @@ func (m *ExecuteBatchRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1168,7 +1153,7 @@ func (m *ExecuteBatchRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1178,7 +1163,7 @@ func (m *ExecuteBatchRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1222,7 +1207,7 @@ func (m *ExecuteBatchResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1233,7 +1218,7 @@ func (m *ExecuteBatchResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1243,7 +1228,7 @@ func (m *ExecuteBatchResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1286,7 +1271,7 @@ func (m *StreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x32
}
@@ -1296,7 +1281,7 @@ func (m *StreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1306,7 +1291,7 @@ func (m *StreamExecuteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1349,7 +1334,7 @@ func (m *StreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1359,7 +1344,7 @@ func (m *StreamExecuteResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1399,7 +1384,7 @@ func (m *ResolveTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
if len(m.Dtid) > 0 {
i -= len(m.Dtid)
copy(dAtA[i:], m.Dtid)
- i = encodeVarint(dAtA, i, uint64(len(m.Dtid)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Dtid)))
i--
dAtA[i] = 0x12
}
@@ -1409,7 +1394,7 @@ func (m *ResolveTransactionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1479,24 +1464,44 @@ func (m *VStreamFlags) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.IncludeReshardJournalEvents {
+ i--
+ if m.IncludeReshardJournalEvents {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x40
+ }
+ if m.StreamKeyspaceHeartbeats {
+ i--
+ if m.StreamKeyspaceHeartbeats {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x38
+ }
if len(m.TabletOrder) > 0 {
i -= len(m.TabletOrder)
copy(dAtA[i:], m.TabletOrder)
- i = encodeVarint(dAtA, i, uint64(len(m.TabletOrder)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TabletOrder)))
i--
dAtA[i] = 0x32
}
if len(m.CellPreference) > 0 {
i -= len(m.CellPreference)
copy(dAtA[i:], m.CellPreference)
- i = encodeVarint(dAtA, i, uint64(len(m.CellPreference)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CellPreference)))
i--
dAtA[i] = 0x2a
}
if len(m.Cells) > 0 {
i -= len(m.Cells)
copy(dAtA[i:], m.Cells)
- i = encodeVarint(dAtA, i, uint64(len(m.Cells)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells)))
i--
dAtA[i] = 0x22
}
@@ -1511,7 +1516,7 @@ func (m *VStreamFlags) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
dAtA[i] = 0x18
}
if m.HeartbeatInterval != 0 {
- i = encodeVarint(dAtA, i, uint64(m.HeartbeatInterval))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HeartbeatInterval))
i--
dAtA[i] = 0x10
}
@@ -1564,7 +1569,7 @@ func (m *VStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x2a
}
@@ -1574,7 +1579,7 @@ func (m *VStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -1584,12 +1589,12 @@ func (m *VStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
if m.TabletType != 0 {
- i = encodeVarint(dAtA, i, uint64(m.TabletType))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TabletType))
i--
dAtA[i] = 0x10
}
@@ -1599,7 +1604,7 @@ func (m *VStreamRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1643,7 +1648,7 @@ func (m *VStreamResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1687,7 +1692,7 @@ func (m *PrepareRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1697,7 +1702,7 @@ func (m *PrepareRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1707,7 +1712,7 @@ func (m *PrepareRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1751,7 +1756,7 @@ func (m *PrepareResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -1762,7 +1767,7 @@ func (m *PrepareResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1772,7 +1777,7 @@ func (m *PrepareResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1815,7 +1820,7 @@ func (m *CloseSessionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -1825,7 +1830,7 @@ func (m *CloseSessionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -1868,24 +1873,13 @@ func (m *CloseSessionResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error)
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *Session_ShardSession) SizeVT() (n int) {
if m == nil {
return 0
@@ -1894,17 +1888,17 @@ func (m *Session_ShardSession) SizeVT() (n int) {
_ = l
if m.Target != nil {
l = m.Target.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionId != 0 {
- n += 1 + sov(uint64(m.TransactionId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionId))
}
if m.TabletAlias != nil {
l = m.TabletAlias.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReservedId != 0 {
- n += 1 + sov(uint64(m.ReservedId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReservedId))
}
if m.VindexOnly {
n += 2
@@ -1925,7 +1919,7 @@ func (m *Session) SizeVT() (n int) {
if len(m.ShardSessions) > 0 {
for _, e := range m.ShardSessions {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.Autocommit {
@@ -1933,38 +1927,38 @@ func (m *Session) SizeVT() (n int) {
}
l = len(m.TargetString)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Options != nil {
l = m.Options.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TransactionMode != 0 {
- n += 1 + sov(uint64(m.TransactionMode))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TransactionMode))
}
if len(m.Warnings) > 0 {
for _, e := range m.Warnings {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.PreSessions) > 0 {
for _, e := range m.PreSessions {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.PostSessions) > 0 {
for _, e := range m.PostSessions {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.LastInsertId != 0 {
- n += 1 + sov(uint64(m.LastInsertId))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.LastInsertId))
}
if m.FoundRows != 0 {
- n += 1 + sov(uint64(m.FoundRows))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.FoundRows))
}
if len(m.UserDefinedVariables) > 0 {
for k, v := range m.UserDefinedVariables {
@@ -1974,26 +1968,26 @@ func (m *Session) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if len(m.SystemVariables) > 0 {
for k, v := range m.SystemVariables {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v)))
- n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v)))
+ n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if m.RowCount != 0 {
- n += 1 + sov(uint64(m.RowCount))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.RowCount))
}
if len(m.Savepoints) > 0 {
for _, s := range m.Savepoints {
l = len(s)
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.InReservedConn {
@@ -2001,22 +1995,22 @@ func (m *Session) SizeVT() (n int) {
}
if m.LockSession != nil {
l = m.LockSession.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.LastLockHeartbeat != 0 {
- n += 2 + sov(uint64(m.LastLockHeartbeat))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.LastLockHeartbeat))
}
if m.ReadAfterWrite != nil {
l = m.ReadAfterWrite.SizeVT()
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DDLStrategy)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.SessionUUID)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.EnableSystemSettings {
n += 3
@@ -2025,12 +2019,12 @@ func (m *Session) SizeVT() (n int) {
for k, v := range m.AdvisoryLock {
_ = k
_ = v
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + sov(uint64(v))
- n += mapEntrySize + 2 + sov(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + protohelpers.SizeOfVarint(uint64(v))
+ n += mapEntrySize + 2 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
if m.QueryTimeout != 0 {
- n += 2 + sov(uint64(m.QueryTimeout))
+ n += 2 + protohelpers.SizeOfVarint(uint64(m.QueryTimeout))
}
if len(m.PrepareStatement) > 0 {
for k, v := range m.PrepareStatement {
@@ -2040,14 +2034,14 @@ func (m *Session) SizeVT() (n int) {
if v != nil {
l = v.SizeVT()
}
- l += 1 + sov(uint64(l))
- mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l
- n += mapEntrySize + 2 + sov(uint64(mapEntrySize))
+ l += 1 + protohelpers.SizeOfVarint(uint64(l))
+ mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + l
+ n += mapEntrySize + 2 + protohelpers.SizeOfVarint(uint64(mapEntrySize))
}
}
l = len(m.MigrationContext)
if l > 0 {
- n += 2 + l + sov(uint64(l))
+ n += 2 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2061,10 +2055,10 @@ func (m *PrepareData) SizeVT() (n int) {
_ = l
l = len(m.PrepareStatement)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ParamsCount != 0 {
- n += 1 + sov(uint64(m.ParamsCount))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ParamsCount))
}
n += len(m.unknownFields)
return n
@@ -2078,7 +2072,7 @@ func (m *ReadAfterWrite) SizeVT() (n int) {
_ = l
l = len(m.ReadAfterWriteGtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.ReadAfterWriteTimeout != 0 {
n += 9
@@ -2098,15 +2092,15 @@ func (m *ExecuteRequest) SizeVT() (n int) {
_ = l
if m.CallerId != nil {
l = m.CallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Session != nil {
l = m.Session.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Query != nil {
l = m.Query.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2120,15 +2114,15 @@ func (m *ExecuteResponse) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Session != nil {
l = m.Session.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2142,16 +2136,16 @@ func (m *ExecuteBatchRequest) SizeVT() (n int) {
_ = l
if m.CallerId != nil {
l = m.CallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Session != nil {
l = m.Session.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Queries) > 0 {
for _, e := range m.Queries {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -2166,16 +2160,16 @@ func (m *ExecuteBatchResponse) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Session != nil {
l = m.Session.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Results) > 0 {
for _, e := range m.Results {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -2190,15 +2184,15 @@ func (m *StreamExecuteRequest) SizeVT() (n int) {
_ = l
if m.CallerId != nil {
l = m.CallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Query != nil {
l = m.Query.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Session != nil {
l = m.Session.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2212,11 +2206,11 @@ func (m *StreamExecuteResponse) SizeVT() (n int) {
_ = l
if m.Result != nil {
l = m.Result.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Session != nil {
l = m.Session.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2230,11 +2224,11 @@ func (m *ResolveTransactionRequest) SizeVT() (n int) {
_ = l
if m.CallerId != nil {
l = m.CallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Dtid)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2260,22 +2254,28 @@ func (m *VStreamFlags) SizeVT() (n int) {
n += 2
}
if m.HeartbeatInterval != 0 {
- n += 1 + sov(uint64(m.HeartbeatInterval))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.HeartbeatInterval))
}
if m.StopOnReshard {
n += 2
}
l = len(m.Cells)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.CellPreference)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.TabletOrder)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
+ }
+ if m.StreamKeyspaceHeartbeats {
+ n += 2
+ }
+ if m.IncludeReshardJournalEvents {
+ n += 2
}
n += len(m.unknownFields)
return n
@@ -2289,22 +2289,22 @@ func (m *VStreamRequest) SizeVT() (n int) {
_ = l
if m.CallerId != nil {
l = m.CallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.TabletType != 0 {
- n += 1 + sov(uint64(m.TabletType))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.TabletType))
}
if m.Vgtid != nil {
l = m.Vgtid.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Filter != nil {
l = m.Filter.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Flags != nil {
l = m.Flags.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2319,7 +2319,7 @@ func (m *VStreamResponse) SizeVT() (n int) {
if len(m.Events) > 0 {
for _, e := range m.Events {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -2334,15 +2334,15 @@ func (m *PrepareRequest) SizeVT() (n int) {
_ = l
if m.CallerId != nil {
l = m.CallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Session != nil {
l = m.Session.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Query != nil {
l = m.Query.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2356,16 +2356,16 @@ func (m *PrepareResponse) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Session != nil {
l = m.Session.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Fields) > 0 {
for _, e := range m.Fields {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -2380,11 +2380,11 @@ func (m *CloseSessionRequest) SizeVT() (n int) {
_ = l
if m.CallerId != nil {
l = m.CallerId.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Session != nil {
l = m.Session.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -2398,18 +2398,12 @@ func (m *CloseSessionResponse) SizeVT() (n int) {
_ = l
if m.Error != nil {
l = m.Error.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *Session_ShardSession) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -2418,7 +2412,7 @@ func (m *Session_ShardSession) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2446,7 +2440,7 @@ func (m *Session_ShardSession) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2459,11 +2453,11 @@ func (m *Session_ShardSession) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2482,7 +2476,7 @@ func (m *Session_ShardSession) UnmarshalVT(dAtA []byte) error {
m.TransactionId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2501,7 +2495,7 @@ func (m *Session_ShardSession) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2514,11 +2508,11 @@ func (m *Session_ShardSession) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2537,7 +2531,7 @@ func (m *Session_ShardSession) UnmarshalVT(dAtA []byte) error {
m.ReservedId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2556,7 +2550,7 @@ func (m *Session_ShardSession) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2571,12 +2565,12 @@ func (m *Session_ShardSession) UnmarshalVT(dAtA []byte) error {
m.VindexOnly = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2599,7 +2593,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2627,7 +2621,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2647,7 +2641,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2660,11 +2654,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2681,7 +2675,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2701,7 +2695,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2715,11 +2709,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2733,7 +2727,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2746,11 +2740,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2769,7 +2763,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
m.TransactionMode = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2788,7 +2782,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2801,11 +2795,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2822,7 +2816,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2835,11 +2829,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2856,7 +2850,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2869,11 +2863,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2890,7 +2884,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
m.LastInsertId = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2909,7 +2903,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
m.FoundRows = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2928,7 +2922,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2941,11 +2935,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -2960,7 +2954,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2977,7 +2971,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2991,11 +2985,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -3006,7 +3000,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3019,11 +3013,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -3035,12 +3029,12 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -3057,7 +3051,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3070,11 +3064,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3089,7 +3083,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3106,7 +3100,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3120,11 +3114,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -3135,7 +3129,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3149,11 +3143,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
@@ -3162,12 +3156,12 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
iNdEx = postStringIndexmapvalue
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -3184,7 +3178,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
m.RowCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3203,7 +3197,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3217,11 +3211,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3235,7 +3229,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3255,7 +3249,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3268,11 +3262,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3291,7 +3285,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
m.LastLockHeartbeat = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3310,7 +3304,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3323,11 +3317,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3346,7 +3340,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3360,11 +3354,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3378,7 +3372,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3392,11 +3386,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3410,7 +3404,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3430,7 +3424,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3443,11 +3437,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3462,7 +3456,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3479,7 +3473,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3493,11 +3487,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -3507,7 +3501,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
} else if fieldNum == 2 {
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3521,12 +3515,12 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -3543,7 +3537,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
m.QueryTimeout = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3562,7 +3556,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3575,11 +3569,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3594,7 +3588,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3611,7 +3605,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3625,11 +3619,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
@@ -3640,7 +3634,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3653,11 +3647,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postmsgIndex := iNdEx + mapmsglen
if postmsgIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -3669,12 +3663,12 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -3691,7 +3685,7 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3705,11 +3699,11 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3718,12 +3712,12 @@ func (m *Session) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3746,7 +3740,7 @@ func (m *PrepareData) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3774,7 +3768,7 @@ func (m *PrepareData) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3788,11 +3782,11 @@ func (m *PrepareData) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3806,7 +3800,7 @@ func (m *PrepareData) UnmarshalVT(dAtA []byte) error {
m.ParamsCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3820,12 +3814,12 @@ func (m *PrepareData) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3848,7 +3842,7 @@ func (m *ReadAfterWrite) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3876,7 +3870,7 @@ func (m *ReadAfterWrite) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3890,11 +3884,11 @@ func (m *ReadAfterWrite) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -3919,7 +3913,7 @@ func (m *ReadAfterWrite) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3934,12 +3928,12 @@ func (m *ReadAfterWrite) UnmarshalVT(dAtA []byte) error {
m.SessionTrackGtids = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -3962,7 +3956,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -3990,7 +3984,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4003,11 +3997,11 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4026,7 +4020,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4039,11 +4033,11 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4062,7 +4056,7 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4075,11 +4069,11 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4093,12 +4087,12 @@ func (m *ExecuteRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4121,7 +4115,7 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4149,7 +4143,7 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4162,11 +4156,11 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4185,7 +4179,7 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4198,11 +4192,11 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4221,7 +4215,7 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4234,11 +4228,11 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4252,12 +4246,12 @@ func (m *ExecuteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4280,7 +4274,7 @@ func (m *ExecuteBatchRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4308,7 +4302,7 @@ func (m *ExecuteBatchRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4321,11 +4315,11 @@ func (m *ExecuteBatchRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4344,7 +4338,7 @@ func (m *ExecuteBatchRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4357,11 +4351,11 @@ func (m *ExecuteBatchRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4380,7 +4374,7 @@ func (m *ExecuteBatchRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4393,11 +4387,11 @@ func (m *ExecuteBatchRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4409,12 +4403,12 @@ func (m *ExecuteBatchRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4437,7 +4431,7 @@ func (m *ExecuteBatchResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4465,7 +4459,7 @@ func (m *ExecuteBatchResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4478,11 +4472,11 @@ func (m *ExecuteBatchResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4501,7 +4495,7 @@ func (m *ExecuteBatchResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4514,11 +4508,11 @@ func (m *ExecuteBatchResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4537,7 +4531,7 @@ func (m *ExecuteBatchResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4550,11 +4544,11 @@ func (m *ExecuteBatchResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4566,12 +4560,12 @@ func (m *ExecuteBatchResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4594,7 +4588,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4622,7 +4616,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4635,11 +4629,11 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4658,7 +4652,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4671,11 +4665,11 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4694,7 +4688,7 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4707,11 +4701,11 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4725,12 +4719,12 @@ func (m *StreamExecuteRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4753,7 +4747,7 @@ func (m *StreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4781,7 +4775,7 @@ func (m *StreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4794,11 +4788,11 @@ func (m *StreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4817,7 +4811,7 @@ func (m *StreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4830,11 +4824,11 @@ func (m *StreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4848,12 +4842,12 @@ func (m *StreamExecuteResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4876,7 +4870,7 @@ func (m *ResolveTransactionRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4904,7 +4898,7 @@ func (m *ResolveTransactionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4917,11 +4911,11 @@ func (m *ResolveTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4940,7 +4934,7 @@ func (m *ResolveTransactionRequest) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -4954,11 +4948,11 @@ func (m *ResolveTransactionRequest) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -4967,12 +4961,12 @@ func (m *ResolveTransactionRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -4995,7 +4989,7 @@ func (m *ResolveTransactionResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5018,12 +5012,12 @@ func (m *ResolveTransactionResponse) UnmarshalVT(dAtA []byte) error {
switch fieldNum {
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5046,7 +5040,7 @@ func (m *VStreamFlags) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5074,7 +5068,7 @@ func (m *VStreamFlags) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5094,7 +5088,7 @@ func (m *VStreamFlags) UnmarshalVT(dAtA []byte) error {
m.HeartbeatInterval = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5113,7 +5107,7 @@ func (m *VStreamFlags) UnmarshalVT(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5133,7 +5127,7 @@ func (m *VStreamFlags) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5147,11 +5141,11 @@ func (m *VStreamFlags) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5165,7 +5159,7 @@ func (m *VStreamFlags) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5179,11 +5173,11 @@ func (m *VStreamFlags) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5197,7 +5191,7 @@ func (m *VStreamFlags) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5211,25 +5205,65 @@ func (m *VStreamFlags) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.TabletOrder = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 7:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field StreamKeyspaceHeartbeats", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.StreamKeyspaceHeartbeats = bool(v != 0)
+ case 8:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field IncludeReshardJournalEvents", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return protohelpers.ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.IncludeReshardJournalEvents = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5252,7 +5286,7 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5280,7 +5314,7 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5293,11 +5327,11 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5316,7 +5350,7 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
m.TabletType = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5335,7 +5369,7 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5348,11 +5382,11 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5371,7 +5405,7 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5384,11 +5418,11 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5407,7 +5441,7 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5420,11 +5454,11 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5438,12 +5472,12 @@ func (m *VStreamRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5466,7 +5500,7 @@ func (m *VStreamResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5494,7 +5528,7 @@ func (m *VStreamResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5507,11 +5541,11 @@ func (m *VStreamResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5523,12 +5557,12 @@ func (m *VStreamResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5551,7 +5585,7 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5579,7 +5613,7 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5592,11 +5626,11 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5615,7 +5649,7 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5628,11 +5662,11 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5651,7 +5685,7 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5664,11 +5698,11 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5682,12 +5716,12 @@ func (m *PrepareRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5710,7 +5744,7 @@ func (m *PrepareResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5738,7 +5772,7 @@ func (m *PrepareResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5751,11 +5785,11 @@ func (m *PrepareResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5774,7 +5808,7 @@ func (m *PrepareResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5787,11 +5821,11 @@ func (m *PrepareResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5810,7 +5844,7 @@ func (m *PrepareResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5823,11 +5857,11 @@ func (m *PrepareResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5839,12 +5873,12 @@ func (m *PrepareResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5867,7 +5901,7 @@ func (m *CloseSessionRequest) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5895,7 +5929,7 @@ func (m *CloseSessionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5908,11 +5942,11 @@ func (m *CloseSessionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5931,7 +5965,7 @@ func (m *CloseSessionRequest) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -5944,11 +5978,11 @@ func (m *CloseSessionRequest) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -5962,12 +5996,12 @@ func (m *CloseSessionRequest) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -5990,7 +6024,7 @@ func (m *CloseSessionResponse) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6018,7 +6052,7 @@ func (m *CloseSessionResponse) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -6031,11 +6065,11 @@ func (m *CloseSessionResponse) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -6049,12 +6083,12 @@ func (m *CloseSessionResponse) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -6069,88 +6103,3 @@ func (m *CloseSessionResponse) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/vtrpc/vtrpc_vtproto.pb.go b/go/vt/proto/vtrpc/vtrpc_vtproto.pb.go
index 36fb8ba8627..b518e3bd372 100644
--- a/go/vt/proto/vtrpc/vtrpc_vtproto.pb.go
+++ b/go/vt/proto/vtrpc/vtrpc_vtproto.pb.go
@@ -1,15 +1,15 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: vtrpc.proto
package vtrpc
import (
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
- bits "math/bits"
)
const (
@@ -23,11 +23,10 @@ func (m *CallerID) CloneVT() *CallerID {
if m == nil {
return (*CallerID)(nil)
}
- r := &CallerID{
- Principal: m.Principal,
- Component: m.Component,
- Subcomponent: m.Subcomponent,
- }
+ r := new(CallerID)
+ r.Principal = m.Principal
+ r.Component = m.Component
+ r.Subcomponent = m.Subcomponent
if rhs := m.Groups; rhs != nil {
tmpContainer := make([]string, len(rhs))
copy(tmpContainer, rhs)
@@ -48,10 +47,9 @@ func (m *RPCError) CloneVT() *RPCError {
if m == nil {
return (*RPCError)(nil)
}
- r := &RPCError{
- Message: m.Message,
- Code: m.Code,
- }
+ r := new(RPCError)
+ r.Message = m.Message
+ r.Code = m.Code
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -97,7 +95,7 @@ func (m *CallerID) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Groups) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Groups[iNdEx])
copy(dAtA[i:], m.Groups[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Groups[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Groups[iNdEx])))
i--
dAtA[i] = 0x22
}
@@ -105,21 +103,21 @@ func (m *CallerID) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Subcomponent) > 0 {
i -= len(m.Subcomponent)
copy(dAtA[i:], m.Subcomponent)
- i = encodeVarint(dAtA, i, uint64(len(m.Subcomponent)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Subcomponent)))
i--
dAtA[i] = 0x1a
}
if len(m.Component) > 0 {
i -= len(m.Component)
copy(dAtA[i:], m.Component)
- i = encodeVarint(dAtA, i, uint64(len(m.Component)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Component)))
i--
dAtA[i] = 0x12
}
if len(m.Principal) > 0 {
i -= len(m.Principal)
copy(dAtA[i:], m.Principal)
- i = encodeVarint(dAtA, i, uint64(len(m.Principal)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Principal)))
i--
dAtA[i] = 0xa
}
@@ -157,31 +155,20 @@ func (m *RPCError) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.Code != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Code))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Code))
i--
dAtA[i] = 0x18
}
if len(m.Message) > 0 {
i -= len(m.Message)
copy(dAtA[i:], m.Message)
- i = encodeVarint(dAtA, i, uint64(len(m.Message)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Message)))
i--
dAtA[i] = 0x12
}
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *CallerID) SizeVT() (n int) {
if m == nil {
return 0
@@ -190,20 +177,20 @@ func (m *CallerID) SizeVT() (n int) {
_ = l
l = len(m.Principal)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Component)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.Subcomponent)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Groups) > 0 {
for _, s := range m.Groups {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
n += len(m.unknownFields)
@@ -218,21 +205,15 @@ func (m *RPCError) SizeVT() (n int) {
_ = l
l = len(m.Message)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.Code != 0 {
- n += 1 + sov(uint64(m.Code))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Code))
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *CallerID) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -241,7 +222,7 @@ func (m *CallerID) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -269,7 +250,7 @@ func (m *CallerID) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -283,11 +264,11 @@ func (m *CallerID) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -301,7 +282,7 @@ func (m *CallerID) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -315,11 +296,11 @@ func (m *CallerID) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -333,7 +314,7 @@ func (m *CallerID) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -347,11 +328,11 @@ func (m *CallerID) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -365,7 +346,7 @@ func (m *CallerID) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -379,11 +360,11 @@ func (m *CallerID) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -392,12 +373,12 @@ func (m *CallerID) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -420,7 +401,7 @@ func (m *RPCError) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -448,7 +429,7 @@ func (m *RPCError) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -462,11 +443,11 @@ func (m *RPCError) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -480,7 +461,7 @@ func (m *RPCError) UnmarshalVT(dAtA []byte) error {
m.Code = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -494,12 +475,12 @@ func (m *RPCError) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -514,88 +495,3 @@ func (m *RPCError) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/vttest/vttest_vtproto.pb.go b/go/vt/proto/vttest/vttest_vtproto.pb.go
index 82ad7a17e2c..84d4b706a7e 100644
--- a/go/vt/proto/vttest/vttest_vtproto.pb.go
+++ b/go/vt/proto/vttest/vttest_vtproto.pb.go
@@ -1,15 +1,15 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: vttest.proto
package vttest
import (
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
- bits "math/bits"
vschema "vitess.io/vitess/go/vt/proto/vschema"
)
@@ -24,10 +24,9 @@ func (m *Shard) CloneVT() *Shard {
if m == nil {
return (*Shard)(nil)
}
- r := &Shard{
- Name: m.Name,
- DbNameOverride: m.DbNameOverride,
- }
+ r := new(Shard)
+ r.Name = m.Name
+ r.DbNameOverride = m.DbNameOverride
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -43,11 +42,10 @@ func (m *Keyspace) CloneVT() *Keyspace {
if m == nil {
return (*Keyspace)(nil)
}
- r := &Keyspace{
- Name: m.Name,
- ReplicaCount: m.ReplicaCount,
- RdonlyCount: m.RdonlyCount,
- }
+ r := new(Keyspace)
+ r.Name = m.Name
+ r.ReplicaCount = m.ReplicaCount
+ r.RdonlyCount = m.RdonlyCount
if rhs := m.Shards; rhs != nil {
tmpContainer := make([]*Shard, len(rhs))
for k, v := range rhs {
@@ -70,10 +68,9 @@ func (m *VTTestTopology) CloneVT() *VTTestTopology {
if m == nil {
return (*VTTestTopology)(nil)
}
- r := &VTTestTopology{
- RoutingRules: m.RoutingRules.CloneVT(),
- MirrorRules: m.MirrorRules.CloneVT(),
- }
+ r := new(VTTestTopology)
+ r.RoutingRules = m.RoutingRules.CloneVT()
+ r.MirrorRules = m.MirrorRules.CloneVT()
if rhs := m.Keyspaces; rhs != nil {
tmpContainer := make([]*Keyspace, len(rhs))
for k, v := range rhs {
@@ -130,14 +127,14 @@ func (m *Shard) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.DbNameOverride) > 0 {
i -= len(m.DbNameOverride)
copy(dAtA[i:], m.DbNameOverride)
- i = encodeVarint(dAtA, i, uint64(len(m.DbNameOverride)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DbNameOverride)))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -175,12 +172,12 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.RdonlyCount != 0 {
- i = encodeVarint(dAtA, i, uint64(m.RdonlyCount))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RdonlyCount))
i--
dAtA[i] = 0x38
}
if m.ReplicaCount != 0 {
- i = encodeVarint(dAtA, i, uint64(m.ReplicaCount))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReplicaCount))
i--
dAtA[i] = 0x30
}
@@ -191,7 +188,7 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x12
}
@@ -199,7 +196,7 @@ func (m *Keyspace) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
- i = encodeVarint(dAtA, i, uint64(len(m.Name)))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
@@ -242,7 +239,7 @@ func (m *VTTestTopology) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x22
}
@@ -252,7 +249,7 @@ func (m *VTTestTopology) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0x1a
}
@@ -260,7 +257,7 @@ func (m *VTTestTopology) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Cells[iNdEx])
copy(dAtA[i:], m.Cells[iNdEx])
- i = encodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx])))
i--
dAtA[i] = 0x12
}
@@ -272,7 +269,7 @@ func (m *VTTestTopology) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return 0, err
}
i -= size
- i = encodeVarint(dAtA, i, uint64(size))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(size))
i--
dAtA[i] = 0xa
}
@@ -280,17 +277,6 @@ func (m *VTTestTopology) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *Shard) SizeVT() (n int) {
if m == nil {
return 0
@@ -299,11 +285,11 @@ func (m *Shard) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
l = len(m.DbNameOverride)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
@@ -317,19 +303,19 @@ func (m *Keyspace) SizeVT() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if len(m.Shards) > 0 {
for _, e := range m.Shards {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.ReplicaCount != 0 {
- n += 1 + sov(uint64(m.ReplicaCount))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.ReplicaCount))
}
if m.RdonlyCount != 0 {
- n += 1 + sov(uint64(m.RdonlyCount))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.RdonlyCount))
}
n += len(m.unknownFields)
return n
@@ -344,33 +330,27 @@ func (m *VTTestTopology) SizeVT() (n int) {
if len(m.Keyspaces) > 0 {
for _, e := range m.Keyspaces {
l = e.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if len(m.Cells) > 0 {
for _, s := range m.Cells {
l = len(s)
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
}
if m.RoutingRules != nil {
l = m.RoutingRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
if m.MirrorRules != nil {
l = m.MirrorRules.SizeVT()
- n += 1 + l + sov(uint64(l))
+ n += 1 + l + protohelpers.SizeOfVarint(uint64(l))
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *Shard) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -379,7 +359,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -407,7 +387,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -421,11 +401,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -439,7 +419,7 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -453,11 +433,11 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -466,12 +446,12 @@ func (m *Shard) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -494,7 +474,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -522,7 +502,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -536,11 +516,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -554,7 +534,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -567,11 +547,11 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -588,7 +568,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
m.ReplicaCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -607,7 +587,7 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
m.RdonlyCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -621,12 +601,12 @@ func (m *Keyspace) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -649,7 +629,7 @@ func (m *VTTestTopology) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -677,7 +657,7 @@ func (m *VTTestTopology) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -690,11 +670,11 @@ func (m *VTTestTopology) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -711,7 +691,7 @@ func (m *VTTestTopology) UnmarshalVT(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -725,11 +705,11 @@ func (m *VTTestTopology) UnmarshalVT(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -743,7 +723,7 @@ func (m *VTTestTopology) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -756,11 +736,11 @@ func (m *VTTestTopology) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -779,7 +759,7 @@ func (m *VTTestTopology) UnmarshalVT(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -792,11 +772,11 @@ func (m *VTTestTopology) UnmarshalVT(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
postIndex := iNdEx + msglen
if postIndex < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if postIndex > l {
return io.ErrUnexpectedEOF
@@ -810,12 +790,12 @@ func (m *VTTestTopology) UnmarshalVT(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -830,88 +810,3 @@ func (m *VTTestTopology) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/proto/vttime/cached_size.go b/go/vt/proto/vttime/cached_size.go
index e34da16852c..62a6366ba3c 100644
--- a/go/vt/proto/vttime/cached_size.go
+++ b/go/vt/proto/vttime/cached_size.go
@@ -17,8 +17,6 @@ limitations under the License.
package vttime
-import hack "vitess.io/vitess/go/hack"
-
func (cached *Time) CachedSize(alloc bool) int64 {
if cached == nil {
return int64(0)
@@ -27,9 +25,5 @@ func (cached *Time) CachedSize(alloc bool) int64 {
if alloc {
size += int64(64)
}
- // field unknownFields []byte
- {
- size += hack.RuntimeAllocSize(int64(cap(cached.unknownFields)))
- }
return size
}
diff --git a/go/vt/proto/vttime/vttime_vtproto.pb.go b/go/vt/proto/vttime/vttime_vtproto.pb.go
index aa53a902df5..16687011e63 100644
--- a/go/vt/proto/vttime/vttime_vtproto.pb.go
+++ b/go/vt/proto/vttime/vttime_vtproto.pb.go
@@ -1,15 +1,15 @@
// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
-// protoc-gen-go-vtproto version: v0.5.0
+// protoc-gen-go-vtproto version: v0.6.1-0.20240319094008-0393e58bdf10
// source: vttime.proto
package vttime
import (
fmt "fmt"
+ protohelpers "github.com/planetscale/vtprotobuf/protohelpers"
proto "google.golang.org/protobuf/proto"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
- bits "math/bits"
)
const (
@@ -23,10 +23,9 @@ func (m *Time) CloneVT() *Time {
if m == nil {
return (*Time)(nil)
}
- r := &Time{
- Seconds: m.Seconds,
- Nanoseconds: m.Nanoseconds,
- }
+ r := new(Time)
+ r.Seconds = m.Seconds
+ r.Nanoseconds = m.Nanoseconds
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -42,10 +41,9 @@ func (m *Duration) CloneVT() *Duration {
if m == nil {
return (*Duration)(nil)
}
- r := &Duration{
- Seconds: m.Seconds,
- Nanos: m.Nanos,
- }
+ r := new(Duration)
+ r.Seconds = m.Seconds
+ r.Nanos = m.Nanos
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
copy(r.unknownFields, m.unknownFields)
@@ -88,12 +86,12 @@ func (m *Time) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.Nanoseconds != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Nanoseconds))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Nanoseconds))
i--
dAtA[i] = 0x10
}
if m.Seconds != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Seconds))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Seconds))
i--
dAtA[i] = 0x8
}
@@ -131,29 +129,18 @@ func (m *Duration) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
copy(dAtA[i:], m.unknownFields)
}
if m.Nanos != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Nanos))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Nanos))
i--
dAtA[i] = 0x10
}
if m.Seconds != 0 {
- i = encodeVarint(dAtA, i, uint64(m.Seconds))
+ i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Seconds))
i--
dAtA[i] = 0x8
}
return len(dAtA) - i, nil
}
-func encodeVarint(dAtA []byte, offset int, v uint64) int {
- offset -= sov(v)
- base := offset
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return base
-}
func (m *Time) SizeVT() (n int) {
if m == nil {
return 0
@@ -161,10 +148,10 @@ func (m *Time) SizeVT() (n int) {
var l int
_ = l
if m.Seconds != 0 {
- n += 1 + sov(uint64(m.Seconds))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Seconds))
}
if m.Nanoseconds != 0 {
- n += 1 + sov(uint64(m.Nanoseconds))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Nanoseconds))
}
n += len(m.unknownFields)
return n
@@ -177,21 +164,15 @@ func (m *Duration) SizeVT() (n int) {
var l int
_ = l
if m.Seconds != 0 {
- n += 1 + sov(uint64(m.Seconds))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Seconds))
}
if m.Nanos != 0 {
- n += 1 + sov(uint64(m.Nanos))
+ n += 1 + protohelpers.SizeOfVarint(uint64(m.Nanos))
}
n += len(m.unknownFields)
return n
}
-func sov(x uint64) (n int) {
- return (bits.Len64(x|1) + 6) / 7
-}
-func soz(x uint64) (n int) {
- return sov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
func (m *Time) UnmarshalVT(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -200,7 +181,7 @@ func (m *Time) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -228,7 +209,7 @@ func (m *Time) UnmarshalVT(dAtA []byte) error {
m.Seconds = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -247,7 +228,7 @@ func (m *Time) UnmarshalVT(dAtA []byte) error {
m.Nanoseconds = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -261,12 +242,12 @@ func (m *Time) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -289,7 +270,7 @@ func (m *Duration) UnmarshalVT(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -317,7 +298,7 @@ func (m *Duration) UnmarshalVT(dAtA []byte) error {
m.Seconds = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -336,7 +317,7 @@ func (m *Duration) UnmarshalVT(dAtA []byte) error {
m.Nanos = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflow
+ return protohelpers.ErrIntOverflow
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -350,12 +331,12 @@ func (m *Duration) UnmarshalVT(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skip(dAtA[iNdEx:])
+ skippy, err := protohelpers.Skip(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
- return ErrInvalidLength
+ return protohelpers.ErrInvalidLength
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -370,88 +351,3 @@ func (m *Duration) UnmarshalVT(dAtA []byte) error {
}
return nil
}
-
-func skip(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- depth := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- case 1:
- iNdEx += 8
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflow
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if length < 0 {
- return 0, ErrInvalidLength
- }
- iNdEx += length
- case 3:
- depth++
- case 4:
- if depth == 0 {
- return 0, ErrUnexpectedEndOfGroup
- }
- depth--
- case 5:
- iNdEx += 4
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- if iNdEx < 0 {
- return 0, ErrInvalidLength
- }
- if depth == 0 {
- return iNdEx, nil
- }
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-var (
- ErrInvalidLength = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflow = fmt.Errorf("proto: integer overflow")
- ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
-)
diff --git a/go/vt/schema/ddl_strategy_test.go b/go/vt/schema/ddl_strategy_test.go
index f27f0963e80..c394907b98a 100644
--- a/go/vt/schema/ddl_strategy_test.go
+++ b/go/vt/schema/ddl_strategy_test.go
@@ -328,6 +328,13 @@ func TestParseDDLStrategy(t *testing.T) {
runtimeOptions: "",
forceCutOverAfter: 3 * time.Minute,
},
+ {
+ strategyVariable: "vitess --force-cut-over-after=-1ms",
+ strategy: DDLStrategyVitess,
+ options: "--force-cut-over-after=-1ms",
+ runtimeOptions: "",
+ forceCutOverAfter: -1 * time.Millisecond,
+ },
{
strategyVariable: "vitess --force-cut-over-after=r3m",
strategy: DDLStrategyVitess,
diff --git a/go/vt/schemadiff/capability.go b/go/vt/schemadiff/capability.go
index 1471599d390..9a4010854d7 100644
--- a/go/vt/schemadiff/capability.go
+++ b/go/vt/schemadiff/capability.go
@@ -151,6 +151,13 @@ func alterOptionCapableOfInstantDDL(alterOption sqlparser.AlterOption, createTab
// Expression default values are not supported
return false, nil
}
+ if strings.EqualFold(column.Type.Type, "datetime") {
+ e := &ColumnDefinitionEntity{ColumnDefinition: column}
+ if !e.IsNullable() && !e.HasDefault() {
+ // DATETIME columns must have a default value
+ return false, nil
+ }
+ }
}
if opt.First || opt.After != nil {
// not a "last" column. Only supported as of 8.0.29
@@ -185,6 +192,9 @@ func alterOptionCapableOfInstantDDL(alterOption sqlparser.AlterOption, createTab
}
return capableOf(capabilities.InstantAddDropColumnFlavorCapability)
case *sqlparser.ChangeColumn:
+ if opt.First || opt.After != nil {
+ return false, nil
+ }
// We do not support INSTANT for renaming a column (ALTER TABLE ...CHANGE) because:
// 1. We discourage column rename
// 2. We do not produce CHANGE statements in declarative diff
@@ -198,6 +208,9 @@ func alterOptionCapableOfInstantDDL(alterOption sqlparser.AlterOption, createTab
}
return false, nil
case *sqlparser.ModifyColumn:
+ if opt.First || opt.After != nil {
+ return false, nil
+ }
if col := findColumn(opt.NewColDefinition.Name.String()); col != nil {
return changeModifyColumnCapableOfInstantDDL(col, opt.NewColDefinition)
}
diff --git a/go/vt/schemadiff/capability_test.go b/go/vt/schemadiff/capability_test.go
index b35afb7fe22..ad9e0507e5a 100644
--- a/go/vt/schemadiff/capability_test.go
+++ b/go/vt/schemadiff/capability_test.go
@@ -133,6 +133,24 @@ func TestAlterTableCapableOfInstantDDL(t *testing.T) {
alter: "alter table t add column i2 int generated always as (i1 + 1) virtual",
expectCapableOfInstantDDL: true,
},
+ {
+ name: "add nullable datetime column",
+ create: "create table t(id int, i1 int not null, primary key(id))",
+ alter: "alter table t add column dt datetime(3)",
+ expectCapableOfInstantDDL: true,
+ },
+ {
+ name: "add default null datetime column",
+ create: "create table t(id int, i1 int not null, primary key(id))",
+ alter: "alter table t add column dt datetime(3) default null",
+ expectCapableOfInstantDDL: true,
+ },
+ {
+ name: "add datetime column without default",
+ create: "create table t(id int, i1 int not null, primary key(id))",
+ alter: "alter table t add column dt datetime(3) not null",
+ expectCapableOfInstantDDL: false,
+ },
{
name: "add stored column",
create: "create table t(id int, i1 int not null, primary key(id))",
@@ -225,11 +243,23 @@ func TestAlterTableCapableOfInstantDDL(t *testing.T) {
expectCapableOfInstantDDL: false,
},
{
- name: "set column dfault value to null",
+ name: "set column default value to null",
create: "create table t(id int, i1 int, primary key(id))",
alter: "alter table t modify column i1 int default null",
expectCapableOfInstantDDL: true,
},
+ {
+ name: "rearrange column after",
+ create: "create table t(id int, i1 int, i2 int, primary key(id))",
+ alter: "alter table t modify column i1 int after i2",
+ expectCapableOfInstantDDL: false,
+ },
+ {
+ name: "rearrange column first",
+ create: "create table t(id int, i1 int, i2 int, primary key(id))",
+ alter: "alter table t modify column i1 int first",
+ expectCapableOfInstantDDL: false,
+ },
// enum/set:
{
name: "change enum default value",
@@ -291,6 +321,18 @@ func TestAlterTableCapableOfInstantDDL(t *testing.T) {
alter: "alter table t1 change column i1 i2 int visible",
expectCapableOfInstantDDL: false,
},
+ {
+ name: "change column, first",
+ create: "create table t1 (id int, i1 int, i2 int)",
+ alter: "alter table t1 change column i1 i1 int first",
+ expectCapableOfInstantDDL: false,
+ },
+ {
+ name: "change column, after",
+ create: "create table t1 (id int, i1 int, i2 int)",
+ alter: "alter table t1 change column i1 i1 int after i2",
+ expectCapableOfInstantDDL: false,
+ },
{
name: "make a column invisible via SET",
create: "create table t1 (id int, i1 int)",
diff --git a/go/vt/schemadiff/diff_test.go b/go/vt/schemadiff/diff_test.go
index d78308c90e0..185d233ef20 100644
--- a/go/vt/schemadiff/diff_test.go
+++ b/go/vt/schemadiff/diff_test.go
@@ -911,6 +911,17 @@ func TestDiffSchemas(t *testing.T) {
"DROP TABLE `t7`",
},
},
+ {
+ name: "rename index used by foreign keys",
+ from: `create table parent (id int primary key); create table t (id int primary key, i int, key i_idx (i), constraint f foreign key (i) references parent(id))`,
+ to: `create table parent (id int primary key); create table t (id int primary key, i int, key i_alternative (i), constraint f foreign key (i) references parent(id))`,
+ diffs: []string{
+ "alter table t rename index i_idx to i_alternative",
+ },
+ cdiffs: []string{
+ "ALTER TABLE `t` RENAME INDEX `i_idx` TO `i_alternative`",
+ },
+ },
// Views
{
name: "identical views",
diff --git a/go/vt/schemadiff/errors.go b/go/vt/schemadiff/errors.go
index a941c406be0..c938e736206 100644
--- a/go/vt/schemadiff/errors.go
+++ b/go/vt/schemadiff/errors.go
@@ -487,3 +487,13 @@ type PartitionSpecNonExclusiveError struct {
func (e *PartitionSpecNonExclusiveError) Error() string {
return fmt.Sprintf("ALTER TABLE on %s, may only have a single partition spec change, and other changes are not allowed. Found spec: %s; and change: %s", sqlescape.EscapeID(e.Table), sqlparser.CanonicalString(e.PartitionSpec), e.ConflictingStatement)
}
+
+type NonDeterministicDefaultError struct {
+ Table string
+ Column string
+ Function string
+}
+
+func (e *NonDeterministicDefaultError) Error() string {
+ return fmt.Sprintf("column %s.%s default value uses non-deterministic function: %s", sqlescape.EscapeID(e.Table), sqlescape.EscapeID(e.Column), e.Function)
+}
diff --git a/go/vt/schemadiff/names.go b/go/vt/schemadiff/names.go
index c0878d22eeb..e1d12cc80d4 100644
--- a/go/vt/schemadiff/names.go
+++ b/go/vt/schemadiff/names.go
@@ -20,6 +20,9 @@ import (
"fmt"
"regexp"
"strings"
+
+ "vitess.io/vitess/go/textutil"
+ "vitess.io/vitess/go/vt/sqlparser"
)
// constraint name examples:
@@ -48,3 +51,47 @@ func ExtractConstraintOriginalName(tableName string, constraintName string) stri
return constraintName
}
+
+// newConstraintName generates a new, unique name for a constraint. Our problem is that a MySQL
+// constraint's name is unique in the schema (!). And so as we duplicate the original table, we must
+// create completely new names for all constraints.
+// Moreover, we really want this name to be consistent across all shards. We therefore use a deterministic
+// UUIDv5 (SHA) function over the migration UUID, table name, and constraint's _contents_.
+// We _also_ include the original constraint name as prefix, as room allows
+// for example, if the original constraint name is "check_1",
+// we might generate "check_1_cps1okb4uafunfqusi2lp22u3".
+// If we then again migrate a table whose constraint name is "check_1_cps1okb4uafunfqusi2lp22u3 " we
+// get for example "check_1_19l09s37kbhj4axnzmi10e18k" (hash changes, and we still try to preserve original name)
+//
+// Furthermore, per bug report https://bugs.mysql.com/bug.php?id=107772, if the user doesn't provide a name for
+// their CHECK constraint, then MySQL picks a name in this format _chk_.
+// Example: sometable_chk_1
+// Next, when MySQL is asked to RENAME TABLE and sees a constraint with this format, it attempts to rename
+// the constraint with the new table's name. This is problematic for Vitess, because we often rename tables to
+// very long names, such as _vt_HOLD_394f9e6dfc3d11eca0390a43f95f28a3_20220706091048.
+// As we rename the constraint to e.g. `sometable_chk_1_cps1okb4uafunfqusi2lp22u3`, this makes MySQL want to
+// call the new constraint something like _vt_HOLD_394f9e6dfc3d11eca0390a43f95f28a3_20220706091048_chk_1_cps1okb4uafunfqusi2lp22u3,
+// which exceeds the 64 character limit for table names. Long story short, we also trim down if the constraint seems
+// to be auto-generated.
+func newConstraintName(tableName string, baseUUID string, constraintDefinition *sqlparser.ConstraintDefinition, hashExists map[string]bool, seed string, oldName string) string {
+ constraintType := GetConstraintType(constraintDefinition.Details)
+
+ constraintIndicator := constraintIndicatorMap[int(constraintType)]
+ oldName = ExtractConstraintOriginalName(tableName, oldName)
+ hash := textutil.UUIDv5Base36(baseUUID, tableName, seed)
+ for i := 1; hashExists[hash]; i++ {
+ hash = textutil.UUIDv5Base36(baseUUID, tableName, seed, fmt.Sprintf("%d", i))
+ }
+ hashExists[hash] = true
+ suffix := "_" + hash
+ maxAllowedNameLength := maxConstraintNameLength - len(suffix)
+ newName := oldName
+ if newName == "" {
+ newName = constraintIndicator // start with something that looks consistent with MySQL's naming
+ }
+ if len(newName) > maxAllowedNameLength {
+ newName = newName[0:maxAllowedNameLength]
+ }
+ newName = newName + suffix
+ return newName
+}
diff --git a/go/vt/schemadiff/onlineddl.go b/go/vt/schemadiff/onlineddl.go
index 66908e502f5..f02ccb1224d 100644
--- a/go/vt/schemadiff/onlineddl.go
+++ b/go/vt/schemadiff/onlineddl.go
@@ -17,14 +17,51 @@ limitations under the License.
package schemadiff
import (
+ "errors"
"fmt"
"math"
"sort"
"strings"
+ "vitess.io/vitess/go/mysql/capabilities"
"vitess.io/vitess/go/vt/sqlparser"
)
+var (
+ ErrForeignKeyFound = errors.New("Foreign key found")
+
+ copyAlgorithm = sqlparser.AlgorithmValue(sqlparser.CopyStr)
+)
+
+const (
+ maxConstraintNameLength = 64
+)
+
+type ConstraintType int
+
+const (
+ UnknownConstraintType ConstraintType = iota
+ CheckConstraintType
+ ForeignKeyConstraintType
+)
+
+var (
+ constraintIndicatorMap = map[int]string{
+ int(CheckConstraintType): "chk",
+ int(ForeignKeyConstraintType): "fk",
+ }
+)
+
+func GetConstraintType(constraintInfo sqlparser.ConstraintInfo) ConstraintType {
+ if _, ok := constraintInfo.(*sqlparser.CheckConstraintDefinition); ok {
+ return CheckConstraintType
+ }
+ if _, ok := constraintInfo.(*sqlparser.ForeignKeyDefinition); ok {
+ return ForeignKeyConstraintType
+ }
+ return UnknownConstraintType
+}
+
// ColumnChangeExpandsDataRange sees if target column has any value set/range that is impossible in source column.
func ColumnChangeExpandsDataRange(source *ColumnDefinitionEntity, target *ColumnDefinitionEntity) (bool, string) {
if target.IsNullable() && !source.IsNullable() {
@@ -588,3 +625,154 @@ func OnlineDDLMigrationTablesAnalysis(
return analysis, nil
}
+
+// ValidateAndEditCreateTableStatement inspects the CreateTable AST and does the following:
+// - extra validation (no FKs for now...)
+// - generate new and unique names for all constraints (CHECK and FK; yes, why not handle FK names; even as we don't support FKs today, we may in the future)
+func ValidateAndEditCreateTableStatement(originalTableName string, baseUUID string, createTable *sqlparser.CreateTable, allowForeignKeys bool) (constraintMap map[string]string, err error) {
+ constraintMap = map[string]string{}
+ hashExists := map[string]bool{}
+
+ validateWalk := func(node sqlparser.SQLNode) (kontinue bool, err error) {
+ switch node := node.(type) {
+ case *sqlparser.ForeignKeyDefinition:
+ if !allowForeignKeys {
+ return false, ErrForeignKeyFound
+ }
+ case *sqlparser.ConstraintDefinition:
+ oldName := node.Name.String()
+ newName := newConstraintName(originalTableName, baseUUID, node, hashExists, sqlparser.CanonicalString(node.Details), oldName)
+ node.Name = sqlparser.NewIdentifierCI(newName)
+ constraintMap[oldName] = newName
+ }
+ return true, nil
+ }
+ if err := sqlparser.Walk(validateWalk, createTable); err != nil {
+ return constraintMap, err
+ }
+ return constraintMap, nil
+}
+
+// ValidateAndEditAlterTableStatement inspects the AlterTable statement and:
+// - modifies any CONSTRAINT name according to given name mapping
+// - explode ADD FULLTEXT KEY into multiple statements
+func ValidateAndEditAlterTableStatement(originalTableName string, baseUUID string, capableOf capabilities.CapableOf, alterTable *sqlparser.AlterTable, constraintMap map[string]string) (alters []*sqlparser.AlterTable, err error) {
+ capableOfInstantDDLXtrabackup, err := capableOf(capabilities.InstantDDLXtrabackupCapability)
+ if err != nil {
+ return nil, err
+ }
+
+ hashExists := map[string]bool{}
+ validateWalk := func(node sqlparser.SQLNode) (kontinue bool, err error) {
+ switch node := node.(type) {
+ case *sqlparser.DropKey:
+ if node.Type == sqlparser.CheckKeyType || node.Type == sqlparser.ForeignKeyType {
+ // drop a check or a foreign key constraint
+ mappedName, ok := constraintMap[node.Name.String()]
+ if !ok {
+ return false, fmt.Errorf("Found DROP CONSTRAINT: %v, but could not find constraint name in map", sqlparser.CanonicalString(node))
+ }
+ node.Name = sqlparser.NewIdentifierCI(mappedName)
+ }
+ case *sqlparser.AddConstraintDefinition:
+ oldName := node.ConstraintDefinition.Name.String()
+ newName := newConstraintName(originalTableName, baseUUID, node.ConstraintDefinition, hashExists, sqlparser.CanonicalString(node.ConstraintDefinition.Details), oldName)
+ node.ConstraintDefinition.Name = sqlparser.NewIdentifierCI(newName)
+ constraintMap[oldName] = newName
+ }
+ return true, nil
+ }
+ if err := sqlparser.Walk(validateWalk, alterTable); err != nil {
+ return alters, err
+ }
+ alters = append(alters, alterTable)
+ // Handle ADD FULLTEXT KEY statements
+ countAddFullTextStatements := 0
+ redactedOptions := make([]sqlparser.AlterOption, 0, len(alterTable.AlterOptions))
+ for i := range alterTable.AlterOptions {
+ opt := alterTable.AlterOptions[i]
+ switch opt := opt.(type) {
+ case sqlparser.AlgorithmValue:
+ if !capableOfInstantDDLXtrabackup {
+ // we do not pass ALGORITHM. We choose our own ALGORITHM.
+ continue
+ }
+ case *sqlparser.AddIndexDefinition:
+ if opt.IndexDefinition.Info.Type == sqlparser.IndexTypeFullText {
+ countAddFullTextStatements++
+ if countAddFullTextStatements > 1 {
+ // We've already got one ADD FULLTEXT KEY. We can't have another
+ // in the same statement
+ extraAlterTable := &sqlparser.AlterTable{
+ Table: alterTable.Table,
+ AlterOptions: []sqlparser.AlterOption{opt},
+ }
+ if !capableOfInstantDDLXtrabackup {
+ extraAlterTable.AlterOptions = append(extraAlterTable.AlterOptions, copyAlgorithm)
+ }
+ alters = append(alters, extraAlterTable)
+ continue
+ }
+ }
+ }
+ redactedOptions = append(redactedOptions, opt)
+ }
+ alterTable.AlterOptions = redactedOptions
+ if !capableOfInstantDDLXtrabackup {
+ alterTable.AlterOptions = append(alterTable.AlterOptions, copyAlgorithm)
+ }
+ return alters, nil
+}
+
+// AddInstantAlgorithm adds or modifies the AlterTable's ALGORITHM to INSTANT
+func AddInstantAlgorithm(alterTable *sqlparser.AlterTable) {
+ instantOpt := sqlparser.AlgorithmValue("INSTANT")
+ for i, opt := range alterTable.AlterOptions {
+ if _, ok := opt.(sqlparser.AlgorithmValue); ok {
+ // replace an existing algorithm
+ alterTable.AlterOptions[i] = instantOpt
+ return
+ }
+ }
+ // append an algorithm
+ alterTable.AlterOptions = append(alterTable.AlterOptions, instantOpt)
+}
+
+// DuplicateCreateTable parses the given `CREATE TABLE` statement, and returns:
+// - The format CreateTable AST
+// - A new CreateTable AST, with the table renamed as `newTableName`, and with constraints renamed deterministically
+// - Map of renamed constraints
+func DuplicateCreateTable(originalCreateTable *sqlparser.CreateTable, baseUUID string, newTableName string, allowForeignKeys bool) (
+ newCreateTable *sqlparser.CreateTable,
+ constraintMap map[string]string,
+ err error,
+) {
+ newCreateTable = sqlparser.Clone(originalCreateTable)
+ newCreateTable.SetTable(newCreateTable.GetTable().Qualifier.CompliantName(), newTableName)
+
+ // If this table has a self-referencing foreign key constraint, ensure the referenced table gets renamed:
+ renameSelfFK := func(node sqlparser.SQLNode) (kontinue bool, err error) {
+ switch node := node.(type) {
+ case *sqlparser.ConstraintDefinition:
+ fk, ok := node.Details.(*sqlparser.ForeignKeyDefinition)
+ if !ok {
+ return true, nil
+ }
+ if referencedTableName := fk.ReferenceDefinition.ReferencedTable.Name.String(); referencedTableName == originalCreateTable.Table.Name.String() {
+ // This is a self-referencing foreign key
+ // We need to rename the referenced table as well
+ fk.ReferenceDefinition.ReferencedTable.Name = sqlparser.NewIdentifierCS(newTableName)
+ }
+ }
+ return true, nil
+ }
+ _ = sqlparser.Walk(renameSelfFK, newCreateTable)
+
+ // manipulate CreateTable statement: take care of constraints names which have to be
+ // unique across the schema
+ constraintMap, err = ValidateAndEditCreateTableStatement(originalCreateTable.Table.Name.String(), baseUUID, newCreateTable, allowForeignKeys)
+ if err != nil {
+ return nil, nil, err
+ }
+ return newCreateTable, constraintMap, nil
+}
diff --git a/go/vt/schemadiff/onlineddl_test.go b/go/vt/schemadiff/onlineddl_test.go
index bd08bedfe8a..834490dca1b 100644
--- a/go/vt/schemadiff/onlineddl_test.go
+++ b/go/vt/schemadiff/onlineddl_test.go
@@ -24,9 +24,21 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
+ "vitess.io/vitess/go/mysql/capabilities"
"vitess.io/vitess/go/vt/sqlparser"
)
+func TestGetConstraintType(t *testing.T) {
+ {
+ typ := GetConstraintType(&sqlparser.CheckConstraintDefinition{})
+ assert.Equal(t, CheckConstraintType, typ)
+ }
+ {
+ typ := GetConstraintType(&sqlparser.ForeignKeyDefinition{})
+ assert.Equal(t, ForeignKeyConstraintType, typ)
+ }
+}
+
func TestPrioritizedUniqueKeys(t *testing.T) {
table := `
create table t (
@@ -958,3 +970,372 @@ func TestRevertible(t *testing.T) {
})
}
}
+
+func TestValidateAndEditCreateTableStatement(t *testing.T) {
+ tt := []struct {
+ name string
+ query string
+ allowForeignKeys bool
+ expectError string
+ countConstraints int
+ expectConstraintMap map[string]string
+ }{
+ {
+ name: "table with FK, not allowed",
+ query: `
+ create table onlineddl_test (
+ id int auto_increment,
+ i int not null,
+ parent_id int not null,
+ primary key(id),
+ constraint test_ibfk foreign key (parent_id) references onlineddl_test_parent (id) on delete no action
+ )
+ `,
+ expectError: ErrForeignKeyFound.Error(),
+ },
+ {
+ name: "table with FK, allowed",
+ query: `
+ create table onlineddl_test (
+ id int auto_increment,
+ i int not null,
+ parent_id int not null,
+ primary key(id),
+ constraint test_ibfk foreign key (parent_id) references onlineddl_test_parent (id) on delete no action
+ )
+ `,
+ allowForeignKeys: true,
+ countConstraints: 1,
+ expectConstraintMap: map[string]string{"test_ibfk": "test_ibfk_2wtivm6zk4lthpz14g9uoyaqk"},
+ },
+ {
+ name: "table with default FK name, strip table name",
+ query: `
+ create table onlineddl_test (
+ id int auto_increment,
+ i int not null,
+ parent_id int not null,
+ primary key(id),
+ constraint onlineddl_test_ibfk_1 foreign key (parent_id) references onlineddl_test_parent (id) on delete no action
+ )
+ `,
+ allowForeignKeys: true,
+ countConstraints: 1,
+ // we want 'onlineddl_test_' to be stripped out:
+ expectConstraintMap: map[string]string{"onlineddl_test_ibfk_1": "ibfk_1_2wtivm6zk4lthpz14g9uoyaqk"},
+ },
+ {
+ name: "table with anonymous FK, allowed",
+ query: `
+ create table onlineddl_test (
+ id int auto_increment,
+ i int not null,
+ parent_id int not null,
+ primary key(id),
+ foreign key (parent_id) references onlineddl_test_parent (id) on delete no action
+ )
+ `,
+ allowForeignKeys: true,
+ countConstraints: 1,
+ expectConstraintMap: map[string]string{"": "fk_2wtivm6zk4lthpz14g9uoyaqk"},
+ },
+ {
+ name: "table with CHECK constraints",
+ query: `
+ create table onlineddl_test (
+ id int auto_increment,
+ i int not null,
+ primary key(id),
+ constraint check_1 CHECK ((i >= 0)),
+ constraint check_2 CHECK ((i <> 5)),
+ constraint check_3 CHECK ((i >= 0)),
+ constraint chk_1111033c1d2d5908bf1f956ba900b192_check_4 CHECK ((i >= 0))
+ )
+ `,
+ countConstraints: 4,
+ expectConstraintMap: map[string]string{
+ "check_1": "check_1_7dbssrkwdaxhdunwi5zj53q83",
+ "check_2": "check_2_ehg3rtk6ejvbxpucimeess30o",
+ "check_3": "check_3_0se0t8x98mf8v7lqmj2la8j9u",
+ "chk_1111033c1d2d5908bf1f956ba900b192_check_4": "chk_1111033c1d2d5908bf1f956ba900b192_c_0c2c3bxi9jp4evqrct44wg3xh",
+ },
+ },
+ {
+ name: "table with both FOREIGN and CHECK constraints",
+ query: `
+ create table onlineddl_test (
+ id int auto_increment,
+ i int not null,
+ primary key(id),
+ constraint check_1 CHECK ((i >= 0)),
+ constraint test_ibfk foreign key (parent_id) references onlineddl_test_parent (id) on delete no action,
+ constraint chk_1111033c1d2d5908bf1f956ba900b192_check_4 CHECK ((i >= 0))
+ )
+ `,
+ allowForeignKeys: true,
+ countConstraints: 3,
+ expectConstraintMap: map[string]string{
+ "check_1": "check_1_7dbssrkwdaxhdunwi5zj53q83",
+ "chk_1111033c1d2d5908bf1f956ba900b192_check_4": "chk_1111033c1d2d5908bf1f956ba900b192_c_0se0t8x98mf8v7lqmj2la8j9u",
+ "test_ibfk": "test_ibfk_2wtivm6zk4lthpz14g9uoyaqk",
+ },
+ },
+ }
+ env := NewTestEnv()
+ for _, tc := range tt {
+ t.Run(tc.name, func(t *testing.T) {
+ stmt, err := env.Parser().ParseStrictDDL(tc.query)
+ require.NoError(t, err)
+ createTable, ok := stmt.(*sqlparser.CreateTable)
+ require.True(t, ok)
+
+ table := "onlineddl_test"
+ baseUUID := "a5a563da_dc1a_11ec_a416_0a43f95f28a3"
+ constraintMap, err := ValidateAndEditCreateTableStatement(table, baseUUID, createTable, tc.allowForeignKeys)
+ if tc.expectError != "" {
+ assert.ErrorContains(t, err, tc.expectError)
+ return
+ }
+ assert.NoError(t, err)
+ assert.Equal(t, tc.expectConstraintMap, constraintMap)
+
+ uniqueConstraintNames := map[string]bool{}
+ err = sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) {
+ switch node := node.(type) {
+ case *sqlparser.ConstraintDefinition:
+ uniqueConstraintNames[node.Name.String()] = true
+ }
+ return true, nil
+ }, createTable)
+ assert.NoError(t, err)
+ assert.Equal(t, tc.countConstraints, len(uniqueConstraintNames))
+ assert.Equalf(t, tc.countConstraints, len(constraintMap), "got contraints: %v", constraintMap)
+ })
+ }
+}
+
+func TestValidateAndEditAlterTableStatement(t *testing.T) {
+ capableOf := func(capability capabilities.FlavorCapability) (bool, error) {
+ switch capability {
+ case
+ capabilities.InstantDDLXtrabackupCapability,
+ capabilities.InstantDDLFlavorCapability,
+ capabilities.InstantAddLastColumnFlavorCapability,
+ capabilities.InstantAddDropVirtualColumnFlavorCapability,
+ capabilities.InstantAddDropColumnFlavorCapability,
+ capabilities.InstantChangeColumnDefaultFlavorCapability,
+ capabilities.InstantChangeColumnVisibilityCapability,
+ capabilities.InstantExpandEnumCapability:
+ return true, nil
+ }
+ return false, nil
+ }
+ incapableOf := func(capability capabilities.FlavorCapability) (bool, error) {
+ return false, nil
+ }
+
+ tt := []struct {
+ alter string
+ capableOf capabilities.CapableOf
+ m map[string]string
+ expect []string
+ }{
+ {
+ alter: "alter table t add column i int",
+ capableOf: incapableOf,
+ expect: []string{"alter table t add column i int, algorithm = copy"},
+ },
+ {
+ alter: "alter table t add column i int",
+ capableOf: capableOf,
+ expect: []string{"alter table t add column i int"},
+ },
+ {
+ alter: "alter table t add column i int, add fulltext key name1_ft (name1)",
+ expect: []string{"alter table t add column i int, add fulltext key name1_ft (name1)"},
+ },
+ {
+ alter: "alter table t add column i int, add fulltext key name1_ft (name1), add fulltext key name2_ft (name2)",
+ expect: []string{"alter table t add column i int, add fulltext key name1_ft (name1)", "alter table t add fulltext key name2_ft (name2)"},
+ },
+ {
+ alter: "alter table t add fulltext key name0_ft (name0), add column i int, add fulltext key name1_ft (name1), add fulltext key name2_ft (name2)",
+ expect: []string{"alter table t add fulltext key name0_ft (name0), add column i int", "alter table t add fulltext key name1_ft (name1)", "alter table t add fulltext key name2_ft (name2)"},
+ },
+ {
+ alter: "alter table t add constraint check (id != 1)",
+ expect: []string{"alter table t add constraint chk_aulpn7bjeortljhguy86phdn9 check (id != 1)"},
+ },
+ {
+ alter: "alter table t add constraint t_chk_1 check (id != 1)",
+ expect: []string{"alter table t add constraint chk_1_aulpn7bjeortljhguy86phdn9 check (id != 1)"},
+ },
+ {
+ alter: "alter table t add constraint some_check check (id != 1)",
+ expect: []string{"alter table t add constraint some_check_aulpn7bjeortljhguy86phdn9 check (id != 1)"},
+ },
+ {
+ alter: "alter table t add constraint some_check check (id != 1), add constraint another_check check (id != 2)",
+ expect: []string{"alter table t add constraint some_check_aulpn7bjeortljhguy86phdn9 check (id != 1), add constraint another_check_4fa197273p3w96267pzm3gfi3 check (id != 2)"},
+ },
+ {
+ alter: "alter table t add foreign key (parent_id) references onlineddl_test_parent (id) on delete no action",
+ expect: []string{"alter table t add constraint fk_6fmhzdlya89128u5j3xapq34i foreign key (parent_id) references onlineddl_test_parent (id) on delete no action"},
+ },
+ {
+ alter: "alter table t add constraint myfk foreign key (parent_id) references onlineddl_test_parent (id) on delete no action",
+ expect: []string{"alter table t add constraint myfk_6fmhzdlya89128u5j3xapq34i foreign key (parent_id) references onlineddl_test_parent (id) on delete no action"},
+ },
+ {
+ // strip out table name
+ alter: "alter table t add constraint t_ibfk_1 foreign key (parent_id) references onlineddl_test_parent (id) on delete no action",
+ expect: []string{"alter table t add constraint ibfk_1_6fmhzdlya89128u5j3xapq34i foreign key (parent_id) references onlineddl_test_parent (id) on delete no action"},
+ },
+ {
+ // stript out table name
+ alter: "alter table t add constraint t_ibfk_1 foreign key (parent_id) references onlineddl_test_parent (id) on delete no action",
+ expect: []string{"alter table t add constraint ibfk_1_6fmhzdlya89128u5j3xapq34i foreign key (parent_id) references onlineddl_test_parent (id) on delete no action"},
+ },
+ {
+ alter: "alter table t add constraint t_ibfk_1 foreign key (parent_id) references onlineddl_test_parent (id) on delete no action, add constraint some_check check (id != 1)",
+ expect: []string{"alter table t add constraint ibfk_1_6fmhzdlya89128u5j3xapq34i foreign key (parent_id) references onlineddl_test_parent (id) on delete no action, add constraint some_check_aulpn7bjeortljhguy86phdn9 check (id != 1)"},
+ },
+ {
+ alter: "alter table t drop foreign key t_ibfk_1",
+ m: map[string]string{
+ "t_ibfk_1": "ibfk_1_aaaaaaaaaaaaaa",
+ },
+ expect: []string{"alter table t drop foreign key ibfk_1_aaaaaaaaaaaaaa"},
+ },
+ }
+
+ env := NewTestEnv()
+ for _, tc := range tt {
+ t.Run(tc.alter, func(t *testing.T) {
+ if tc.capableOf == nil {
+ tc.capableOf = capableOf
+ }
+ stmt, err := env.Parser().ParseStrictDDL(tc.alter)
+ require.NoError(t, err)
+ alterTable, ok := stmt.(*sqlparser.AlterTable)
+ require.True(t, ok)
+
+ m := map[string]string{}
+ for k, v := range tc.m {
+ m[k] = v
+ }
+ baseUUID := "a5a563da_dc1a_11ec_a416_0a43f95f28a3"
+ tableName := "t"
+ alters, err := ValidateAndEditAlterTableStatement(tableName, baseUUID, tc.capableOf, alterTable, m)
+ assert.NoError(t, err)
+ var altersStrings []string
+ for _, alter := range alters {
+ altersStrings = append(altersStrings, sqlparser.String(alter))
+ }
+ assert.Equal(t, tc.expect, altersStrings)
+ })
+ }
+}
+
+func TestAddInstantAlgorithm(t *testing.T) {
+ tt := []struct {
+ alter string
+ expect string
+ }{
+ {
+ alter: "alter table t add column i2 int not null",
+ expect: "ALTER TABLE `t` ADD COLUMN `i2` int NOT NULL, ALGORITHM = INSTANT",
+ },
+ {
+ alter: "alter table t add column i2 int not null, lock=none",
+ expect: "ALTER TABLE `t` ADD COLUMN `i2` int NOT NULL, LOCK NONE, ALGORITHM = INSTANT",
+ },
+ {
+ alter: "alter table t add column i2 int not null, algorithm=inplace",
+ expect: "ALTER TABLE `t` ADD COLUMN `i2` int NOT NULL, ALGORITHM = INSTANT",
+ },
+ {
+ alter: "alter table t add column i2 int not null, algorithm=inplace, lock=none",
+ expect: "ALTER TABLE `t` ADD COLUMN `i2` int NOT NULL, ALGORITHM = INSTANT, LOCK NONE",
+ },
+ }
+ env := NewTestEnv()
+ for _, tc := range tt {
+ t.Run(tc.alter, func(t *testing.T) {
+ stmt, err := env.Parser().ParseStrictDDL(tc.alter)
+ require.NoError(t, err)
+ alterTable, ok := stmt.(*sqlparser.AlterTable)
+ require.True(t, ok)
+
+ AddInstantAlgorithm(alterTable)
+ alterInstant := sqlparser.CanonicalString(alterTable)
+
+ assert.Equal(t, tc.expect, alterInstant)
+
+ stmt, err = env.Parser().ParseStrictDDL(alterInstant)
+ require.NoError(t, err)
+ _, ok = stmt.(*sqlparser.AlterTable)
+ require.True(t, ok)
+ })
+ }
+}
+
+func TestDuplicateCreateTable(t *testing.T) {
+ baseUUID := "a5a563da_dc1a_11ec_a416_0a43f95f28a3"
+ allowForeignKeys := true
+
+ tcases := []struct {
+ sql string
+ newName string
+ expectSQL string
+ expectMapSize int
+ }{
+ {
+ sql: "create table t (id int primary key)",
+ newName: "mytable",
+ expectSQL: "create table mytable (\n\tid int primary key\n)",
+ },
+ {
+ sql: "create table t (id int primary key, i int, constraint f foreign key (i) references parent (id) on delete cascade)",
+ newName: "mytable",
+ expectSQL: "create table mytable (\n\tid int primary key,\n\ti int,\n\tconstraint f_ewl7lthyax2xxocpib3hyyvxx foreign key (i) references parent (id) on delete cascade\n)",
+ expectMapSize: 1,
+ },
+ {
+ sql: "create table self (id int primary key, i int, constraint f foreign key (i) references self (id))",
+ newName: "mytable",
+ expectSQL: "create table mytable (\n\tid int primary key,\n\ti int,\n\tconstraint f_6tlv90d9gcf4h6roalfnkdhar foreign key (i) references mytable (id)\n)",
+ expectMapSize: 1,
+ },
+ {
+ sql: "create table self (id int primary key, i1 int, i2 int, constraint f1 foreign key (i1) references self (id), constraint f1 foreign key (i2) references parent (id))",
+ newName: "mytable",
+ expectSQL: `create table mytable (
+ id int primary key,
+ i1 int,
+ i2 int,
+ constraint f1_95jpox7sx4w0cv7dpspzmjbxu foreign key (i1) references mytable (id),
+ constraint f1_1fg002b1cuqoavgti5zp8pu91 foreign key (i2) references parent (id)
+)`,
+ expectMapSize: 1,
+ },
+ }
+ env := NewTestEnv()
+ for _, tcase := range tcases {
+ t.Run(tcase.sql, func(t *testing.T) {
+ stmt, err := env.Parser().ParseStrictDDL(tcase.sql)
+ require.NoError(t, err)
+ originalCreateTable, ok := stmt.(*sqlparser.CreateTable)
+ require.True(t, ok)
+ require.NotNil(t, originalCreateTable)
+ newCreateTable, constraintMap, err := DuplicateCreateTable(originalCreateTable, baseUUID, tcase.newName, allowForeignKeys)
+ assert.NoError(t, err)
+ assert.NotNil(t, newCreateTable)
+ assert.NotNil(t, constraintMap)
+
+ newSQL := sqlparser.String(newCreateTable)
+ assert.Equal(t, tcase.expectSQL, newSQL)
+ assert.Equal(t, tcase.expectMapSize, len(constraintMap))
+ })
+ }
+}
diff --git a/go/vt/schemadiff/semantics.go b/go/vt/schemadiff/semantics.go
index cbba8c79497..f12f59ef6ae 100644
--- a/go/vt/schemadiff/semantics.go
+++ b/go/vt/schemadiff/semantics.go
@@ -79,6 +79,11 @@ func (si *declarativeSchemaInformation) GetForeignKeyChecksState() *bool {
return nil
}
+// FindMirrorRule implements semantics.SchemaInformation.
+func (si *declarativeSchemaInformation) FindMirrorRule(tablename sqlparser.TableName) (*vindexes.MirrorRule, error) {
+ return nil, nil
+}
+
// addTable adds a fake table with an empty column list
func (si *declarativeSchemaInformation) addTable(tableName string) {
tbl := &vindexes.Table{
diff --git a/go/vt/schemadiff/table.go b/go/vt/schemadiff/table.go
index c326b2763b3..c429ab15ba4 100644
--- a/go/vt/schemadiff/table.go
+++ b/go/vt/schemadiff/table.go
@@ -1590,6 +1590,21 @@ func (c *CreateTableEntity) diffKeys(alterTable *sqlparser.AlterTable,
t2KeysMap[key.Info.Name.String()] = key
}
+ // A map of index definition text to lost of key names that have that definition.
+ // For example, in:
+ //
+ // create table t (
+ // i1 int,
+ // i2 int,
+ // key k1 (i1),
+ // key k2 (i2),
+ // key k3 (i2)
+ // )
+ // We will have:
+ // - "KEY `` (i1)": ["k1"]
+ // - "KEY `` (i2)": ["k2", "k3"]
+ droppedKeysAnonymousDefinitions := map[string]([]string){}
+
dropKeyStatement := func(info *sqlparser.IndexInfo) *sqlparser.DropKey {
dropKey := &sqlparser.DropKey{}
if info.Type == sqlparser.IndexTypePrimary {
@@ -1601,14 +1616,25 @@ func (c *CreateTableEntity) diffKeys(alterTable *sqlparser.AlterTable,
return dropKey
}
+ anonymizedIndexDefinition := func(indexDefinition *sqlparser.IndexDefinition) string {
+ currentName := indexDefinition.Info.Name
+ defer func() { indexDefinition.Info.Name = currentName }()
+ indexDefinition.Info.Name = sqlparser.NewIdentifierCI("")
+ return sqlparser.CanonicalString(indexDefinition)
+ }
+
// evaluate dropped keys
//
+ dropKeyStatements := map[string]*sqlparser.DropKey{}
for _, t1Key := range t1Keys {
if _, ok := t2KeysMap[t1Key.Info.Name.String()]; !ok {
// column exists in t1 but not in t2, hence it is dropped
dropKey := dropKeyStatement(t1Key.Info)
- alterTable.AlterOptions = append(alterTable.AlterOptions, dropKey)
+ dropKeyStatements[t1Key.Info.Name.String()] = dropKey
annotations.MarkRemoved(sqlparser.CanonicalString(t1Key))
+
+ anonymized := anonymizedIndexDefinition(t1Key)
+ droppedKeysAnonymousDefinitions[anonymized] = append(droppedKeysAnonymousDefinitions[anonymized], t1Key.Info.Name.String())
}
}
@@ -1644,6 +1670,28 @@ func (c *CreateTableEntity) diffKeys(alterTable *sqlparser.AlterTable,
}
} else {
// key exists in t2 but not in t1, hence it is added
+
+ // But wait! As an optimization, if this index has the exact same definition as a previously dropped index,
+ // then we convert the drop+add statements in to a `RENAME INDEX` statement.
+ convertedToRename := false
+ anonymized := anonymizedIndexDefinition(t2Key)
+ if droppedKeys := droppedKeysAnonymousDefinitions[anonymized]; len(droppedKeys) > 0 {
+ if dropKey, ok := dropKeyStatements[droppedKeys[0]]; ok {
+ delete(dropKeyStatements, droppedKeys[0])
+ droppedKeysAnonymousDefinitions[anonymized] = droppedKeys[1:]
+ renameIndex := &sqlparser.RenameIndex{
+ OldName: dropKey.Name,
+ NewName: t2Key.Info.Name,
+ }
+ alterTable.AlterOptions = append(alterTable.AlterOptions, renameIndex)
+ convertedToRename = true
+ }
+ }
+ if convertedToRename {
+ continue
+ }
+ // End of conversion to RENAME INDEX. Proceed with actual ADD INDEX
+
addKey := &sqlparser.AddIndexDefinition{
IndexDefinition: t2Key,
}
@@ -1663,6 +1711,9 @@ func (c *CreateTableEntity) diffKeys(alterTable *sqlparser.AlterTable,
}
}
}
+ for _, stmt := range dropKeyStatements {
+ alterTable.AlterOptions = append(alterTable.AlterOptions, stmt)
+ }
return superfluousFulltextKeys
}
@@ -1731,6 +1782,35 @@ func evaluateColumnReordering(t1SharedColumns, t2SharedColumns []*sqlparser.Colu
return minimalColumnReordering
}
+// This function looks for a non-deterministic function call in the given expression.
+// If recurses into all function arguments.
+// The known non-deterministic function we handle are:
+// - UUID()
+// - UUID_SHORT()
+// - RAND()
+// - RANDOM_BYTES()
+// - SYSDATE()
+func findNoNondeterministicFunction(expr sqlparser.Expr) (foundFunction string) {
+ _ = sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) {
+ switch node := node.(type) {
+ case *sqlparser.CurTimeFuncExpr:
+ switch node.Name.Lowered() {
+ case "sysdate":
+ foundFunction = node.Name.String()
+ return false, nil
+ }
+ case *sqlparser.FuncExpr:
+ switch node.Name.Lowered() {
+ case "uuid", "uuid_short", "rand", "random_bytes":
+ foundFunction = node.Name.String()
+ return false, nil
+ }
+ }
+ return true, nil
+ }, expr)
+ return foundFunction
+}
+
// Diff compares this table statement with another table statement, and sees what it takes to
// change this table to look like the other table.
// It returns an AlterTable statement if changes are found, or nil if not.
@@ -1852,6 +1932,16 @@ func (c *CreateTableEntity) diffColumns(alterTable *sqlparser.AlterTable,
addColumn := &sqlparser.AddColumns{
Columns: []*sqlparser.ColumnDefinition{t2Col},
}
+ // See whether this ADD COLUMN has a non-deterministic default value
+ if t2Col.Type.Options.Default != nil && !t2Col.Type.Options.DefaultLiteral {
+ if function := findNoNondeterministicFunction(t2Col.Type.Options.Default); function != "" {
+ return &NonDeterministicDefaultError{
+ Table: c.Name(),
+ Column: t2Col.Name.String(),
+ Function: function,
+ }
+ }
+ }
if t2ColIndex < expectAppendIndex {
// This column is added somewhere in between existing columns, not appended at end of column list
if t2ColIndex == 0 {
@@ -1997,12 +2087,14 @@ func sortAlterOptions(diff *AlterTableEntityDiff) {
return 5
case *sqlparser.AddColumns:
return 6
- case *sqlparser.AddIndexDefinition:
+ case *sqlparser.RenameIndex:
return 7
- case *sqlparser.AddConstraintDefinition:
+ case *sqlparser.AddIndexDefinition:
return 8
- case sqlparser.TableOptions, *sqlparser.TableOptions:
+ case *sqlparser.AddConstraintDefinition:
return 9
+ case sqlparser.TableOptions, *sqlparser.TableOptions:
+ return 10
default:
return math.MaxInt
}
@@ -2158,20 +2250,25 @@ func (c *CreateTableEntity) apply(diff *AlterTableEntityDiff) error {
return &ApplyKeyNotFoundError{Table: c.Name(), Key: opt.Name.String()}
}
- // Now, if this is a normal key being dropped, let's validate it does not leave any foreign key constraint uncovered
- switch opt.Type {
- case sqlparser.PrimaryKeyType, sqlparser.NormalKeyType:
- for _, cs := range c.CreateTable.TableSpec.Constraints {
- fk, ok := cs.Details.(*sqlparser.ForeignKeyDefinition)
- if !ok {
- continue
- }
- if !c.columnsCoveredByInOrderIndex(fk.Source) {
- return &IndexNeededByForeignKeyError{Table: c.Name(), Key: opt.Name.String()}
- }
+ case *sqlparser.RenameIndex:
+ // validate no existing key by same name
+ newKeyName := opt.NewName.String()
+ for _, index := range c.TableSpec.Indexes {
+ if strings.EqualFold(index.Info.Name.String(), newKeyName) {
+ return &ApplyDuplicateKeyError{Table: c.Name(), Key: newKeyName}
}
}
-
+ found := false
+ for _, index := range c.TableSpec.Indexes {
+ if index.Info.Name.String() == opt.OldName.String() {
+ index.Info.Name = opt.NewName
+ found = true
+ break
+ }
+ }
+ if !found {
+ return &ApplyKeyNotFoundError{Table: c.Name(), Key: opt.OldName.String()}
+ }
case *sqlparser.AddIndexDefinition:
// validate no existing key by same name
keyName := opt.IndexDefinition.Info.Name.String()
@@ -2368,11 +2465,41 @@ func (c *CreateTableEntity) apply(diff *AlterTableEntityDiff) error {
}
return nil
}
+ // postApplyOptionsIteration runs on all options, after applyAlterOption does.
+ // Some validations can only take place after all options have been applied.
+ postApplyOptionsIteration := func(opt sqlparser.AlterOption) error {
+ switch opt := opt.(type) {
+ case *sqlparser.DropKey:
+ // Now, if this is a normal key being dropped, let's validate it does not leave any foreign key constraint uncovered.
+ // We must have this in `postApplyOptionsIteration` as opposed to `applyAlterOption` because
+ // this DROP KEY may have been followed by an ADD KEY that covers the foreign key constraint, so it's wrong
+ // to error out before applying the ADD KEY.
+ switch opt.Type {
+ case sqlparser.PrimaryKeyType, sqlparser.NormalKeyType:
+ for _, cs := range c.CreateTable.TableSpec.Constraints {
+ fk, ok := cs.Details.(*sqlparser.ForeignKeyDefinition)
+ if !ok {
+ continue
+ }
+ if !c.columnsCoveredByInOrderIndex(fk.Source) {
+ return &IndexNeededByForeignKeyError{Table: c.Name(), Key: opt.Name.String()}
+ }
+ }
+ }
+ }
+ return nil
+ }
+
for _, alterOption := range diff.alterTable.AlterOptions {
if err := applyAlterOption(alterOption); err != nil {
return err
}
}
+ for _, alterOption := range diff.alterTable.AlterOptions {
+ if err := postApplyOptionsIteration(alterOption); err != nil {
+ return err
+ }
+ }
if err := c.postApplyNormalize(); err != nil {
return err
}
diff --git a/go/vt/schemadiff/table_test.go b/go/vt/schemadiff/table_test.go
index 389e55f447c..6526c5ae118 100644
--- a/go/vt/schemadiff/table_test.go
+++ b/go/vt/schemadiff/table_test.go
@@ -28,16 +28,17 @@ import (
func TestCreateTableDiff(t *testing.T) {
tt := []struct {
- name string
- from string
- to string
- fromName string
- toName string
- diff string
- diffs []string
- cdiff string
- cdiffs []string
- errorMsg string
+ name string
+ from string
+ to string
+ fromName string
+ toName string
+ diff string
+ diffs []string
+ cdiff string
+ cdiffs []string
+ errorMsg string
+ // hints:
autoinc int
rotation int
fulltext int
@@ -47,6 +48,7 @@ func TestCreateTableDiff(t *testing.T) {
algorithm int
enumreorder int
subsequent int
+ //
textdiffs []string
atomicdiffs []string
}{
@@ -449,6 +451,80 @@ func TestCreateTableDiff(t *testing.T) {
"+ `y` int,",
},
},
+ {
+ name: "added column with non deterministic expression, uuid, reject",
+ from: "create table t1 (id int primary key, a int)",
+ to: "create table t2 (id int primary key, a int, v varchar(36) not null default (uuid()))",
+ errorMsg: (&NonDeterministicDefaultError{Table: "t1", Column: "v", Function: "uuid"}).Error(),
+ },
+ {
+ name: "added column with non deterministic expression, uuid, reject",
+ from: "create table t1 (id int primary key, a int)",
+ to: "create table t2 (id int primary key, a int, v varchar(36) not null default (uuid_short()))",
+ errorMsg: (&NonDeterministicDefaultError{Table: "t1", Column: "v", Function: "uuid_short"}).Error(),
+ },
+ {
+ name: "added column with non deterministic expression, UUID, reject",
+ from: "create table t1 (id int primary key, a int)",
+ to: "create table t2 (id int primary key, a int, v varchar(36) not null default (UUID()))",
+ errorMsg: (&NonDeterministicDefaultError{Table: "t1", Column: "v", Function: "UUID"}).Error(),
+ },
+ {
+ name: "added column with non deterministic expression, uuid, spacing, reject",
+ from: "create table t1 (id int primary key, a int)",
+ to: "create table t2 (id int primary key, a int, v varchar(36) not null default (uuid ()))",
+ errorMsg: (&NonDeterministicDefaultError{Table: "t1", Column: "v", Function: "uuid"}).Error(),
+ },
+ {
+ name: "added column with non deterministic expression, uuid, inner, reject",
+ from: "create table t1 (id int primary key, a int)",
+ to: "create table t2 (id int primary key, a int, v varchar(36) not null default (left(uuid(),10)))",
+ errorMsg: (&NonDeterministicDefaultError{Table: "t1", Column: "v", Function: "uuid"}).Error(),
+ },
+ {
+ name: "added column with non deterministic expression, rand, reject",
+ from: "create table t1 (id int primary key, a int)",
+ to: "create table t2 (id int primary key, a int, v varchar(36) not null default (2.0 + rand()))",
+ errorMsg: (&NonDeterministicDefaultError{Table: "t1", Column: "v", Function: "rand"}).Error(),
+ },
+ {
+ name: "added column with non deterministic expression, random_bytes, reject",
+ from: "create table t1 (id int primary key, a int)",
+ to: "create table t2 (id int primary key, a int, v varchar(36) not null default (random_bytes(3)))",
+ errorMsg: (&NonDeterministicDefaultError{Table: "t1", Column: "v", Function: "random_bytes"}).Error(),
+ },
+ {
+ name: "added column with non deterministic expression, sysdate, reject",
+ from: "create table t1 (id int primary key, a int)",
+ to: "create table t2 (id int primary key, a int, v varchar(36) not null default (sysdate()))",
+ errorMsg: (&NonDeterministicDefaultError{Table: "t1", Column: "v", Function: "sysdate"}).Error(),
+ },
+ {
+ name: "added column with non deterministic expression, sysdate, reject",
+ from: "create table t1 (id int primary key, a int)",
+ to: "create table t2 (id int primary key, a int, v varchar(36) not null default (to_days(sysdate())))",
+ errorMsg: (&NonDeterministicDefaultError{Table: "t1", Column: "v", Function: "sysdate"}).Error(),
+ },
+ {
+ name: "added column with deterministic expression, now, reject does not apply",
+ from: "create table t1 (id int primary key, a int)",
+ to: "create table t2 (id int primary key, a int, v varchar(36) not null default (now()))",
+ diff: "alter table t1 add column v varchar(36) not null default (now())",
+ cdiff: "ALTER TABLE `t1` ADD COLUMN `v` varchar(36) NOT NULL DEFAULT (now())",
+ textdiffs: []string{
+ "+ `v` varchar(36) NOT NULL DEFAULT (now()),",
+ },
+ },
+ {
+ name: "added column with deterministic expression, curdate, reject does not apply",
+ from: "create table t1 (id int primary key, a int)",
+ to: "create table t2 (id int primary key, a int, v varchar(36) not null default (to_days(curdate())))",
+ diff: "alter table t1 add column v varchar(36) not null default (to_days(curdate()))",
+ cdiff: "ALTER TABLE `t1` ADD COLUMN `v` varchar(36) NOT NULL DEFAULT (to_days(curdate()))",
+ textdiffs: []string{
+ "+ `v` varchar(36) NOT NULL DEFAULT (to_days(curdate())),",
+ },
+ },
// enum
{
name: "expand enum",
@@ -729,6 +805,41 @@ func TestCreateTableDiff(t *testing.T) {
"+ KEY `i_idx3` (`id`)",
},
},
+ {
+ name: "reordered and renamed key",
+ from: "create table t1 (`id` int primary key, i int, key i_idx(i), key i2_idx(i, `id`))",
+ to: "create table t2 (`id` int primary key, i int, key i2_alternative (`i`, id), key i_idx ( i ) )",
+ diff: "alter table t1 rename index i2_idx to i2_alternative",
+ cdiff: "ALTER TABLE `t1` RENAME INDEX `i2_idx` TO `i2_alternative`",
+ },
+ {
+ name: "reordered and renamed keys",
+ from: "create table t1 (`id` int primary key, i int, key i_idx(i), key i2_idx(i, `id`))",
+ to: "create table t2 (`id` int primary key, i int, key i2_alternative (`i`, id), key i_alternative ( i ) )",
+ diff: "alter table t1 rename index i2_idx to i2_alternative, rename index i_idx to i_alternative",
+ cdiff: "ALTER TABLE `t1` RENAME INDEX `i2_idx` TO `i2_alternative`, RENAME INDEX `i_idx` TO `i_alternative`",
+ },
+ {
+ name: "multiple similar keys, one rename",
+ from: "create table t1 (`id` int primary key, i int, key i_idx(i), key i2_idx(i))",
+ to: "create table t2 (`id` int primary key, i int, key i_idx(i), key i2_alternative(i))",
+ diff: "alter table t1 rename index i2_idx to i2_alternative",
+ cdiff: "ALTER TABLE `t1` RENAME INDEX `i2_idx` TO `i2_alternative`",
+ },
+ {
+ name: "multiple similar keys, two renames",
+ from: "create table t1 (`id` int primary key, i int, key i_idx(i), key i2_idx(i))",
+ to: "create table t2 (`id` int primary key, i int, key i_alternative(i), key i2_alternative(i))",
+ diff: "alter table t1 rename index i_idx to i_alternative, rename index i2_idx to i2_alternative",
+ cdiff: "ALTER TABLE `t1` RENAME INDEX `i_idx` TO `i_alternative`, RENAME INDEX `i2_idx` TO `i2_alternative`",
+ },
+ {
+ name: "multiple similar keys, two renames, reorder",
+ from: "create table t1 (`id` int primary key, i int, key i0 (i, id), key i_idx(i), key i2_idx(i))",
+ to: "create table t2 (`id` int primary key, i int, key i_alternative(i), key i2_alternative(i), key i0 (i, id))",
+ diff: "alter table t1 rename index i_idx to i_alternative, rename index i2_idx to i2_alternative",
+ cdiff: "ALTER TABLE `t1` RENAME INDEX `i_idx` TO `i_alternative`, RENAME INDEX `i2_idx` TO `i2_alternative`",
+ },
{
name: "key made visible",
from: "create table t1 (`id` int primary key, i int, key i_idx(i) invisible)",
@@ -2712,6 +2823,18 @@ func TestValidate(t *testing.T) {
alter: "alter table t drop key `i`",
expectErr: &IndexNeededByForeignKeyError{Table: "t", Key: "i"},
},
+ {
+ name: "allow drop key when also adding a different index for foreign key constraint",
+ from: "create table t (id int primary key, i int, key i_idx (i), constraint f foreign key (i) references parent(id))",
+ alter: "alter table t drop key `i_idx`, add key i_alternative (i)",
+ to: "create table t (id int primary key, i int, key i_alternative (i), constraint f foreign key (i) references parent(id))",
+ },
+ {
+ name: "allow drop key when also adding a different, longer, index for foreign key constraint",
+ from: "create table t (id int primary key, i int, key i_idx (i), constraint f foreign key (i) references parent(id))",
+ alter: "alter table t drop key `i_idx`, add key i_alternative (i, id)",
+ to: "create table t (id int primary key, i int, key i_alternative (i, id), constraint f foreign key (i) references parent(id))",
+ },
{
name: "drop key with alternative key for foreign key constraint, 1",
from: "create table t (id int primary key, i int, key i (i), key i2 (i, id), constraint f foreign key (i) references parent(id))",
diff --git a/go/vt/sidecardb/schema/misc/heartbeat.sql b/go/vt/sidecardb/schema/misc/heartbeat.sql
index 35668f2c0ab..b95feb57684 100644
--- a/go/vt/sidecardb/schema/misc/heartbeat.sql
+++ b/go/vt/sidecardb/schema/misc/heartbeat.sql
@@ -20,4 +20,4 @@ CREATE TABLE IF NOT EXISTS heartbeat
tabletUid INT UNSIGNED NOT NULL,
ts BIGINT UNSIGNED NOT NULL,
PRIMARY KEY (`keyspaceShard`)
-) engine = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/misc/reparent_journal.sql b/go/vt/sidecardb/schema/misc/reparent_journal.sql
index 81e47c69dc5..e9f2f9c4aea 100644
--- a/go/vt/sidecardb/schema/misc/reparent_journal.sql
+++ b/go/vt/sidecardb/schema/misc/reparent_journal.sql
@@ -22,4 +22,4 @@ CREATE TABLE IF NOT EXISTS reparent_journal
`replication_position` varbinary(64000) DEFAULT NULL,
PRIMARY KEY (`time_created_ns`)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql b/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql
index 82d0c221f0e..85d87edefc2 100644
--- a/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql
+++ b/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql
@@ -42,6 +42,7 @@ CREATE TABLE IF NOT EXISTS schema_migrations
`migration_context` varchar(1024) NOT NULL DEFAULT '',
`ddl_action` varchar(16) NOT NULL DEFAULT '',
`message` text NOT NULL,
+ `message_timestamp` timestamp(6) NULL DEFAULT NULL,
`eta_seconds` bigint NOT NULL DEFAULT '-1',
`rows_copied` bigint unsigned NOT NULL DEFAULT '0',
`table_rows` bigint NOT NULL DEFAULT '0',
@@ -83,4 +84,4 @@ CREATE TABLE IF NOT EXISTS schema_migrations
KEY `table_complete_idx` (`migration_status`, `keyspace`(64), `mysql_table`(64), `completed_timestamp`),
KEY `migration_context_idx` (`migration_context`(64)),
KEY `reverted_uuid_idx` (`reverted_uuid`)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/schemaengine/tables.sql b/go/vt/sidecardb/schema/schemaengine/tables.sql
index 3aadc7c9635..1c4f6117ef2 100644
--- a/go/vt/sidecardb/schema/schemaengine/tables.sql
+++ b/go/vt/sidecardb/schema/schemaengine/tables.sql
@@ -21,4 +21,4 @@ CREATE TABLE IF NOT EXISTS tables
CREATE_STATEMENT longtext,
CREATE_TIME BIGINT,
PRIMARY KEY (TABLE_SCHEMA, TABLE_NAME)
-) engine = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/schemaengine/udfs.sql b/go/vt/sidecardb/schema/schemaengine/udfs.sql
index 90c6143fbd6..53fa8280252 100644
--- a/go/vt/sidecardb/schema/schemaengine/udfs.sql
+++ b/go/vt/sidecardb/schema/schemaengine/udfs.sql
@@ -20,4 +20,4 @@ CREATE TABLE IF NOT EXISTS udfs
FUNCTION_RETURN_TYPE varchar(20) CHARACTER SET `utf8mb3` COLLATE `utf8mb3_bin` NOT NULL,
FUNCTION_TYPE varchar(20) CHARACTER SET `utf8mb3` COLLATE `utf8mb3_bin` NOT NULL,
PRIMARY KEY (FUNCTION_NAME)
-) engine = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/schemaengine/views.sql b/go/vt/sidecardb/schema/schemaengine/views.sql
index dd242e6567f..97a6fa7a2f3 100644
--- a/go/vt/sidecardb/schema/schemaengine/views.sql
+++ b/go/vt/sidecardb/schema/schemaengine/views.sql
@@ -21,4 +21,4 @@ CREATE TABLE IF NOT EXISTS views
CREATE_STATEMENT longtext,
VIEW_DEFINITION longtext NOT NULL,
PRIMARY KEY (TABLE_SCHEMA, TABLE_NAME)
-) engine = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/twopc/dt_participant.sql b/go/vt/sidecardb/schema/twopc/dt_participant.sql
index 9f2408497eb..3fe98c726ee 100644
--- a/go/vt/sidecardb/schema/twopc/dt_participant.sql
+++ b/go/vt/sidecardb/schema/twopc/dt_participant.sql
@@ -21,4 +21,4 @@ CREATE TABLE IF NOT EXISTS dt_participant
keyspace varchar(256) NOT NULL,
shard varchar(256) NOT NULL,
primary key(dtid, id)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/twopc/dt_state.sql b/go/vt/sidecardb/schema/twopc/dt_state.sql
index 9247ea5fa3c..7315ea5aa23 100644
--- a/go/vt/sidecardb/schema/twopc/dt_state.sql
+++ b/go/vt/sidecardb/schema/twopc/dt_state.sql
@@ -21,4 +21,4 @@ CREATE TABLE IF NOT EXISTS dt_state
time_created bigint NOT NULL,
primary key(dtid),
key (time_created)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/twopc/redo_state.sql b/go/vt/sidecardb/schema/twopc/redo_state.sql
index 7e583d7fdcd..58e250e435e 100644
--- a/go/vt/sidecardb/schema/twopc/redo_state.sql
+++ b/go/vt/sidecardb/schema/twopc/redo_state.sql
@@ -18,5 +18,6 @@ CREATE TABLE IF NOT EXISTS redo_state(
dtid varbinary(512) NOT NULL,
state bigint NOT NULL,
time_created bigint NOT NULL,
+ message text,
primary key(dtid)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/twopc/redo_statement.sql b/go/vt/sidecardb/schema/twopc/redo_statement.sql
index 9208a0fce65..7f28e7fb0c9 100644
--- a/go/vt/sidecardb/schema/twopc/redo_statement.sql
+++ b/go/vt/sidecardb/schema/twopc/redo_statement.sql
@@ -19,4 +19,4 @@ CREATE TABLE IF NOT EXISTS redo_statement(
id bigint NOT NULL,
statement mediumblob NOT NULL,
primary key(dtid, id)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/vdiff/vdiff.sql b/go/vt/sidecardb/schema/vdiff/vdiff.sql
index 52392bde427..862e6e0e9d3 100644
--- a/go/vt/sidecardb/schema/vdiff/vdiff.sql
+++ b/go/vt/sidecardb/schema/vdiff/vdiff.sql
@@ -33,4 +33,4 @@ CREATE TABLE IF NOT EXISTS vdiff
UNIQUE KEY `uuid_idx` (`vdiff_uuid`),
KEY `state` (`state`),
KEY `ks_wf_idx` (`keyspace`(64), `workflow`(64))
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/vdiff/vdiff_log.sql b/go/vt/sidecardb/schema/vdiff/vdiff_log.sql
index dbc110e5b3a..bedb7824295 100644
--- a/go/vt/sidecardb/schema/vdiff/vdiff_log.sql
+++ b/go/vt/sidecardb/schema/vdiff/vdiff_log.sql
@@ -21,4 +21,4 @@ CREATE TABLE IF NOT EXISTS vdiff_log
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`message` text NOT NULL,
PRIMARY KEY (`id`)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/vdiff/vdiff_table.sql b/go/vt/sidecardb/schema/vdiff/vdiff_table.sql
index 580f1ba96ee..2296398e430 100644
--- a/go/vt/sidecardb/schema/vdiff/vdiff_table.sql
+++ b/go/vt/sidecardb/schema/vdiff/vdiff_table.sql
@@ -27,4 +27,4 @@ CREATE TABLE IF NOT EXISTS vdiff_table
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`vdiff_id`, `table_name`)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/vreplication/copy_state.sql b/go/vt/sidecardb/schema/vreplication/copy_state.sql
index 8f27bc9dc86..f3e577156b9 100644
--- a/go/vt/sidecardb/schema/vreplication/copy_state.sql
+++ b/go/vt/sidecardb/schema/vreplication/copy_state.sql
@@ -22,4 +22,4 @@ CREATE TABLE IF NOT EXISTS copy_state
`lastpk` varbinary(2000) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `vrepl_id` (`vrepl_id`,`table_name`)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/vreplication/post_copy_action.sql b/go/vt/sidecardb/schema/vreplication/post_copy_action.sql
index 85bb44923b0..15a28c0d5fe 100644
--- a/go/vt/sidecardb/schema/vreplication/post_copy_action.sql
+++ b/go/vt/sidecardb/schema/vreplication/post_copy_action.sql
@@ -21,4 +21,4 @@ CREATE TABLE IF NOT EXISTS post_copy_action(
action JSON NOT NULL,
UNIQUE KEY (vrepl_id, table_name),
PRIMARY KEY(id)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/vreplication/resharding_journal.sql b/go/vt/sidecardb/schema/vreplication/resharding_journal.sql
index 5a3dbd64890..fed943a5064 100644
--- a/go/vt/sidecardb/schema/vreplication/resharding_journal.sql
+++ b/go/vt/sidecardb/schema/vreplication/resharding_journal.sql
@@ -20,4 +20,4 @@ CREATE TABLE IF NOT EXISTS resharding_journal
`db_name` varbinary(255) DEFAULT NULL,
`val` blob,
PRIMARY KEY (`id`)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/vreplication/schema_version.sql b/go/vt/sidecardb/schema/vreplication/schema_version.sql
index 2b7cbc08dec..be327215071 100644
--- a/go/vt/sidecardb/schema/vreplication/schema_version.sql
+++ b/go/vt/sidecardb/schema/vreplication/schema_version.sql
@@ -22,4 +22,4 @@ CREATE TABLE IF NOT EXISTS schema_version
ddl BLOB DEFAULT NULL,
schemax LONGBLOB NOT NULL,
PRIMARY KEY (id)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/vreplication/vreplication.sql b/go/vt/sidecardb/schema/vreplication/vreplication.sql
index 293997056fd..6670b671f4f 100644
--- a/go/vt/sidecardb/schema/vreplication/vreplication.sql
+++ b/go/vt/sidecardb/schema/vreplication/vreplication.sql
@@ -47,4 +47,4 @@ CREATE TABLE IF NOT EXISTS vreplication
`options` json NOT NULL,
PRIMARY KEY (`id`),
KEY `workflow_idx` (`workflow`(64))
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/schema/vreplication/vreplication_log.sql b/go/vt/sidecardb/schema/vreplication/vreplication_log.sql
index 19360fb0c04..950c52ab4aa 100644
--- a/go/vt/sidecardb/schema/vreplication/vreplication_log.sql
+++ b/go/vt/sidecardb/schema/vreplication/vreplication_log.sql
@@ -26,4 +26,4 @@ CREATE TABLE IF NOT EXISTS vreplication_log
`count` bigint NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
KEY `vrepl_id_idx` (`vrepl_id`)
-) ENGINE = InnoDB
+) ENGINE = InnoDB CHARSET = utf8mb4
diff --git a/go/vt/sidecardb/sidecardb.go b/go/vt/sidecardb/sidecardb.go
index 0947355cd46..9cbe0540033 100644
--- a/go/vt/sidecardb/sidecardb.go
+++ b/go/vt/sidecardb/sidecardb.go
@@ -396,7 +396,7 @@ func (si *schemaInit) getCurrentSchema(tableName string) (string, error) {
// or an ALTER if the table exists but has a different schema.
func (si *schemaInit) findTableSchemaDiff(tableName, current, desired string) (string, error) {
hints := &schemadiff.DiffHints{
- TableCharsetCollateStrategy: schemadiff.TableCharsetCollateIgnoreAlways,
+ TableCharsetCollateStrategy: schemadiff.TableCharsetCollateIgnoreEmpty,
AlterTableAlgorithmStrategy: schemadiff.AlterTableAlgorithmStrategyCopy,
}
env := schemadiff.NewEnv(si.env, si.coll)
diff --git a/go/vt/sidecardb/sidecardb_test.go b/go/vt/sidecardb/sidecardb_test.go
index 55c2c6cd6b5..78210f19150 100644
--- a/go/vt/sidecardb/sidecardb_test.go
+++ b/go/vt/sidecardb/sidecardb_test.go
@@ -18,6 +18,7 @@ package sidecardb
import (
"context"
+ "errors"
"expvar"
"fmt"
"sort"
@@ -80,7 +81,7 @@ func TestInitErrors(t *testing.T) {
if ok {
for _, e := range schemaErrors {
if strings.EqualFold(e.tableName, createTable.Table.Name.String()) {
- return nil, fmt.Errorf(e.errorValue)
+ return nil, errors.New(e.errorValue)
}
}
}
@@ -249,3 +250,89 @@ func TestAlterTableAlgorithm(t *testing.T) {
})
}
}
+
+// TestTableSchemaDiff ensures that the diff produced by schemaInit.findTableSchemaDiff
+// is resulting in the expected alter table statements in a variety of scenarios.
+func TestTableSchemaDiff(t *testing.T) {
+ si := &schemaInit{
+ env: vtenv.NewTestEnv(),
+ }
+
+ type testCase struct {
+ name string
+ table string
+ oldSchema string
+ newSchema string
+ expectNoDiff bool
+ expectedAlter string
+ }
+ testCases := []testCase{
+ {
+ name: "modify table charset",
+ table: "t1",
+ oldSchema: "create table if not exists _vt.t1(i int) charset=utf8mb4",
+ newSchema: "create table if not exists _vt.t(i int) charset=utf8mb3",
+ expectedAlter: "alter table _vt.t1 charset utf8mb3, algorithm = copy",
+ },
+ {
+ name: "empty charset",
+ table: "t1",
+ oldSchema: "create table if not exists _vt.t1(i int) charset=utf8mb4",
+ newSchema: "create table if not exists _vt.t(i int)",
+ expectNoDiff: true, // We're not specifying an explicit charset in the new schema, so we shouldn't see a diff.
+ },
+ {
+ name: "modify table engine",
+ table: "t1",
+ oldSchema: "create table if not exists _vt.t1(i int) engine=myisam",
+ newSchema: "create table if not exists _vt.t(i int) engine=innodb",
+ expectedAlter: "alter table _vt.t1 engine innodb, algorithm = copy",
+ },
+ {
+ name: "add, modify, transfer PK",
+ table: "t1",
+ oldSchema: "create table _vt.t1 (i int primary key, i1 varchar(10)) charset utf8mb4",
+ newSchema: "create table _vt.t1 (i int, i1 varchar(20) character set utf8mb3 collate utf8mb3_bin, i2 int, primary key (i2)) charset utf8mb4",
+ expectedAlter: "alter table _vt.t1 drop primary key, modify column i1 varchar(20) character set utf8mb3 collate utf8mb3_bin, add column i2 int, add primary key (i2), algorithm = copy",
+ },
+ {
+ name: "modify visibility and add comment",
+ table: "t1",
+ oldSchema: "create table if not exists _vt.t1(c1 int, c2 int, c3 varchar(100)) charset utf8mb4",
+ newSchema: "create table if not exists _vt.t1(c1 int, c2 int, c3 varchar(100) invisible comment 'hoping to drop') charset utf8mb4",
+ expectedAlter: "alter table _vt.t1 modify column c3 varchar(100) comment 'hoping to drop' invisible, algorithm = copy",
+ },
+ {
+ name: "add PK and remove index",
+ table: "t1",
+ oldSchema: "create table if not exists _vt.t1(c1 int, c2 int, c3 varchar(100), key (c2)) charset utf8mb4",
+ newSchema: "create table if not exists _vt.t1(c1 int primary key, c2 int, c3 varchar(100)) charset utf8mb4",
+ expectedAlter: "alter table _vt.t1 drop key c2, add primary key (c1), algorithm = copy",
+ },
+ {
+ name: "add generated col",
+ table: "t1",
+ oldSchema: "create table if not exists _vt.t1(c1 int primary key) charset utf8mb4",
+ newSchema: "create table if not exists _vt.t1(c1 int primary key, c2 varchar(10) generated always as ('hello')) charset utf8mb4",
+ expectedAlter: "alter table _vt.t1 add column c2 varchar(10) as ('hello') virtual, algorithm = copy",
+ },
+ }
+
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ diff, err := si.findTableSchemaDiff(tc.table, tc.oldSchema, tc.newSchema)
+ require.NoError(t, err)
+ if tc.expectNoDiff {
+ require.Empty(t, diff)
+ return
+ }
+ stmt, err := si.env.Parser().Parse(diff)
+ require.NoError(t, err)
+ alter, ok := stmt.(*sqlparser.AlterTable)
+ require.True(t, ok)
+ require.NotNil(t, alter)
+ t.Logf("alter: %s", sqlparser.String(alter))
+ require.Equal(t, strings.ToLower(tc.expectedAlter), strings.ToLower(sqlparser.String(alter)))
+ })
+ }
+}
diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go
index 4e5fcfcad88..3d4f56ef628 100644
--- a/go/vt/sqlparser/ast.go
+++ b/go/vt/sqlparser/ast.go
@@ -161,7 +161,7 @@ type (
CommonTableExpr struct {
ID IdentifierCS
Columns Columns
- Subquery *Subquery
+ Subquery SelectStatement
}
// ChangeColumn is used to change the column definition, can also rename the column in alter table command
ChangeColumn struct {
@@ -417,6 +417,7 @@ type (
// AlterDatabase represents a ALTER database statement.
AlterDatabase struct {
+ Comments *ParsedComments
DBName IdentifierCS
UpdateDataDirectory bool
AlterOptions []DatabaseOption
@@ -1673,6 +1674,7 @@ type (
// ShowTransactionStatus is used to see the status of a distributed transaction in progress.
ShowTransactionStatus struct {
+ Keyspace string
TransactionID string
}
diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go
index 7a59832b867..03a5fabe552 100644
--- a/go/vt/sqlparser/ast_clone.go
+++ b/go/vt/sqlparser/ast_clone.go
@@ -662,6 +662,7 @@ func CloneRefOfAlterDatabase(n *AlterDatabase) *AlterDatabase {
return nil
}
out := *n
+ out.Comments = CloneRefOfParsedComments(n.Comments)
out.DBName = CloneIdentifierCS(n.DBName)
out.AlterOptions = CloneSliceOfDatabaseOption(n.AlterOptions)
return &out
@@ -1022,7 +1023,7 @@ func CloneRefOfCommonTableExpr(n *CommonTableExpr) *CommonTableExpr {
out := *n
out.ID = CloneIdentifierCS(n.ID)
out.Columns = CloneColumns(n.Columns)
- out.Subquery = CloneRefOfSubquery(n.Subquery)
+ out.Subquery = CloneSelectStatement(n.Subquery)
return &out
}
diff --git a/go/vt/sqlparser/ast_copy_on_rewrite.go b/go/vt/sqlparser/ast_copy_on_rewrite.go
index caa00181f9e..9b952b36dc7 100644
--- a/go/vt/sqlparser/ast_copy_on_rewrite.go
+++ b/go/vt/sqlparser/ast_copy_on_rewrite.go
@@ -761,9 +761,11 @@ func (c *cow) copyOnRewriteRefOfAlterDatabase(n *AlterDatabase, parent SQLNode)
}
out = n
if c.pre == nil || c.pre(n, parent) {
+ _Comments, changedComments := c.copyOnRewriteRefOfParsedComments(n.Comments, n)
_DBName, changedDBName := c.copyOnRewriteIdentifierCS(n.DBName, n)
- if changedDBName {
+ if changedComments || changedDBName {
res := *n
+ res.Comments, _ = _Comments.(*ParsedComments)
res.DBName, _ = _DBName.(IdentifierCS)
out = &res
if c.cloned != nil {
@@ -1522,12 +1524,12 @@ func (c *cow) copyOnRewriteRefOfCommonTableExpr(n *CommonTableExpr, parent SQLNo
if c.pre == nil || c.pre(n, parent) {
_ID, changedID := c.copyOnRewriteIdentifierCS(n.ID, n)
_Columns, changedColumns := c.copyOnRewriteColumns(n.Columns, n)
- _Subquery, changedSubquery := c.copyOnRewriteRefOfSubquery(n.Subquery, n)
+ _Subquery, changedSubquery := c.copyOnRewriteSelectStatement(n.Subquery, n)
if changedID || changedColumns || changedSubquery {
res := *n
res.ID, _ = _ID.(IdentifierCS)
res.Columns, _ = _Columns.(Columns)
- res.Subquery, _ = _Subquery.(*Subquery)
+ res.Subquery, _ = _Subquery.(SelectStatement)
out = &res
if c.cloned != nil {
c.cloned(n, out)
diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go
index f098b4e19d4..502a4a78d88 100644
--- a/go/vt/sqlparser/ast_equals.go
+++ b/go/vt/sqlparser/ast_equals.go
@@ -1763,6 +1763,7 @@ func (cmp *Comparator) RefOfAlterDatabase(a, b *AlterDatabase) bool {
}
return a.UpdateDataDirectory == b.UpdateDataDirectory &&
a.FullyParsed == b.FullyParsed &&
+ cmp.RefOfParsedComments(a.Comments, b.Comments) &&
cmp.IdentifierCS(a.DBName, b.DBName) &&
cmp.SliceOfDatabaseOption(a.AlterOptions, b.AlterOptions)
}
@@ -2193,7 +2194,7 @@ func (cmp *Comparator) RefOfCommonTableExpr(a, b *CommonTableExpr) bool {
}
return cmp.IdentifierCS(a.ID, b.ID) &&
cmp.Columns(a.Columns, b.Columns) &&
- cmp.RefOfSubquery(a.Subquery, b.Subquery)
+ cmp.SelectStatement(a.Subquery, b.Subquery)
}
// RefOfComparisonExpr does deep equals between the two objects.
@@ -4381,7 +4382,8 @@ func (cmp *Comparator) RefOfShowTransactionStatus(a, b *ShowTransactionStatus) b
if a == nil || b == nil {
return false
}
- return a.TransactionID == b.TransactionID
+ return a.Keyspace == b.Keyspace &&
+ a.TransactionID == b.TransactionID
}
// RefOfStarExpr does deep equals between the two objects.
diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go
index f92dc89ab50..c8daabcf4e0 100644
--- a/go/vt/sqlparser/ast_format.go
+++ b/go/vt/sqlparser/ast_format.go
@@ -167,7 +167,7 @@ func (node *With) Format(buf *TrackedBuffer) {
// Format formats the node.
func (node *CommonTableExpr) Format(buf *TrackedBuffer) {
- buf.astPrintf(node, "%v%v as %v ", node.ID, node.Columns, node.Subquery)
+ buf.astPrintf(node, "%v%v as (%v) ", node.ID, node.Columns, node.Subquery)
}
// Format formats the node.
@@ -2152,6 +2152,13 @@ func (node *ShowBasic) Format(buf *TrackedBuffer) {
}
func (node *ShowTransactionStatus) Format(buf *TrackedBuffer) {
+ if node.TransactionID == "" {
+ buf.astPrintf(node, "show unresolved transactions")
+ if node.Keyspace != "" {
+ buf.astPrintf(node, " for %#s", node.Keyspace)
+ }
+ return
+ }
buf.astPrintf(node, "show transaction status for '%#s'", node.TransactionID)
}
@@ -2179,7 +2186,7 @@ func (node *SelectInto) Format(buf *TrackedBuffer) {
// Format formats the node.
func (node *CreateDatabase) Format(buf *TrackedBuffer) {
- buf.astPrintf(node, "create database %v", node.Comments)
+ buf.astPrintf(node, "create %vdatabase ", node.Comments)
if node.IfNotExists {
buf.literal("if not exists ")
}
@@ -2198,7 +2205,7 @@ func (node *CreateDatabase) Format(buf *TrackedBuffer) {
// Format formats the node.
func (node *AlterDatabase) Format(buf *TrackedBuffer) {
- buf.literal("alter database")
+ buf.astPrintf(node, "alter %vdatabase", node.Comments)
if node.DBName.NotEmpty() {
buf.astPrintf(node, " %v", node.DBName)
}
diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go
index 5d5dbb2fd74..07762bb8447 100644
--- a/go/vt/sqlparser/ast_format_fast.go
+++ b/go/vt/sqlparser/ast_format_fast.go
@@ -243,9 +243,9 @@ func (node *With) FormatFast(buf *TrackedBuffer) {
func (node *CommonTableExpr) FormatFast(buf *TrackedBuffer) {
node.ID.FormatFast(buf)
node.Columns.FormatFast(buf)
- buf.WriteString(" as ")
+ buf.WriteString(" as (")
node.Subquery.FormatFast(buf)
- buf.WriteByte(' ')
+ buf.WriteString(") ")
}
// FormatFast formats the node.
@@ -2832,6 +2832,14 @@ func (node *ShowBasic) FormatFast(buf *TrackedBuffer) {
}
func (node *ShowTransactionStatus) FormatFast(buf *TrackedBuffer) {
+ if node.TransactionID == "" {
+ buf.WriteString("show unresolved transactions")
+ if node.Keyspace != "" {
+ buf.WriteString(" for ")
+ buf.WriteString(node.Keyspace)
+ }
+ return
+ }
buf.WriteString("show transaction status for '")
buf.WriteString(node.TransactionID)
buf.WriteByte('\'')
@@ -2870,8 +2878,9 @@ func (node *SelectInto) FormatFast(buf *TrackedBuffer) {
// FormatFast formats the node.
func (node *CreateDatabase) FormatFast(buf *TrackedBuffer) {
- buf.WriteString("create database ")
+ buf.WriteString("create ")
node.Comments.FormatFast(buf)
+ buf.WriteString("database ")
if node.IfNotExists {
buf.WriteString("if not exists ")
}
@@ -2890,7 +2899,9 @@ func (node *CreateDatabase) FormatFast(buf *TrackedBuffer) {
// FormatFast formats the node.
func (node *AlterDatabase) FormatFast(buf *TrackedBuffer) {
- buf.WriteString("alter database")
+ buf.WriteString("alter ")
+ node.Comments.FormatFast(buf)
+ buf.WriteString("database")
if node.DBName.NotEmpty() {
buf.WriteByte(' ')
node.DBName.FormatFast(buf)
diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go
index cd4d5304047..372cf25562c 100644
--- a/go/vt/sqlparser/ast_funcs.go
+++ b/go/vt/sqlparser/ast_funcs.go
@@ -428,6 +428,20 @@ func (node *AliasedTableExpr) TableName() (TableName, error) {
return tableName, nil
}
+// TableNameString returns a TableNameString pointing to this table expr
+func (node *AliasedTableExpr) TableNameString() string {
+ if node.As.NotEmpty() {
+ return node.As.String()
+ }
+
+ tableName, ok := node.Expr.(TableName)
+ if !ok {
+ panic(vterrors.VT13001("Derived table should have an alias. This should not be possible"))
+ }
+
+ return tableName.Name.String()
+}
+
// IsEmpty returns true if TableName is nil or empty.
func (node TableName) IsEmpty() bool {
// If Name is empty, Qualifier is also empty.
@@ -1909,6 +1923,10 @@ func (ty VExplainType) ToString() string {
return QueriesStr
case AllVExplainType:
return AllVExplainStr
+ case TraceVExplainType:
+ return TraceStr
+ case KeysVExplainType:
+ return KeysStr
default:
return "Unknown VExplainType"
}
@@ -2804,3 +2822,24 @@ func (lock Lock) GetHighestOrderLock(newLock Lock) Lock {
func Clone[K SQLNode](x K) K {
return CloneSQLNode(x).(K)
}
+
+// ExtractAllTables returns all the table names in the SQLNode as slice of string
+func ExtractAllTables(stmt Statement) []string {
+ var tables []string
+ tableMap := make(map[string]any)
+ _ = Walk(func(node SQLNode) (kontinue bool, err error) {
+ switch node := node.(type) {
+ case *AliasedTableExpr:
+ if tblName, ok := node.Expr.(TableName); ok {
+ name := String(tblName)
+ if _, exists := tableMap[name]; !exists {
+ tableMap[name] = nil
+ tables = append(tables, name)
+ }
+ return false, nil
+ }
+ }
+ return true, nil
+ }, stmt)
+ return tables
+}
diff --git a/go/vt/sqlparser/ast_funcs_test.go b/go/vt/sqlparser/ast_funcs_test.go
index 7bec47df96f..a3b744729f4 100644
--- a/go/vt/sqlparser/ast_funcs_test.go
+++ b/go/vt/sqlparser/ast_funcs_test.go
@@ -172,3 +172,50 @@ func TestColumns_Indexes(t *testing.T) {
})
}
}
+
+// TestExtractTables verifies the functionality of extracting all the tables from the SQLNode.
+func TestExtractTables(t *testing.T) {
+ tcases := []struct {
+ sql string
+ expected []string
+ }{{
+ sql: "select 1 from a",
+ expected: []string{"a"},
+ }, {
+ sql: "select 1 from a, b",
+ expected: []string{"a", "b"},
+ }, {
+ sql: "select 1 from a join b on a.id = b.id",
+ expected: []string{"a", "b"},
+ }, {
+ sql: "select 1 from a join b on a.id = b.id join c on b.id = c.id",
+ expected: []string{"a", "b", "c"},
+ }, {
+ sql: "select 1 from a join (select id from b) as c on a.id = c.id",
+ expected: []string{"a", "b"},
+ }, {
+ sql: "(select 1 from a) union (select 1 from b)",
+ expected: []string{"a", "b"},
+ }, {
+ sql: "select 1 from a where exists (select 1 from (select id from c) b where a.id = b.id)",
+ expected: []string{"a", "c"},
+ }, {
+ sql: "select 1 from k.a join k.b on a.id = b.id",
+ expected: []string{"k.a", "k.b"},
+ }, {
+ sql: "select 1 from k.a join l.a on k.a.id = l.a.id",
+ expected: []string{"k.a", "l.a"},
+ }, {
+ sql: "select 1 from a join (select id from a) as c on a.id = c.id",
+ expected: []string{"a"},
+ }}
+ parser := NewTestParser()
+ for _, tcase := range tcases {
+ t.Run(tcase.sql, func(t *testing.T) {
+ stmt, err := parser.Parse(tcase.sql)
+ require.NoError(t, err)
+ tables := ExtractAllTables(stmt)
+ require.Equal(t, tcase.expected, tables)
+ })
+ }
+}
diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go
index 0cad7237455..e65b243d7e1 100644
--- a/go/vt/sqlparser/ast_rewrite.go
+++ b/go/vt/sqlparser/ast_rewrite.go
@@ -831,6 +831,11 @@ func (a *application) rewriteRefOfAlterDatabase(parent SQLNode, node *AlterDatab
return true
}
}
+ if !a.rewriteRefOfParsedComments(node, node.Comments, func(newNode, parent SQLNode) {
+ parent.(*AlterDatabase).Comments = newNode.(*ParsedComments)
+ }) {
+ return false
+ }
if !a.rewriteIdentifierCS(node, node.DBName, func(newNode, parent SQLNode) {
parent.(*AlterDatabase).DBName = newNode.(IdentifierCS)
}) {
@@ -1964,8 +1969,8 @@ func (a *application) rewriteRefOfCommonTableExpr(parent SQLNode, node *CommonTa
}) {
return false
}
- if !a.rewriteRefOfSubquery(node, node.Subquery, func(newNode, parent SQLNode) {
- parent.(*CommonTableExpr).Subquery = newNode.(*Subquery)
+ if !a.rewriteSelectStatement(node, node.Subquery, func(newNode, parent SQLNode) {
+ parent.(*CommonTableExpr).Subquery = newNode.(SelectStatement)
}) {
return false
}
diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go
index d73ed076dbb..439d0bffeec 100644
--- a/go/vt/sqlparser/ast_visit.go
+++ b/go/vt/sqlparser/ast_visit.go
@@ -690,6 +690,9 @@ func VisitRefOfAlterDatabase(in *AlterDatabase, f Visit) error {
if cont, err := f(in); err != nil || !cont {
return err
}
+ if err := VisitRefOfParsedComments(in.Comments, f); err != nil {
+ return err
+ }
if err := VisitIdentifierCS(in.DBName, f); err != nil {
return err
}
@@ -1172,7 +1175,7 @@ func VisitRefOfCommonTableExpr(in *CommonTableExpr, f Visit) error {
if err := VisitColumns(in.Columns, f); err != nil {
return err
}
- if err := VisitRefOfSubquery(in.Subquery, f); err != nil {
+ if err := VisitSelectStatement(in.Subquery, f); err != nil {
return err
}
return nil
diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go
index 676e40dc7a1..9703d189b7a 100644
--- a/go/vt/sqlparser/cached_size.go
+++ b/go/vt/sqlparser/cached_size.go
@@ -177,6 +177,8 @@ func (cached *AlterDatabase) CachedSize(alloc bool) int64 {
if alloc {
size += int64(64)
}
+ // field Comments *vitess.io/vitess/go/vt/sqlparser.ParsedComments
+ size += cached.Comments.CachedSize(true)
// field DBName vitess.io/vitess/go/vt/sqlparser.IdentifierCS
size += cached.DBName.CachedSize(false)
// field AlterOptions []vitess.io/vitess/go/vt/sqlparser.DatabaseOption
@@ -834,7 +836,7 @@ func (cached *CommonTableExpr) CachedSize(alloc bool) int64 {
}
size := int64(0)
if alloc {
- size += int64(48)
+ size += int64(64)
}
// field ID vitess.io/vitess/go/vt/sqlparser.IdentifierCS
size += cached.ID.CachedSize(false)
@@ -845,8 +847,10 @@ func (cached *CommonTableExpr) CachedSize(alloc bool) int64 {
size += elem.CachedSize(false)
}
}
- // field Subquery *vitess.io/vitess/go/vt/sqlparser.Subquery
- size += cached.Subquery.CachedSize(true)
+ // field Subquery vitess.io/vitess/go/vt/sqlparser.SelectStatement
+ if cc, ok := cached.Subquery.(cachedObject); ok {
+ size += cc.CachedSize(true)
+ }
return size
}
func (cached *ComparisonExpr) CachedSize(alloc bool) int64 {
@@ -3928,8 +3932,10 @@ func (cached *ShowTransactionStatus) CachedSize(alloc bool) int64 {
}
size := int64(0)
if alloc {
- size += int64(16)
+ size += int64(32)
}
+ // field Keyspace string
+ size += hack.RuntimeAllocSize(int64(len(cached.Keyspace)))
// field TransactionID string
size += hack.RuntimeAllocSize(int64(len(cached.TransactionID)))
return size
diff --git a/go/vt/sqlparser/comments.go b/go/vt/sqlparser/comments.go
index 780f1e67594..dff6f60e531 100644
--- a/go/vt/sqlparser/comments.go
+++ b/go/vt/sqlparser/comments.go
@@ -554,27 +554,6 @@ func AllowScatterDirective(stmt Statement) bool {
return checkDirective(stmt, DirectiveAllowScatter)
}
-// ForeignKeyChecksState returns the state of foreign_key_checks variable if it is part of a SET_VAR optimizer hint in the comments.
-func ForeignKeyChecksState(stmt Statement) *bool {
- cmt, ok := stmt.(Commented)
- if ok {
- fkChecksVal := cmt.GetParsedComments().GetMySQLSetVarValue(sysvars.ForeignKeyChecks)
- // If the value of the `foreign_key_checks` optimizer hint is something that doesn't make sense,
- // then MySQL just ignores it and treats it like the case, where it is unspecified. We are choosing
- // to have the same behaviour here. If the value doesn't match any of the acceptable values, we return nil,
- // that signifies that no value was specified.
- switch strings.ToLower(fkChecksVal) {
- case "on", "1":
- fkState := true
- return &fkState
- case "off", "0":
- fkState := false
- return &fkState
- }
- }
- return nil
-}
-
func checkDirective(stmt Statement, key string) bool {
cmt, ok := stmt.(Commented)
if ok {
@@ -583,42 +562,43 @@ func checkDirective(stmt Statement, key string) bool {
return false
}
-// GetPriorityFromStatement gets the priority from the provided Statement, using DirectivePriority
-func GetPriorityFromStatement(statement Statement) (string, error) {
- commentedStatement, ok := statement.(Commented)
- // This would mean that the statement lacks comments, so we can't obtain the workload from it. Hence default to
- // empty priority
+type QueryHints struct {
+ IgnoreMaxMemoryRows bool
+ Consolidator querypb.ExecuteOptions_Consolidator
+ Workload string
+ ForeignKeyChecks *bool
+ Priority string
+ Timeout *int
+}
+
+func BuildQueryHints(stmt Statement) (qh QueryHints, err error) {
+ qh = QueryHints{}
+
+ comment, ok := stmt.(Commented)
if !ok {
- return "", nil
+ return qh, nil
}
- directives := commentedStatement.GetParsedComments().Directives()
- priority, ok := directives.GetString(DirectivePriority, "")
- if !ok || priority == "" {
- return "", nil
- }
+ directives := comment.GetParsedComments().Directives()
- intPriority, err := strconv.Atoi(priority)
- if err != nil || intPriority < 0 || intPriority > MaxPriorityValue {
- return "", ErrInvalidPriority
+ qh.Priority, err = getPriority(directives)
+ if err != nil {
+ return qh, err
}
+ qh.IgnoreMaxMemoryRows = directives.IsSet(DirectiveIgnoreMaxMemoryRows)
+ qh.Consolidator = getConsolidator(stmt, directives)
+ qh.Workload = getWorkload(directives)
+ qh.ForeignKeyChecks = getForeignKeyChecksState(comment)
+ qh.Timeout = getQueryTimeout(directives)
- return priority, nil
+ return qh, nil
}
-// Consolidator returns the consolidator option.
-func Consolidator(stmt Statement) querypb.ExecuteOptions_Consolidator {
- var comments *ParsedComments
- switch stmt := stmt.(type) {
- case *Select:
- comments = stmt.Comments
- default:
- return querypb.ExecuteOptions_CONSOLIDATOR_UNSPECIFIED
- }
- if comments == nil {
+// getConsolidator returns the consolidator option.
+func getConsolidator(stmt Statement, directives *CommentDirectives) querypb.ExecuteOptions_Consolidator {
+ if _, isSelect := stmt.(SelectStatement); !isSelect {
return querypb.ExecuteOptions_CONSOLIDATOR_UNSPECIFIED
}
- directives := comments.Directives()
strv, isSet := directives.GetString(DirectiveConsolidator, "")
if !isSet {
return querypb.ExecuteOptions_CONSOLIDATOR_UNSPECIFIED
@@ -629,18 +609,56 @@ func Consolidator(stmt Statement) querypb.ExecuteOptions_Consolidator {
return querypb.ExecuteOptions_CONSOLIDATOR_UNSPECIFIED
}
-// GetWorkloadNameFromStatement gets the workload name from the provided Statement, using workloadLabel as the name of
+// getWorkload gets the workload name from the provided Statement, using workloadLabel as the name of
// the query directive that specifies it.
-func GetWorkloadNameFromStatement(statement Statement) string {
- commentedStatement, ok := statement.(Commented)
- // This would mean that the statement lacks comments, so we can't obtain the workload from it. Hence default to
- // empty workload name
- if !ok {
- return ""
+func getWorkload(directives *CommentDirectives) string {
+ workloadName, _ := directives.GetString(DirectiveWorkloadName, "")
+ return workloadName
+}
+
+// getForeignKeyChecksState returns the state of foreign_key_checks variable if it is part of a SET_VAR optimizer hint in the comments.
+func getForeignKeyChecksState(cmt Commented) *bool {
+ fkChecksVal := cmt.GetParsedComments().GetMySQLSetVarValue(sysvars.ForeignKeyChecks)
+ // If the value of the `foreign_key_checks` optimizer hint is something that doesn't make sense,
+ // then MySQL just ignores it and treats it like the case, where it is unspecified. We are choosing
+ // to have the same behaviour here. If the value doesn't match any of the acceptable values, we return nil,
+ // that signifies that no value was specified.
+ switch strings.ToLower(fkChecksVal) {
+ case "on", "1":
+ fkState := true
+ return &fkState
+ case "off", "0":
+ fkState := false
+ return &fkState
}
+ return nil
+}
- directives := commentedStatement.GetParsedComments().Directives()
- workloadName, _ := directives.GetString(DirectiveWorkloadName, "")
+// getPriority gets the priority from the provided Statement, using DirectivePriority
+func getPriority(directives *CommentDirectives) (string, error) {
+ priority, ok := directives.GetString(DirectivePriority, "")
+ if !ok || priority == "" {
+ return "", nil
+ }
- return workloadName
+ intPriority, err := strconv.Atoi(priority)
+ if err != nil || intPriority < 0 || intPriority > MaxPriorityValue {
+ return "", ErrInvalidPriority
+ }
+
+ return priority, nil
+}
+
+// getQueryTimeout gets the query timeout from the provided Statement, using DirectiveQueryTimeout
+func getQueryTimeout(directives *CommentDirectives) *int {
+ timeoutString, ok := directives.GetString(DirectiveQueryTimeout, "")
+ if !ok || timeoutString == "" {
+ return nil
+ }
+
+ timeout, err := strconv.Atoi(timeoutString)
+ if err != nil || timeout < 0 {
+ return nil
+ }
+ return &timeout
}
diff --git a/go/vt/sqlparser/comments_test.go b/go/vt/sqlparser/comments_test.go
index 42d02e35652..7f36645901c 100644
--- a/go/vt/sqlparser/comments_test.go
+++ b/go/vt/sqlparser/comments_test.go
@@ -474,8 +474,10 @@ func TestConsolidator(t *testing.T) {
for _, test := range testCases {
t.Run(test.query, func(t *testing.T) {
stmt, _ := parser.Parse(test.query)
- got := Consolidator(stmt)
- assert.Equalf(t, test.expected, got, fmt.Sprintf("Consolidator(stmt) returned %v but expected %v", got, test.expected))
+ qh, err := BuildQueryHints(stmt)
+ require.NoError(t, err)
+ assert.Equalf(t, test.expected, qh.Consolidator,
+ "Consolidator(stmt) returned %v but expected %v", qh.Consolidator, test.expected)
})
}
}
@@ -534,12 +536,12 @@ func TestGetPriorityFromStatement(t *testing.T) {
t.Parallel()
stmt, err := parser.Parse(testCase.query)
assert.NoError(t, err)
- actualPriority, actualError := GetPriorityFromStatement(stmt)
+ qh, err := BuildQueryHints(stmt)
if testCase.expectedError != nil {
- assert.ErrorIs(t, actualError, testCase.expectedError)
+ assert.ErrorIs(t, err, testCase.expectedError)
} else {
assert.NoError(t, err)
- assert.Equal(t, testCase.expectedPriority, actualPriority)
+ assert.Equal(t, testCase.expectedPriority, qh.Priority)
}
})
}
@@ -661,3 +663,38 @@ func TestSetMySQLSetVarValue(t *testing.T) {
})
}
}
+
+// TestQueryTimeout tests the extraction of Query_Timeout_MS from the comments.
+func TestQueryTimeout(t *testing.T) {
+ testCases := []struct {
+ query string
+ expTimeout int
+ noTimeout bool
+ }{{
+ query: "select * from a_table",
+ noTimeout: true,
+ }, {
+ query: "select /*vt+ QUERY_TIMEOUT_MS=21 */ * from another_table",
+ expTimeout: 21,
+ }, {
+ query: "select /*vt+ QUERY_TIMEOUT_MS=0 */ * from another_table",
+ expTimeout: 0,
+ }, {
+ query: "select /*vt+ PRIORITY=-42 */ * from another_table",
+ noTimeout: true,
+ }}
+
+ parser := NewTestParser()
+ for _, tc := range testCases {
+ t.Run(tc.query, func(t *testing.T) {
+ stmt, err := parser.Parse(tc.query)
+ assert.NoError(t, err)
+ qh, _ := BuildQueryHints(stmt)
+ if tc.noTimeout {
+ assert.Nil(t, qh.Timeout)
+ } else {
+ assert.Equal(t, tc.expTimeout, *qh.Timeout)
+ }
+ })
+ }
+}
diff --git a/go/vt/sqlparser/constants.go b/go/vt/sqlparser/constants.go
index fa243c88d86..34189b52380 100644
--- a/go/vt/sqlparser/constants.go
+++ b/go/vt/sqlparser/constants.go
@@ -276,6 +276,8 @@ const (
QueriesStr = "queries"
AllVExplainStr = "all"
PlanStr = "plan"
+ TraceStr = "trace"
+ KeysStr = "keys"
// Lock Types
ReadStr = "read"
@@ -846,6 +848,8 @@ const (
QueriesVExplainType VExplainType = iota
PlanVExplainType
AllVExplainType
+ TraceVExplainType
+ KeysVExplainType
)
// Constant for Enum Type - SelectIntoType
diff --git a/go/vt/sqlparser/goyacc/goyacc.go b/go/vt/sqlparser/goyacc/goyacc.go
index 51650b0891e..14ab8c2eed7 100644
--- a/go/vt/sqlparser/goyacc/goyacc.go
+++ b/go/vt/sqlparser/goyacc/goyacc.go
@@ -85,7 +85,7 @@ const (
ERRCODE = 8190
ACCEPTCODE = 8191
YYLEXUNK = 3
- TOKSTART = 4 //index of first defined token
+ TOKSTART = 4 // index of first defined token
)
// no, left, right, binary assoc.
@@ -617,7 +617,7 @@ outer:
}
j = chfind(2, tokname)
if j >= NTBASE {
- lerrorf(ruleline, "nonterminal "+nontrst[j-NTBASE].name+" illegal after %%prec")
+ lerrorf(ruleline, "nonterminal %s illegal after %%prec", nontrst[j-NTBASE].name)
}
levprd[nprod] = toklev[j]
t = gettok()
@@ -1730,7 +1730,7 @@ more:
}
if pempty[i] != OK {
fatfl = 0
- errorf("nonterminal " + nontrst[i].name + " never derives any token string")
+ errorf("nonterminal %s never derives any token string", nontrst[i].name)
}
}
@@ -2937,7 +2937,7 @@ func others() {
aryfil(temp1, nprod, 0)
//
- //yyr2 is the number of rules for each production
+ // yyr2 is the number of rules for each production
//
for i = 1; i < nprod; i++ {
temp1[i] = len(prdptr[i]) - 2
@@ -3276,7 +3276,7 @@ func getrune(f *bufio.Reader) rune {
if err != nil {
errorf("read error: %v", err)
}
- //fmt.Printf("rune = %v n=%v\n", string(c), n);
+ // fmt.Printf("rune = %v n=%v\n", string(c), n);
return c
}
@@ -3295,7 +3295,7 @@ func open(s string) *bufio.Reader {
if err != nil {
errorf("error opening %v: %v", s, err)
}
- //fmt.Printf("open %v\n", s);
+ // fmt.Printf("open %v\n", s);
return bufio.NewReader(fi)
}
@@ -3304,7 +3304,7 @@ func create(s string) *bufio.Writer {
if err != nil {
errorf("error creating %v: %v", s, err)
}
- //fmt.Printf("create %v mode %v\n", s);
+ // fmt.Printf("create %v mode %v\n", s);
return bufio.NewWriter(fo)
}
diff --git a/go/vt/sqlparser/keywords.go b/go/vt/sqlparser/keywords.go
index 54a5a06d84e..e32d7d0b72a 100644
--- a/go/vt/sqlparser/keywords.go
+++ b/go/vt/sqlparser/keywords.go
@@ -711,8 +711,10 @@ var keywords = []keyword{
{"tinyint", TINYINT},
{"tinytext", TINYTEXT},
{"to", TO},
+ {"trace", TRACE},
{"trailing", TRAILING},
{"transaction", TRANSACTION},
+ {"transactions", TRANSACTIONS},
{"tree", TREE},
{"traditional", TRADITIONAL},
{"trigger", TRIGGER},
@@ -729,6 +731,7 @@ var keywords = []keyword{
{"unique", UNIQUE},
{"unknown", UNKNOWN},
{"unlock", UNLOCK},
+ {"unresolved", UNRESOLVED},
{"unsigned", UNSIGNED},
{"unthrottle", UNTHROTTLE},
{"update", UPDATE},
diff --git a/go/vt/sqlparser/normalizer_test.go b/go/vt/sqlparser/normalizer_test.go
index c574b00832d..7919a321c91 100644
--- a/go/vt/sqlparser/normalizer_test.go
+++ b/go/vt/sqlparser/normalizer_test.go
@@ -230,6 +230,23 @@ func TestNormalize(t *testing.T) {
outbv: map[string]*querypb.BindVariable{
"v1": sqltypes.BitNumBindVariable([]byte("0b11")),
},
+ }, {
+ // json value in insert
+ in: "insert into t values ('{\"k\", \"v\"}')",
+ outstmt: "insert into t values (:bv1 /* VARCHAR */)",
+ outbv: map[string]*querypb.BindVariable{
+ "bv1": sqltypes.StringBindVariable("{\"k\", \"v\"}"),
+ },
+ }, {
+ // json function in insert
+ in: "insert into t values (JSON_OBJECT('_id', 27, 'name', 'carrot'))",
+ outstmt: "insert into t values (json_object(:bv1 /* VARCHAR */, :bv2 /* INT64 */, :bv3 /* VARCHAR */, :bv4 /* VARCHAR */))",
+ outbv: map[string]*querypb.BindVariable{
+ "bv1": sqltypes.StringBindVariable("_id"),
+ "bv2": sqltypes.Int64BindVariable(27),
+ "bv3": sqltypes.StringBindVariable("name"),
+ "bv4": sqltypes.StringBindVariable("carrot"),
+ },
}, {
// ORDER BY column_position
in: "select a, b from t order by 1 asc",
@@ -418,6 +435,13 @@ func TestNormalize(t *testing.T) {
"bv2": sqltypes.Int64BindVariable(2),
"bv3": sqltypes.TestBindVariable([]any{1, 2}),
},
+ }, {
+ in: "SELECT 1 WHERE (~ (1||0)) IS NULL",
+ outstmt: "select :bv1 /* INT64 */ from dual where ~(:bv1 /* INT64 */ or :bv2 /* INT64 */) is null",
+ outbv: map[string]*querypb.BindVariable{
+ "bv1": sqltypes.Int64BindVariable(1),
+ "bv2": sqltypes.Int64BindVariable(0),
+ },
}}
parser := NewTestParser()
for _, tc := range testcases {
@@ -508,6 +532,7 @@ func TestNormalizeOneCasae(t *testing.T) {
err = Normalize(tree, NewReservedVars("vtg", known), bv)
require.NoError(t, err)
normalizerOutput := String(tree)
+ require.EqualValues(t, testOne.output, normalizerOutput)
if normalizerOutput == "otheradmin" || normalizerOutput == "otherread" {
return
}
diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go
index 55a54b4a60a..1780344ab73 100644
--- a/go/vt/sqlparser/parse_test.go
+++ b/go/vt/sqlparser/parse_test.go
@@ -1785,6 +1785,12 @@ var (
}, {
input: `create index Indexes on b (col1)`,
output: "alter table b add key `Indexes` (col1)",
+ }, {
+ input: `create /*vt+ foo=1 */ index Indexes on b (col1)`,
+ output: "alter /*vt+ foo=1 */ table b add key `Indexes` (col1)",
+ }, {
+ input: `alter /*vt+ foo=1 */ table b add key Indexes (col1)`,
+ output: "alter /*vt+ foo=1 */ table b add key `Indexes` (col1)",
}, {
input: `create fulltext index Indexes on b (col1)`,
output: "alter table b add fulltext key `Indexes` (col1)",
@@ -2442,6 +2448,10 @@ var (
}, {
input: "show transaction status \"ks:-80:232323238342\"",
output: "show transaction status for 'ks:-80:232323238342'",
+ }, {
+ input: "show unresolved transactions",
+ }, {
+ input: "show unresolved transactions for ks",
}, {
input: "revert vitess_migration '9748c3b7_7fdb_11eb_ac2c_f875a4d24e90'",
}, {
@@ -2563,6 +2573,10 @@ var (
}, {
input: "vexplain select * from t",
output: "vexplain plan select * from t",
+ }, {
+ input: "vexplain trace select * from t",
+ }, {
+ input: "vexplain keys select * from t",
}, {
input: "explain analyze select * from t",
}, {
@@ -2793,12 +2807,12 @@ var (
}, {
input: "rollback",
}, {
- input: "create database /* simple */ test_db",
+ input: "create /* simple */ database test_db",
}, {
input: "create schema test_db",
output: "create database test_db",
}, {
- input: "create database /* simple */ if not exists test_db",
+ input: "create /* simple */ database if not exists test_db",
}, {
input: "create schema if not exists test_db",
output: "create database if not exists test_db",
diff --git a/go/vt/sqlparser/parsed_query.go b/go/vt/sqlparser/parsed_query.go
index a612e555ee8..491e7400988 100644
--- a/go/vt/sqlparser/parsed_query.go
+++ b/go/vt/sqlparser/parsed_query.go
@@ -101,7 +101,7 @@ func EncodeValue(buf *strings.Builder, value *querypb.BindVariable) {
sqltypes.ProtoToValue(bv).EncodeSQLStringBuilder(buf)
}
buf.WriteByte(')')
- case querypb.Type_JSON:
+ case querypb.Type_RAW:
v, _ := sqltypes.BindVariableToValue(value)
buf.Write(v.Raw())
default:
diff --git a/go/vt/sqlparser/parsed_query_test.go b/go/vt/sqlparser/parsed_query_test.go
index 8ade9d4d31c..19aa75bb1d6 100644
--- a/go/vt/sqlparser/parsed_query_test.go
+++ b/go/vt/sqlparser/parsed_query_test.go
@@ -81,6 +81,14 @@ func TestGenerateQuery(t *testing.T) {
"vals": sqltypes.TestBindVariable([]any{1, "aa"}),
},
output: "select * from a where id in (1, 'aa')",
+ }, {
+ desc: "json bindvar and raw bindvar",
+ query: "insert into t values (:v1, :v2)",
+ bindVars: map[string]*querypb.BindVariable{
+ "v1": sqltypes.ValueBindVariable(sqltypes.MakeTrusted(querypb.Type_JSON, []byte(`{"key": "value"}`))),
+ "v2": sqltypes.ValueBindVariable(sqltypes.MakeTrusted(querypb.Type_RAW, []byte(`json_object("k", "v")`))),
+ },
+ output: `insert into t values ('{"key": "value"}', json_object("k", "v"))`,
}, {
desc: "list bind vars 0 arguments",
query: "select * from a where id in ::vals",
@@ -139,20 +147,19 @@ func TestGenerateQuery(t *testing.T) {
parser := NewTestParser()
for _, tcase := range tcases {
- tree, err := parser.Parse(tcase.query)
- if err != nil {
- t.Errorf("parse failed for %s: %v", tcase.desc, err)
- continue
- }
- buf := NewTrackedBuffer(nil)
- buf.Myprintf("%v", tree)
- pq := buf.ParsedQuery()
- bytes, err := pq.GenerateQuery(tcase.bindVars, tcase.extras)
- if err != nil {
- assert.Equal(t, tcase.output, err.Error())
- } else {
- assert.Equal(t, tcase.output, string(bytes))
- }
+ t.Run(tcase.query, func(t *testing.T) {
+ tree, err := parser.Parse(tcase.query)
+ require.NoError(t, err)
+ buf := NewTrackedBuffer(nil)
+ buf.Myprintf("%v", tree)
+ pq := buf.ParsedQuery()
+ bytes, err := pq.GenerateQuery(tcase.bindVars, tcase.extras)
+ if err != nil {
+ assert.Equal(t, tcase.output, err.Error())
+ } else {
+ assert.Equal(t, tcase.output, bytes)
+ }
+ })
}
}
diff --git a/go/vt/sqlparser/precedence.go b/go/vt/sqlparser/precedence.go
index ec590b23f95..6df5e8e227e 100644
--- a/go/vt/sqlparser/precedence.go
+++ b/go/vt/sqlparser/precedence.go
@@ -38,7 +38,6 @@ const (
P14
P15
P16
- P17
)
// precedenceFor returns the precedence of an expression.
@@ -83,7 +82,7 @@ func precedenceFor(in Expr) Precendence {
switch node.Operator {
case UPlusOp, UMinusOp:
return P4
- case BangOp:
+ default:
return P3
}
}
diff --git a/go/vt/sqlparser/precedence_test.go b/go/vt/sqlparser/precedence_test.go
index 0d29d8b87e3..0a14df5a2c1 100644
--- a/go/vt/sqlparser/precedence_test.go
+++ b/go/vt/sqlparser/precedence_test.go
@@ -158,6 +158,7 @@ func TestParens(t *testing.T) {
{in: "(10 - 2) - 1", expected: "10 - 2 - 1"},
{in: "10 - (2 - 1)", expected: "10 - (2 - 1)"},
{in: "0 <=> (1 and 0)", expected: "0 <=> (1 and 0)"},
+ {in: "(~ (1||0)) IS NULL", expected: "~(1 or 0) is null"},
}
parser := NewTestParser()
diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go
index 12b9ff7013e..6892c5cc586 100644
--- a/go/vt/sqlparser/sql.go
+++ b/go/vt/sqlparser/sql.go
@@ -174,594 +174,597 @@ const BOTH = 57481
const LEADING = 57482
const TRAILING = 57483
const KILL = 57484
-const EMPTY_FROM_CLAUSE = 57485
-const LOWER_THAN_CHARSET = 57486
-const CHARSET = 57487
-const UNIQUE = 57488
-const KEY = 57489
-const EXPRESSION_PREC_SETTER = 57490
-const OR = 57491
-const XOR = 57492
-const AND = 57493
-const NOT = 57494
-const BETWEEN = 57495
-const CASE = 57496
-const WHEN = 57497
-const THEN = 57498
-const ELSE = 57499
-const END = 57500
-const LE = 57501
-const GE = 57502
-const NE = 57503
-const NULL_SAFE_EQUAL = 57504
-const IS = 57505
-const LIKE = 57506
-const REGEXP = 57507
-const RLIKE = 57508
-const IN = 57509
-const ASSIGNMENT_OPT = 57510
-const SHIFT_LEFT = 57511
-const SHIFT_RIGHT = 57512
-const DIV = 57513
-const MOD = 57514
-const UNARY = 57515
-const COLLATE = 57516
-const BINARY = 57517
-const UNDERSCORE_ARMSCII8 = 57518
-const UNDERSCORE_ASCII = 57519
-const UNDERSCORE_BIG5 = 57520
-const UNDERSCORE_BINARY = 57521
-const UNDERSCORE_CP1250 = 57522
-const UNDERSCORE_CP1251 = 57523
-const UNDERSCORE_CP1256 = 57524
-const UNDERSCORE_CP1257 = 57525
-const UNDERSCORE_CP850 = 57526
-const UNDERSCORE_CP852 = 57527
-const UNDERSCORE_CP866 = 57528
-const UNDERSCORE_CP932 = 57529
-const UNDERSCORE_DEC8 = 57530
-const UNDERSCORE_EUCJPMS = 57531
-const UNDERSCORE_EUCKR = 57532
-const UNDERSCORE_GB18030 = 57533
-const UNDERSCORE_GB2312 = 57534
-const UNDERSCORE_GBK = 57535
-const UNDERSCORE_GEOSTD8 = 57536
-const UNDERSCORE_GREEK = 57537
-const UNDERSCORE_HEBREW = 57538
-const UNDERSCORE_HP8 = 57539
-const UNDERSCORE_KEYBCS2 = 57540
-const UNDERSCORE_KOI8R = 57541
-const UNDERSCORE_KOI8U = 57542
-const UNDERSCORE_LATIN1 = 57543
-const UNDERSCORE_LATIN2 = 57544
-const UNDERSCORE_LATIN5 = 57545
-const UNDERSCORE_LATIN7 = 57546
-const UNDERSCORE_MACCE = 57547
-const UNDERSCORE_MACROMAN = 57548
-const UNDERSCORE_SJIS = 57549
-const UNDERSCORE_SWE7 = 57550
-const UNDERSCORE_TIS620 = 57551
-const UNDERSCORE_UCS2 = 57552
-const UNDERSCORE_UJIS = 57553
-const UNDERSCORE_UTF16 = 57554
-const UNDERSCORE_UTF16LE = 57555
-const UNDERSCORE_UTF32 = 57556
-const UNDERSCORE_UTF8 = 57557
-const UNDERSCORE_UTF8MB4 = 57558
-const UNDERSCORE_UTF8MB3 = 57559
-const INTERVAL = 57560
-const WINDOW_EXPR = 57561
-const JSON_EXTRACT_OP = 57562
-const JSON_UNQUOTE_EXTRACT_OP = 57563
-const CREATE = 57564
-const ALTER = 57565
-const DROP = 57566
-const RENAME = 57567
-const ANALYZE = 57568
-const ADD = 57569
-const FLUSH = 57570
-const CHANGE = 57571
-const MODIFY = 57572
-const DEALLOCATE = 57573
-const REVERT = 57574
-const QUERIES = 57575
-const SCHEMA = 57576
-const TABLE = 57577
-const INDEX = 57578
-const VIEW = 57579
-const TO = 57580
-const IGNORE = 57581
-const IF = 57582
-const PRIMARY = 57583
-const COLUMN = 57584
-const SPATIAL = 57585
-const FULLTEXT = 57586
-const KEY_BLOCK_SIZE = 57587
-const CHECK = 57588
-const INDEXES = 57589
-const ACTION = 57590
-const CASCADE = 57591
-const CONSTRAINT = 57592
-const FOREIGN = 57593
-const NO = 57594
-const REFERENCES = 57595
-const RESTRICT = 57596
-const SHOW = 57597
-const DESCRIBE = 57598
-const EXPLAIN = 57599
-const DATE = 57600
-const ESCAPE = 57601
-const REPAIR = 57602
-const OPTIMIZE = 57603
-const TRUNCATE = 57604
-const COALESCE = 57605
-const EXCHANGE = 57606
-const REBUILD = 57607
-const PARTITIONING = 57608
-const REMOVE = 57609
-const PREPARE = 57610
-const EXECUTE = 57611
-const MAXVALUE = 57612
-const PARTITION = 57613
-const REORGANIZE = 57614
-const LESS = 57615
-const THAN = 57616
-const PROCEDURE = 57617
-const TRIGGER = 57618
-const VINDEX = 57619
-const VINDEXES = 57620
-const DIRECTORY = 57621
-const NAME = 57622
-const UPGRADE = 57623
-const STATUS = 57624
-const VARIABLES = 57625
-const WARNINGS = 57626
-const CASCADED = 57627
-const DEFINER = 57628
-const OPTION = 57629
-const SQL = 57630
-const UNDEFINED = 57631
-const SEQUENCE = 57632
-const MERGE = 57633
-const TEMPORARY = 57634
-const TEMPTABLE = 57635
-const INVOKER = 57636
-const SECURITY = 57637
-const FIRST = 57638
-const AFTER = 57639
-const LAST = 57640
-const VITESS_MIGRATION = 57641
-const CANCEL = 57642
-const RETRY = 57643
-const LAUNCH = 57644
-const COMPLETE = 57645
-const CLEANUP = 57646
-const THROTTLE = 57647
-const UNTHROTTLE = 57648
-const FORCE_CUTOVER = 57649
-const EXPIRE = 57650
-const RATIO = 57651
-const VITESS_THROTTLER = 57652
-const BEGIN = 57653
-const START = 57654
-const TRANSACTION = 57655
-const COMMIT = 57656
-const ROLLBACK = 57657
-const SAVEPOINT = 57658
-const RELEASE = 57659
-const WORK = 57660
-const CONSISTENT = 57661
-const SNAPSHOT = 57662
-const BIT = 57663
-const TINYINT = 57664
-const SMALLINT = 57665
-const MEDIUMINT = 57666
-const INT = 57667
-const INTEGER = 57668
-const BIGINT = 57669
-const INTNUM = 57670
-const REAL = 57671
-const DOUBLE = 57672
-const FLOAT_TYPE = 57673
-const FLOAT4_TYPE = 57674
-const FLOAT8_TYPE = 57675
-const DECIMAL_TYPE = 57676
-const NUMERIC = 57677
-const TIME = 57678
-const TIMESTAMP = 57679
-const DATETIME = 57680
-const YEAR = 57681
-const CHAR = 57682
-const VARCHAR = 57683
-const BOOL = 57684
-const CHARACTER = 57685
-const VARBINARY = 57686
-const NCHAR = 57687
-const TEXT = 57688
-const TINYTEXT = 57689
-const MEDIUMTEXT = 57690
-const LONGTEXT = 57691
-const BLOB = 57692
-const TINYBLOB = 57693
-const MEDIUMBLOB = 57694
-const LONGBLOB = 57695
-const JSON = 57696
-const JSON_SCHEMA_VALID = 57697
-const JSON_SCHEMA_VALIDATION_REPORT = 57698
-const ENUM = 57699
-const GEOMETRY = 57700
-const POINT = 57701
-const LINESTRING = 57702
-const POLYGON = 57703
-const GEOMCOLLECTION = 57704
-const GEOMETRYCOLLECTION = 57705
-const MULTIPOINT = 57706
-const MULTILINESTRING = 57707
-const MULTIPOLYGON = 57708
-const ASCII = 57709
-const UNICODE = 57710
-const VECTOR = 57711
-const NULLX = 57712
-const AUTO_INCREMENT = 57713
-const APPROXNUM = 57714
-const SIGNED = 57715
-const UNSIGNED = 57716
-const ZEROFILL = 57717
-const PURGE = 57718
-const BEFORE = 57719
-const CODE = 57720
-const COLLATION = 57721
-const COLUMNS = 57722
-const DATABASES = 57723
-const ENGINES = 57724
-const EVENT = 57725
-const EXTENDED = 57726
-const FIELDS = 57727
-const FULL = 57728
-const FUNCTION = 57729
-const GTID_EXECUTED = 57730
-const KEYSPACES = 57731
-const OPEN = 57732
-const PLUGINS = 57733
-const PRIVILEGES = 57734
-const PROCESSLIST = 57735
-const SCHEMAS = 57736
-const TABLES = 57737
-const TRIGGERS = 57738
-const USER = 57739
-const VGTID_EXECUTED = 57740
-const VITESS_KEYSPACES = 57741
-const VITESS_METADATA = 57742
-const VITESS_MIGRATIONS = 57743
-const VITESS_REPLICATION_STATUS = 57744
-const VITESS_SHARDS = 57745
-const VITESS_TABLETS = 57746
-const VITESS_TARGET = 57747
-const VSCHEMA = 57748
-const VITESS_THROTTLED_APPS = 57749
-const NAMES = 57750
-const GLOBAL = 57751
-const SESSION = 57752
-const ISOLATION = 57753
-const LEVEL = 57754
-const READ = 57755
-const WRITE = 57756
-const ONLY = 57757
-const REPEATABLE = 57758
-const COMMITTED = 57759
-const UNCOMMITTED = 57760
-const SERIALIZABLE = 57761
-const ADDDATE = 57762
-const CURRENT_TIMESTAMP = 57763
-const DATABASE = 57764
-const CURRENT_DATE = 57765
-const CURDATE = 57766
-const DATE_ADD = 57767
-const DATE_SUB = 57768
-const NOW = 57769
-const SUBDATE = 57770
-const CURTIME = 57771
-const CURRENT_TIME = 57772
-const LOCALTIME = 57773
-const LOCALTIMESTAMP = 57774
-const CURRENT_USER = 57775
-const UTC_DATE = 57776
-const UTC_TIME = 57777
-const UTC_TIMESTAMP = 57778
-const SYSDATE = 57779
-const DAY = 57780
-const DAY_HOUR = 57781
-const DAY_MICROSECOND = 57782
-const DAY_MINUTE = 57783
-const DAY_SECOND = 57784
-const HOUR = 57785
-const HOUR_MICROSECOND = 57786
-const HOUR_MINUTE = 57787
-const HOUR_SECOND = 57788
-const MICROSECOND = 57789
-const MINUTE = 57790
-const MINUTE_MICROSECOND = 57791
-const MINUTE_SECOND = 57792
-const MONTH = 57793
-const QUARTER = 57794
-const SECOND = 57795
-const SECOND_MICROSECOND = 57796
-const YEAR_MONTH = 57797
-const WEEK = 57798
-const SQL_TSI_DAY = 57799
-const SQL_TSI_WEEK = 57800
-const SQL_TSI_HOUR = 57801
-const SQL_TSI_MINUTE = 57802
-const SQL_TSI_MONTH = 57803
-const SQL_TSI_QUARTER = 57804
-const SQL_TSI_SECOND = 57805
-const SQL_TSI_MICROSECOND = 57806
-const SQL_TSI_YEAR = 57807
-const REPLACE = 57808
-const CONVERT = 57809
-const CAST = 57810
-const SUBSTR = 57811
-const SUBSTRING = 57812
-const MID = 57813
-const SEPARATOR = 57814
-const TIMESTAMPADD = 57815
-const TIMESTAMPDIFF = 57816
-const WEIGHT_STRING = 57817
-const LTRIM = 57818
-const RTRIM = 57819
-const TRIM = 57820
-const JSON_ARRAY = 57821
-const JSON_OBJECT = 57822
-const JSON_QUOTE = 57823
-const JSON_DEPTH = 57824
-const JSON_TYPE = 57825
-const JSON_LENGTH = 57826
-const JSON_VALID = 57827
-const JSON_ARRAY_APPEND = 57828
-const JSON_ARRAY_INSERT = 57829
-const JSON_INSERT = 57830
-const JSON_MERGE = 57831
-const JSON_MERGE_PATCH = 57832
-const JSON_MERGE_PRESERVE = 57833
-const JSON_REMOVE = 57834
-const JSON_REPLACE = 57835
-const JSON_SET = 57836
-const JSON_UNQUOTE = 57837
-const COUNT = 57838
-const AVG = 57839
-const MAX = 57840
-const MIN = 57841
-const SUM = 57842
-const GROUP_CONCAT = 57843
-const BIT_AND = 57844
-const BIT_OR = 57845
-const BIT_XOR = 57846
-const STD = 57847
-const STDDEV = 57848
-const STDDEV_POP = 57849
-const STDDEV_SAMP = 57850
-const VAR_POP = 57851
-const VAR_SAMP = 57852
-const VARIANCE = 57853
-const ANY_VALUE = 57854
-const REGEXP_INSTR = 57855
-const REGEXP_LIKE = 57856
-const REGEXP_REPLACE = 57857
-const REGEXP_SUBSTR = 57858
-const ExtractValue = 57859
-const UpdateXML = 57860
-const GET_LOCK = 57861
-const RELEASE_LOCK = 57862
-const RELEASE_ALL_LOCKS = 57863
-const IS_FREE_LOCK = 57864
-const IS_USED_LOCK = 57865
-const LOCATE = 57866
-const POSITION = 57867
-const ST_GeometryCollectionFromText = 57868
-const ST_GeometryFromText = 57869
-const ST_LineStringFromText = 57870
-const ST_MultiLineStringFromText = 57871
-const ST_MultiPointFromText = 57872
-const ST_MultiPolygonFromText = 57873
-const ST_PointFromText = 57874
-const ST_PolygonFromText = 57875
-const ST_GeometryCollectionFromWKB = 57876
-const ST_GeometryFromWKB = 57877
-const ST_LineStringFromWKB = 57878
-const ST_MultiLineStringFromWKB = 57879
-const ST_MultiPointFromWKB = 57880
-const ST_MultiPolygonFromWKB = 57881
-const ST_PointFromWKB = 57882
-const ST_PolygonFromWKB = 57883
-const ST_AsBinary = 57884
-const ST_AsText = 57885
-const ST_Dimension = 57886
-const ST_Envelope = 57887
-const ST_IsSimple = 57888
-const ST_IsEmpty = 57889
-const ST_GeometryType = 57890
-const ST_X = 57891
-const ST_Y = 57892
-const ST_Latitude = 57893
-const ST_Longitude = 57894
-const ST_EndPoint = 57895
-const ST_IsClosed = 57896
-const ST_Length = 57897
-const ST_NumPoints = 57898
-const ST_StartPoint = 57899
-const ST_PointN = 57900
-const ST_Area = 57901
-const ST_Centroid = 57902
-const ST_ExteriorRing = 57903
-const ST_InteriorRingN = 57904
-const ST_NumInteriorRings = 57905
-const ST_NumGeometries = 57906
-const ST_GeometryN = 57907
-const ST_LongFromGeoHash = 57908
-const ST_PointFromGeoHash = 57909
-const ST_LatFromGeoHash = 57910
-const ST_GeoHash = 57911
-const ST_AsGeoJSON = 57912
-const ST_GeomFromGeoJSON = 57913
-const MATCH = 57914
-const AGAINST = 57915
-const BOOLEAN = 57916
-const LANGUAGE = 57917
-const WITH = 57918
-const QUERY = 57919
-const EXPANSION = 57920
-const WITHOUT = 57921
-const VALIDATION = 57922
-const ROLLUP = 57923
-const UNUSED = 57924
-const ARRAY = 57925
-const BYTE = 57926
-const CUME_DIST = 57927
-const DESCRIPTION = 57928
-const DENSE_RANK = 57929
-const EMPTY = 57930
-const EXCEPT = 57931
-const FIRST_VALUE = 57932
-const GROUPING = 57933
-const GROUPS = 57934
-const JSON_TABLE = 57935
-const LAG = 57936
-const LAST_VALUE = 57937
-const LATERAL = 57938
-const LEAD = 57939
-const NTH_VALUE = 57940
-const NTILE = 57941
-const OF = 57942
-const OVER = 57943
-const PERCENT_RANK = 57944
-const RANK = 57945
-const RECURSIVE = 57946
-const ROW_NUMBER = 57947
-const SYSTEM = 57948
-const WINDOW = 57949
-const ACTIVE = 57950
-const ADMIN = 57951
-const AUTOEXTEND_SIZE = 57952
-const BUCKETS = 57953
-const CLONE = 57954
-const COLUMN_FORMAT = 57955
-const COMPONENT = 57956
-const DEFINITION = 57957
-const ENFORCED = 57958
-const ENGINE_ATTRIBUTE = 57959
-const EXCLUDE = 57960
-const FOLLOWING = 57961
-const GET_MASTER_PUBLIC_KEY = 57962
-const HISTOGRAM = 57963
-const HISTORY = 57964
-const INACTIVE = 57965
-const INVISIBLE = 57966
-const LOCKED = 57967
-const MASTER_COMPRESSION_ALGORITHMS = 57968
-const MASTER_PUBLIC_KEY_PATH = 57969
-const MASTER_TLS_CIPHERSUITES = 57970
-const MASTER_ZSTD_COMPRESSION_LEVEL = 57971
-const NESTED = 57972
-const NETWORK_NAMESPACE = 57973
-const NOWAIT = 57974
-const NULLS = 57975
-const OJ = 57976
-const OLD = 57977
-const OPTIONAL = 57978
-const ORDINALITY = 57979
-const ORGANIZATION = 57980
-const OTHERS = 57981
-const PARTIAL = 57982
-const PATH = 57983
-const PERSIST = 57984
-const PERSIST_ONLY = 57985
-const PRECEDING = 57986
-const PRIVILEGE_CHECKS_USER = 57987
-const PROCESS = 57988
-const RANDOM = 57989
-const REFERENCE = 57990
-const REQUIRE_ROW_FORMAT = 57991
-const RESOURCE = 57992
-const RESPECT = 57993
-const RESTART = 57994
-const RETAIN = 57995
-const REUSE = 57996
-const ROLE = 57997
-const SECONDARY = 57998
-const SECONDARY_ENGINE = 57999
-const SECONDARY_ENGINE_ATTRIBUTE = 58000
-const SECONDARY_LOAD = 58001
-const SECONDARY_UNLOAD = 58002
-const SIMPLE = 58003
-const SKIP = 58004
-const SRID = 58005
-const THREAD_PRIORITY = 58006
-const TIES = 58007
-const UNBOUNDED = 58008
-const VCPU = 58009
-const VISIBLE = 58010
-const RETURNING = 58011
-const FORMAT_BYTES = 58012
-const FORMAT_PICO_TIME = 58013
-const PS_CURRENT_THREAD_ID = 58014
-const PS_THREAD_ID = 58015
-const GTID_SUBSET = 58016
-const GTID_SUBTRACT = 58017
-const WAIT_FOR_EXECUTED_GTID_SET = 58018
-const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 58019
-const FORMAT = 58020
-const TREE = 58021
-const VITESS = 58022
-const TRADITIONAL = 58023
-const VTEXPLAIN = 58024
-const VEXPLAIN = 58025
-const PLAN = 58026
-const LOCAL = 58027
-const LOW_PRIORITY = 58028
-const NO_WRITE_TO_BINLOG = 58029
-const LOGS = 58030
-const ERROR = 58031
-const GENERAL = 58032
-const HOSTS = 58033
-const OPTIMIZER_COSTS = 58034
-const USER_RESOURCES = 58035
-const SLOW = 58036
-const CHANNEL = 58037
-const RELAY = 58038
-const EXPORT = 58039
-const CURRENT = 58040
-const ROW = 58041
-const ROWS = 58042
-const AVG_ROW_LENGTH = 58043
-const CONNECTION = 58044
-const CHECKSUM = 58045
-const DELAY_KEY_WRITE = 58046
-const ENCRYPTION = 58047
-const ENGINE = 58048
-const INSERT_METHOD = 58049
-const MAX_ROWS = 58050
-const MIN_ROWS = 58051
-const PACK_KEYS = 58052
-const PASSWORD = 58053
-const FIXED = 58054
-const DYNAMIC = 58055
-const COMPRESSED = 58056
-const REDUNDANT = 58057
-const COMPACT = 58058
-const ROW_FORMAT = 58059
-const STATS_AUTO_RECALC = 58060
-const STATS_PERSISTENT = 58061
-const STATS_SAMPLE_PAGES = 58062
-const STORAGE = 58063
-const MEMORY = 58064
-const DISK = 58065
-const PARTITIONS = 58066
-const LINEAR = 58067
-const RANGE = 58068
-const LIST = 58069
-const SUBPARTITION = 58070
-const SUBPARTITIONS = 58071
-const HASH = 58072
+const TRACE = 57485
+const EMPTY_FROM_CLAUSE = 57486
+const LOWER_THAN_CHARSET = 57487
+const CHARSET = 57488
+const UNIQUE = 57489
+const KEY = 57490
+const EXPRESSION_PREC_SETTER = 57491
+const OR = 57492
+const XOR = 57493
+const AND = 57494
+const NOT = 57495
+const BETWEEN = 57496
+const CASE = 57497
+const WHEN = 57498
+const THEN = 57499
+const ELSE = 57500
+const END = 57501
+const LE = 57502
+const GE = 57503
+const NE = 57504
+const NULL_SAFE_EQUAL = 57505
+const IS = 57506
+const LIKE = 57507
+const REGEXP = 57508
+const RLIKE = 57509
+const IN = 57510
+const ASSIGNMENT_OPT = 57511
+const SHIFT_LEFT = 57512
+const SHIFT_RIGHT = 57513
+const DIV = 57514
+const MOD = 57515
+const UNARY = 57516
+const COLLATE = 57517
+const BINARY = 57518
+const UNDERSCORE_ARMSCII8 = 57519
+const UNDERSCORE_ASCII = 57520
+const UNDERSCORE_BIG5 = 57521
+const UNDERSCORE_BINARY = 57522
+const UNDERSCORE_CP1250 = 57523
+const UNDERSCORE_CP1251 = 57524
+const UNDERSCORE_CP1256 = 57525
+const UNDERSCORE_CP1257 = 57526
+const UNDERSCORE_CP850 = 57527
+const UNDERSCORE_CP852 = 57528
+const UNDERSCORE_CP866 = 57529
+const UNDERSCORE_CP932 = 57530
+const UNDERSCORE_DEC8 = 57531
+const UNDERSCORE_EUCJPMS = 57532
+const UNDERSCORE_EUCKR = 57533
+const UNDERSCORE_GB18030 = 57534
+const UNDERSCORE_GB2312 = 57535
+const UNDERSCORE_GBK = 57536
+const UNDERSCORE_GEOSTD8 = 57537
+const UNDERSCORE_GREEK = 57538
+const UNDERSCORE_HEBREW = 57539
+const UNDERSCORE_HP8 = 57540
+const UNDERSCORE_KEYBCS2 = 57541
+const UNDERSCORE_KOI8R = 57542
+const UNDERSCORE_KOI8U = 57543
+const UNDERSCORE_LATIN1 = 57544
+const UNDERSCORE_LATIN2 = 57545
+const UNDERSCORE_LATIN5 = 57546
+const UNDERSCORE_LATIN7 = 57547
+const UNDERSCORE_MACCE = 57548
+const UNDERSCORE_MACROMAN = 57549
+const UNDERSCORE_SJIS = 57550
+const UNDERSCORE_SWE7 = 57551
+const UNDERSCORE_TIS620 = 57552
+const UNDERSCORE_UCS2 = 57553
+const UNDERSCORE_UJIS = 57554
+const UNDERSCORE_UTF16 = 57555
+const UNDERSCORE_UTF16LE = 57556
+const UNDERSCORE_UTF32 = 57557
+const UNDERSCORE_UTF8 = 57558
+const UNDERSCORE_UTF8MB4 = 57559
+const UNDERSCORE_UTF8MB3 = 57560
+const INTERVAL = 57561
+const WINDOW_EXPR = 57562
+const JSON_EXTRACT_OP = 57563
+const JSON_UNQUOTE_EXTRACT_OP = 57564
+const CREATE = 57565
+const ALTER = 57566
+const DROP = 57567
+const RENAME = 57568
+const ANALYZE = 57569
+const ADD = 57570
+const FLUSH = 57571
+const CHANGE = 57572
+const MODIFY = 57573
+const DEALLOCATE = 57574
+const REVERT = 57575
+const QUERIES = 57576
+const SCHEMA = 57577
+const TABLE = 57578
+const INDEX = 57579
+const VIEW = 57580
+const TO = 57581
+const IGNORE = 57582
+const IF = 57583
+const PRIMARY = 57584
+const COLUMN = 57585
+const SPATIAL = 57586
+const FULLTEXT = 57587
+const KEY_BLOCK_SIZE = 57588
+const CHECK = 57589
+const INDEXES = 57590
+const ACTION = 57591
+const CASCADE = 57592
+const CONSTRAINT = 57593
+const FOREIGN = 57594
+const NO = 57595
+const REFERENCES = 57596
+const RESTRICT = 57597
+const SHOW = 57598
+const DESCRIBE = 57599
+const EXPLAIN = 57600
+const DATE = 57601
+const ESCAPE = 57602
+const REPAIR = 57603
+const OPTIMIZE = 57604
+const TRUNCATE = 57605
+const COALESCE = 57606
+const EXCHANGE = 57607
+const REBUILD = 57608
+const PARTITIONING = 57609
+const REMOVE = 57610
+const PREPARE = 57611
+const EXECUTE = 57612
+const MAXVALUE = 57613
+const PARTITION = 57614
+const REORGANIZE = 57615
+const LESS = 57616
+const THAN = 57617
+const PROCEDURE = 57618
+const TRIGGER = 57619
+const VINDEX = 57620
+const VINDEXES = 57621
+const DIRECTORY = 57622
+const NAME = 57623
+const UPGRADE = 57624
+const STATUS = 57625
+const VARIABLES = 57626
+const WARNINGS = 57627
+const CASCADED = 57628
+const DEFINER = 57629
+const OPTION = 57630
+const SQL = 57631
+const UNDEFINED = 57632
+const SEQUENCE = 57633
+const MERGE = 57634
+const TEMPORARY = 57635
+const TEMPTABLE = 57636
+const INVOKER = 57637
+const SECURITY = 57638
+const FIRST = 57639
+const AFTER = 57640
+const LAST = 57641
+const VITESS_MIGRATION = 57642
+const CANCEL = 57643
+const RETRY = 57644
+const LAUNCH = 57645
+const COMPLETE = 57646
+const CLEANUP = 57647
+const THROTTLE = 57648
+const UNTHROTTLE = 57649
+const FORCE_CUTOVER = 57650
+const EXPIRE = 57651
+const RATIO = 57652
+const VITESS_THROTTLER = 57653
+const BEGIN = 57654
+const START = 57655
+const TRANSACTION = 57656
+const COMMIT = 57657
+const ROLLBACK = 57658
+const SAVEPOINT = 57659
+const RELEASE = 57660
+const WORK = 57661
+const CONSISTENT = 57662
+const SNAPSHOT = 57663
+const UNRESOLVED = 57664
+const TRANSACTIONS = 57665
+const BIT = 57666
+const TINYINT = 57667
+const SMALLINT = 57668
+const MEDIUMINT = 57669
+const INT = 57670
+const INTEGER = 57671
+const BIGINT = 57672
+const INTNUM = 57673
+const REAL = 57674
+const DOUBLE = 57675
+const FLOAT_TYPE = 57676
+const FLOAT4_TYPE = 57677
+const FLOAT8_TYPE = 57678
+const DECIMAL_TYPE = 57679
+const NUMERIC = 57680
+const TIME = 57681
+const TIMESTAMP = 57682
+const DATETIME = 57683
+const YEAR = 57684
+const CHAR = 57685
+const VARCHAR = 57686
+const BOOL = 57687
+const CHARACTER = 57688
+const VARBINARY = 57689
+const NCHAR = 57690
+const TEXT = 57691
+const TINYTEXT = 57692
+const MEDIUMTEXT = 57693
+const LONGTEXT = 57694
+const BLOB = 57695
+const TINYBLOB = 57696
+const MEDIUMBLOB = 57697
+const LONGBLOB = 57698
+const JSON = 57699
+const JSON_SCHEMA_VALID = 57700
+const JSON_SCHEMA_VALIDATION_REPORT = 57701
+const ENUM = 57702
+const GEOMETRY = 57703
+const POINT = 57704
+const LINESTRING = 57705
+const POLYGON = 57706
+const GEOMCOLLECTION = 57707
+const GEOMETRYCOLLECTION = 57708
+const MULTIPOINT = 57709
+const MULTILINESTRING = 57710
+const MULTIPOLYGON = 57711
+const ASCII = 57712
+const UNICODE = 57713
+const VECTOR = 57714
+const NULLX = 57715
+const AUTO_INCREMENT = 57716
+const APPROXNUM = 57717
+const SIGNED = 57718
+const UNSIGNED = 57719
+const ZEROFILL = 57720
+const PURGE = 57721
+const BEFORE = 57722
+const CODE = 57723
+const COLLATION = 57724
+const COLUMNS = 57725
+const DATABASES = 57726
+const ENGINES = 57727
+const EVENT = 57728
+const EXTENDED = 57729
+const FIELDS = 57730
+const FULL = 57731
+const FUNCTION = 57732
+const GTID_EXECUTED = 57733
+const KEYSPACES = 57734
+const OPEN = 57735
+const PLUGINS = 57736
+const PRIVILEGES = 57737
+const PROCESSLIST = 57738
+const SCHEMAS = 57739
+const TABLES = 57740
+const TRIGGERS = 57741
+const USER = 57742
+const VGTID_EXECUTED = 57743
+const VITESS_KEYSPACES = 57744
+const VITESS_METADATA = 57745
+const VITESS_MIGRATIONS = 57746
+const VITESS_REPLICATION_STATUS = 57747
+const VITESS_SHARDS = 57748
+const VITESS_TABLETS = 57749
+const VITESS_TARGET = 57750
+const VSCHEMA = 57751
+const VITESS_THROTTLED_APPS = 57752
+const NAMES = 57753
+const GLOBAL = 57754
+const SESSION = 57755
+const ISOLATION = 57756
+const LEVEL = 57757
+const READ = 57758
+const WRITE = 57759
+const ONLY = 57760
+const REPEATABLE = 57761
+const COMMITTED = 57762
+const UNCOMMITTED = 57763
+const SERIALIZABLE = 57764
+const ADDDATE = 57765
+const CURRENT_TIMESTAMP = 57766
+const DATABASE = 57767
+const CURRENT_DATE = 57768
+const CURDATE = 57769
+const DATE_ADD = 57770
+const DATE_SUB = 57771
+const NOW = 57772
+const SUBDATE = 57773
+const CURTIME = 57774
+const CURRENT_TIME = 57775
+const LOCALTIME = 57776
+const LOCALTIMESTAMP = 57777
+const CURRENT_USER = 57778
+const UTC_DATE = 57779
+const UTC_TIME = 57780
+const UTC_TIMESTAMP = 57781
+const SYSDATE = 57782
+const DAY = 57783
+const DAY_HOUR = 57784
+const DAY_MICROSECOND = 57785
+const DAY_MINUTE = 57786
+const DAY_SECOND = 57787
+const HOUR = 57788
+const HOUR_MICROSECOND = 57789
+const HOUR_MINUTE = 57790
+const HOUR_SECOND = 57791
+const MICROSECOND = 57792
+const MINUTE = 57793
+const MINUTE_MICROSECOND = 57794
+const MINUTE_SECOND = 57795
+const MONTH = 57796
+const QUARTER = 57797
+const SECOND = 57798
+const SECOND_MICROSECOND = 57799
+const YEAR_MONTH = 57800
+const WEEK = 57801
+const SQL_TSI_DAY = 57802
+const SQL_TSI_WEEK = 57803
+const SQL_TSI_HOUR = 57804
+const SQL_TSI_MINUTE = 57805
+const SQL_TSI_MONTH = 57806
+const SQL_TSI_QUARTER = 57807
+const SQL_TSI_SECOND = 57808
+const SQL_TSI_MICROSECOND = 57809
+const SQL_TSI_YEAR = 57810
+const REPLACE = 57811
+const CONVERT = 57812
+const CAST = 57813
+const SUBSTR = 57814
+const SUBSTRING = 57815
+const MID = 57816
+const SEPARATOR = 57817
+const TIMESTAMPADD = 57818
+const TIMESTAMPDIFF = 57819
+const WEIGHT_STRING = 57820
+const LTRIM = 57821
+const RTRIM = 57822
+const TRIM = 57823
+const JSON_ARRAY = 57824
+const JSON_OBJECT = 57825
+const JSON_QUOTE = 57826
+const JSON_DEPTH = 57827
+const JSON_TYPE = 57828
+const JSON_LENGTH = 57829
+const JSON_VALID = 57830
+const JSON_ARRAY_APPEND = 57831
+const JSON_ARRAY_INSERT = 57832
+const JSON_INSERT = 57833
+const JSON_MERGE = 57834
+const JSON_MERGE_PATCH = 57835
+const JSON_MERGE_PRESERVE = 57836
+const JSON_REMOVE = 57837
+const JSON_REPLACE = 57838
+const JSON_SET = 57839
+const JSON_UNQUOTE = 57840
+const COUNT = 57841
+const AVG = 57842
+const MAX = 57843
+const MIN = 57844
+const SUM = 57845
+const GROUP_CONCAT = 57846
+const BIT_AND = 57847
+const BIT_OR = 57848
+const BIT_XOR = 57849
+const STD = 57850
+const STDDEV = 57851
+const STDDEV_POP = 57852
+const STDDEV_SAMP = 57853
+const VAR_POP = 57854
+const VAR_SAMP = 57855
+const VARIANCE = 57856
+const ANY_VALUE = 57857
+const REGEXP_INSTR = 57858
+const REGEXP_LIKE = 57859
+const REGEXP_REPLACE = 57860
+const REGEXP_SUBSTR = 57861
+const ExtractValue = 57862
+const UpdateXML = 57863
+const GET_LOCK = 57864
+const RELEASE_LOCK = 57865
+const RELEASE_ALL_LOCKS = 57866
+const IS_FREE_LOCK = 57867
+const IS_USED_LOCK = 57868
+const LOCATE = 57869
+const POSITION = 57870
+const ST_GeometryCollectionFromText = 57871
+const ST_GeometryFromText = 57872
+const ST_LineStringFromText = 57873
+const ST_MultiLineStringFromText = 57874
+const ST_MultiPointFromText = 57875
+const ST_MultiPolygonFromText = 57876
+const ST_PointFromText = 57877
+const ST_PolygonFromText = 57878
+const ST_GeometryCollectionFromWKB = 57879
+const ST_GeometryFromWKB = 57880
+const ST_LineStringFromWKB = 57881
+const ST_MultiLineStringFromWKB = 57882
+const ST_MultiPointFromWKB = 57883
+const ST_MultiPolygonFromWKB = 57884
+const ST_PointFromWKB = 57885
+const ST_PolygonFromWKB = 57886
+const ST_AsBinary = 57887
+const ST_AsText = 57888
+const ST_Dimension = 57889
+const ST_Envelope = 57890
+const ST_IsSimple = 57891
+const ST_IsEmpty = 57892
+const ST_GeometryType = 57893
+const ST_X = 57894
+const ST_Y = 57895
+const ST_Latitude = 57896
+const ST_Longitude = 57897
+const ST_EndPoint = 57898
+const ST_IsClosed = 57899
+const ST_Length = 57900
+const ST_NumPoints = 57901
+const ST_StartPoint = 57902
+const ST_PointN = 57903
+const ST_Area = 57904
+const ST_Centroid = 57905
+const ST_ExteriorRing = 57906
+const ST_InteriorRingN = 57907
+const ST_NumInteriorRings = 57908
+const ST_NumGeometries = 57909
+const ST_GeometryN = 57910
+const ST_LongFromGeoHash = 57911
+const ST_PointFromGeoHash = 57912
+const ST_LatFromGeoHash = 57913
+const ST_GeoHash = 57914
+const ST_AsGeoJSON = 57915
+const ST_GeomFromGeoJSON = 57916
+const MATCH = 57917
+const AGAINST = 57918
+const BOOLEAN = 57919
+const LANGUAGE = 57920
+const WITH = 57921
+const QUERY = 57922
+const EXPANSION = 57923
+const WITHOUT = 57924
+const VALIDATION = 57925
+const ROLLUP = 57926
+const UNUSED = 57927
+const ARRAY = 57928
+const BYTE = 57929
+const CUME_DIST = 57930
+const DESCRIPTION = 57931
+const DENSE_RANK = 57932
+const EMPTY = 57933
+const EXCEPT = 57934
+const FIRST_VALUE = 57935
+const GROUPING = 57936
+const GROUPS = 57937
+const JSON_TABLE = 57938
+const LAG = 57939
+const LAST_VALUE = 57940
+const LATERAL = 57941
+const LEAD = 57942
+const NTH_VALUE = 57943
+const NTILE = 57944
+const OF = 57945
+const OVER = 57946
+const PERCENT_RANK = 57947
+const RANK = 57948
+const RECURSIVE = 57949
+const ROW_NUMBER = 57950
+const SYSTEM = 57951
+const WINDOW = 57952
+const ACTIVE = 57953
+const ADMIN = 57954
+const AUTOEXTEND_SIZE = 57955
+const BUCKETS = 57956
+const CLONE = 57957
+const COLUMN_FORMAT = 57958
+const COMPONENT = 57959
+const DEFINITION = 57960
+const ENFORCED = 57961
+const ENGINE_ATTRIBUTE = 57962
+const EXCLUDE = 57963
+const FOLLOWING = 57964
+const GET_MASTER_PUBLIC_KEY = 57965
+const HISTOGRAM = 57966
+const HISTORY = 57967
+const INACTIVE = 57968
+const INVISIBLE = 57969
+const LOCKED = 57970
+const MASTER_COMPRESSION_ALGORITHMS = 57971
+const MASTER_PUBLIC_KEY_PATH = 57972
+const MASTER_TLS_CIPHERSUITES = 57973
+const MASTER_ZSTD_COMPRESSION_LEVEL = 57974
+const NESTED = 57975
+const NETWORK_NAMESPACE = 57976
+const NOWAIT = 57977
+const NULLS = 57978
+const OJ = 57979
+const OLD = 57980
+const OPTIONAL = 57981
+const ORDINALITY = 57982
+const ORGANIZATION = 57983
+const OTHERS = 57984
+const PARTIAL = 57985
+const PATH = 57986
+const PERSIST = 57987
+const PERSIST_ONLY = 57988
+const PRECEDING = 57989
+const PRIVILEGE_CHECKS_USER = 57990
+const PROCESS = 57991
+const RANDOM = 57992
+const REFERENCE = 57993
+const REQUIRE_ROW_FORMAT = 57994
+const RESOURCE = 57995
+const RESPECT = 57996
+const RESTART = 57997
+const RETAIN = 57998
+const REUSE = 57999
+const ROLE = 58000
+const SECONDARY = 58001
+const SECONDARY_ENGINE = 58002
+const SECONDARY_ENGINE_ATTRIBUTE = 58003
+const SECONDARY_LOAD = 58004
+const SECONDARY_UNLOAD = 58005
+const SIMPLE = 58006
+const SKIP = 58007
+const SRID = 58008
+const THREAD_PRIORITY = 58009
+const TIES = 58010
+const UNBOUNDED = 58011
+const VCPU = 58012
+const VISIBLE = 58013
+const RETURNING = 58014
+const FORMAT_BYTES = 58015
+const FORMAT_PICO_TIME = 58016
+const PS_CURRENT_THREAD_ID = 58017
+const PS_THREAD_ID = 58018
+const GTID_SUBSET = 58019
+const GTID_SUBTRACT = 58020
+const WAIT_FOR_EXECUTED_GTID_SET = 58021
+const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 58022
+const FORMAT = 58023
+const TREE = 58024
+const VITESS = 58025
+const TRADITIONAL = 58026
+const VTEXPLAIN = 58027
+const VEXPLAIN = 58028
+const PLAN = 58029
+const LOCAL = 58030
+const LOW_PRIORITY = 58031
+const NO_WRITE_TO_BINLOG = 58032
+const LOGS = 58033
+const ERROR = 58034
+const GENERAL = 58035
+const HOSTS = 58036
+const OPTIMIZER_COSTS = 58037
+const USER_RESOURCES = 58038
+const SLOW = 58039
+const CHANNEL = 58040
+const RELAY = 58041
+const EXPORT = 58042
+const CURRENT = 58043
+const ROW = 58044
+const ROWS = 58045
+const AVG_ROW_LENGTH = 58046
+const CONNECTION = 58047
+const CHECKSUM = 58048
+const DELAY_KEY_WRITE = 58049
+const ENCRYPTION = 58050
+const ENGINE = 58051
+const INSERT_METHOD = 58052
+const MAX_ROWS = 58053
+const MIN_ROWS = 58054
+const PACK_KEYS = 58055
+const PASSWORD = 58056
+const FIXED = 58057
+const DYNAMIC = 58058
+const COMPRESSED = 58059
+const REDUNDANT = 58060
+const COMPACT = 58061
+const ROW_FORMAT = 58062
+const STATS_AUTO_RECALC = 58063
+const STATS_PERSISTENT = 58064
+const STATS_SAMPLE_PAGES = 58065
+const STORAGE = 58066
+const MEMORY = 58067
+const DISK = 58068
+const PARTITIONS = 58069
+const LINEAR = 58070
+const RANGE = 58071
+const LIST = 58072
+const SUBPARTITION = 58073
+const SUBPARTITIONS = 58074
+const HASH = 58075
var yyToknames = [...]string{
"$end",
@@ -909,6 +912,7 @@ var yyToknames = [...]string{
"LEADING",
"TRAILING",
"KILL",
+ "TRACE",
"EMPTY_FROM_CLAUSE",
"LOWER_THAN_CHARSET",
"CHARSET",
@@ -1101,6 +1105,8 @@ var yyToknames = [...]string{
"WORK",
"CONSISTENT",
"SNAPSHOT",
+ "UNRESOLVED",
+ "TRANSACTIONS",
"BIT",
"TINYINT",
"SMALLINT",
@@ -1531,117 +1537,116 @@ var yyExca = [...]int{
-2, 40,
-1, 52,
1, 157,
- 748, 157,
+ 751, 157,
-2, 165,
-1, 53,
- 148, 165,
- 190, 165,
- 360, 165,
+ 149, 165,
+ 191, 165,
+ 363, 165,
-2, 524,
-1, 61,
- 38, 782,
- 253, 782,
- 264, 782,
- 299, 796,
- 300, 796,
- -2, 784,
+ 38, 784,
+ 254, 784,
+ 265, 784,
+ 300, 798,
+ 301, 798,
+ -2, 786,
-1, 66,
- 255, 820,
- -2, 818,
+ 256, 822,
+ -2, 820,
-1, 122,
- 252, 1617,
+ 253, 1621,
-2, 131,
-1, 124,
1, 158,
- 748, 158,
+ 751, 158,
-2, 165,
-1, 135,
- 149, 409,
- 258, 409,
+ 150, 409,
+ 259, 409,
-2, 513,
-1, 154,
- 148, 165,
- 190, 165,
- 360, 165,
+ 149, 165,
+ 191, 165,
+ 363, 165,
-2, 533,
- -1, 744,
- 176, 41,
+ -1, 748,
+ 177, 41,
-2, 43,
- -1, 953,
- 95, 1634,
- -2, 1478,
- -1, 954,
- 95, 1635,
- 235, 1639,
- -2, 1479,
- -1, 955,
- 235, 1638,
+ -1, 957,
+ 95, 1638,
+ -2, 1482,
+ -1, 958,
+ 95, 1639,
+ 236, 1643,
+ -2, 1483,
+ -1, 959,
+ 236, 1642,
-2, 42,
- -1, 1039,
- 65, 892,
- -2, 905,
- -1, 1127,
- 263, 1105,
- 268, 1105,
+ -1, 1043,
+ 65, 896,
+ -2, 909,
+ -1, 1131,
+ 264, 1109,
+ 269, 1109,
-2, 420,
- -1, 1212,
+ -1, 1216,
1, 581,
- 748, 581,
+ 751, 581,
-2, 165,
- -1, 1520,
- 235, 1639,
- -2, 1479,
- -1, 1733,
- 65, 893,
- -2, 909,
- -1, 1734,
- 65, 894,
- -2, 910,
- -1, 1794,
- 148, 165,
- 190, 165,
- 360, 165,
+ -1, 1527,
+ 236, 1643,
+ -2, 1483,
+ -1, 1740,
+ 65, 897,
+ -2, 913,
+ -1, 1741,
+ 65, 898,
+ -2, 914,
+ -1, 1801,
+ 149, 165,
+ 191, 165,
+ 363, 165,
-2, 459,
- -1, 1876,
- 149, 409,
- 258, 409,
+ -1, 1884,
+ 150, 409,
+ 259, 409,
-2, 513,
- -1, 1885,
- 263, 1106,
- 268, 1106,
+ -1, 1893,
+ 264, 1110,
+ 269, 1110,
-2, 421,
- -1, 2333,
- 235, 1643,
- -2, 1637,
- -1, 2334,
- 235, 1639,
- -2, 1635,
- -1, 2437,
- 148, 165,
- 190, 165,
- 360, 165,
+ -1, 2342,
+ 236, 1647,
+ -2, 1641,
+ -1, 2343,
+ 236, 1643,
+ -2, 1639,
+ -1, 2446,
+ 149, 165,
+ 191, 165,
+ 363, 165,
-2, 460,
- -1, 2444,
+ -1, 2453,
28, 186,
-2, 188,
- -1, 2906,
+ -1, 2916,
86, 96,
96, 96,
- -2, 972,
- -1, 2975,
- 723, 702,
+ -2, 976,
+ -1, 2984,
+ 726, 702,
-2, 676,
- -1, 3199,
- 55, 1582,
- -2, 1576,
- -1, 4037,
- 723, 702,
+ -1, 3208,
+ 55, 1586,
+ -2, 1580,
+ -1, 4045,
+ 726, 702,
-2, 690,
- -1, 4129,
+ -1, 4137,
98, 634,
104, 634,
114, 634,
- 192, 634,
193, 634,
194, 634,
195, 634,
@@ -1683,951 +1688,1031 @@ var yyExca = [...]int{
231, 634,
232, 634,
233, 634,
- -2, 2014,
+ 234, 634,
+ -2, 2018,
}
const yyPrivate = 57344
-const yyLast = 56304
+const yyLast = 57238
var yyAct = [...]int{
- 969, 3688, 3689, 87, 3687, 4018, 4204, 957, 4108, 4127,
- 2138, 3351, 3487, 4000, 4217, 4096, 3923, 4171, 1280, 964,
- 3637, 956, 2126, 3251, 4172, 3258, 2362, 1278, 3309, 3300,
- 2434, 3314, 3311, 3310, 3212, 3308, 3313, 3312, 3998, 3065,
- 2064, 3150, 2006, 5, 3624, 3266, 3329, 748, 2509, 3216,
- 3213, 3328, 3533, 3527, 3039, 3064, 2364, 3210, 3730, 742,
- 2389, 743, 3517, 3200, 918, 2472, 3021, 3331, 2940, 1797,
- 2866, 776, 1089, 2972, 2477, 2941, 2540, 2497, 4069, 1753,
- 917, 2942, 3358, 163, 2891, 2408, 1037, 2422, 87, 1057,
- 2410, 43, 1034, 2409, 2872, 2858, 1064, 1135, 2842, 2160,
- 2405, 1901, 1854, 41, 2318, 2286, 2122, 1037, 2072, 3013,
- 1883, 2285, 2518, 149, 3555, 2397, 2557, 2479, 2933, 1122,
- 1117, 1786, 1099, 2908, 2496, 1766, 2412, 100, 1714, 1533,
- 2166, 2097, 104, 2086, 1458, 105, 1443, 2002, 1890, 1096,
- 1093, 1125, 1128, 2494, 1982, 1097, 758, 2468, 2469, 1123,
- 3215, 1124, 1785, 2390, 1046, 753, 1074, 1076, 1771, 1736,
- 2174, 2193, 1516, 99, 1492, 2879, 3725, 2063, 745, 2840,
- 107, 1043, 1268, 2014, 85, 167, 127, 125, 126, 1042,
- 132, 3488, 3717, 1875, 133, 1208, 93, 1044, 3544, 1056,
- 1069, 1041, 106, 84, 1032, 735, 752, 98, 4205, 1537,
- 922, 3625, 746, 42, 3297, 4053, 1276, 2511, 2963, 1068,
- 1254, 2511, 2512, 2513, 919, 679, 2995, 2994, 2555, 1459,
- 3617, 4154, 1031, 3029, 3030, 1542, 3580, 1049, 128, 4049,
- 4048, 4054, 2359, 2360, 1139, 2079, 2078, 134, 1164, 1090,
- 2077, 2076, 2075, 2074, 2045, 1224, 4148, 676, 3692, 677,
- 2838, 2607, 3196, 4175, 1757, 1755, 1172, 3154, 4210, 2,
- 1106, 3692, 1101, 4195, 1050, 4158, 4227, 1967, 736, 4156,
- 1084, 4170, 1083, 3491, 2868, 2542, 2544, 1033, 1138, 1035,
- 3490, 2386, 1114, 4209, 1758, 1756, 1036, 2385, 1040, 2988,
- 4157, 1475, 4001, 1058, 4155, 2803, 1159, 1165, 1168, 1169,
- 128, 1113, 1112, 1111, 111, 112, 113, 1059, 116, 1454,
- 3319, 122, 4027, 3319, 191, 2965, 95, 671, 95, 1225,
- 2543, 1181, 2084, 3316, 1747, 3377, 720, 1469, 4123, 733,
- 734, 4049, 3919, 95, 714, 3918, 2383, 1163, 2100, 1025,
- 1026, 1027, 1028, 86, 3691, 3630, 1039, 1030, 3631, 4185,
- 1162, 923, 3929, 4152, 3649, 95, 3638, 3691, 1445, 720,
- 972, 973, 974, 4097, 4105, 2537, 2882, 3928, 128, 2131,
- 3317, 4132, 2985, 3317, 1071, 1072, 1115, 972, 973, 974,
- 3403, 1082, 1086, 921, 1864, 3248, 3249, 1261, 2839, 1263,
- 1082, 1086, 921, 3247, 2883, 3002, 3028, 3003, 2917, 3323,
- 2611, 2916, 3323, 2428, 2918, 4137, 1787, 714, 1788, 86,
- 86, 1211, 3012, 4109, 3648, 2429, 2430, 2056, 2057, 1244,
- 1023, 1249, 1250, 1273, 1022, 4135, 95, 1260, 1262, 714,
- 2966, 4019, 2614, 1245, 2929, 4141, 4142, 1465, 714, 1472,
- 1457, 1473, 1474, 2010, 3268, 3269, 1238, 3355, 1161, 1232,
- 710, 4136, 1207, 3353, 1233, 1105, 2447, 2446, 1107, 3530,
- 3744, 1178, 1179, 1180, 3385, 1183, 1184, 1185, 1186, 2875,
- 2876, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197,
- 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 714, 4113,
- 714, 2605, 95, 95, 3383, 3086, 1459, 86, 695, 1471,
- 88, 728, 2612, 2055, 2202, 2361, 4113, 4176, 4032, 1232,
- 714, 693, 2488, 3320, 1233, 2059, 3320, 732, 1455, 714,
- 1783, 1444, 1231, 726, 1230, 3359, 3014, 1251, 4177, 1246,
- 1110, 2393, 1217, 1218, 1272, 1258, 2482, 1252, 1718, 1259,
- 1271, 3356, 1239, 3971, 2519, 3972, 715, 3354, 2973, 1264,
- 3346, 690, 1182, 3267, 2998, 2564, 2558, 1110, 3347, 1102,
- 705, 1957, 2393, 1438, 1220, 3270, 1104, 1103, 1493, 4207,
- 1983, 1213, 1110, 1206, 1257, 700, 2608, 2582, 2609, 2583,
- 95, 2584, 2011, 1247, 1248, 1265, 703, 1270, 1108, 713,
- 3374, 3016, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1502,
- 1501, 1503, 1504, 2194, 1469, 1958, 1253, 1959, 2196, 2562,
- 2565, 1075, 2201, 2197, 3619, 1108, 2198, 2199, 2200, 715,
- 3618, 2195, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210,
- 2211, 3615, 2585, 1188, 3903, 1187, 1118, 1210, 2560, 2522,
- 1119, 715, 3696, 2406, 1119, 3270, 4149, 1157, 1156, 1155,
- 715, 2561, 1154, 1153, 1152, 680, 1151, 682, 696, 1721,
- 717, 3087, 716, 686, 2563, 684, 688, 697, 689, 3153,
- 683, 1150, 694, 1145, 1868, 685, 698, 699, 702, 706,
- 707, 708, 704, 701, 1158, 692, 718, 4228, 2481, 2571,
- 2567, 2569, 2570, 2568, 2572, 2573, 2574, 1094, 1094, 1167,
- 715, 1092, 715, 1131, 4182, 1130, 1085, 1079, 1077, 1166,
- 1277, 1094, 1277, 1277, 1465, 1085, 1079, 1077, 1109, 1130,
- 2003, 2495, 715, 1070, 2391, 2392, 3017, 2548, 2547, 1999,
- 1446, 715, 2967, 1464, 1461, 1462, 1463, 1468, 1470, 1467,
- 3290, 1466, 1175, 2997, 1209, 1109, 3614, 3000, 1862, 1861,
- 1784, 1460, 2541, 1860, 2983, 2391, 2392, 2000, 1858, 1223,
- 1109, 1037, 1517, 1522, 1523, 3531, 1526, 1528, 1529, 1530,
- 1531, 1532, 670, 1535, 1536, 1538, 1538, 4150, 1538, 1538,
- 1543, 1543, 1543, 1546, 1547, 1548, 1549, 1550, 1551, 1552,
- 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562,
- 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572,
- 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582,
- 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592,
- 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602,
- 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612,
- 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622,
- 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
- 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642,
- 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652,
- 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662,
- 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1514, 1116, 4026,
- 1266, 1670, 2964, 1672, 1673, 1674, 1675, 1676, 1436, 1437,
- 3690, 3578, 3579, 3647, 94, 1543, 1543, 1543, 1543, 1543,
- 1543, 1435, 1219, 3690, 1216, 1527, 4140, 970, 4111, 970,
- 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692,
- 1693, 1694, 1695, 1696, 970, 4111, 1229, 1510, 1511, 1512,
- 1513, 719, 1969, 1968, 1970, 1971, 1972, 1524, 89, 1453,
- 4110, 1711, 2931, 3475, 1889, 1539, 1518, 1540, 1541, 2987,
- 4139, 1137, 711, 1078, 1137, 3321, 3322, 4110, 3321, 3322,
- 94, 94, 1078, 1148, 1146, 1507, 4072, 712, 3325, 2613,
- 1228, 3325, 1234, 1235, 1236, 1237, 1544, 1545, 3375, 1507,
- 1464, 1461, 1462, 1463, 1468, 1470, 1467, 2612, 1466, 2485,
- 2843, 2845, 4014, 2986, 1242, 1717, 1274, 1275, 1460, 1137,
- 3011, 3020, 3569, 3010, 1037, 1508, 1509, 2539, 1037, 3551,
- 1746, 2913, 2878, 2815, 1037, 1988, 2134, 1775, 1671, 1222,
- 3162, 3254, 86, 44, 45, 88, 1987, 3161, 2873, 4221,
- 2486, 124, 678, 2435, 1507, 911, 1137, 2484, 1504, 1174,
- 3246, 92, 2175, 1709, 1747, 48, 76, 77, 94, 74,
- 78, 3033, 2640, 1888, 1136, 1487, 1137, 1136, 1255, 2176,
- 1053, 75, 1269, 4040, 119, 2629, 2015, 1160, 3610, 2167,
- 2956, 2487, 3255, 1497, 1498, 1499, 1500, 1502, 1501, 1503,
- 1504, 2483, 1499, 1500, 1502, 1501, 1503, 1504, 3543, 1227,
- 2559, 193, 2102, 62, 674, 3181, 1727, 3257, 3179, 1728,
- 104, 2068, 1136, 105, 1996, 95, 2103, 1505, 1506, 2101,
- 1789, 1709, 1149, 1147, 674, 3060, 4186, 3252, 1474, 1715,
- 1677, 1678, 1679, 1680, 1681, 1682, 2167, 2640, 2649, 3739,
- 1047, 1702, 2090, 2091, 2088, 2089, 3268, 3269, 107, 1136,
- 1708, 120, 1475, 3253, 1140, 1130, 3040, 1067, 1067, 1142,
- 1473, 1474, 2531, 1143, 1141, 83, 674, 3023, 2087, 1136,
- 2536, 1137, 3022, 2844, 3585, 1130, 1133, 1134, 1881, 1094,
- 1475, 3023, 3584, 1127, 1131, 1749, 3022, 3259, 2526, 1898,
- 1984, 1897, 1985, 1887, 2645, 1986, 2534, 1712, 2531, 1148,
- 1724, 1146, 1723, 4178, 1126, 2535, 3570, 2173, 1033, 4073,
- 1726, 1891, 1891, 1752, 1725, 1874, 1048, 1035, 1729, 1241,
- 1977, 2008, 1934, 2538, 1036, 1256, 1893, 1903, 1952, 1904,
- 1243, 1906, 1908, 2016, 1212, 1912, 1914, 1916, 1918, 1920,
- 3042, 2533, 1780, 1781, 1992, 1277, 1990, 1991, 1989, 1993,
- 1994, 1995, 1226, 1892, 1849, 3267, 4223, 1475, 4074, 51,
- 54, 57, 56, 59, 1137, 73, 1857, 3270, 82, 79,
- 4219, 3911, 2644, 4220, 1136, 4218, 1173, 1475, 1730, 4229,
- 1170, 1872, 3910, 4006, 1871, 1870, 1137, 1747, 3901, 1884,
- 1475, 1976, 61, 91, 90, 2172, 3661, 71, 72, 58,
- 1472, 2676, 1473, 1474, 2686, 80, 81, 3660, 3644, 1938,
- 3645, 3052, 3051, 3050, 3592, 1975, 3044, 1964, 3048, 3591,
- 3043, 3581, 3041, 2090, 2091, 2619, 2620, 3046, 1472, 3298,
- 1473, 1474, 4007, 1895, 3286, 2938, 3045, 2004, 1481, 1482,
- 1483, 1484, 1485, 1486, 1480, 1477, 1863, 2937, 63, 64,
- 2323, 65, 66, 67, 68, 3047, 3049, 972, 973, 974,
- 1930, 2936, 2491, 1933, 1978, 1935, 1475, 1136, 128, 1113,
- 1112, 1111, 1140, 1130, 1962, 4230, 1961, 1142, 3350, 1960,
- 1950, 1143, 1141, 1747, 1944, 3256, 1974, 1941, 1963, 1136,
- 2636, 1865, 1866, 1867, 2021, 1130, 1133, 1134, 1940, 1094,
- 1939, 1910, 1144, 1127, 1131, 1472, 1722, 1473, 1474, 1475,
- 3575, 1440, 720, 60, 3062, 1277, 1277, 720, 2043, 2323,
- 1783, 2017, 2018, 2320, 2920, 1472, 720, 1473, 1474, 2507,
- 87, 2506, 2322, 87, 2505, 2022, 2504, 2503, 1472, 2502,
- 1473, 1474, 2029, 2030, 2031, 2688, 4179, 1493, 968, 1760,
- 1489, 2042, 1490, 2864, 4206, 1471, 1747, 1747, 1942, 1943,
- 4028, 1493, 2161, 3032, 1948, 1949, 1491, 1505, 1506, 1488,
- 4035, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1502, 1501,
- 1503, 1504, 4034, 190, 4010, 1494, 1495, 1496, 1497, 1498,
- 1499, 1500, 1502, 1501, 1503, 1504, 4009, 4008, 1761, 1493,
- 3906, 4191, 1747, 89, 4166, 1747, 129, 3938, 2129, 2129,
- 2127, 2127, 2130, 1475, 1472, 3890, 1473, 1474, 2864, 1747,
- 2092, 2690, 172, 1494, 1495, 1496, 1497, 1498, 1499, 1500,
- 1502, 1501, 1503, 1504, 1471, 1747, 1475, 738, 2019, 3889,
- 110, 2864, 4104, 2864, 4083, 2023, 1493, 2025, 2026, 2027,
- 2028, 109, 3738, 108, 2032, 3736, 2213, 1472, 3657, 1473,
- 1474, 103, 1493, 1475, 2628, 1707, 2044, 1706, 2922, 1705,
- 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1502, 1501, 1503,
- 1504, 3589, 169, 2864, 4079, 170, 1494, 1495, 1496, 1497,
- 1498, 1499, 1500, 1502, 1501, 1503, 1504, 3574, 101, 3360,
- 2069, 85, 3991, 1747, 85, 4189, 1747, 1475, 102, 3357,
- 2162, 189, 1709, 94, 3289, 2099, 3628, 4025, 3914, 1747,
- 3937, 2050, 2051, 3288, 110, 2947, 1747, 3260, 4119, 1747,
- 42, 3264, 2934, 42, 2104, 109, 1475, 108, 3263, 2105,
- 1704, 2107, 2108, 2109, 2110, 2111, 2112, 2114, 2116, 2117,
- 2118, 2119, 2120, 2121, 2861, 4117, 1747, 2864, 3902, 103,
- 2133, 1472, 1697, 1473, 1474, 2237, 2603, 1475, 103, 1747,
- 2333, 1475, 3265, 2595, 2106, 101, 2594, 3261, 2553, 2331,
- 2552, 103, 3262, 2388, 1472, 102, 1473, 1474, 2177, 2178,
- 2179, 2180, 3628, 1747, 2332, 2367, 1475, 2398, 2399, 4115,
- 1747, 3894, 2191, 2321, 2864, 3626, 2212, 2046, 2319, 1708,
- 1747, 1472, 1518, 1473, 1474, 2012, 674, 1973, 674, 1965,
- 70, 1475, 2531, 1747, 1747, 173, 2229, 1955, 3984, 1747,
- 2168, 1475, 2859, 190, 179, 1494, 1495, 1496, 1497, 1498,
- 1499, 1500, 1502, 1501, 1503, 1504, 1747, 3549, 1747, 1475,
- 2330, 2770, 1747, 2336, 2337, 1472, 129, 1473, 1474, 3982,
- 1747, 2414, 1495, 1496, 1497, 1498, 1499, 1500, 1502, 1501,
- 1503, 1504, 172, 1475, 2333, 3279, 3278, 2909, 104, 674,
- 1951, 105, 1947, 2331, 1472, 1946, 1473, 1474, 3979, 1747,
- 3893, 1475, 3276, 3277, 3274, 3275, 2909, 2366, 2403, 104,
- 1945, 1475, 105, 3274, 3273, 2888, 1747, 1521, 2444, 2378,
- 2612, 2996, 3546, 3961, 1747, 1472, 1762, 1473, 1474, 1472,
- 2098, 1473, 1474, 3516, 1747, 1853, 2977, 2970, 2971, 2864,
- 2863, 2880, 169, 1267, 1099, 170, 2132, 1747, 1853, 1852,
- 3636, 3509, 1747, 1475, 1472, 2910, 1473, 1474, 2439, 2453,
- 2454, 2455, 2456, 2354, 2880, 2912, 109, 1049, 2438, 2974,
- 164, 189, 2952, 1475, 2910, 3506, 1747, 1099, 3241, 1472,
- 2420, 1473, 1474, 1475, 2612, 2379, 1795, 1794, 2612, 1472,
- 3545, 1473, 1474, 3504, 1747, 2448, 2381, 2449, 2450, 2451,
- 2452, 3211, 2887, 3933, 2474, 2442, 2372, 1472, 2373, 1473,
- 1474, 2458, 3542, 1475, 2460, 2461, 2462, 2463, 2888, 2520,
- 2480, 2401, 2532, 2443, 3542, 1471, 1084, 2426, 1083, 2425,
- 2424, 1472, 4067, 1473, 1474, 2441, 4039, 2440, 2864, 2888,
- 1471, 3542, 2158, 2517, 3495, 3467, 1747, 3276, 3184, 1472,
- 3593, 1473, 1474, 2427, 2770, 2673, 2672, 2531, 2514, 1472,
- 2490, 1473, 1474, 2888, 2396, 3465, 1747, 1139, 1751, 2357,
- 2132, 2416, 2070, 1475, 2054, 3461, 1747, 1891, 1998, 1782,
- 2475, 2464, 2466, 2467, 2471, 173, 2531, 1121, 2525, 2489,
- 1475, 2528, 2493, 2529, 179, 1120, 2545, 2501, 1475, 95,
- 4145, 1472, 4086, 1473, 1474, 3458, 1747, 3594, 3595, 3596,
- 1475, 1138, 1926, 1038, 1475, 2475, 2524, 2523, 2527, 3925,
- 1521, 1472, 1475, 1473, 1474, 1754, 1475, 3891, 3751, 3609,
- 3606, 1472, 3587, 1473, 1474, 2549, 3392, 2546, 1475, 2550,
- 2551, 2150, 2139, 2140, 2141, 2142, 2152, 2143, 2144, 2145,
- 2157, 2153, 2146, 2147, 2154, 2155, 2156, 2148, 2149, 2151,
- 3408, 1472, 3407, 1473, 1474, 3456, 1747, 1855, 2473, 1927,
- 1928, 1929, 1748, 1750, 3348, 2617, 3303, 3299, 674, 2556,
- 2978, 3597, 3454, 1747, 1037, 1037, 1037, 2470, 2465, 3352,
- 3452, 1747, 1475, 2459, 2457, 1980, 95, 1886, 1475, 1882,
- 1851, 1047, 3450, 1747, 1528, 1475, 1528, 1747, 121, 165,
- 3301, 2944, 2943, 1211, 3448, 1747, 177, 3926, 3446, 1747,
- 164, 1472, 2632, 1473, 1474, 674, 3556, 3557, 2588, 2488,
- 3444, 1747, 2370, 1475, 3598, 3599, 3600, 1475, 1472, 4201,
- 1473, 1474, 1475, 2333, 674, 4199, 1472, 4173, 1473, 1474,
- 4047, 3966, 2635, 3559, 3295, 2048, 3294, 185, 1472, 1475,
- 1473, 1474, 1472, 3293, 1473, 1474, 2944, 2332, 3211, 2957,
- 1472, 2589, 1473, 1474, 1472, 1475, 1473, 1474, 3562, 3561,
- 3230, 2604, 3233, 1475, 3442, 1747, 1472, 3234, 1473, 1474,
- 3440, 1747, 3229, 4043, 1521, 2610, 675, 3438, 1747, 1475,
- 166, 171, 168, 174, 175, 176, 178, 180, 181, 182,
- 183, 2618, 1475, 3927, 2387, 2638, 184, 186, 187, 188,
- 1764, 1521, 2049, 2624, 1521, 2637, 1521, 674, 3231, 3564,
- 2621, 2622, 2623, 3232, 3436, 1747, 1759, 2376, 2099, 3716,
- 1472, 3715, 1473, 1474, 1922, 4005, 1472, 1953, 1473, 1474,
- 1051, 3434, 1747, 1472, 3550, 1473, 1474, 3235, 3729, 2897,
- 2898, 2625, 674, 2627, 3189, 1475, 3188, 3432, 1747, 3731,
- 737, 3538, 2630, 3198, 2631, 3430, 1747, 1475, 2007, 674,
- 1997, 1472, 1475, 1473, 1474, 1472, 2648, 1473, 1474, 1021,
- 1472, 1763, 1473, 1474, 3714, 674, 2626, 1923, 1924, 1925,
- 3535, 1052, 674, 3272, 3428, 1747, 2927, 1472, 3534, 1473,
- 1474, 2033, 2034, 674, 674, 674, 674, 674, 674, 674,
- 3201, 3203, 2814, 1472, 2948, 1473, 1474, 2597, 2598, 3204,
- 1475, 1472, 2600, 1473, 1474, 1054, 2175, 2633, 2095, 2093,
- 2094, 2601, 2684, 1055, 2581, 2580, 2802, 1472, 1475, 1473,
- 1474, 1063, 2579, 2176, 2846, 1475, 2578, 3511, 1493, 165,
- 1472, 2577, 1473, 1474, 2576, 1062, 177, 1177, 2575, 3414,
- 1747, 1176, 3368, 1037, 3390, 1747, 2943, 3026, 2129, 1475,
- 2127, 2849, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1502,
- 1501, 1503, 1504, 1475, 1439, 2984, 2885, 2886, 129, 3540,
- 1475, 2398, 2399, 3518, 101, 2414, 103, 185, 1037, 2905,
- 103, 101, 2847, 1472, 102, 1473, 1474, 4215, 2850, 3291,
- 2852, 102, 2835, 1747, 110, 1472, 2592, 1473, 1474, 1475,
- 1472, 4122, 1473, 1474, 4024, 109, 2884, 108, 3921, 2865,
- 2833, 1747, 1710, 2098, 1475, 103, 3271, 2808, 1747, 2901,
- 166, 171, 168, 174, 175, 176, 178, 180, 181, 182,
- 183, 2382, 3187, 2616, 2053, 108, 184, 186, 187, 188,
- 3186, 2785, 1747, 1475, 1715, 3990, 2837, 2874, 1472, 3989,
- 1473, 1474, 3969, 3737, 3735, 2777, 1747, 3734, 3727, 1475,
- 2903, 110, 2768, 1747, 3607, 2857, 1472, 3539, 1473, 1474,
- 2930, 2932, 109, 1472, 108, 1473, 1474, 1475, 1709, 3537,
- 3304, 2923, 2877, 674, 2515, 1869, 1061, 110, 2907, 2862,
- 109, 2766, 1747, 2982, 2880, 3726, 3700, 1472, 109, 1473,
- 1474, 3528, 2861, 1475, 3090, 2911, 2753, 1747, 2674, 2914,
- 2368, 1472, 1776, 1473, 1474, 1768, 2480, 2921, 1472, 2924,
- 1473, 1474, 1475, 2893, 2896, 2897, 2898, 2894, 4202, 2895,
- 2899, 2158, 4203, 3556, 3557, 2751, 1747, 4011, 2935, 2170,
- 2993, 4203, 4202, 1521, 2171, 114, 115, 1472, 3573, 1473,
- 1474, 2749, 1747, 3, 2067, 2065, 2945, 10, 9, 97,
- 2066, 1521, 1472, 8, 1473, 1474, 42, 1475, 2953, 3507,
- 2954, 1, 1029, 1475, 1442, 2902, 1441, 3577, 2904, 4134,
- 2990, 1475, 2233, 2958, 2959, 2960, 691, 2358, 1874, 1713,
- 4174, 1472, 4130, 1473, 1474, 2747, 1747, 2979, 2980, 4131,
- 1966, 3036, 3037, 1956, 3639, 2284, 1475, 1472, 3922, 1473,
- 1474, 3307, 2521, 3605, 2745, 1747, 2478, 1129, 2989, 154,
- 2436, 2437, 4099, 118, 1475, 1472, 1087, 1473, 1474, 117,
- 2150, 2139, 2140, 2141, 2142, 2152, 2143, 2144, 2145, 2157,
- 2153, 2146, 2147, 2154, 2155, 2156, 2148, 2149, 2151, 3015,
- 3034, 1472, 3053, 1473, 1474, 1132, 1240, 3018, 2516, 2743,
- 1747, 3629, 2316, 2928, 2445, 2741, 1747, 1475, 1801, 1799,
- 1472, 1800, 1473, 1474, 1747, 1798, 3071, 3072, 3073, 3074,
- 3075, 3076, 3077, 3078, 3079, 3080, 1803, 1475, 1802, 4071,
- 3376, 1475, 2348, 2675, 3474, 2058, 3088, 2007, 2739, 1747,
- 2893, 2896, 2897, 2898, 2894, 3054, 2895, 2899, 727, 2900,
- 1748, 2355, 721, 192, 1790, 1472, 3473, 1473, 1474, 1769,
- 2052, 1472, 2991, 1473, 1474, 1171, 681, 1475, 3280, 1472,
- 2554, 1473, 1474, 687, 1525, 2047, 3185, 1475, 2946, 2915,
- 1081, 1073, 1953, 2949, 2950, 2369, 2851, 1080, 3899, 3219,
- 2380, 3532, 3197, 3199, 1472, 3092, 1473, 1474, 1067, 2737,
- 1747, 3038, 2867, 3202, 3148, 3195, 4004, 3024, 3728, 3055,
- 3025, 1475, 1472, 4084, 1473, 1474, 2925, 1047, 1475, 2735,
- 1747, 1765, 3494, 2733, 1747, 2647, 2165, 1515, 2413, 3695,
- 2085, 750, 3035, 749, 674, 747, 2853, 2881, 1479, 1478,
- 958, 2007, 674, 3166, 674, 3155, 674, 2423, 2841, 3157,
- 1777, 2892, 2969, 1475, 2890, 1472, 2889, 1473, 1474, 2731,
- 1747, 2590, 2414, 2421, 3558, 3081, 2321, 3554, 2321, 2729,
- 1747, 2319, 4126, 2319, 2415, 1472, 3128, 1473, 1474, 1472,
- 1475, 1473, 1474, 2411, 3218, 1475, 87, 2860, 909, 2414,
- 2414, 2414, 2414, 2414, 1475, 908, 759, 2492, 3138, 3139,
- 3140, 3141, 3142, 2727, 1747, 751, 3166, 741, 971, 2414,
- 3469, 3156, 2414, 3158, 3165, 1472, 907, 1473, 1474, 906,
- 3334, 3335, 3223, 2999, 3349, 1472, 1475, 1473, 1474, 3001,
- 2926, 3345, 2008, 3240, 1456, 1732, 1735, 2377, 1100, 3373,
- 3177, 3178, 3180, 3182, 4030, 2725, 1747, 3193, 3183, 2615,
- 3402, 1731, 4037, 3190, 3315, 1475, 3192, 3623, 3296, 1472,
- 2975, 1473, 1474, 2508, 3205, 3206, 1472, 1475, 1473, 1474,
- 69, 46, 2723, 1747, 3999, 4068, 3324, 1042, 4180, 1475,
- 3225, 3226, 3224, 3228, 3236, 3227, 3332, 4023, 3222, 1041,
- 901, 898, 104, 3697, 3242, 105, 3698, 3243, 3699, 3151,
- 3244, 1472, 3152, 1473, 1474, 4050, 3250, 4051, 897, 4052,
- 2222, 1710, 1452, 1449, 4147, 1475, 3281, 2060, 3283, 3898,
- 96, 1475, 36, 3282, 3191, 35, 34, 33, 1472, 32,
- 1473, 1474, 26, 1472, 25, 1473, 1474, 24, 23, 22,
- 29, 1475, 1472, 3305, 1473, 1474, 674, 2721, 1747, 19,
- 3336, 21, 3326, 674, 20, 2480, 1475, 3333, 2227, 2719,
- 1747, 18, 2416, 3343, 674, 674, 3337, 3318, 674, 3208,
- 2593, 2714, 1747, 4169, 1472, 4214, 1473, 1474, 123, 55,
- 674, 52, 50, 131, 130, 3363, 1040, 674, 3364, 2416,
- 2416, 2416, 2416, 2416, 3371, 53, 49, 3214, 3361, 1214,
- 47, 1475, 3214, 1472, 31, 1473, 1474, 2710, 1747, 2416,
- 3381, 30, 2416, 674, 3611, 1472, 17, 1473, 1474, 16,
- 15, 14, 3397, 3398, 3399, 3400, 3401, 1472, 13, 1473,
- 1474, 12, 11, 2708, 1747, 7, 6, 39, 2310, 2311,
- 2312, 2313, 2314, 3378, 3379, 38, 3380, 37, 3405, 3382,
- 28, 3384, 27, 3386, 40, 2335, 4, 2962, 2338, 2339,
- 1528, 2510, 0, 1472, 1528, 1473, 1474, 0, 0, 1472,
- 0, 1473, 1474, 0, 2634, 0, 0, 0, 2639, 0,
- 3519, 0, 3521, 0, 0, 0, 0, 0, 3306, 1472,
- 3489, 1473, 1474, 3404, 2356, 0, 0, 3493, 1521, 0,
- 2007, 2642, 0, 2643, 1472, 0, 1473, 1474, 0, 2651,
- 0, 0, 0, 2653, 2654, 0, 0, 0, 0, 0,
- 0, 0, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667,
- 2668, 2669, 0, 2671, 0, 3217, 3372, 0, 0, 0,
- 3284, 3285, 2414, 3520, 3524, 3522, 0, 0, 0, 1472,
- 0, 1473, 1474, 0, 0, 3571, 2677, 2678, 2679, 2680,
- 0, 2682, 2683, 3536, 2685, 1475, 3529, 0, 2687, 1475,
- 3541, 0, 2692, 2693, 0, 2694, 0, 1475, 2697, 2698,
- 2700, 2702, 2703, 2704, 2705, 2706, 2707, 2709, 2711, 2712,
- 2713, 2715, 739, 2717, 2718, 2720, 2722, 2724, 2726, 2728,
- 2730, 2732, 2734, 2736, 2738, 2740, 2742, 2744, 2746, 2748,
- 2750, 2752, 2754, 2755, 2756, 3327, 2758, 3563, 2760, 3336,
- 2762, 2763, 3572, 2765, 2767, 2769, 3333, 3566, 3496, 2772,
- 3498, 3499, 3500, 2776, 3588, 3337, 3590, 2781, 2782, 2783,
- 2784, 3565, 3560, 1475, 3366, 3367, 3633, 3634, 1475, 0,
- 2795, 2796, 2797, 2798, 2799, 2800, 3526, 3396, 2804, 2805,
- 0, 2701, 1747, 0, 1475, 0, 2807, 0, 0, 2699,
- 1747, 2813, 0, 0, 1475, 0, 2816, 2817, 2818, 2819,
- 2820, 1475, 0, 0, 0, 1475, 0, 2827, 2828, 3553,
- 2829, 1475, 0, 2832, 2834, 2380, 0, 2836, 0, 0,
- 0, 1060, 0, 0, 1066, 1066, 0, 2848, 3567, 3568,
- 0, 0, 0, 1472, 0, 1473, 1474, 1472, 0, 1473,
- 1474, 1475, 0, 674, 3635, 1472, 0, 1473, 1474, 0,
- 0, 1953, 0, 0, 0, 3394, 0, 0, 0, 0,
- 3651, 2939, 2416, 0, 0, 0, 1475, 0, 0, 0,
- 0, 1475, 0, 0, 0, 0, 2831, 0, 0, 0,
- 1475, 0, 0, 0, 0, 3662, 2830, 0, 0, 0,
- 0, 0, 0, 2826, 1475, 0, 0, 2825, 0, 0,
- 674, 0, 0, 2824, 1475, 674, 0, 0, 0, 0,
- 0, 1472, 0, 1473, 1474, 0, 1472, 0, 1473, 1474,
- 0, 0, 0, 0, 0, 0, 0, 3703, 0, 3704,
- 3705, 3706, 1472, 2823, 1473, 1474, 0, 1475, 3713, 0,
- 0, 3720, 1472, 3722, 1473, 1474, 0, 0, 0, 1472,
- 3693, 1473, 1474, 1472, 0, 1473, 1474, 0, 2822, 1472,
- 0, 1473, 1474, 2821, 1475, 0, 3218, 0, 0, 87,
- 3723, 3218, 2812, 0, 0, 1475, 0, 0, 0, 1475,
- 674, 3582, 3583, 0, 0, 0, 2811, 2961, 0, 1472,
- 1475, 1473, 1474, 0, 0, 0, 2810, 1475, 0, 0,
- 3724, 0, 0, 0, 2129, 3733, 2127, 3753, 0, 3745,
- 3732, 0, 3656, 3740, 1472, 3742, 1473, 1474, 0, 1472,
- 0, 1473, 1474, 3743, 0, 0, 0, 0, 1472, 2809,
- 1473, 1474, 0, 1521, 3616, 0, 3905, 0, 3620, 3621,
- 3622, 3757, 1472, 0, 1473, 1474, 674, 674, 674, 674,
- 674, 674, 1472, 0, 1473, 1474, 2806, 0, 0, 0,
- 3612, 3613, 0, 0, 0, 0, 0, 2801, 0, 0,
- 0, 2794, 0, 0, 674, 674, 3897, 2655, 3896, 0,
- 0, 0, 2793, 0, 0, 1472, 3924, 1473, 1474, 2792,
- 0, 0, 3916, 0, 2670, 3917, 0, 0, 674, 3912,
- 0, 3895, 0, 0, 0, 0, 0, 0, 0, 3963,
- 3964, 0, 1472, 0, 1473, 1474, 3066, 3067, 3068, 3069,
- 3070, 3747, 0, 1472, 3721, 1473, 1474, 1472, 0, 1473,
- 1474, 0, 2129, 0, 2127, 3967, 3085, 0, 1472, 0,
- 1473, 1474, 0, 0, 0, 1472, 0, 1473, 1474, 0,
- 0, 3754, 3755, 0, 0, 0, 0, 0, 0, 3970,
- 0, 0, 0, 3973, 4012, 3218, 0, 0, 3749, 42,
- 0, 0, 0, 0, 0, 0, 0, 3214, 0, 1546,
- 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556,
- 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1566, 1567,
- 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577,
- 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587,
- 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597,
- 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607,
- 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617,
- 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627,
- 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637,
- 1638, 1639, 1640, 1641, 1642, 1643, 1645, 1646, 1647, 1648,
- 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658,
- 1659, 1660, 1666, 1667, 1668, 1669, 1683, 1684, 1685, 1686,
- 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696,
- 3968, 3997, 1475, 3996, 0, 4013, 3987, 3217, 0, 0,
- 1475, 1716, 3217, 3993, 4031, 3995, 0, 0, 0, 0,
- 0, 1475, 0, 0, 3907, 3908, 3909, 0, 0, 0,
- 0, 0, 87, 0, 0, 1067, 3220, 674, 0, 1475,
- 0, 0, 0, 0, 1475, 0, 4015, 0, 0, 4016,
- 0, 0, 1475, 0, 3238, 0, 3900, 0, 1521, 4020,
- 0, 0, 1475, 1521, 674, 674, 674, 674, 674, 4036,
- 673, 1475, 4038, 0, 4033, 0, 3237, 3904, 0, 0,
- 0, 0, 1953, 0, 674, 0, 0, 674, 3245, 2007,
- 1024, 0, 0, 0, 2791, 0, 0, 0, 0, 0,
- 0, 0, 2790, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2789, 0, 0, 0, 0, 0, 0,
- 4056, 0, 0, 4057, 0, 0, 0, 0, 0, 0,
- 4081, 2788, 1095, 674, 0, 87, 2787, 0, 0, 0,
- 0, 0, 0, 1476, 2786, 0, 4066, 0, 0, 1521,
- 1472, 0, 1473, 1474, 2780, 0, 4075, 0, 1472, 674,
- 1473, 1474, 0, 2779, 0, 0, 4098, 4087, 0, 1472,
- 4112, 1473, 1474, 674, 1534, 4085, 4090, 3924, 4101, 4095,
- 4092, 4091, 3370, 4089, 4094, 4093, 0, 1472, 0, 1473,
- 1474, 4120, 1472, 674, 1473, 1474, 674, 0, 4017, 0,
- 1472, 0, 1473, 1474, 3387, 3388, 3217, 3389, 3391, 3393,
- 1472, 4143, 1473, 1474, 0, 0, 0, 4125, 4133, 1472,
- 4138, 1473, 1474, 0, 0, 0, 4151, 4112, 4153, 0,
- 0, 0, 42, 4164, 3056, 3406, 0, 0, 0, 0,
- 3409, 0, 3411, 3412, 3413, 3415, 3416, 3417, 3418, 3419,
- 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3429, 3431,
- 3433, 3435, 3437, 3439, 3441, 3443, 3445, 3447, 3449, 3451,
- 3453, 3455, 3457, 3459, 3460, 3462, 3463, 3464, 3466, 2008,
- 4187, 3468, 4184, 3470, 3471, 3472, 4194, 4193, 3476, 3477,
- 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 2129,
- 4200, 2127, 4197, 4183, 4112, 4208, 4198, 3492, 4168, 4196,
- 4163, 3497, 4077, 4216, 0, 3501, 3502, 1475, 3503, 3505,
- 4082, 3508, 3510, 4224, 3512, 3513, 3514, 3515, 4222, 0,
- 1475, 0, 0, 0, 3523, 42, 3214, 1475, 4022, 0,
- 0, 1475, 0, 4233, 4234, 3964, 4232, 1475, 0, 0,
- 0, 0, 0, 1475, 0, 0, 0, 2129, 1475, 2127,
- 4231, 674, 1475, 0, 0, 4029, 3130, 0, 3132, 3547,
- 3548, 1475, 4041, 3552, 0, 0, 0, 0, 0, 0,
- 1475, 0, 0, 0, 3143, 3144, 3145, 3146, 0, 0,
- 1475, 0, 4159, 0, 1475, 0, 0, 0, 1475, 0,
- 0, 0, 1475, 0, 0, 0, 0, 1475, 0, 2778,
- 0, 0, 0, 0, 0, 1475, 0, 674, 0, 1475,
- 0, 0, 2775, 1475, 0, 0, 0, 0, 0, 2774,
- 0, 0, 0, 2773, 0, 0, 0, 0, 0, 2771,
- 0, 0, 0, 0, 0, 2764, 674, 0, 0, 0,
- 2761, 0, 0, 0, 2759, 0, 0, 0, 0, 4076,
- 0, 0, 0, 2757, 1767, 1472, 674, 1473, 1474, 674,
- 674, 674, 2716, 0, 0, 0, 0, 0, 1472, 3627,
- 1473, 1474, 2696, 0, 0, 1472, 2695, 1473, 1474, 1472,
- 2691, 1473, 1474, 0, 2689, 1472, 0, 1473, 1474, 2681,
- 0, 1472, 1856, 1473, 1474, 0, 1472, 2652, 1473, 1474,
- 1472, 2646, 1473, 1474, 0, 2641, 0, 0, 0, 1472,
- 0, 1473, 1474, 0, 3646, 0, 0, 3650, 1472, 0,
- 1473, 1474, 0, 0, 0, 0, 0, 1737, 1472, 0,
- 1473, 1474, 1472, 0, 1473, 1474, 1472, 0, 1473, 1474,
- 1472, 1745, 1473, 1474, 1738, 1472, 0, 1473, 1474, 0,
- 0, 3663, 0, 1472, 0, 1473, 1474, 1472, 0, 1473,
- 1474, 1472, 0, 1473, 1474, 0, 0, 1737, 0, 2374,
- 2375, 1744, 1742, 1743, 1739, 0, 1740, 0, 0, 0,
- 0, 1745, 4181, 0, 1738, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1733,
- 1734, 1744, 1742, 1743, 1739, 3686, 1740, 0, 0, 0,
- 2013, 0, 0, 0, 0, 0, 0, 0, 3694, 0,
- 0, 0, 0, 0, 0, 3701, 0, 0, 0, 1741,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1215, 0, 1221, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1953,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1521, 0,
- 0, 0, 1953, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1448, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3913, 0, 0, 0, 0, 0,
- 0, 0, 0, 3920, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1953, 0,
- 0, 0, 0, 3930, 3931, 3932, 0, 3934, 0, 3935,
- 3936, 1710, 0, 0, 0, 3939, 3940, 3941, 3942, 3943,
- 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953,
- 3954, 3955, 3956, 3957, 3958, 3959, 3960, 0, 3962, 3965,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3974, 3975, 3976, 3977, 3978, 3980,
- 3981, 3983, 3985, 3986, 3988, 0, 0, 0, 3992, 0,
- 0, 0, 3994, 0, 2080, 2081, 2082, 2083, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2096, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 4021, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2135, 2136, 0, 0, 0,
- 0, 2159, 0, 0, 2163, 2164, 0, 0, 0, 2169,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2181, 2182, 2183, 2184, 2185, 2186,
- 2187, 2188, 2189, 2190, 0, 2192, 0, 0, 0, 2214,
- 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2223, 0, 2228,
- 0, 2230, 2231, 2232, 0, 2234, 2235, 2236, 0, 2238,
- 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248,
- 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258,
- 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268,
- 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278,
- 2279, 2280, 2281, 2282, 2283, 2287, 2288, 2289, 2290, 2291,
- 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301,
- 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 0, 0,
- 0, 0, 3684, 2315, 0, 2317, 0, 2324, 2325, 2326,
- 2327, 2328, 2329, 4167, 0, 0, 0, 0, 0, 0,
- 0, 1779, 1819, 1953, 0, 0, 2340, 2341, 2342, 2343,
- 2344, 2345, 2346, 2347, 0, 2349, 2350, 2351, 2352, 2353,
- 1796, 0, 674, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4046, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1819, 0, 0, 0, 1066, 0, 0, 4061, 0,
- 0, 0, 0, 0, 4064, 0, 4065, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2394, 2395, 0, 4080,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1936, 0, 0, 0, 1521, 0, 0,
- 0, 0, 2433, 0, 0, 4106, 4107, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4114,
- 4116, 4118, 0, 0, 0, 0, 4100, 0, 1981, 0,
- 954, 0, 0, 0, 0, 0, 0, 4124, 0, 0,
- 0, 0, 0, 0, 0, 2009, 0, 0, 1806, 4146,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2020, 0, 0, 2476, 190, 1953, 0, 2024, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2035,
- 2036, 2037, 2038, 2039, 2040, 2041, 195, 4165, 129, 195,
- 151, 0, 0, 725, 0, 0, 0, 1806, 731, 0,
- 0, 0, 0, 0, 172, 0, 0, 0, 0, 195,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 4188, 4190, 4192, 0, 195, 0, 0, 0, 0,
- 4003, 0, 1820, 0, 0, 0, 2007, 0, 162, 0,
- 0, 0, 0, 0, 150, 0, 0, 0, 0, 0,
- 731, 195, 731, 0, 4213, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 169, 0, 0, 170, 0, 0,
- 0, 0, 4225, 4226, 0, 0, 0, 0, 0, 0,
- 0, 1820, 0, 0, 0, 0, 0, 0, 0, 138,
- 139, 161, 160, 189, 0, 1833, 1836, 1837, 1838, 1839,
- 1840, 1841, 0, 1842, 1843, 1845, 1846, 1844, 1847, 1848,
- 1821, 1822, 1823, 1824, 1804, 1805, 1834, 0, 1807, 0,
- 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 0,
- 0, 1817, 1825, 1826, 1827, 1828, 0, 1829, 1830, 1831,
- 1832, 0, 0, 1818, 1833, 1836, 1837, 1838, 1839, 1840,
- 1841, 0, 1842, 1843, 1845, 1846, 1844, 1847, 1848, 1821,
- 1822, 1823, 1824, 1804, 1805, 1834, 0, 1807, 0, 1808,
- 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 0, 2073,
- 1817, 1825, 1826, 1827, 1828, 0, 1829, 1830, 1831, 1832,
- 0, 0, 1818, 0, 155, 136, 158, 143, 135, 0,
- 156, 157, 0, 0, 0, 0, 0, 173, 1710, 0,
- 0, 0, 0, 0, 0, 0, 179, 144, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 147, 145, 140, 141, 142, 146, 0, 0, 0,
- 0, 0, 0, 137, 0, 0, 0, 0, 0, 0,
- 0, 0, 148, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4045, 0, 0, 0, 0, 0,
- 0, 0, 4055, 0, 0, 0, 0, 0, 0, 0,
- 2650, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2656, 2657, 2658, 2659, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1710, 1534, 0, 0, 190, 0,
- 0, 0, 164, 0, 0, 0, 0, 0, 1835, 2968,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 129, 0, 151, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 172, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1835, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 162, 0, 0, 0, 0, 0, 150, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 169, 159, 0,
- 170, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1877, 1878, 161, 160, 189, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2400, 0, 0, 0, 0, 0, 0, 0, 2404, 0,
- 2407, 0, 0, 2073, 0, 0, 0, 0, 0, 1767,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 152, 0, 0,
- 153, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 155, 1879, 158,
- 0, 1876, 0, 156, 157, 0, 0, 0, 0, 0,
- 173, 165, 0, 0, 0, 0, 0, 0, 177, 179,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 195, 0, 195, 0, 0, 0, 0, 0, 0,
+ 973, 3696, 3697, 87, 3695, 4026, 4180, 4212, 961, 4116,
+ 4135, 2147, 3359, 2371, 4008, 4225, 4104, 1282, 4179, 1284,
+ 968, 3645, 960, 2135, 3260, 2443, 3267, 2073, 3931, 3221,
+ 5, 3308, 3495, 3317, 3322, 4006, 3319, 3318, 3316, 3321,
+ 3320, 3074, 3632, 2373, 3159, 3337, 3275, 2518, 2014, 752,
+ 3336, 3225, 3222, 3535, 3048, 3073, 3541, 3219, 2876, 3738,
+ 2398, 747, 922, 3209, 3525, 2481, 746, 780, 2950, 3366,
+ 1861, 1804, 921, 3030, 2505, 2981, 2486, 1760, 1093, 4077,
+ 3339, 2951, 2549, 2952, 163, 2414, 1041, 2431, 87, 2882,
+ 2419, 1163, 1061, 1068, 2901, 1038, 43, 2868, 2327, 2417,
+ 926, 1909, 2131, 42, 2852, 1139, 2295, 1041, 2081, 3022,
+ 2418, 41, 2294, 2169, 2527, 3563, 149, 2504, 1891, 2406,
+ 2566, 2488, 1103, 2943, 1126, 1121, 1793, 2918, 1773, 2421,
+ 100, 1721, 1540, 2175, 2106, 104, 2095, 1465, 105, 1448,
+ 2010, 1898, 1100, 1097, 1870, 3224, 762, 1132, 1990, 1127,
+ 1129, 1101, 2477, 1128, 1792, 1078, 1050, 2478, 1080, 1778,
+ 1743, 1523, 1499, 2202, 2072, 2183, 3733, 2399, 749, 757,
+ 2850, 1047, 2889, 107, 85, 1272, 2022, 127, 167, 125,
+ 126, 1883, 3496, 1060, 1046, 3725, 1040, 99, 1044, 1212,
+ 132, 133, 93, 923, 3552, 1073, 756, 1036, 1048, 1045,
+ 106, 750, 1544, 98, 4213, 3633, 1072, 1063, 3305, 1280,
+ 739, 1258, 2520, 2521, 2522, 4061, 2520, 3004, 3003, 2564,
+ 2972, 1466, 3625, 1035, 4162, 84, 3038, 3039, 1549, 682,
+ 1053, 128, 4057, 2368, 2369, 134, 2088, 3588, 2087, 1168,
+ 2086, 4062, 1143, 1165, 1094, 4056, 2085, 2084, 2083, 2053,
+ 1462, 1228, 679, 1459, 680, 4156, 1182, 1183, 1184, 2848,
+ 1187, 1188, 1189, 1190, 1176, 2617, 1193, 1194, 1195, 1196,
+ 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206,
+ 1207, 1208, 1209, 740, 1088, 1037, 1087, 1142, 1054, 3327,
+ 3205, 1975, 2, 2878, 1764, 4183, 1118, 1762, 3700, 1062,
+ 3163, 2553, 1117, 128, 1116, 1115, 1169, 1172, 1173, 3327,
+ 1482, 1039, 4235, 4035, 2974, 724, 95, 724, 95, 3700,
+ 4178, 1105, 3324, 1229, 1765, 4203, 3499, 1763, 3498, 1476,
+ 4218, 1110, 1086, 1090, 925, 1185, 2997, 111, 112, 113,
+ 2392, 116, 4166, 4164, 122, 2552, 4057, 191, 1034, 3325,
+ 674, 718, 927, 190, 95, 4217, 2395, 95, 1461, 2394,
+ 4009, 1754, 737, 738, 2994, 2813, 718, 4165, 4163, 3325,
+ 2093, 128, 1029, 1030, 1031, 1032, 129, 2109, 3331, 1043,
+ 3385, 718, 4131, 3927, 3926, 976, 977, 978, 3638, 1167,
+ 1166, 3639, 172, 1119, 3699, 976, 977, 978, 3331, 86,
+ 1086, 1090, 925, 4193, 3937, 4160, 3657, 1075, 1076, 713,
+ 1450, 3646, 4105, 86, 4113, 3699, 2624, 2546, 86, 3936,
+ 2140, 4140, 2892, 3411, 1872, 1265, 3656, 1267, 1478, 2927,
+ 3256, 1109, 2926, 3037, 1111, 2928, 3257, 3258, 2932, 4117,
+ 1114, 1472, 1221, 1222, 1464, 2438, 2439, 2065, 2066, 718,
+ 2893, 1794, 169, 1795, 2621, 170, 2849, 698, 2437, 1479,
+ 3021, 1480, 1481, 1460, 3752, 1264, 1266, 1248, 1027, 1026,
+ 696, 718, 1236, 4027, 1224, 1253, 1254, 1237, 1249, 1242,
+ 2939, 189, 95, 3095, 1236, 2551, 2622, 1277, 718, 1237,
+ 718, 2018, 718, 3328, 2497, 3393, 95, 1235, 1112, 1234,
+ 3391, 95, 2456, 2455, 1443, 3363, 2370, 2615, 3361, 4040,
+ 693, 2885, 2886, 3328, 2402, 4121, 2068, 2064, 2491, 708,
+ 4145, 732, 3367, 1211, 736, 4121, 1996, 86, 730, 1790,
+ 88, 2402, 1186, 1114, 703, 1106, 1725, 3023, 1965, 3979,
+ 4143, 3980, 1108, 1107, 2982, 706, 3354, 2528, 716, 4184,
+ 4149, 4150, 2571, 3007, 3355, 2591, 717, 2592, 2573, 2593,
+ 3277, 3278, 2567, 1079, 1991, 719, 4215, 4144, 1269, 1442,
+ 4185, 1251, 1252, 1449, 1274, 1262, 1250, 1243, 1257, 1263,
+ 719, 1217, 1966, 1255, 1967, 3025, 3011, 2569, 3012, 1268,
+ 2618, 1112, 2619, 1256, 2570, 719, 173, 3623, 3627, 3626,
+ 1276, 3364, 3911, 1728, 3362, 179, 1275, 2572, 2594, 1192,
+ 95, 1191, 1152, 2574, 1261, 1141, 683, 1141, 685, 699,
+ 2531, 721, 3704, 720, 689, 2415, 687, 691, 700, 692,
+ 1113, 686, 2019, 697, 1123, 1161, 688, 701, 702, 705,
+ 709, 710, 711, 707, 704, 1122, 695, 722, 1160, 1123,
+ 1159, 3096, 1158, 1157, 1156, 1155, 3538, 4157, 1154, 1149,
+ 1089, 1083, 1081, 719, 1500, 1876, 2975, 1162, 1514, 3276,
+ 1514, 2490, 2580, 2576, 2578, 2579, 2577, 2581, 2582, 2583,
+ 3279, 3279, 1098, 4236, 4190, 719, 3382, 1135, 1501, 1502,
+ 1503, 1504, 1505, 1506, 1507, 1509, 1508, 1510, 1511, 1098,
+ 1098, 1171, 719, 1096, 719, 1134, 719, 1134, 2011, 2400,
+ 2401, 1170, 3622, 1281, 3162, 1281, 1281, 1871, 1140, 1074,
+ 1140, 3026, 3299, 1113, 2557, 2556, 2400, 2401, 1089, 1083,
+ 1081, 2007, 1451, 164, 1179, 3006, 1869, 1471, 1468, 1469,
+ 1470, 1475, 1477, 1474, 1868, 1473, 2000, 1867, 1998, 1999,
+ 1997, 2001, 2002, 2003, 3042, 1467, 2639, 2992, 2008, 3190,
+ 1791, 3188, 1153, 4158, 1865, 1041, 1524, 1529, 1530, 1227,
+ 1533, 1535, 1536, 1537, 1538, 1539, 673, 1542, 1543, 1545,
+ 1545, 4022, 1545, 1545, 1550, 1550, 1550, 1553, 1554, 1555,
+ 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565,
+ 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575,
+ 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585,
+ 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595,
+ 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605,
+ 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615,
+ 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625,
+ 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635,
+ 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645,
+ 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655,
+ 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665,
+ 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675,
+ 1676, 1521, 4034, 2973, 1270, 1677, 1458, 1679, 1680, 1681,
+ 1682, 1683, 723, 1439, 1440, 1441, 2941, 1120, 4080, 1550,
+ 1550, 1550, 1550, 1550, 1550, 3586, 3587, 1082, 3655, 1534,
+ 974, 3009, 974, 714, 1690, 1691, 1692, 1693, 1694, 1695,
+ 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 715, 1525,
+ 1517, 1518, 1519, 1520, 2550, 3539, 4119, 3329, 3330, 1466,
+ 1531, 2976, 165, 3698, 2996, 1718, 4119, 1246, 1233, 177,
+ 3333, 974, 1546, 94, 1547, 1548, 2623, 3329, 3330, 1977,
+ 1976, 1978, 1979, 1980, 3698, 3483, 1220, 94, 4118, 1150,
+ 3333, 89, 94, 1897, 2494, 1082, 1223, 1232, 4118, 1238,
+ 1239, 1240, 1241, 1551, 1552, 2548, 3020, 3577, 2995, 3019,
+ 185, 3559, 1215, 2622, 3049, 2923, 1141, 2853, 2855, 1724,
+ 2888, 3029, 2825, 1278, 1279, 1515, 1516, 2143, 1041, 1782,
+ 1753, 1678, 1041, 1141, 1226, 2495, 3171, 3170, 1041, 2883,
+ 681, 1511, 2493, 2444, 4148, 1514, 3255, 1754, 2650, 2184,
+ 1141, 124, 1494, 166, 171, 168, 174, 175, 176, 178,
+ 180, 181, 182, 183, 1715, 4229, 2185, 1476, 1057, 184,
+ 186, 187, 188, 1259, 1273, 1716, 2496, 2111, 119, 4048,
+ 1995, 1164, 2176, 3069, 1500, 1178, 2492, 4194, 4147, 3618,
+ 3263, 2112, 1512, 1513, 2110, 3747, 3383, 2023, 3051, 1481,
+ 1231, 94, 1896, 3551, 2568, 2077, 2004, 1796, 1501, 1502,
+ 1503, 1504, 1505, 1506, 1507, 1509, 1508, 1510, 1511, 1140,
+ 2176, 2510, 2659, 1734, 1144, 1134, 1735, 104, 1732, 1146,
+ 105, 2650, 1736, 1147, 1145, 3593, 1140, 3592, 1040, 1151,
+ 2545, 3264, 2535, 1716, 1480, 1481, 1722, 1684, 1685, 1686,
+ 1687, 1688, 1689, 1140, 1148, 1709, 120, 1906, 1905, 1134,
+ 1137, 1138, 1895, 1098, 2543, 107, 3266, 1131, 1135, 1141,
+ 1152, 3061, 3060, 3059, 1114, 1210, 3053, 1150, 3057, 1472,
+ 3052, 2540, 3050, 1245, 3032, 1052, 3261, 3055, 1130, 3031,
+ 1141, 2854, 3032, 1482, 1247, 4237, 3054, 3031, 1889, 4186,
+ 1873, 1874, 1875, 3578, 4231, 2182, 3277, 3278, 1141, 3652,
+ 1730, 3653, 2547, 3262, 2540, 3056, 3058, 4081, 3919, 1985,
+ 1731, 3918, 4014, 1756, 2544, 3909, 1719, 1733, 1482, 1960,
+ 1037, 1260, 1882, 1899, 1899, 1992, 2016, 1993, 1759, 1214,
+ 1994, 1911, 1942, 1912, 1216, 1914, 1916, 3268, 1901, 1920,
+ 1922, 1924, 1926, 1928, 1230, 2024, 1754, 2542, 1482, 1281,
+ 2170, 1787, 1788, 1039, 2181, 1983, 4082, 1950, 1951, 1856,
+ 1900, 4015, 1140, 1956, 1957, 976, 977, 978, 1134, 1137,
+ 1138, 2332, 1098, 3669, 1864, 2329, 1131, 1135, 3668, 2167,
+ 1984, 4238, 1972, 1140, 2331, 3600, 1879, 4227, 1144, 1134,
+ 4228, 3599, 4226, 1146, 1892, 1880, 1878, 1147, 1145, 3589,
+ 972, 1140, 3306, 1177, 3295, 3276, 2948, 1174, 2947, 1506,
+ 1507, 1509, 1508, 1510, 1511, 1737, 1903, 3279, 2099, 2100,
+ 2097, 2098, 2946, 2500, 1986, 742, 1982, 1946, 1970, 190,
+ 2648, 1500, 1479, 3041, 1480, 1481, 1969, 1968, 1213, 1958,
+ 2647, 3071, 1952, 1938, 2012, 2096, 1941, 1949, 1943, 724,
+ 1948, 1947, 129, 1971, 1113, 1501, 1502, 1503, 1504, 1505,
+ 1506, 1507, 1509, 1508, 1510, 1511, 1918, 1479, 172, 1480,
+ 1481, 1729, 1482, 2211, 1117, 128, 1116, 1115, 2159, 2148,
+ 2149, 2150, 2151, 2161, 2152, 2153, 2154, 2166, 2162, 2155,
+ 2156, 2163, 2164, 2165, 2157, 2158, 2160, 1479, 2332, 1480,
+ 1481, 2029, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1509,
+ 1508, 1510, 1511, 2099, 2100, 2629, 2630, 3358, 1445, 1281,
+ 1281, 3583, 1790, 724, 1482, 2051, 2025, 2026, 169, 4187,
+ 2930, 170, 724, 4043, 2516, 87, 2515, 3265, 87, 2514,
+ 2030, 2513, 2512, 2698, 2511, 2874, 4214, 2037, 2038, 2039,
+ 2407, 2408, 1767, 1478, 1754, 1754, 1482, 189, 2050, 4174,
+ 1754, 1482, 2874, 1754, 3941, 1471, 1468, 1469, 1470, 1475,
+ 1477, 1474, 2203, 1473, 1482, 2696, 4042, 2205, 1500, 1478,
+ 1754, 2210, 2206, 1467, 2167, 2207, 2208, 2209, 4018, 1482,
+ 2204, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220,
+ 2700, 1768, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1509,
+ 1508, 1510, 1511, 1482, 2874, 4112, 2138, 2138, 2136, 2136,
+ 2139, 1479, 4017, 1480, 1481, 2874, 4091, 2101, 110, 2874,
+ 4087, 4036, 101, 3999, 1754, 42, 1482, 2686, 42, 109,
+ 1482, 108, 102, 4016, 1482, 3914, 2027, 3898, 4199, 1754,
+ 3636, 4033, 3946, 2031, 1754, 2033, 2034, 2035, 2036, 101,
+ 2646, 3897, 2040, 3746, 2222, 103, 4197, 1754, 3945, 102,
+ 3922, 1754, 173, 1479, 2052, 1480, 1481, 2874, 3910, 3550,
+ 3744, 179, 1754, 2159, 2148, 2149, 2150, 2151, 2161, 2152,
+ 2153, 2154, 2166, 2162, 2155, 2156, 2163, 2164, 2165, 2157,
+ 2158, 2160, 2078, 1754, 3902, 1479, 85, 1480, 1481, 85,
+ 1479, 3665, 1480, 1481, 1754, 3901, 1715, 1714, 1713, 1712,
+ 3636, 1754, 2108, 1479, 3597, 1480, 1481, 1716, 2058, 2059,
+ 1754, 2171, 4127, 1754, 1482, 3582, 4125, 1754, 1479, 2113,
+ 1480, 1481, 2874, 3634, 2540, 1754, 2114, 3368, 2116, 2117,
+ 2118, 2119, 2120, 2121, 2123, 2125, 2126, 2127, 2128, 2129,
+ 2130, 3365, 1479, 3298, 1480, 1481, 2142, 1504, 1505, 1506,
+ 1507, 1509, 1508, 1510, 1511, 3297, 2340, 2957, 2342, 3269,
+ 2115, 3557, 1754, 3273, 2944, 1479, 2246, 1480, 1481, 1479,
+ 3272, 1480, 1481, 1479, 1711, 1480, 1481, 1482, 1525, 1704,
+ 2186, 2187, 2188, 2189, 2780, 1754, 3644, 2341, 2612, 164,
+ 3288, 3287, 1478, 2328, 2200, 2221, 2177, 2330, 1500, 3285,
+ 3286, 1496, 1482, 1497, 3274, 2604, 4123, 1754, 2983, 3270,
+ 1500, 2603, 2638, 2238, 3271, 3283, 3284, 1498, 1512, 1513,
+ 1495, 2562, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1509,
+ 1508, 1510, 1511, 1482, 1501, 1502, 1503, 1504, 1505, 1506,
+ 1507, 1509, 1508, 1510, 1511, 3283, 3282, 2655, 2423, 1500,
+ 2561, 2339, 2898, 1754, 2345, 2346, 2622, 3005, 1860, 2986,
+ 2340, 2397, 2342, 1479, 2376, 1480, 1481, 2054, 104, 3992,
+ 1754, 105, 2020, 1501, 1502, 1503, 1504, 1505, 1506, 1507,
+ 1509, 1508, 1510, 1511, 1981, 1482, 2979, 2980, 2962, 104,
+ 2453, 2412, 105, 2387, 3990, 1754, 1482, 1973, 2375, 1488,
+ 1489, 1490, 1491, 1492, 1493, 1487, 1484, 3400, 2107, 1502,
+ 1503, 1504, 1505, 1506, 1507, 1509, 1508, 1510, 1511, 2874,
+ 2873, 1103, 1963, 2919, 2919, 2654, 1479, 3554, 1480, 1481,
+ 2141, 1754, 1482, 103, 1959, 2871, 2462, 2463, 2464, 2465,
+ 2457, 2448, 2458, 2459, 2460, 2461, 2447, 1053, 2425, 103,
+ 1955, 1479, 1954, 1480, 1481, 1103, 2467, 2429, 1953, 2469,
+ 2470, 2471, 2472, 2388, 2363, 1860, 1859, 1802, 1801, 2890,
+ 1769, 1271, 2890, 3250, 2452, 2390, 109, 2381, 1754, 2382,
+ 2541, 2483, 1479, 2622, 1480, 1481, 4075, 2451, 3987, 1754,
+ 2897, 2920, 2920, 1482, 2489, 3553, 2529, 3601, 1754, 2410,
+ 1482, 2922, 2622, 3220, 4047, 2434, 2435, 2874, 2433, 1482,
+ 2898, 3503, 2450, 2869, 3550, 3285, 2449, 1088, 1482, 1087,
+ 3193, 2436, 2780, 1482, 3969, 1754, 2683, 2526, 165, 2682,
+ 2540, 2523, 2405, 1758, 1479, 177, 1480, 1481, 1482, 2366,
+ 2141, 2499, 2079, 2063, 2540, 1479, 2898, 1480, 1481, 3550,
+ 1478, 2898, 2006, 1143, 3602, 3603, 3604, 1789, 1042, 95,
+ 2484, 1125, 1124, 1899, 1482, 4153, 2480, 2473, 2475, 2476,
+ 2503, 4094, 2498, 2502, 2534, 3933, 185, 2537, 1482, 2538,
+ 2554, 1479, 1761, 1480, 1481, 3524, 1754, 1482, 3899, 3759,
+ 3617, 3309, 3517, 1754, 3614, 1482, 2484, 2533, 1142, 2536,
+ 2532, 3514, 1754, 3595, 1482, 3416, 3415, 1862, 1482, 2558,
+ 3512, 1754, 2482, 2559, 2560, 3475, 1754, 2555, 1482, 166,
+ 171, 168, 174, 175, 176, 178, 180, 181, 182, 183,
+ 3473, 1754, 1482, 3356, 3311, 184, 186, 187, 188, 1482,
+ 3307, 95, 1479, 2987, 1480, 1481, 1755, 1757, 1482, 1479,
+ 2479, 1480, 1481, 2474, 2627, 2954, 3572, 2565, 1479, 2468,
+ 1480, 1481, 2466, 1041, 1041, 1041, 1988, 1479, 1894, 1480,
+ 1481, 4188, 1479, 1482, 1480, 1481, 1890, 1858, 1215, 3469,
+ 1754, 1482, 121, 1535, 3360, 1535, 1482, 1479, 4031, 1480,
+ 1481, 1934, 3564, 3565, 1482, 3934, 3466, 1754, 2497, 2379,
+ 3519, 2642, 4209, 1482, 2953, 2056, 4207, 4181, 4055, 2597,
+ 3464, 1754, 3974, 1479, 1482, 1480, 1481, 3567, 3303, 3302,
+ 1482, 2645, 110, 2342, 3462, 1754, 1482, 1479, 3301, 1480,
+ 1481, 3460, 1754, 109, 1482, 108, 1479, 3220, 1480, 1481,
+ 3458, 1754, 3570, 103, 1479, 2966, 1480, 1481, 1935, 1936,
+ 1937, 2598, 2341, 1479, 3569, 1480, 1481, 1479, 2954, 1480,
+ 1481, 3239, 678, 2614, 1482, 3456, 1754, 1479, 1482, 1480,
+ 1481, 3242, 2057, 3454, 1754, 3238, 3243, 2620, 3452, 1754,
+ 1482, 1479, 4051, 1480, 1481, 3935, 3450, 1754, 1479, 1482,
+ 1480, 1481, 3724, 2628, 3723, 3448, 1754, 1479, 1482, 1480,
+ 1481, 2396, 1766, 2385, 1717, 2634, 3446, 1754, 1754, 2631,
+ 2632, 2633, 3444, 1754, 1482, 3240, 1055, 2108, 3442, 1754,
+ 3241, 3558, 1479, 3543, 1480, 1481, 3440, 1754, 3198, 3197,
+ 1479, 3542, 1480, 1481, 4013, 1479, 741, 1480, 1481, 3737,
+ 2635, 3739, 2637, 1479, 1482, 1480, 1481, 3722, 3546, 3605,
+ 1058, 2640, 1479, 2641, 1480, 1481, 3438, 1754, 1059, 3207,
+ 3436, 1754, 1482, 1479, 2005, 1480, 1481, 1056, 2658, 1479,
+ 1025, 1480, 1481, 3906, 2636, 1479, 1482, 1480, 1481, 3281,
+ 1482, 3422, 1754, 1479, 2937, 1480, 1481, 1482, 2958, 1930,
+ 3398, 1754, 2590, 1482, 2184, 2643, 3244, 1482, 2907, 2908,
+ 2589, 2824, 3606, 3607, 3608, 2588, 2845, 1754, 1482, 2606,
+ 2607, 2185, 1482, 1479, 2609, 1480, 1481, 1479, 2587, 1480,
+ 1481, 1067, 1482, 2610, 2694, 2586, 2585, 2812, 2584, 1479,
+ 1181, 1480, 1481, 2856, 1180, 1066, 2843, 1754, 1479, 3376,
+ 1480, 1481, 1931, 1932, 1933, 2953, 101, 1479, 3035, 1480,
+ 1481, 1444, 1041, 2993, 2818, 1754, 102, 129, 2138, 3548,
+ 2136, 2859, 1482, 1479, 101, 1480, 1481, 103, 2795, 1754,
+ 103, 4223, 2787, 1754, 102, 2895, 2896, 1482, 2857, 2778,
+ 1754, 2970, 3210, 3212, 2423, 2776, 1754, 1041, 2915, 2763,
+ 1754, 3213, 2601, 1479, 4130, 1480, 1481, 2104, 2102, 2103,
+ 2761, 1754, 2894, 4032, 2860, 3619, 2862, 1482, 3929, 110,
+ 3280, 1479, 1482, 1480, 1481, 2949, 1482, 2911, 2875, 2391,
+ 109, 3526, 108, 2107, 1482, 1479, 2626, 1480, 1481, 1479,
+ 103, 1480, 1481, 3196, 2407, 2408, 1479, 2062, 1480, 1481,
+ 2061, 3195, 1479, 1482, 1480, 1481, 1479, 1482, 1480, 1481,
+ 108, 2884, 3998, 3997, 2759, 1754, 1722, 1479, 2847, 1480,
+ 1481, 1479, 109, 1480, 1481, 110, 3536, 3977, 3745, 2757,
+ 1754, 1479, 3743, 1480, 1481, 42, 109, 2867, 108, 2940,
+ 2942, 3742, 3735, 2913, 2912, 1482, 3615, 2914, 3547, 3545,
+ 3312, 2933, 2524, 1877, 2887, 1716, 110, 2917, 2872, 2755,
+ 1754, 1065, 2991, 3734, 2753, 1754, 2890, 109, 2751, 1754,
+ 3708, 1479, 1482, 1480, 1481, 2871, 2749, 1754, 2921, 4211,
+ 4210, 4210, 2489, 2924, 1482, 3099, 1479, 2684, 1480, 1481,
+ 1482, 2931, 2377, 2934, 1783, 2747, 1754, 1775, 4211, 2745,
+ 1754, 4019, 2956, 3581, 3002, 3, 2179, 2959, 2960, 1482,
+ 97, 2180, 2945, 1482, 114, 115, 1479, 2076, 1480, 1481,
+ 10, 1479, 1, 1480, 1481, 1479, 1033, 1480, 1481, 2955,
+ 1447, 2074, 1446, 1479, 9, 1480, 1481, 2743, 1754, 1482,
+ 3585, 2963, 4142, 2964, 2967, 2968, 2969, 2075, 694, 2242,
+ 8, 2999, 1479, 2367, 1480, 1481, 1479, 1720, 1480, 1481,
+ 1882, 4182, 4138, 4139, 2741, 1754, 1974, 1964, 3647, 2293,
+ 3930, 1482, 3045, 3046, 2988, 2989, 2739, 1754, 3315, 2530,
+ 3613, 1482, 2737, 1754, 2487, 1133, 154, 2445, 2446, 2998,
+ 4107, 118, 1482, 1091, 1479, 117, 1480, 1481, 1136, 1244,
+ 1482, 2735, 1754, 2525, 1482, 2733, 1754, 3637, 1482, 2938,
+ 2454, 1808, 1806, 1482, 1807, 1805, 1810, 1482, 3024, 1809,
+ 3043, 1479, 3062, 1480, 1481, 4079, 3027, 1482, 3384, 2325,
+ 2685, 2731, 1754, 1479, 3482, 1480, 1481, 1482, 1771, 1479,
+ 2067, 1480, 1481, 731, 1482, 2910, 3080, 3081, 3082, 3083,
+ 3084, 3085, 3086, 3087, 3088, 3089, 725, 192, 1479, 2357,
+ 1480, 1481, 1479, 3515, 1480, 1481, 3097, 1797, 1776, 2060,
+ 3000, 3063, 1175, 2729, 1754, 684, 3289, 1755, 2364, 2563,
+ 690, 1532, 2055, 3194, 2724, 1754, 2925, 1085, 1479, 1482,
+ 1480, 1481, 2720, 1754, 1077, 2378, 2718, 1754, 2861, 1084,
+ 2711, 1754, 3907, 3228, 3540, 2709, 1754, 3206, 3208, 1770,
+ 1482, 2877, 3211, 3204, 4012, 3736, 1482, 2389, 4092, 3481,
+ 1479, 3101, 1480, 1481, 2935, 1772, 1717, 3502, 2657, 3477,
+ 1479, 3047, 1480, 1481, 3157, 1482, 3413, 3033, 2174, 3064,
+ 3034, 1479, 1522, 1480, 1481, 2422, 3703, 2094, 754, 1479,
+ 753, 1480, 1481, 1479, 751, 1480, 1481, 1479, 2863, 1480,
+ 1481, 3044, 1479, 3175, 1480, 1481, 1479, 2891, 1480, 1481,
+ 1486, 1485, 962, 2236, 2851, 1784, 1479, 3164, 1480, 1481,
+ 2902, 3412, 3166, 2900, 2899, 2978, 1479, 2599, 1480, 1481,
+ 2430, 3566, 2423, 1479, 3562, 1480, 1481, 4134, 3090, 2328,
+ 2424, 2328, 3404, 2330, 2420, 2330, 2870, 3137, 3402, 913,
+ 912, 1482, 763, 755, 3227, 745, 87, 975, 911, 2423,
+ 2423, 2423, 2423, 2423, 2501, 910, 3175, 2841, 3342, 3147,
+ 3148, 3149, 3150, 3151, 3343, 3165, 3008, 3167, 1479, 2423,
+ 1480, 1481, 2423, 3357, 3010, 2936, 3353, 3232, 1482, 1463,
+ 3249, 1739, 1482, 2319, 2320, 2321, 2322, 2323, 3174, 1479,
+ 1742, 1480, 1481, 2016, 1482, 1479, 2386, 1480, 1481, 1104,
+ 2344, 3381, 4038, 2347, 2348, 1482, 3186, 2625, 3192, 3187,
+ 3189, 3191, 1482, 3201, 1479, 3199, 1480, 1481, 3410, 3214,
+ 3215, 3202, 2425, 1482, 2903, 2906, 2907, 2908, 2904, 1738,
+ 2905, 2909, 4045, 2840, 3323, 3332, 3631, 3304, 2984, 2365,
+ 3234, 3235, 1046, 3237, 2517, 3340, 1044, 1482, 3231, 2425,
+ 2425, 2425, 2425, 2425, 3245, 104, 1482, 1045, 105, 3233,
+ 3253, 69, 3236, 1482, 46, 4007, 4076, 3259, 3251, 2425,
+ 2836, 3252, 2425, 1482, 2835, 905, 902, 3705, 3706, 3707,
+ 3160, 3161, 3290, 4058, 3292, 3291, 2834, 4059, 901, 4060,
+ 1479, 3200, 1480, 1481, 1482, 3293, 3294, 2833, 1482, 2231,
+ 1457, 1454, 4155, 1482, 2832, 2069, 96, 3344, 3313, 36,
+ 35, 2489, 3341, 3334, 1482, 2831, 34, 3345, 1482, 33,
+ 32, 26, 25, 3217, 3351, 1482, 24, 1479, 23, 1480,
+ 1481, 1479, 22, 1480, 1481, 29, 3223, 19, 21, 2822,
+ 20, 3223, 18, 1479, 3369, 1480, 1481, 3372, 2821, 3326,
+ 4177, 3371, 4222, 3379, 1479, 2820, 1480, 1481, 123, 55,
+ 52, 1479, 50, 1480, 1481, 2819, 131, 130, 53, 3389,
+ 3386, 3387, 1479, 3388, 1480, 1481, 3390, 49, 3392, 1218,
+ 3394, 3405, 3406, 3407, 3408, 3409, 2816, 47, 31, 30,
+ 2811, 17, 16, 15, 14, 2804, 1479, 13, 1480, 1481,
+ 12, 11, 7, 6, 39, 1479, 2803, 1480, 1481, 38,
+ 2802, 37, 1479, 28, 1480, 1481, 27, 2801, 40, 1535,
+ 4, 2971, 1479, 1535, 1480, 1481, 3314, 2519, 0, 0,
+ 0, 0, 0, 2644, 0, 0, 0, 2649, 0, 3527,
+ 0, 3529, 0, 1479, 0, 1480, 1481, 1479, 0, 1480,
+ 1481, 3497, 1479, 0, 1480, 1481, 0, 0, 3501, 0,
+ 2652, 0, 2653, 1479, 0, 1480, 1481, 1479, 2661, 1480,
+ 1481, 0, 2663, 2664, 1479, 0, 1480, 1481, 0, 0,
+ 0, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 2677, 2678,
+ 2679, 0, 2681, 0, 3380, 0, 3226, 0, 0, 0,
+ 0, 2423, 0, 0, 3528, 0, 3530, 0, 0, 0,
+ 3532, 0, 0, 3537, 3579, 2687, 2688, 2689, 2690, 0,
+ 2692, 2693, 3544, 2695, 0, 0, 0, 2697, 0, 3549,
+ 0, 2702, 2703, 0, 2704, 1482, 0, 2707, 2708, 2710,
+ 2712, 2713, 2714, 2715, 2716, 2717, 2719, 2721, 2722, 2723,
+ 2725, 743, 2727, 2728, 2730, 2732, 2734, 2736, 2738, 2740,
+ 2742, 2744, 2746, 2748, 2750, 2752, 2754, 2756, 2758, 2760,
+ 2762, 2764, 2765, 2766, 3571, 2768, 3344, 2770, 3335, 2772,
+ 2773, 3341, 2775, 2777, 2779, 3573, 3345, 3504, 2782, 3506,
+ 3507, 3508, 2786, 3596, 3580, 3598, 2791, 2792, 2793, 2794,
+ 3574, 2425, 3568, 1482, 0, 3641, 3642, 3374, 3375, 2805,
+ 2806, 2807, 2808, 2809, 2810, 3590, 3591, 2814, 2815, 0,
+ 0, 0, 3534, 1482, 0, 2817, 0, 2800, 0, 0,
+ 2823, 0, 0, 1482, 0, 2826, 2827, 2828, 2829, 2830,
+ 1482, 0, 0, 0, 0, 1482, 2837, 2838, 0, 2839,
+ 1482, 0, 2842, 2844, 2389, 3561, 2846, 0, 0, 1482,
+ 1064, 0, 0, 1070, 1070, 1482, 2858, 3624, 0, 1482,
+ 0, 3628, 3629, 3630, 3575, 3576, 0, 0, 0, 1482,
+ 3643, 0, 0, 0, 1479, 0, 1480, 1481, 1482, 0,
+ 2903, 2906, 2907, 2908, 2904, 2799, 2905, 2909, 3659, 0,
+ 3564, 3565, 0, 0, 2665, 0, 0, 0, 1482, 0,
+ 0, 0, 0, 1482, 0, 2798, 0, 0, 0, 0,
+ 1482, 2680, 0, 3670, 0, 2797, 0, 1482, 0, 0,
+ 0, 1482, 2796, 0, 0, 1482, 0, 2790, 0, 0,
+ 1482, 0, 2789, 0, 1482, 0, 0, 0, 0, 1482,
+ 0, 2788, 1479, 0, 1480, 1481, 0, 2785, 0, 1482,
+ 0, 2784, 0, 0, 0, 0, 3711, 0, 3712, 3713,
+ 3714, 2783, 1479, 0, 1480, 1481, 3721, 0, 1482, 3728,
+ 2781, 3730, 1479, 0, 1480, 1481, 0, 0, 3701, 1479,
+ 0, 1480, 1481, 1482, 1479, 3731, 1480, 1481, 0, 1479,
+ 2774, 1480, 1481, 0, 3227, 2771, 0, 87, 1479, 3227,
+ 1480, 1481, 2769, 0, 1479, 0, 1480, 1481, 1479, 2767,
+ 1480, 1481, 0, 2726, 0, 0, 1482, 2706, 1479, 0,
+ 1480, 1481, 2705, 0, 3753, 0, 2701, 1479, 3732, 1480,
+ 1481, 2699, 0, 2138, 3664, 2136, 3761, 3741, 3751, 3740,
+ 0, 2691, 0, 3748, 0, 3750, 0, 1479, 0, 1480,
+ 1481, 0, 1479, 0, 1480, 1481, 0, 0, 0, 1479,
+ 2662, 1480, 1481, 0, 3913, 0, 1479, 0, 1480, 1481,
+ 1479, 3765, 1480, 1481, 1479, 2656, 1480, 1481, 0, 1479,
+ 0, 1480, 1481, 1479, 0, 1480, 1481, 0, 1479, 0,
+ 1480, 1481, 3620, 3621, 0, 0, 0, 42, 1479, 0,
+ 1480, 1481, 0, 3905, 3932, 3904, 0, 0, 2651, 0,
+ 0, 0, 0, 0, 3920, 0, 0, 1479, 0, 1480,
+ 1481, 3924, 3925, 0, 0, 0, 0, 3903, 1744, 0,
+ 0, 0, 1479, 0, 1480, 1481, 0, 3971, 3972, 0,
+ 0, 0, 1752, 0, 3755, 1745, 3075, 3076, 3077, 3078,
+ 3079, 0, 0, 0, 0, 3729, 0, 3915, 3916, 3917,
+ 0, 2138, 0, 2136, 3975, 1479, 3094, 1480, 1481, 0,
+ 2383, 2384, 1751, 1749, 1750, 1746, 0, 1747, 0, 0,
+ 0, 0, 0, 0, 3223, 0, 3762, 3763, 0, 0,
+ 3978, 0, 4020, 3227, 3981, 0, 0, 0, 0, 3757,
+ 1748, 0, 0, 0, 0, 0, 0, 1553, 1554, 1555,
+ 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565,
+ 1566, 1567, 1568, 1569, 1570, 1571, 1573, 1574, 1575, 1576,
+ 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586,
+ 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596,
+ 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606,
+ 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616,
+ 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626,
+ 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636,
+ 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646,
+ 1647, 1648, 1649, 1650, 1652, 1653, 1654, 1655, 1656, 1657,
+ 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667,
+ 1673, 1674, 1675, 1676, 1690, 1691, 1692, 1693, 1694, 1695,
+ 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 4021, 4005,
+ 0, 3976, 4004, 0, 0, 0, 3226, 3995, 0, 0,
+ 0, 3226, 4039, 0, 4001, 0, 4003, 0, 0, 0,
+ 0, 0, 3065, 0, 0, 1744, 0, 0, 0, 0,
+ 87, 0, 0, 0, 0, 0, 3229, 0, 0, 1752,
+ 0, 4024, 1745, 0, 0, 0, 0, 0, 0, 0,
+ 4023, 0, 0, 0, 3247, 0, 0, 4046, 3908, 4041,
+ 4028, 0, 0, 0, 0, 4044, 0, 1740, 1741, 1751,
+ 1749, 1750, 1746, 0, 1747, 0, 3912, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1748, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4064, 0, 0, 4065, 0, 0, 0, 0, 4089, 0,
+ 42, 0, 0, 87, 0, 0, 0, 0, 0, 0,
+ 0, 4074, 0, 0, 0, 0, 1483, 0, 0, 4083,
+ 0, 0, 0, 0, 3139, 0, 3141, 0, 0, 0,
+ 4093, 0, 0, 0, 0, 3932, 4109, 4095, 0, 4120,
+ 0, 0, 3152, 3153, 3154, 3155, 4106, 1541, 0, 4098,
+ 4103, 3378, 4100, 4099, 4097, 4102, 4101, 0, 0, 0,
+ 4128, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4025, 0, 4133, 3395, 3396, 3226, 3397, 3399, 3401, 0,
+ 4151, 0, 0, 0, 0, 0, 0, 4141, 0, 4146,
+ 0, 0, 0, 0, 0, 4159, 4120, 4161, 0, 0,
+ 0, 4172, 0, 42, 3414, 0, 0, 0, 0, 3417,
+ 0, 3419, 3420, 3421, 3423, 3424, 3425, 3426, 3427, 3428,
+ 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3437, 3439, 3441,
+ 3443, 3445, 3447, 3449, 3451, 3453, 3455, 3457, 3459, 3461,
+ 3463, 3465, 3467, 3468, 3470, 3471, 3472, 3474, 2016, 4195,
+ 3476, 4192, 3478, 3479, 3480, 4202, 4206, 3484, 3485, 3486,
+ 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 2138, 4208,
+ 2136, 4205, 4204, 4120, 4216, 4201, 3500, 4191, 4176, 4171,
+ 3505, 4224, 4090, 3223, 3509, 3510, 4085, 3511, 3513, 0,
+ 3516, 3518, 4232, 3520, 3521, 3522, 3523, 4230, 0, 0,
+ 0, 0, 0, 3531, 0, 0, 0, 0, 0, 0,
+ 4030, 4241, 4242, 3972, 4240, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2138, 0, 2136, 4239,
+ 0, 0, 0, 0, 4037, 0, 0, 0, 3555, 3556,
+ 0, 0, 3560, 0, 4049, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4167, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 86, 44, 45, 88, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 92,
+ 0, 0, 0, 48, 76, 77, 0, 74, 78, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 4084, 0, 0, 0, 0, 0, 1774, 0, 0,
+ 0, 62, 0, 0, 0, 0, 0, 3635, 0, 0,
+ 0, 0, 0, 95, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1863, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3654, 0, 0, 3658, 0, 958, 0, 0,
+ 0, 0, 0, 83, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3671,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 195, 0, 0, 195, 0, 0, 0,
+ 729, 0, 0, 0, 4189, 735, 0, 0, 1717, 0,
+ 0, 0, 0, 0, 0, 0, 195, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 195, 3694, 0, 0, 0, 0, 51, 54,
+ 57, 56, 59, 2021, 73, 1023, 3702, 82, 79, 0,
+ 0, 1024, 0, 3709, 0, 0, 0, 735, 195, 735,
+ 0, 2137, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 61, 91, 90, 0, 0, 71, 72, 58, 0,
+ 0, 0, 0, 0, 80, 81, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 64, 0,
+ 65, 66, 67, 68, 0, 0, 0, 0, 0, 0,
+ 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
+ 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
+ 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
+ 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020,
+ 1021, 1022, 3921, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3928, 0, 0, 60, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3938, 3939, 3940, 0, 3942, 0, 3943, 3944, 0,
+ 0, 0, 0, 3947, 3948, 3949, 3950, 3951, 3952, 3953,
+ 3954, 3955, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963,
+ 3964, 3965, 3966, 3967, 3968, 0, 3970, 3973, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3692, 0,
+ 0, 0, 3982, 3983, 3984, 3985, 3986, 3988, 3989, 3991,
+ 3993, 3994, 3996, 0, 0, 0, 4000, 0, 0, 0,
+ 4002, 0, 0, 0, 89, 0, 0, 0, 0, 0,
+ 2089, 2090, 2091, 2092, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2105, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4029, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2144, 2145, 0, 0, 0, 0, 2168, 0, 0,
+ 2172, 2173, 0, 0, 0, 2178, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199,
+ 0, 2201, 0, 0, 0, 2223, 2224, 2225, 2226, 2227,
+ 2228, 2229, 2230, 2232, 94, 2237, 0, 2239, 2240, 2241,
+ 0, 2243, 2244, 2245, 0, 2247, 2248, 2249, 2250, 2251,
+ 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261,
+ 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271,
+ 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281,
+ 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291,
+ 2292, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304,
+ 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314,
+ 2315, 2316, 2317, 2318, 0, 0, 0, 0, 0, 2324,
+ 0, 2326, 0, 2333, 2334, 2335, 2336, 2337, 2338, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 70, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356,
+ 0, 2358, 2359, 2360, 2361, 2362, 4011, 0, 0, 0,
+ 0, 0, 4054, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4069, 0, 0, 0,
+ 0, 1070, 4072, 0, 4073, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4088, 0, 0,
+ 0, 0, 2403, 2404, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4175, 0, 0, 0, 0, 0, 190,
+ 0, 0, 1826, 4114, 4115, 0, 0, 0, 2442, 0,
+ 0, 195, 0, 195, 0, 0, 0, 4122, 4124, 4126,
+ 0, 0, 129, 0, 151, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4132, 0, 0, 172, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4154, 0, 0,
+ 735, 0, 735, 735, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2485, 0, 162, 0, 735, 195, 0, 1023, 150, 0,
+ 2332, 0, 0, 1024, 0, 4173, 0, 0, 0, 0,
+ 0, 0, 0, 2137, 1717, 0, 0, 0, 169, 0,
+ 0, 170, 0, 1527, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4196,
+ 4198, 4200, 0, 138, 139, 161, 160, 189, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4053, 0, 4221, 0, 0, 0, 0, 0, 4063, 1813,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4233, 4234, 981, 982, 983, 984, 985, 986, 987, 988,
+ 989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
+ 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
+ 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018,
+ 1019, 1020, 1021, 1022, 0, 0, 0, 0, 0, 0,
+ 1717, 0, 0, 0, 0, 0, 0, 0, 0, 155,
+ 136, 158, 143, 135, 0, 156, 157, 0, 0, 0,
+ 0, 0, 173, 1827, 0, 0, 0, 0, 0, 0,
+ 0, 179, 144, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 147, 145, 140, 141,
+ 142, 146, 0, 0, 0, 0, 0, 0, 137, 0,
+ 0, 0, 0, 0, 0, 0, 0, 148, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1527, 0, 1840, 1843,
+ 1844, 1845, 1846, 1847, 1848, 0, 1849, 1850, 1852, 1853,
+ 1851, 1854, 1855, 1828, 1829, 1830, 1831, 1811, 1812, 1841,
+ 0, 1814, 0, 1815, 1816, 1817, 1818, 1819, 1820, 1821,
+ 1822, 1823, 0, 0, 1824, 1832, 1833, 1834, 1835, 0,
+ 1836, 1837, 1838, 1839, 0, 0, 1825, 0, 0, 0,
+ 0, 0, 0, 0, 195, 0, 0, 0, 735, 735,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 164,
+ 0, 0, 0, 0, 0, 0, 0, 195, 2660, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2666, 2667,
+ 2668, 2669, 0, 0, 0, 0, 0, 0, 735, 0,
+ 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 735, 0, 0, 0, 0, 0, 0,
+ 195, 0, 0, 0, 735, 0, 1826, 0, 0, 0,
+ 0, 0, 0, 1541, 735, 0, 0, 0, 0, 0,
+ 0, 190, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2977, 0, 0, 0, 0, 735, 0, 735,
+ 0, 0, 0, 0, 129, 159, 151, 735, 0, 0,
+ 1527, 735, 0, 0, 735, 735, 735, 735, 0, 735,
+ 172, 735, 735, 0, 735, 735, 735, 735, 735, 735,
+ 0, 0, 0, 0, 0, 0, 0, 1527, 735, 735,
+ 1527, 735, 1527, 195, 735, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 162, 0, 0, 0, 0, 0,
+ 150, 0, 0, 195, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 735, 0, 195, 0,
+ 169, 0, 0, 170, 0, 0, 0, 0, 0, 735,
+ 0, 1842, 735, 0, 195, 195, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1885, 1886, 161, 160, 189,
+ 0, 195, 0, 0, 152, 0, 0, 153, 195, 0,
+ 0, 0, 0, 1813, 0, 0, 0, 195, 195, 195,
+ 195, 195, 195, 195, 195, 195, 735, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1774, 165, 0,
+ 0, 0, 0, 0, 0, 177, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 185, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1827, 0, 0,
+ 0, 155, 1887, 158, 0, 1884, 0, 156, 157, 0,
+ 0, 0, 0, 0, 173, 0, 0, 0, 0, 0,
+ 0, 0, 0, 179, 0, 0, 0, 0, 0, 166,
+ 171, 168, 174, 175, 176, 178, 180, 181, 182, 183,
+ 0, 0, 0, 0, 0, 184, 186, 187, 188, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1840, 1843, 1844, 1845, 1846, 1847, 1848, 0,
+ 1849, 1850, 1852, 1853, 1851, 1854, 1855, 1828, 1829, 1830,
+ 1831, 1811, 1812, 1841, 0, 1814, 0, 1815, 1816, 1817,
+ 1818, 1819, 1820, 1821, 1822, 1823, 735, 735, 1824, 1832,
+ 1833, 1834, 1835, 0, 1836, 1837, 1838, 1839, 0, 0,
+ 1825, 735, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 195, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 185,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 731, 0, 731, 731, 0, 0, 0, 0, 0, 0,
+ 0, 164, 0, 0, 0, 0, 0, 0, 0, 3040,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 735, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1527, 0, 0, 0, 3066, 3067, 3068, 0,
+ 0, 3070, 0, 0, 3072, 0, 0, 0, 0, 0,
+ 1527, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3091, 3092, 3093, 0, 0, 0,
+ 0, 0, 0, 3098, 0, 0, 0, 0, 3100, 0,
+ 0, 3102, 3103, 3104, 0, 0, 0, 3105, 3106, 0,
+ 0, 3107, 0, 3108, 0, 0, 0, 159, 0, 0,
+ 3109, 0, 3110, 0, 0, 0, 3111, 0, 3112, 0,
+ 0, 3113, 0, 3114, 0, 3115, 0, 3116, 0, 3117,
+ 0, 3118, 0, 3119, 0, 3120, 0, 3121, 0, 3122,
+ 0, 3123, 0, 3124, 0, 3125, 0, 3126, 0, 3127,
+ 0, 3128, 0, 3129, 0, 3130, 0, 0, 0, 3131,
+ 0, 3132, 0, 3133, 0, 0, 3134, 0, 3135, 0,
+ 3136, 0, 2296, 3138, 0, 1842, 3140, 0, 0, 3142,
+ 3143, 3144, 3145, 0, 0, 0, 0, 3146, 2296, 2296,
+ 2296, 2296, 2296, 0, 0, 0, 2343, 0, 0, 0,
+ 0, 0, 0, 3156, 0, 0, 0, 0, 0, 0,
+ 0, 3169, 0, 0, 3173, 0, 152, 0, 0, 153,
+ 0, 0, 0, 3176, 3177, 3178, 3179, 3180, 3181, 0,
+ 0, 0, 3182, 3183, 0, 3184, 0, 3185, 0, 0,
+ 0, 195, 0, 0, 0, 0, 735, 0, 0, 0,
+ 165, 0, 0, 0, 0, 0, 0, 177, 0, 0,
+ 0, 1070, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 195, 0, 0, 735,
+ 0, 0, 3218, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 195, 0, 0, 0, 735, 185, 0,
+ 2343, 195, 0, 195, 0, 195, 195, 3248, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 735, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 166, 171, 168, 174, 175, 176, 178, 180, 181,
+ 182, 183, 0, 0, 0, 0, 0, 184, 186, 187,
+ 188, 0, 0, 0, 0, 0, 0, 3310, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 735, 0,
+ 0, 0, 0, 0, 0, 735, 735, 735, 195, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 735, 0, 0, 0,
+ 0, 0, 735, 735, 0, 0, 735, 0, 735, 0,
+ 0, 0, 0, 0, 735, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 735,
+ 0, 0, 0, 3403, 735, 0, 0, 0, 735, 735,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 957, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3418, 190, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1881, 0, 0, 195, 0, 0, 0,
+ 0, 0, 0, 195, 0, 129, 0, 151, 0, 0,
+ 0, 0, 0, 0, 195, 195, 0, 0, 195, 0,
+ 195, 172, 0, 0, 0, 0, 0, 0, 0, 0,
+ 195, 0, 712, 0, 0, 0, 0, 195, 734, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 162, 0, 0, 0, 0,
+ 0, 150, 0, 195, 0, 0, 0, 0, 0, 0,
+ 195, 0, 0, 0, 0, 735, 0, 0, 0, 0,
+ 0, 169, 0, 0, 170, 0, 0, 0, 0, 0,
+ 734, 0, 734, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1885, 1886, 161, 160,
+ 189, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1527,
+ 0, 2343, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3616,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 155, 1887, 158, 0, 1884, 0, 156, 157,
+ 0, 0, 3640, 0, 0, 173, 0, 0, 0, 0,
+ 0, 0, 0, 0, 179, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3660, 0, 3661, 0, 3662, 0, 3663, 0, 0, 0,
+ 0, 0, 0, 0, 3666, 3667, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3672, 0, 0, 914, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3673, 0,
+ 3674, 0, 3675, 0, 3676, 0, 3677, 0, 3678, 0,
+ 3679, 0, 3680, 0, 3681, 0, 3682, 0, 3683, 0,
+ 3684, 0, 3685, 0, 3686, 0, 3687, 0, 3688, 0,
+ 0, 3689, 0, 0, 0, 3690, 0, 3691, 0, 0,
+ 0, 0, 164, 3693, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 195, 733, 0, 0, 0, 0,
+ 0, 0, 195, 0, 0, 3710, 0, 0, 0, 0,
+ 0, 0, 0, 735, 3715, 0, 3716, 3717, 0, 3718,
+ 0, 3719, 0, 0, 0, 0, 3720, 735, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1095, 0, 1102,
+ 0, 195, 0, 3749, 0, 0, 195, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3758, 0, 0, 3760,
+ 0, 0, 0, 0, 0, 0, 0, 0, 159, 0,
+ 0, 3764, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3900, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 735, 0, 0, 0, 0,
+ 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 735, 0, 0, 0, 0, 0, 0, 735,
+ 1723, 0, 0, 735, 735, 0, 0, 0, 735, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1527, 735, 0, 152, 0, 0,
+ 153, 0, 0, 0, 0, 0, 0, 195, 195, 195,
+ 195, 195, 195, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 676,
+ 0, 165, 0, 0, 0, 195, 195, 0, 177, 0,
+ 0, 0, 0, 0, 0, 0, 4010, 0, 0, 1028,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 195, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 185,
+ 0, 0, 0, 0, 0, 0, 735, 0, 0, 0,
+ 0, 1099, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 731, 195, 0, 0, 0, 0, 0,
+ 0, 0, 0, 734, 1438, 734, 734, 0, 0, 0,
0, 0, 166, 171, 168, 174, 175, 176, 178, 180,
- 181, 182, 183, 0, 0, 0, 0, 0, 184, 186,
- 187, 188, 1520, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2073, 0, 0, 0, 0, 0, 0, 2566,
- 0, 0, 0, 0, 0, 164, 0, 0, 0, 0,
- 2586, 2587, 0, 0, 2591, 0, 0, 0, 0, 0,
- 3031, 0, 0, 0, 0, 0, 2596, 0, 0, 0,
- 0, 0, 0, 2599, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3057, 3058, 3059,
- 0, 0, 3061, 0, 0, 3063, 0, 0, 0, 2602,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3082, 3083, 3084, 0, 0,
- 0, 0, 0, 0, 3089, 0, 0, 0, 0, 3091,
- 0, 0, 3093, 3094, 3095, 0, 0, 0, 3096, 3097,
- 0, 159, 3098, 0, 3099, 0, 0, 0, 0, 0,
- 0, 3100, 0, 3101, 0, 0, 0, 3102, 0, 3103,
- 0, 0, 3104, 0, 3105, 0, 3106, 0, 3107, 0,
- 3108, 0, 3109, 0, 3110, 0, 3111, 0, 3112, 0,
- 3113, 0, 3114, 0, 3115, 0, 3116, 0, 3117, 0,
- 3118, 0, 3119, 0, 3120, 0, 3121, 0, 0, 0,
- 3122, 0, 3123, 0, 3124, 0, 0, 3125, 0, 3126,
- 0, 3127, 0, 2287, 3129, 0, 0, 3131, 0, 0,
- 3133, 3134, 3135, 3136, 0, 1520, 0, 0, 3137, 2287,
- 2287, 2287, 2287, 2287, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3147, 0, 0, 0, 0, 0,
- 152, 0, 3160, 153, 0, 3164, 0, 0, 0, 0,
- 0, 0, 0, 0, 3167, 3168, 3169, 3170, 3171, 3172,
- 0, 0, 0, 3173, 3174, 0, 3175, 0, 3176, 0,
- 0, 0, 0, 195, 165, 0, 0, 731, 731, 0,
- 0, 177, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1066, 0, 0, 0, 195, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3209, 0, 0, 0, 731, 0, 0,
- 195, 0, 185, 953, 0, 0, 0, 0, 0, 0,
- 0, 0, 731, 0, 0, 0, 0, 0, 3239, 195,
- 0, 0, 0, 731, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 731, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 166, 171, 168, 174, 175,
- 176, 178, 180, 181, 182, 183, 731, 0, 731, 0,
- 0, 184, 186, 187, 188, 709, 731, 0, 0, 1520,
- 731, 730, 0, 731, 731, 731, 731, 0, 731, 3302,
- 731, 731, 0, 731, 731, 731, 731, 731, 731, 0,
- 0, 0, 0, 0, 0, 0, 1520, 731, 731, 1520,
- 731, 1520, 195, 731, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 195, 730, 0, 730, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 731, 0, 195, 0, 0,
- 0, 2906, 0, 0, 0, 0, 0, 0, 731, 0,
- 0, 731, 0, 195, 195, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 195, 0, 0, 190, 0, 3395, 0, 195, 0, 0,
- 0, 0, 0, 0, 1873, 0, 195, 195, 195, 195,
- 195, 195, 195, 195, 195, 731, 129, 0, 151, 0,
- 0, 0, 0, 3410, 0, 0, 0, 0, 0, 0,
- 0, 0, 172, 0, 0, 0, 2955, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 162, 0, 0, 0,
- 0, 0, 150, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 169, 0, 0, 170, 0, 0, 0, 0,
- 0, 0, 3004, 3005, 3006, 3007, 3008, 3009, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1877, 1878, 161,
- 160, 189, 0, 0, 0, 0, 0, 0, 0, 0,
- 2073, 3019, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3027, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 731, 731, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
- 0, 0, 0, 0, 0, 0, 0, 0, 195, 0,
+ 181, 182, 183, 0, 0, 0, 735, 734, 184, 186,
+ 187, 188, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 155, 1879, 158, 0, 1876, 0, 156, 157,
- 0, 0, 3608, 0, 0, 173, 0, 0, 0, 0,
- 0, 0, 0, 0, 179, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 731, 0,
- 0, 0, 0, 0, 0, 3632, 0, 0, 1520, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1520, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3652, 0, 3653, 0, 3654, 0, 3655,
- 0, 0, 0, 0, 0, 0, 0, 3658, 3659, 0,
- 0, 0, 0, 0, 0, 0, 0, 3664, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3665, 0, 3666, 0, 3667, 0, 3668, 0, 3669,
- 164, 3670, 0, 3671, 0, 3672, 0, 3673, 0, 3674,
- 0, 3675, 0, 3676, 0, 3677, 0, 3678, 0, 3679,
- 0, 3680, 0, 0, 3681, 0, 0, 0, 3682, 0,
- 3683, 0, 0, 0, 0, 0, 3685, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2334, 0, 0, 0, 0, 0, 3702, 0,
- 0, 0, 0, 0, 0, 0, 0, 3707, 0, 3708,
- 3709, 0, 3710, 0, 3711, 0, 0, 0, 0, 3712,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 159, 195, 0, 0,
- 0, 0, 731, 0, 0, 0, 3741, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3750,
- 0, 0, 3752, 0, 0, 0, 0, 0, 0, 3292,
- 0, 0, 195, 0, 3756, 731, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 195,
- 3892, 0, 0, 731, 0, 3330, 2334, 195, 0, 195,
- 0, 195, 195, 730, 1434, 730, 730, 0, 0, 3344,
- 0, 0, 0, 0, 0, 0, 731, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 730, 0, 0, 3362,
- 0, 0, 3365, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 152, 0, 0, 153, 0,
- 0, 0, 0, 0, 0, 1519, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 731, 0, 0, 0, 0, 165,
- 0, 731, 731, 731, 0, 0, 177, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 731, 0, 0, 0, 0, 0, 731, 731, 0,
- 0, 731, 0, 731, 0, 0, 0, 0, 0, 731,
- 0, 0, 0, 0, 0, 0, 0, 185, 0, 4002,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 731, 0, 0, 0, 0, 731,
- 0, 0, 0, 731, 731, 0, 0, 0, 0, 0,
- 166, 171, 168, 174, 175, 176, 178, 180, 181, 182,
- 183, 910, 0, 0, 0, 0, 184, 186, 187, 188,
- 0, 0, 0, 0, 0, 0, 0, 3525, 0, 0,
- 0, 195, 0, 0, 0, 0, 0, 0, 195, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 195,
- 195, 0, 0, 195, 0, 195, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 195, 0, 0, 0, 0,
- 0, 0, 195, 0, 0, 0, 0, 0, 0, 729,
- 0, 0, 0, 0, 0, 0, 0, 0, 1519, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 195, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
- 0, 0, 3586, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1091, 3601, 1098, 0, 3602, 3603, 3604, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 730, 730, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 4044, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1520, 0, 2334, 0, 0, 0, 0,
- 730, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
- 0, 0, 4058, 0, 0, 4059, 730, 4060, 0, 0,
- 0, 0, 0, 0, 0, 0, 730, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
- 0, 730, 0, 0, 0, 0, 0, 0, 0, 730,
- 0, 0, 1519, 730, 0, 0, 730, 730, 730, 730,
- 0, 730, 0, 730, 730, 0, 730, 730, 730, 730,
- 730, 730, 0, 0, 0, 0, 0, 0, 0, 1519,
- 730, 730, 1519, 730, 1519, 0, 730, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4144,
- 0, 0, 0, 0, 0, 0, 0, 0, 730, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 730, 0, 0, 730, 0, 0, 0, 4160, 0,
- 4161, 0, 4162, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 730, 0,
- 0, 0, 0, 0, 95, 0, 0, 1019, 0, 0,
- 0, 0, 959, 1020, 972, 973, 974, 960, 195, 0,
- 961, 962, 0, 963, 0, 0, 195, 0, 0, 0,
- 0, 0, 4211, 0, 4212, 0, 0, 731, 0, 968,
- 0, 975, 976, 0, 0, 0, 0, 0, 0, 0,
- 0, 731, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 195, 0, 0, 0, 0,
- 195, 0, 0, 0, 0, 0, 0, 0, 0, 3338,
- 3339, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 977, 978, 979, 980, 981, 982, 983, 984, 985,
- 986, 987, 988, 989, 990, 991, 992, 993, 994, 995,
- 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005,
- 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015,
- 1016, 1017, 1018, 0, 0, 0, 0, 0, 0, 731,
- 0, 0, 0, 0, 0, 195, 0, 0, 0, 0,
- 0, 0, 195, 0, 0, 0, 0, 0, 730, 730,
- 0, 0, 0, 0, 0, 0, 731, 0, 0, 0,
- 0, 0, 730, 731, 3340, 0, 0, 731, 731, 0,
- 0, 0, 731, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1520, 731,
+ 0, 0, 0, 0, 0, 0, 1526, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 195, 195, 195, 195, 195, 195, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 730, 0, 0, 0, 0, 0, 0, 0, 195,
- 195, 1519, 0, 0, 0, 0, 0, 0, 0, 0,
- 2137, 0, 3341, 3342, 0, 0, 0, 0, 0, 1519,
- 0, 0, 0, 195, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1019, 0, 0, 2323, 0, 0, 1020, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2128, 0,
- 0, 1279, 0, 1279, 1279, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 924, 0, 731,
- 0, 0, 0, 928, 1447, 0, 0, 925, 926, 0,
- 0, 0, 927, 929, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 4042, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 730, 977, 978, 979, 980,
- 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
- 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
- 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
- 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 0, 0,
- 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
- 0, 0, 0, 0, 731, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 731, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 730, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 730, 731, 0, 730,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 195, 0, 0, 731, 0, 0, 0, 730,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
- 0, 0, 0, 1520, 0, 0, 731, 731, 1520, 195,
- 195, 195, 195, 195, 0, 0, 0, 0, 0, 0,
- 0, 195, 0, 0, 0, 0, 0, 195, 0, 195,
- 0, 0, 195, 195, 195, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
- 0, 0, 0, 0, 730, 730, 730, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 730, 0, 0, 0, 195, 0,
- 730, 730, 0, 0, 730, 0, 730, 0, 0, 0,
- 0, 731, 730, 0, 1520, 0, 0, 0, 0, 731,
- 0, 0, 0, 0, 195, 0, 0, 0, 1719, 1720,
- 0, 0, 0, 0, 0, 0, 0, 0, 195, 0,
- 0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
- 0, 0, 730, 0, 0, 0, 730, 730, 195, 0,
- 0, 195, 0, 0, 0, 0, 0, 0, 1773, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1791, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1850, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1859, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1091, 0, 1885,
- 0, 0, 0, 0, 0, 0, 0, 1894, 0, 0,
- 0, 1896, 0, 0, 1899, 1900, 1902, 1902, 0, 1902,
- 0, 1902, 1902, 0, 1911, 1902, 1902, 1902, 1902, 1902,
- 0, 0, 0, 0, 0, 0, 0, 0, 1931, 1932,
- 0, 1091, 730, 0, 1937, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1979, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2001,
- 0, 0, 2005, 0, 0, 0, 195, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1519, 0, 730, 0,
- 0, 0, 1019, 0, 0, 0, 0, 0, 1020, 0,
- 0, 0, 0, 0, 0, 0, 1279, 0, 2128, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 735, 0, 4052, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 735, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 735, 0, 0, 0, 0, 4066,
+ 0, 0, 4067, 0, 4068, 0, 0, 0, 0, 195,
+ 0, 0, 735, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 735, 0, 0, 0,
+ 1527, 0, 0, 735, 735, 1527, 195, 195, 195, 195,
+ 195, 0, 0, 0, 0, 0, 0, 0, 195, 0,
+ 0, 0, 0, 0, 195, 0, 195, 0, 0, 195,
+ 195, 195, 0, 0, 0, 0, 0, 0, 0, 1526,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 195, 0, 4152, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 735, 0, 0,
+ 1527, 0, 0, 0, 0, 735, 0, 0, 0, 0,
+ 195, 734, 734, 0, 0, 4168, 0, 4169, 0, 4170,
+ 0, 0, 0, 0, 195, 0, 0, 0, 0, 0,
+ 1283, 0, 1283, 1283, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 195, 0, 0, 195, 0, 0,
+ 0, 734, 0, 0, 1452, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 734, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 734, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 734, 0, 4219,
+ 0, 4220, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 734, 0, 734, 0, 0, 0, 0, 0, 0, 0,
+ 734, 0, 0, 1526, 734, 0, 0, 734, 734, 734,
+ 734, 0, 734, 0, 734, 734, 0, 734, 734, 734,
+ 734, 734, 734, 0, 0, 0, 0, 0, 0, 0,
+ 1526, 734, 734, 1526, 734, 1526, 0, 734, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 735, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 734,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 734, 0, 0, 734, 0, 0, 0, 0,
0, 0, 195, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1219, 0, 1225, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 734,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 195, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0,
+ 0, 0, 0, 0, 0, 0, 0, 195, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 195, 0, 195,
+ 195, 195, 0, 0, 0, 0, 0, 0, 0, 735,
+ 735, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1726, 1727,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 735, 735,
+ 735, 735, 0, 0, 0, 0, 0, 0, 1780, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1798, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1857, 0, 0, 0, 0, 734,
+ 734, 0, 0, 0, 1866, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 734, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1095, 0, 1893,
+ 0, 0, 0, 0, 0, 0, 0, 1902, 0, 0,
+ 0, 1904, 0, 0, 1907, 1908, 1910, 1910, 0, 1910,
+ 0, 1910, 1910, 0, 1919, 1910, 1910, 1910, 1910, 1910,
+ 0, 915, 0, 0, 0, 0, 0, 0, 1939, 1940,
+ 0, 1095, 0, 0, 1945, 734, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1526, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2146, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1526, 0, 0, 1987, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 193, 0, 2009,
+ 677, 0, 2013, 0, 0, 735, 0, 735, 0, 195,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 677, 0, 0, 0, 0, 0, 0, 0, 1527, 0,
+ 0, 0, 195, 0, 0, 735, 1051, 735, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1283, 0, 0, 0,
+ 0, 0, 0, 1071, 1071, 0, 0, 0, 0, 0,
+ 0, 0, 677, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1786, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 735, 0, 0, 0, 0,
+ 0, 0, 0, 1803, 0, 0, 0, 0, 195, 0,
+ 0, 735, 0, 0, 0, 0, 0, 0, 0, 734,
+ 0, 0, 0, 0, 735, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 734,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1944, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 735,
+ 0, 0, 734, 0, 0, 0, 735, 0, 735, 0,
+ 0, 0, 0, 0, 0, 0, 1283, 1283, 0, 0,
+ 734, 1989, 0, 734, 0, 0, 0, 0, 0, 0,
+ 0, 2070, 0, 0, 0, 0, 0, 735, 2017, 0,
+ 0, 0, 0, 734, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2028, 0, 0, 0, 0, 0,
+ 0, 2032, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2132, 0, 0, 0, 0, 0, 0, 0,
+ 0, 734, 0, 0, 0, 0, 0, 0, 734, 734,
+ 734, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 734,
+ 0, 0, 0, 0, 0, 734, 734, 0, 0, 734,
+ 0, 734, 0, 0, 0, 0, 0, 734, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 735, 0, 0,
+ 0, 0, 734, 0, 0, 0, 0, 734, 0, 0,
+ 0, 734, 734, 195, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 195, 0, 0, 195, 195, 195, 0, 0, 0,
- 0, 0, 0, 0, 731, 731, 977, 978, 979, 980,
+ 0, 735, 195, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1283, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2082, 0, 735, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 735, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1527, 735, 0,
+ 735, 0, 0, 0, 0, 0, 2380, 0, 734, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 735, 2343, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2393,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1780, 0, 0,
+ 1283, 0, 0, 0, 0, 0, 195, 735, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1095, 0, 1526, 0, 734, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 735, 0, 0,
+ 0, 0, 0, 0, 0, 677, 0, 677, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 735, 0, 0, 0, 0, 195, 0, 1102, 0,
+ 0, 0, 0, 0, 0, 2506, 2507, 2508, 0, 0,
+ 735, 0, 735, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1095, 0, 0, 0,
+ 0, 0, 1102, 1902, 0, 0, 1902, 0, 1902, 677,
+ 0, 0, 0, 0, 2539, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1095,
+ 0, 0, 0, 0, 2132, 0, 0, 0, 2132, 2132,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2409, 0, 0, 0,
+ 0, 0, 0, 0, 2413, 0, 2416, 0, 0, 2082,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 734, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 734, 0, 0, 0, 0, 2616, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1283, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 734, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 734, 0, 0, 677, 0,
+ 0, 0, 734, 0, 0, 0, 734, 734, 0, 0,
+ 0, 734, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1051, 0, 0, 0, 0, 0, 1526, 734, 2082,
+ 0, 0, 0, 0, 0, 0, 2575, 0, 0, 0,
+ 0, 0, 0, 0, 0, 677, 0, 2595, 2596, 0,
+ 0, 2600, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2605, 677, 0, 0, 0, 0, 0,
+ 2608, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2611, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1528, 0, 0, 0, 0, 734,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1528, 95, 0, 1528, 1023, 1528, 677, 0, 0,
+ 963, 1024, 976, 977, 978, 964, 0, 0, 965, 966,
+ 0, 967, 0, 0, 0, 0, 0, 1961, 0, 734,
+ 0, 0, 0, 0, 0, 0, 0, 972, 0, 979,
+ 980, 0, 677, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2864, 0, 0, 0, 0, 2015, 677,
+ 0, 0, 0, 0, 0, 0, 0, 2879, 0, 0,
+ 0, 0, 0, 0, 0, 677, 0, 0, 0, 0,
+ 0, 0, 677, 0, 0, 0, 0, 0, 3346, 3347,
+ 0, 2041, 2042, 677, 677, 677, 677, 677, 677, 677,
981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
- 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 0, 0,
- 0, 0, 0, 731, 731, 731, 731, 0, 0, 0,
+ 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020,
+ 1021, 1022, 0, 0, 734, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 734, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2961, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3348, 0, 0, 0, 734, 0, 0,
+ 0, 0, 2393, 0, 0, 0, 0, 0, 0, 2985,
+ 0, 0, 0, 1902, 1902, 734, 0, 0, 2990, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 734,
+ 0, 0, 0, 1526, 0, 3001, 734, 734, 1526, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1279, 1279, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2061, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3349, 3350, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3296,
+ 0, 0, 0, 0, 0, 0, 677, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 734, 0, 0, 1526, 0, 0, 2132, 0, 734, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2916,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 730, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 730, 0, 0, 0, 0, 2123,
+ 0, 0, 0, 0, 0, 0, 0, 0, 928, 0,
+ 0, 0, 0, 0, 932, 0, 1528, 0, 929, 930,
+ 0, 0, 0, 931, 933, 0, 2132, 0, 0, 0,
+ 3377, 0, 0, 0, 1528, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2965, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2919,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 731, 0, 731, 0, 195, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1520, 0, 0, 0, 195, 0, 0,
- 731, 0, 731, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
- 0, 0, 0, 0, 0, 0, 730, 0, 0, 0,
- 730, 730, 0, 0, 0, 730, 0, 0, 0, 0,
- 731, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1519, 730, 195, 0, 0, 731, 0, 0, 0,
- 0, 0, 0, 1279, 0, 0, 0, 0, 0, 731,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3013, 3014, 3015, 3016, 3017, 3018, 0, 0, 0, 0,
+ 0, 3158, 0, 0, 0, 0, 0, 0, 734, 0,
+ 0, 0, 0, 1283, 0, 0, 0, 0, 2082, 3028,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2015, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3036, 1910, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2371, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3203, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1961, 1283, 0, 0, 0,
+ 0, 0, 0, 3230, 1910, 0, 0, 0, 0, 0,
+ 0, 1071, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1051, 0, 0, 0, 0, 0, 0, 0, 0, 3584,
+ 0, 0, 0, 0, 0, 0, 0, 677, 0, 0,
+ 0, 0, 0, 0, 2015, 677, 0, 677, 0, 677,
+ 2432, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 730, 0, 731, 0, 2384, 0, 0, 0,
- 0, 731, 0, 731, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1773, 0, 0, 1279, 0, 0,
+ 0, 0, 734, 734, 0, 0, 0, 1095, 0, 0,
+ 0, 0, 0, 0, 0, 2393, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 731, 0, 0, 0, 0, 1091, 0, 0,
- 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 734, 734, 734, 734, 0, 0, 0, 0, 0,
+ 0, 0, 2509, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1098, 0, 0, 0, 0,
- 0, 0, 2498, 2499, 2500, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1091, 0, 0, 0, 0, 0, 1098, 1894,
- 0, 0, 1894, 0, 1894, 0, 0, 0, 0, 0,
- 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
- 0, 0, 731, 0, 0, 1091, 0, 0, 0, 0,
- 2123, 0, 0, 0, 2123, 2123, 0, 0, 195, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 730, 0, 0, 0, 0, 0, 731, 195, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 730, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 730, 0, 0, 0, 1519, 0, 0, 730,
- 730, 1519, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 731, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 731, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1520, 731, 0, 731, 0, 0, 0, 0,
- 2606, 0, 3287, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 731, 2334, 0, 0, 730, 0, 0, 1519, 0, 0,
- 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 195, 731, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1279, 0, 0, 0,
- 0, 0, 0, 0, 3369, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 731, 0, 0, 0, 0, 0, 0, 0,
+ 677, 0, 0, 0, 0, 1857, 0, 677, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 677, 677,
+ 0, 0, 677, 0, 2602, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 677, 0, 0, 0, 734, 0,
+ 734, 677, 0, 0, 0, 0, 0, 3300, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 731, 0, 0, 0,
- 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 731, 0, 731, 0, 0,
+ 0, 1526, 0, 0, 0, 0, 0, 677, 734, 0,
+ 734, 0, 0, 3338, 2613, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3352, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3370, 0, 0,
+ 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 734, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 734, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1528, 0, 2015, 0, 734, 0, 2393,
+ 2393, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3648, 3649,
+ 3650, 3651, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 734, 0, 0, 0, 0, 0, 0, 734,
+ 0, 734, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 734, 0, 0, 0, 0, 3533, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2635,145 +2720,148 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3576, 0, 0, 0, 0, 2854, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2869, 0, 0, 0, 0, 0, 0, 0,
+ 3594, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3726, 0, 3726, 677, 0,
+ 3609, 0, 3610, 3611, 3612, 0, 1961, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 730, 730, 0,
+ 0, 0, 0, 0, 0, 3754, 0, 3756, 0, 0,
+ 734, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 677, 0, 0, 0, 0,
+ 677, 0, 0, 0, 734, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2393, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3923, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1283, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 730, 730, 730, 730,
+ 734, 0, 0, 0, 0, 677, 0, 0, 0, 0,
+ 734, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1526, 734, 0, 734, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 734, 734,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1528, 3726,
+ 0, 0, 0, 0, 0, 0, 3726, 0, 3726, 0,
+ 0, 677, 677, 677, 677, 677, 677, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2951, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 734, 0, 0, 0, 0, 0, 0, 2393, 0, 677,
+ 677, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2384, 0, 0,
- 0, 0, 0, 0, 2976, 0, 0, 0, 1894, 1894,
- 0, 0, 0, 2981, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 677, 0, 0, 0, 0, 0,
+ 734, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2992, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 734, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 734, 0, 734, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3786, 3788, 3787, 3853, 3854, 3855, 3856, 3857, 3858,
+ 3859, 3789, 3790, 805, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2393, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 730, 0, 730, 0, 0, 0, 0,
- 2123, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1519, 0, 0, 0,
- 0, 0, 0, 730, 0, 730, 0, 0, 0, 0,
+ 0, 2393, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2123, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 730, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4070, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4078, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2393, 0,
+ 4086, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1071, 0, 677, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1283, 1283, 0, 0, 0,
+ 0, 0, 0, 0, 1528, 0, 0, 0, 0, 1528,
+ 677, 677, 677, 677, 677, 0, 0, 0, 0, 0,
+ 0, 0, 3246, 0, 0, 0, 0, 0, 1961, 0,
+ 677, 0, 0, 677, 3254, 2015, 0, 4136, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3794, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4078, 677, 3802,
+ 3803, 0, 0, 3878, 3877, 3876, 0, 0, 3874, 3875,
+ 3873, 0, 0, 0, 1528, 0, 0, 0, 0, 0,
+ 0, 2393, 0, 0, 677, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4050, 0, 0, 677, 0,
+ 1857, 0, 4136, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 677, 0,
+ 0, 677, 0, 0, 3879, 928, 0, 781, 782, 3880,
+ 3881, 932, 3882, 784, 785, 929, 930, 0, 779, 783,
+ 931, 933, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3149, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1279, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
- 0, 0, 0, 0, 730, 0, 730, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1902, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3783, 3784, 3785,
+ 3791, 3792, 3793, 3804, 3851, 3852, 3860, 3862, 884, 3861,
+ 3863, 3864, 3865, 3868, 3869, 3870, 3871, 3866, 3867, 3872,
+ 3766, 3770, 3767, 3768, 3769, 3781, 3771, 3772, 3773, 3774,
+ 3775, 3776, 3777, 3778, 3779, 3780, 3782, 3883, 3884, 3885,
+ 3886, 3887, 3888, 3797, 3801, 3800, 3798, 3799, 3795, 3796,
+ 3823, 3822, 3824, 3825, 3826, 3827, 3828, 3829, 3831, 3830,
+ 3832, 3833, 3834, 3835, 3836, 3837, 3805, 3806, 3809, 3810,
+ 3808, 3807, 3811, 3820, 3821, 3812, 3813, 3814, 3815, 3816,
+ 3817, 3819, 3818, 3838, 3839, 3840, 3841, 3842, 3844, 3843,
+ 3847, 3848, 3846, 3845, 3850, 3849, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 677, 0, 0, 934,
+ 0, 935, 0, 0, 939, 0, 0, 0, 941, 940,
+ 0, 942, 904, 903, 0, 0, 936, 937, 0, 938,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 730, 3194, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1279, 0, 0, 0, 0, 0, 0, 3221, 1902, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 677, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 677, 0, 0, 3889, 3890, 3891, 3892, 3893, 3894,
+ 3895, 3896, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 677, 0, 677, 677, 677, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
- 2384, 0, 0, 0, 0, 0, 0, 3778, 3780, 3779,
- 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3781, 3782, 801,
- 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1519, 730, 0, 730, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1850, 0, 0, 730, 730, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3786, 0, 0,
- 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
- 0, 0, 3794, 3795, 0, 0, 3870, 3869, 3868, 0,
- 0, 3866, 3867, 3865, 0, 0, 0, 0, 0, 730,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 730, 0,
- 730, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2384, 2384, 3871, 924, 0,
- 777, 778, 3872, 3873, 928, 3874, 780, 781, 925, 926,
- 0, 775, 779, 927, 929, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1961, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1528, 0, 0, 0, 1961, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3640, 3641, 3642, 3643, 0, 0,
- 3775, 3776, 3777, 3783, 3784, 3785, 3796, 3843, 3844, 3852,
- 3854, 880, 3853, 3855, 3856, 3857, 3860, 3861, 3862, 3863,
- 3858, 3859, 3864, 3758, 3762, 3759, 3760, 3761, 3773, 3763,
- 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3774,
- 3875, 3876, 3877, 3878, 3879, 3880, 3789, 3793, 3792, 3790,
- 3791, 3787, 3788, 3815, 3814, 3816, 3817, 3818, 3819, 3820,
- 3821, 3823, 3822, 3824, 3825, 3826, 3827, 3828, 3829, 3797,
- 3798, 3801, 3802, 3800, 3799, 3803, 3812, 3813, 3804, 3805,
- 3806, 3807, 3808, 3809, 3811, 3810, 3830, 3831, 3832, 3833,
- 3834, 3836, 3835, 3839, 3840, 3838, 3837, 3842, 3841, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 930, 0, 931, 0, 0, 935, 0, 0,
- 0, 937, 936, 0, 938, 900, 899, 0, 0, 932,
- 933, 0, 934, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3718, 0, 3718, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3746, 0, 3748, 0, 0, 0, 3881, 3882, 3883,
- 3884, 3885, 3886, 3887, 3888, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1961, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2384, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3915, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1279, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3718, 0, 0, 0, 0,
- 0, 0, 3718, 0, 3718, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2384, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2787,2902 +2875,1573 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2384, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2384, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1961, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 677, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4062, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4070, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2384, 0, 4078, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1279, 1279, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1528, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4128, 0, 0, 0, 0, 0, 0,
+ 4108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4070, 0, 0, 0, 0, 0, 0,
+ 1961, 0, 0, 396, 0, 0, 0, 0, 0, 0,
+ 1421, 1405, 528, 0, 1347, 1424, 1315, 1334, 1434, 1337,
+ 1340, 1384, 1293, 1362, 416, 1331, 1319, 1288, 1326, 1289,
+ 1317, 1349, 270, 1314, 1407, 1366, 1423, 366, 267, 1295,
+ 1286, 204, 505, 1320, 430, 1336, 203, 1386, 487, 252,
+ 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
+ 518, 422, 1430, 370, 1372, 0, 497, 401, 0, 0,
+ 2015, 1411, 1410, 1341, 1351, 1413, 1360, 1398, 1346, 1385,
+ 1303, 1371, 1425, 1332, 1381, 1426, 323, 248, 325, 202,
+ 413, 498, 286, 0, 0, 0, 0, 4110, 507, 959,
+ 0, 0, 0, 0, 4111, 0, 0, 0, 0, 238,
+ 0, 0, 245, 0, 0, 0, 351, 360, 359, 339,
+ 340, 342, 344, 350, 357, 363, 336, 345, 1328, 1378,
+ 609, 1420, 1329, 1380, 265, 321, 272, 264, 580, 1431,
+ 1412, 1292, 1359, 1419, 1354, 596, 0, 0, 229, 1422,
+ 1353, 0, 1383, 0, 1437, 1287, 1374, 0, 1290, 1294,
+ 1433, 1417, 1323, 275, 0, 0, 0, 0, 0, 0,
+ 0, 1350, 1361, 1395, 1399, 1344, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1321, 0, 1370, 0, 0, 0,
+ 1299, 1291, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2384, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 396, 0, 0, 0, 1850, 0, 4128, 1417,
- 1401, 528, 0, 1343, 1420, 1311, 1330, 1430, 1333, 1336,
- 1380, 1289, 1358, 416, 1327, 1315, 1284, 1322, 1285, 1313,
- 1345, 270, 1310, 1403, 1362, 1419, 366, 267, 1291, 1282,
- 204, 505, 1316, 430, 1332, 203, 1382, 487, 252, 377,
- 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 1426, 370, 1368, 0, 497, 401, 0, 0, 0,
- 1407, 1406, 1337, 1347, 1409, 1356, 1394, 1342, 1381, 1299,
- 1367, 1421, 1328, 1377, 1422, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 4102, 507, 955, 0,
- 0, 0, 0, 4103, 0, 0, 0, 0, 238, 0,
- 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 1324, 1374, 607,
- 1416, 1325, 1376, 265, 321, 272, 264, 580, 1427, 1408,
- 1288, 1355, 1415, 1350, 0, 0, 229, 1418, 1349, 0,
- 1379, 0, 1433, 1283, 1370, 0, 1286, 1290, 1429, 1413,
- 1319, 275, 0, 0, 0, 0, 0, 0, 0, 1346,
- 1357, 1391, 1395, 1340, 0, 0, 0, 0, 0, 0,
- 0, 0, 1317, 0, 1366, 0, 0, 0, 1295, 1287,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1344, 0, 0, 0, 0, 1298, 0, 1318,
- 1392, 0, 1281, 297, 1292, 402, 257, 0, 453, 1399,
- 1412, 1341, 626, 1414, 1339, 1338, 1386, 1296, 1405, 1331,
- 365, 1294, 330, 197, 225, 0, 1329, 412, 461, 473,
- 1404, 1314, 1323, 253, 1321, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 1365, 1384, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 649, 228, 619, 220, 1293, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 1309, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 1400,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 1389, 1432,
- 425, 472, 240, 604, 496, 199, 1303, 1308, 1301, 0,
- 254, 255, 1371, 575, 1304, 1302, 1360, 1361, 1305, 1423,
- 1424, 1425, 1410, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 1393, 1297, 0, 1306, 1307, 398, 1402, 591, 592,
- 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
- 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
- 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
- 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
- 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
- 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
- 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
- 544, 555, 566, 550, 538, 531, 539, 1364, 196, 221,
- 368, 1428, 454, 288, 647, 615, 484, 610, 206, 223,
- 1300, 262, 1312, 1320, 0, 1326, 1334, 1335, 1348, 1351,
- 1352, 1353, 1354, 1372, 1373, 1375, 1383, 1385, 1388, 1390,
- 1397, 1411, 1431, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
- 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
- 378, 1363, 1369, 381, 281, 305, 320, 1378, 614, 502,
- 227, 466, 290, 251, 1396, 1398, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 1359, 1387, 376, 576, 577, 316, 396, 0, 0, 0,
- 0, 0, 0, 1417, 1401, 528, 0, 1343, 1420, 1311,
- 1330, 1430, 1333, 1336, 1380, 1289, 1358, 416, 1327, 1315,
- 1284, 1322, 1285, 1313, 1345, 270, 1310, 1403, 1362, 1419,
- 366, 267, 1291, 1282, 204, 505, 1316, 430, 1332, 203,
- 1382, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 1426, 370, 1368, 0, 497,
- 401, 0, 0, 0, 1407, 1406, 1337, 1347, 1409, 1356,
- 1394, 1342, 1381, 1299, 1367, 1421, 1328, 1377, 1422, 323,
- 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 0, 507, 194, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
- 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 1324, 1374, 607, 1416, 1325, 1376, 265, 321, 272,
- 264, 580, 1427, 1408, 1288, 1355, 1415, 1350, 0, 0,
- 229, 1418, 1349, 0, 1379, 0, 1433, 1283, 1370, 0,
- 1286, 1290, 1429, 1413, 1319, 275, 0, 0, 0, 0,
- 0, 0, 0, 1346, 1357, 1391, 1395, 1340, 0, 0,
- 0, 0, 0, 0, 3246, 0, 1317, 0, 1366, 0,
- 0, 0, 1295, 1287, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1344, 0, 0, 0,
- 0, 1298, 0, 1318, 1392, 0, 1281, 297, 1292, 402,
- 257, 0, 453, 1399, 1412, 1341, 626, 1414, 1339, 1338,
- 1386, 1296, 1405, 1331, 365, 1294, 330, 197, 225, 0,
- 1329, 412, 461, 473, 1404, 1314, 1323, 253, 1321, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 1365,
- 1384, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1348, 0, 0, 0, 0, 1302,
+ 0, 1322, 1396, 0, 1285, 297, 1296, 402, 257, 0,
+ 453, 1403, 1416, 1345, 629, 1418, 1343, 1342, 1390, 1300,
+ 1409, 1335, 365, 1298, 330, 197, 225, 0, 1333, 412,
+ 461, 473, 1408, 1318, 1327, 253, 1325, 471, 426, 604,
+ 233, 284, 458, 432, 469, 440, 287, 1369, 1388, 470,
+ 372, 585, 450, 601, 630, 631, 263, 406, 615, 522,
+ 623, 648, 226, 260, 420, 506, 607, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 636, 224, 479, 371,
+ 242, 231, 587, 612, 299, 289, 456, 643, 213, 517,
+ 598, 239, 483, 0, 0, 651, 247, 504, 610, 599,
215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
- 619, 220, 1293, 618, 408, 584, 595, 394, 383, 219,
+ 293, 0, 0, 258, 415, 589, 590, 256, 652, 228,
+ 622, 220, 1297, 621, 408, 584, 595, 394, 383, 219,
593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
- 1309, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 1400, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 1389, 1432, 425, 472, 240, 604, 496, 199,
- 1303, 1308, 1301, 0, 254, 255, 1371, 575, 1304, 1302,
- 1360, 1361, 1305, 1423, 1424, 1425, 1410, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 1393, 1297, 0, 1306, 1307,
- 398, 1402, 591, 592, 669, 384, 486, 601, 335, 349,
+ 448, 306, 308, 404, 403, 405, 207, 608, 626, 0,
+ 208, 0, 499, 611, 653, 452, 212, 234, 235, 237,
+ 1313, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 1404, 579, 602, 616, 628, 634, 635,
+ 637, 638, 639, 640, 641, 644, 642, 407, 311, 495,
+ 333, 373, 1393, 1436, 425, 472, 240, 606, 496, 199,
+ 1307, 1312, 1305, 0, 254, 255, 1375, 575, 1308, 1306,
+ 1364, 1365, 1309, 1427, 1428, 1429, 1414, 654, 655, 656,
+ 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
+ 667, 668, 669, 670, 671, 649, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 1397, 1301, 0, 1310, 1311,
+ 398, 1406, 591, 592, 672, 384, 486, 603, 335, 349,
352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
+ 312, 216, 217, 218, 524, 525, 526, 527, 619, 620,
+ 624, 205, 462, 463, 464, 465, 292, 614, 309, 468,
467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 1364, 196, 221, 368, 1428, 454, 288, 647, 615,
- 484, 610, 206, 223, 1300, 262, 1312, 1320, 0, 1326,
- 1334, 1335, 1348, 1351, 1352, 1353, 1354, 1372, 1373, 1375,
- 1383, 1385, 1388, 1390, 1397, 1411, 1431, 198, 200, 209,
+ 539, 1368, 196, 221, 368, 1432, 454, 288, 650, 618,
+ 484, 613, 206, 223, 1304, 262, 1316, 1324, 0, 1330,
+ 1338, 1339, 1352, 1355, 1356, 1357, 1358, 1376, 1377, 1379,
+ 1387, 1389, 1392, 1394, 1401, 1415, 1435, 198, 200, 209,
222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
- 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
- 596, 642, 624, 438, 378, 1363, 1369, 381, 281, 305,
- 320, 1378, 614, 502, 227, 466, 290, 251, 1396, 1398,
+ 500, 501, 516, 586, 588, 605, 625, 632, 480, 301,
+ 302, 444, 445, 314, 315, 646, 647, 300, 600, 633,
+ 597, 645, 627, 438, 378, 1367, 1373, 381, 281, 305,
+ 320, 1382, 617, 502, 227, 466, 290, 251, 1400, 1402,
211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
- 523, 395, 266, 433, 1359, 1387, 376, 576, 577, 316,
- 396, 0, 0, 0, 0, 0, 0, 1417, 1401, 528,
- 0, 1343, 1420, 1311, 1330, 1430, 1333, 1336, 1380, 1289,
- 1358, 416, 1327, 1315, 1284, 1322, 1285, 1313, 1345, 270,
- 1310, 1403, 1362, 1419, 366, 267, 1291, 1282, 204, 505,
- 1316, 430, 1332, 203, 1382, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 1426,
- 370, 1368, 0, 497, 401, 0, 0, 0, 1407, 1406,
- 1337, 1347, 1409, 1356, 1394, 1342, 1381, 1299, 1367, 1421,
- 1328, 1377, 1422, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 0, 507, 720, 0, 0, 0,
+ 523, 395, 266, 433, 1363, 1391, 376, 576, 577, 316,
+ 396, 0, 0, 0, 0, 0, 0, 1421, 1405, 528,
+ 0, 1347, 1424, 1315, 1334, 1434, 1337, 1340, 1384, 1293,
+ 1362, 416, 1331, 1319, 1288, 1326, 1289, 1317, 1349, 270,
+ 1314, 1407, 1366, 1423, 366, 267, 1295, 1286, 204, 505,
+ 1320, 430, 1336, 203, 1386, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 1430,
+ 370, 1372, 0, 497, 401, 0, 0, 0, 1411, 1410,
+ 1341, 1351, 1413, 1360, 1398, 1346, 1385, 1303, 1371, 1425,
+ 1332, 1381, 1426, 323, 248, 325, 202, 413, 498, 286,
+ 0, 0, 0, 0, 0, 507, 194, 0, 0, 0,
0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 1324, 1374, 607, 1416, 1325,
- 1376, 265, 321, 272, 264, 580, 1427, 1408, 1288, 1355,
- 1415, 1350, 0, 0, 229, 1418, 1349, 0, 1379, 0,
- 1433, 1283, 1370, 0, 1286, 1290, 1429, 1413, 1319, 275,
- 0, 0, 0, 0, 0, 0, 0, 1346, 1357, 1391,
- 1395, 1340, 0, 0, 0, 0, 0, 0, 3207, 0,
- 1317, 0, 1366, 0, 0, 0, 1295, 1287, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1344, 0, 0, 0, 0, 1298, 0, 1318, 1392, 0,
- 1281, 297, 1292, 402, 257, 0, 453, 1399, 1412, 1341,
- 626, 1414, 1339, 1338, 1386, 1296, 1405, 1331, 365, 1294,
- 330, 197, 225, 0, 1329, 412, 461, 473, 1404, 1314,
- 1323, 253, 1321, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 1365, 1384, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
+ 350, 357, 363, 336, 345, 1328, 1378, 609, 1420, 1329,
+ 1380, 265, 321, 272, 264, 580, 1431, 1412, 1292, 1359,
+ 1419, 1354, 596, 0, 0, 229, 1422, 1353, 0, 1383,
+ 0, 1437, 1287, 1374, 0, 1290, 1294, 1433, 1417, 1323,
+ 275, 0, 0, 0, 0, 0, 0, 0, 1350, 1361,
+ 1395, 1399, 1344, 0, 0, 0, 0, 0, 0, 3255,
+ 0, 1321, 0, 1370, 0, 0, 0, 1299, 1291, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1348, 0, 0, 0, 0, 1302, 0, 1322, 1396,
+ 0, 1285, 297, 1296, 402, 257, 0, 453, 1403, 1416,
+ 1345, 629, 1418, 1343, 1342, 1390, 1300, 1409, 1335, 365,
+ 1298, 330, 197, 225, 0, 1333, 412, 461, 473, 1408,
+ 1318, 1327, 253, 1325, 471, 426, 604, 233, 284, 458,
+ 432, 469, 440, 287, 1369, 1388, 470, 372, 585, 450,
+ 601, 630, 631, 263, 406, 615, 522, 623, 648, 226,
+ 260, 420, 506, 607, 494, 397, 581, 582, 329, 493,
+ 295, 201, 369, 636, 224, 479, 371, 242, 231, 587,
+ 612, 299, 289, 456, 643, 213, 517, 598, 239, 483,
+ 0, 0, 651, 247, 504, 610, 599, 215, 594, 503,
+ 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
+ 258, 415, 589, 590, 256, 652, 228, 622, 220, 1297,
+ 621, 408, 584, 595, 394, 383, 219, 593, 392, 382,
+ 334, 355, 356, 280, 307, 447, 375, 448, 306, 308,
+ 404, 403, 405, 207, 608, 626, 0, 208, 0, 499,
+ 611, 653, 452, 212, 234, 235, 237, 1313, 279, 283,
+ 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
+ 1404, 579, 602, 616, 628, 634, 635, 637, 638, 639,
+ 640, 641, 644, 642, 407, 311, 495, 333, 373, 1393,
+ 1436, 425, 472, 240, 606, 496, 199, 1307, 1312, 1305,
+ 0, 254, 255, 1375, 575, 1308, 1306, 1364, 1365, 1309,
+ 1427, 1428, 1429, 1414, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 669,
+ 670, 671, 649, 508, 514, 509, 510, 511, 512, 513,
+ 0, 515, 1397, 1301, 0, 1310, 1311, 398, 1406, 591,
+ 592, 672, 384, 486, 603, 335, 349, 352, 341, 361,
+ 0, 362, 337, 338, 343, 346, 347, 348, 353, 354,
+ 358, 364, 249, 210, 390, 399, 578, 312, 216, 217,
+ 218, 524, 525, 526, 527, 619, 620, 624, 205, 462,
+ 463, 464, 465, 292, 614, 309, 468, 467, 331, 332,
+ 379, 449, 540, 542, 553, 557, 559, 561, 567, 570,
+ 541, 543, 554, 558, 560, 562, 568, 571, 530, 532,
+ 534, 536, 549, 548, 545, 573, 574, 551, 556, 535,
+ 547, 552, 565, 572, 569, 529, 533, 537, 546, 564,
+ 563, 544, 555, 566, 550, 538, 531, 539, 1368, 196,
+ 221, 368, 1432, 454, 288, 650, 618, 484, 613, 206,
+ 223, 1304, 262, 1316, 1324, 0, 1330, 1338, 1339, 1352,
+ 1355, 1356, 1357, 1358, 1376, 1377, 1379, 1387, 1389, 1392,
+ 1394, 1401, 1415, 1435, 198, 200, 209, 222, 232, 236,
+ 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
+ 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
+ 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
+ 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
+ 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
+ 586, 588, 605, 625, 632, 480, 301, 302, 444, 445,
+ 314, 315, 646, 647, 300, 600, 633, 597, 645, 627,
+ 438, 378, 1367, 1373, 381, 281, 305, 320, 1382, 617,
+ 502, 227, 466, 290, 251, 1400, 1402, 211, 246, 230,
+ 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
+ 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
+ 433, 1363, 1391, 376, 576, 577, 316, 396, 0, 0,
+ 0, 0, 0, 0, 1421, 1405, 528, 0, 1347, 1424,
+ 1315, 1334, 1434, 1337, 1340, 1384, 1293, 1362, 416, 1331,
+ 1319, 1288, 1326, 1289, 1317, 1349, 270, 1314, 1407, 1366,
+ 1423, 366, 267, 1295, 1286, 204, 505, 1320, 430, 1336,
+ 203, 1386, 487, 252, 377, 374, 583, 282, 273, 269,
+ 250, 317, 385, 428, 518, 422, 1430, 370, 1372, 0,
+ 497, 401, 0, 0, 0, 1411, 1410, 1341, 1351, 1413,
+ 1360, 1398, 1346, 1385, 1303, 1371, 1425, 1332, 1381, 1426,
+ 323, 248, 325, 202, 413, 498, 286, 0, 0, 0,
+ 0, 0, 507, 724, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 238, 0, 0, 245, 0, 0, 0,
+ 351, 360, 359, 339, 340, 342, 344, 350, 357, 363,
+ 336, 345, 1328, 1378, 609, 1420, 1329, 1380, 265, 321,
+ 272, 264, 580, 1431, 1412, 1292, 1359, 1419, 1354, 596,
+ 0, 0, 229, 1422, 1353, 0, 1383, 0, 1437, 1287,
+ 1374, 0, 1290, 1294, 1433, 1417, 1323, 275, 0, 0,
+ 0, 0, 0, 0, 0, 1350, 1361, 1395, 1399, 1344,
+ 0, 0, 0, 0, 0, 0, 3216, 0, 1321, 0,
+ 1370, 0, 0, 0, 1299, 1291, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1348, 0,
+ 0, 0, 0, 1302, 0, 1322, 1396, 0, 1285, 297,
+ 1296, 402, 257, 0, 453, 1403, 1416, 1345, 629, 1418,
+ 1343, 1342, 1390, 1300, 1409, 1335, 365, 1298, 330, 197,
+ 225, 0, 1333, 412, 461, 473, 1408, 1318, 1327, 253,
+ 1325, 471, 426, 604, 233, 284, 458, 432, 469, 440,
+ 287, 1369, 1388, 470, 372, 585, 450, 601, 630, 631,
+ 263, 406, 615, 522, 623, 648, 226, 260, 420, 506,
+ 607, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 636, 224, 479, 371, 242, 231, 587, 612, 299, 289,
+ 456, 643, 213, 517, 598, 239, 483, 0, 0, 651,
+ 247, 504, 610, 599, 215, 594, 503, 393, 326, 327,
214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 649, 228, 619, 220, 1293, 618, 408, 584,
+ 590, 256, 652, 228, 622, 220, 1297, 621, 408, 584,
595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 1309, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 1400, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 1389, 1432, 425, 472,
- 240, 604, 496, 199, 1303, 1308, 1301, 0, 254, 255,
- 1371, 575, 1304, 1302, 1360, 1361, 1305, 1423, 1424, 1425,
- 1410, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 1393,
- 1297, 0, 1306, 1307, 398, 1402, 591, 592, 669, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
+ 207, 608, 626, 0, 208, 0, 499, 611, 653, 452,
+ 212, 234, 235, 237, 1313, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 1404, 579, 602,
+ 616, 628, 634, 635, 637, 638, 639, 640, 641, 644,
+ 642, 407, 311, 495, 333, 373, 1393, 1436, 425, 472,
+ 240, 606, 496, 199, 1307, 1312, 1305, 0, 254, 255,
+ 1375, 575, 1308, 1306, 1364, 1365, 1309, 1427, 1428, 1429,
+ 1414, 654, 655, 656, 657, 658, 659, 660, 661, 662,
+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 649,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 1397,
+ 1301, 0, 1310, 1311, 398, 1406, 591, 592, 672, 384,
+ 486, 603, 335, 349, 352, 341, 361, 0, 362, 337,
338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
+ 526, 527, 619, 620, 624, 205, 462, 463, 464, 465,
+ 292, 614, 309, 468, 467, 331, 332, 379, 449, 540,
542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 1364, 196, 221, 368, 1428,
- 454, 288, 647, 615, 484, 610, 206, 223, 1300, 262,
- 1312, 1320, 0, 1326, 1334, 1335, 1348, 1351, 1352, 1353,
- 1354, 1372, 1373, 1375, 1383, 1385, 1388, 1390, 1397, 1411,
- 1431, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 566, 550, 538, 531, 539, 1368, 196, 221, 368, 1432,
+ 454, 288, 650, 618, 484, 613, 206, 223, 1304, 262,
+ 1316, 1324, 0, 1330, 1338, 1339, 1352, 1355, 1356, 1357,
+ 1358, 1376, 1377, 1379, 1387, 1389, 1392, 1394, 1401, 1415,
+ 1435, 198, 200, 209, 222, 232, 236, 243, 261, 276,
278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
- 644, 300, 598, 630, 596, 642, 624, 438, 378, 1363,
- 1369, 381, 281, 305, 320, 1378, 614, 502, 227, 466,
- 290, 251, 1396, 1398, 211, 246, 230, 259, 274, 277,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 605,
+ 625, 632, 480, 301, 302, 444, 445, 314, 315, 646,
+ 647, 300, 600, 633, 597, 645, 627, 438, 378, 1367,
+ 1373, 381, 281, 305, 320, 1382, 617, 502, 227, 466,
+ 290, 251, 1400, 1402, 211, 246, 230, 259, 274, 277,
324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 1359, 1387,
+ 485, 519, 520, 521, 523, 395, 266, 433, 1363, 1391,
376, 576, 577, 316, 396, 0, 0, 0, 0, 0,
- 0, 1417, 1401, 528, 0, 1343, 1420, 1311, 1330, 1430,
- 1333, 1336, 1380, 1289, 1358, 416, 1327, 1315, 1284, 1322,
- 1285, 1313, 1345, 270, 1310, 1403, 1362, 1419, 366, 267,
- 1291, 1282, 204, 505, 1316, 430, 1332, 203, 1382, 487,
+ 0, 1421, 1405, 528, 0, 1347, 1424, 1315, 1334, 1434,
+ 1337, 1340, 1384, 1293, 1362, 416, 1331, 1319, 1288, 1326,
+ 1289, 1317, 1349, 270, 1314, 1407, 1366, 1423, 366, 267,
+ 1295, 1286, 204, 505, 1320, 430, 1336, 203, 1386, 487,
252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 1426, 370, 1368, 0, 497, 401, 0,
- 0, 0, 1407, 1406, 1337, 1347, 1409, 1356, 1394, 1342,
- 1381, 1299, 1367, 1421, 1328, 1377, 1422, 323, 248, 325,
+ 428, 518, 422, 1430, 370, 1372, 0, 497, 401, 0,
+ 0, 0, 1411, 1410, 1341, 1351, 1413, 1360, 1398, 1346,
+ 1385, 1303, 1371, 1425, 1332, 1381, 1426, 323, 248, 325,
202, 413, 498, 286, 0, 0, 0, 0, 0, 507,
- 955, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 959, 0, 0, 0, 0, 0, 0, 0, 0, 0,
238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
- 339, 340, 342, 344, 350, 357, 363, 336, 345, 1324,
- 1374, 607, 1416, 1325, 1376, 265, 321, 272, 264, 580,
- 1427, 1408, 1288, 1355, 1415, 1350, 0, 0, 229, 1418,
- 1349, 0, 1379, 0, 1433, 1283, 1370, 0, 1286, 1290,
- 1429, 1413, 1319, 275, 0, 0, 0, 0, 0, 0,
- 0, 1346, 1357, 1391, 1395, 1340, 0, 0, 0, 0,
- 0, 0, 2402, 0, 1317, 0, 1366, 0, 0, 0,
- 1295, 1287, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1344, 0, 0, 0, 0, 1298,
- 0, 1318, 1392, 0, 1281, 297, 1292, 402, 257, 0,
- 453, 1399, 1412, 1341, 626, 1414, 1339, 1338, 1386, 1296,
- 1405, 1331, 365, 1294, 330, 197, 225, 0, 1329, 412,
- 461, 473, 1404, 1314, 1323, 253, 1321, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 1365, 1384, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 339, 340, 342, 344, 350, 357, 363, 336, 345, 1328,
+ 1378, 609, 1420, 1329, 1380, 265, 321, 272, 264, 580,
+ 1431, 1412, 1292, 1359, 1419, 1354, 596, 0, 0, 229,
+ 1422, 1353, 0, 1383, 0, 1437, 1287, 1374, 0, 1290,
+ 1294, 1433, 1417, 1323, 275, 0, 0, 0, 0, 0,
+ 0, 0, 1350, 1361, 1395, 1399, 1344, 0, 0, 0,
+ 0, 0, 0, 2411, 0, 1321, 0, 1370, 0, 0,
+ 0, 1299, 1291, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1348, 0, 0, 0, 0,
+ 1302, 0, 1322, 1396, 0, 1285, 297, 1296, 402, 257,
+ 0, 453, 1403, 1416, 1345, 629, 1418, 1343, 1342, 1390,
+ 1300, 1409, 1335, 365, 1298, 330, 197, 225, 0, 1333,
+ 412, 461, 473, 1408, 1318, 1327, 253, 1325, 471, 426,
+ 604, 233, 284, 458, 432, 469, 440, 287, 1369, 1388,
+ 470, 372, 585, 450, 601, 630, 631, 263, 406, 615,
+ 522, 623, 648, 226, 260, 420, 506, 607, 494, 397,
+ 581, 582, 329, 493, 295, 201, 369, 636, 224, 479,
+ 371, 242, 231, 587, 612, 299, 289, 456, 643, 213,
+ 517, 598, 239, 483, 0, 0, 651, 247, 504, 610,
+ 599, 215, 594, 503, 393, 326, 327, 214, 0, 457,
+ 268, 293, 0, 0, 258, 415, 589, 590, 256, 652,
+ 228, 622, 220, 1297, 621, 408, 584, 595, 394, 383,
+ 219, 593, 392, 382, 334, 355, 356, 280, 307, 447,
+ 375, 448, 306, 308, 404, 403, 405, 207, 608, 626,
+ 0, 208, 0, 499, 611, 653, 452, 212, 234, 235,
+ 237, 1313, 279, 283, 291, 294, 303, 304, 313, 367,
+ 419, 446, 442, 451, 1404, 579, 602, 616, 628, 634,
+ 635, 637, 638, 639, 640, 641, 644, 642, 407, 311,
+ 495, 333, 373, 1393, 1436, 425, 472, 240, 606, 496,
+ 199, 1307, 1312, 1305, 0, 254, 255, 1375, 575, 1308,
+ 1306, 1364, 1365, 1309, 1427, 1428, 1429, 1414, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 669, 670, 671, 649, 508, 514, 509,
+ 510, 511, 512, 513, 0, 515, 1397, 1301, 0, 1310,
+ 1311, 398, 1406, 591, 592, 672, 384, 486, 603, 335,
+ 349, 352, 341, 361, 0, 362, 337, 338, 343, 346,
+ 347, 348, 353, 354, 358, 364, 249, 210, 390, 399,
+ 578, 312, 216, 217, 218, 524, 525, 526, 527, 619,
+ 620, 624, 205, 462, 463, 464, 465, 292, 614, 309,
+ 468, 467, 331, 332, 379, 449, 540, 542, 553, 557,
+ 559, 561, 567, 570, 541, 543, 554, 558, 560, 562,
+ 568, 571, 530, 532, 534, 536, 549, 548, 545, 573,
+ 574, 551, 556, 535, 547, 552, 565, 572, 569, 529,
+ 533, 537, 546, 564, 563, 544, 555, 566, 550, 538,
+ 531, 539, 1368, 196, 221, 368, 1432, 454, 288, 650,
+ 618, 484, 613, 206, 223, 1304, 262, 1316, 1324, 0,
+ 1330, 1338, 1339, 1352, 1355, 1356, 1357, 1358, 1376, 1377,
+ 1379, 1387, 1389, 1392, 1394, 1401, 1415, 1435, 198, 200,
+ 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
+ 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
+ 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
+ 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
+ 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
+ 492, 500, 501, 516, 586, 588, 605, 625, 632, 480,
+ 301, 302, 444, 445, 314, 315, 646, 647, 300, 600,
+ 633, 597, 645, 627, 438, 378, 1367, 1373, 381, 281,
+ 305, 320, 1382, 617, 502, 227, 466, 290, 251, 1400,
+ 1402, 211, 246, 230, 259, 274, 277, 324, 391, 400,
+ 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
+ 521, 523, 395, 266, 433, 1363, 1391, 376, 576, 577,
+ 316, 396, 0, 0, 0, 0, 0, 0, 1421, 1405,
+ 528, 0, 1347, 1424, 1315, 1334, 1434, 1337, 1340, 1384,
+ 1293, 1362, 416, 1331, 1319, 1288, 1326, 1289, 1317, 1349,
+ 270, 1314, 1407, 1366, 1423, 366, 267, 1295, 1286, 204,
+ 505, 1320, 430, 1336, 203, 1386, 487, 252, 377, 374,
+ 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
+ 1430, 370, 1372, 0, 497, 401, 0, 0, 0, 1411,
+ 1410, 1341, 1351, 1413, 1360, 1398, 1346, 1385, 1303, 1371,
+ 1425, 1332, 1381, 1426, 323, 248, 325, 202, 413, 498,
+ 286, 0, 95, 0, 0, 0, 507, 724, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 238, 0, 0,
+ 245, 0, 0, 0, 351, 360, 359, 339, 340, 342,
+ 344, 350, 357, 363, 336, 345, 1328, 1378, 609, 1420,
+ 1329, 1380, 265, 321, 272, 264, 580, 1431, 1412, 1292,
+ 1359, 1419, 1354, 596, 0, 0, 229, 1422, 1353, 0,
+ 1383, 0, 1437, 1287, 1374, 0, 1290, 1294, 1433, 1417,
+ 1323, 275, 0, 0, 0, 0, 0, 0, 0, 1350,
+ 1361, 1395, 1399, 1344, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1321, 0, 1370, 0, 0, 0, 1299, 1291,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1348, 0, 0, 0, 0, 1302, 0, 1322,
+ 1396, 0, 1285, 297, 1296, 402, 257, 0, 453, 1403,
+ 1416, 1345, 629, 1418, 1343, 1342, 1390, 1300, 1409, 1335,
+ 365, 1298, 330, 197, 225, 0, 1333, 412, 461, 473,
+ 1408, 1318, 1327, 253, 1325, 471, 426, 604, 233, 284,
+ 458, 432, 469, 440, 287, 1369, 1388, 470, 372, 585,
+ 450, 601, 630, 631, 263, 406, 615, 522, 623, 648,
+ 226, 260, 420, 506, 607, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 636, 224, 479, 371, 242, 231,
+ 587, 612, 299, 289, 456, 643, 213, 517, 598, 239,
+ 483, 0, 0, 651, 247, 504, 610, 599, 215, 594,
503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
- 1293, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 0, 258, 415, 589, 590, 256, 652, 228, 622, 220,
+ 1297, 621, 408, 584, 595, 394, 383, 219, 593, 392,
382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 1309, 279,
+ 308, 404, 403, 405, 207, 608, 626, 0, 208, 0,
+ 499, 611, 653, 452, 212, 234, 235, 237, 1313, 279,
283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 1400, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 1389, 1432, 425, 472, 240, 604, 496, 199, 1303, 1308,
- 1301, 0, 254, 255, 1371, 575, 1304, 1302, 1360, 1361,
- 1305, 1423, 1424, 1425, 1410, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 1393, 1297, 0, 1306, 1307, 398, 1402,
- 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
+ 451, 1404, 579, 602, 616, 628, 634, 635, 637, 638,
+ 639, 640, 641, 644, 642, 407, 311, 495, 333, 373,
+ 1393, 1436, 425, 472, 240, 606, 496, 199, 1307, 1312,
+ 1305, 0, 254, 255, 1375, 575, 1308, 1306, 1364, 1365,
+ 1309, 1427, 1428, 1429, 1414, 654, 655, 656, 657, 658,
+ 659, 660, 661, 662, 663, 664, 665, 666, 667, 668,
+ 669, 670, 671, 649, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 1397, 1301, 0, 1310, 1311, 398, 1406,
+ 591, 592, 672, 384, 486, 603, 335, 349, 352, 341,
361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
- 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
- 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
+ 217, 218, 524, 525, 526, 527, 619, 620, 624, 205,
+ 462, 463, 464, 465, 292, 614, 309, 468, 467, 331,
332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
- 564, 563, 544, 555, 566, 550, 538, 531, 539, 1364,
- 196, 221, 368, 1428, 454, 288, 647, 615, 484, 610,
- 206, 223, 1300, 262, 1312, 1320, 0, 1326, 1334, 1335,
- 1348, 1351, 1352, 1353, 1354, 1372, 1373, 1375, 1383, 1385,
- 1388, 1390, 1397, 1411, 1431, 198, 200, 209, 222, 232,
+ 564, 563, 544, 555, 566, 550, 538, 531, 539, 1368,
+ 196, 221, 368, 1432, 454, 288, 650, 618, 484, 613,
+ 206, 223, 1304, 262, 1316, 1324, 0, 1330, 1338, 1339,
+ 1352, 1355, 1356, 1357, 1358, 1376, 1377, 1379, 1387, 1389,
+ 1392, 1394, 1401, 1415, 1435, 198, 200, 209, 222, 232,
236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
- 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
- 624, 438, 378, 1363, 1369, 381, 281, 305, 320, 1378,
- 614, 502, 227, 466, 290, 251, 1396, 1398, 211, 246,
+ 516, 586, 588, 605, 625, 632, 480, 301, 302, 444,
+ 445, 314, 315, 646, 647, 300, 600, 633, 597, 645,
+ 627, 438, 378, 1367, 1373, 381, 281, 305, 320, 1382,
+ 617, 502, 227, 466, 290, 251, 1400, 1402, 211, 246,
230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 1359, 1387, 376, 576, 577, 316, 396, 0,
- 0, 0, 0, 0, 0, 1417, 1401, 528, 0, 1343,
- 1420, 1311, 1330, 1430, 1333, 1336, 1380, 1289, 1358, 416,
- 1327, 1315, 1284, 1322, 1285, 1313, 1345, 270, 1310, 1403,
- 1362, 1419, 366, 267, 1291, 1282, 204, 505, 1316, 430,
- 1332, 203, 1382, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 1426, 370, 1368,
- 0, 497, 401, 0, 0, 0, 1407, 1406, 1337, 1347,
- 1409, 1356, 1394, 1342, 1381, 1299, 1367, 1421, 1328, 1377,
- 1422, 323, 248, 325, 202, 413, 498, 286, 0, 95,
- 0, 0, 0, 507, 720, 0, 0, 0, 0, 0,
+ 266, 433, 1363, 1391, 376, 576, 577, 316, 396, 0,
+ 0, 0, 0, 0, 0, 1421, 1405, 528, 0, 1347,
+ 1424, 1315, 1334, 1434, 1337, 1340, 1384, 1293, 1362, 416,
+ 1331, 1319, 1288, 1326, 1289, 1317, 1349, 270, 1314, 1407,
+ 1366, 1423, 366, 267, 1295, 1286, 204, 505, 1320, 430,
+ 1336, 203, 1386, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 1430, 370, 1372,
+ 0, 497, 401, 0, 0, 0, 1411, 1410, 1341, 1351,
+ 1413, 1360, 1398, 1346, 1385, 1303, 1371, 1425, 1332, 1381,
+ 1426, 323, 248, 325, 202, 413, 498, 286, 0, 0,
+ 0, 0, 0, 507, 194, 0, 0, 0, 0, 0,
0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 1324, 1374, 607, 1416, 1325, 1376, 265,
- 321, 272, 264, 580, 1427, 1408, 1288, 1355, 1415, 1350,
- 0, 0, 229, 1418, 1349, 0, 1379, 0, 1433, 1283,
- 1370, 0, 1286, 1290, 1429, 1413, 1319, 275, 0, 0,
- 0, 0, 0, 0, 0, 1346, 1357, 1391, 1395, 1340,
- 0, 0, 0, 0, 0, 0, 0, 0, 1317, 0,
- 1366, 0, 0, 0, 1295, 1287, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1344, 0,
- 0, 0, 0, 1298, 0, 1318, 1392, 0, 1281, 297,
- 1292, 402, 257, 0, 453, 1399, 1412, 1341, 626, 1414,
- 1339, 1338, 1386, 1296, 1405, 1331, 365, 1294, 330, 197,
- 225, 0, 1329, 412, 461, 473, 1404, 1314, 1323, 253,
- 1321, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 1365, 1384, 470, 372, 585, 450, 599, 627, 628,
- 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
+ 363, 336, 345, 1328, 1378, 609, 1420, 1329, 1380, 265,
+ 321, 272, 264, 580, 1431, 1412, 1292, 1359, 1419, 1354,
+ 596, 0, 0, 229, 1422, 1353, 0, 1383, 0, 1437,
+ 1287, 1374, 0, 1290, 1294, 1433, 1417, 1323, 275, 0,
+ 0, 0, 0, 0, 0, 0, 1350, 1361, 1395, 1399,
+ 1344, 0, 0, 0, 0, 0, 0, 0, 0, 1321,
+ 0, 1370, 0, 0, 0, 1299, 1291, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1348,
+ 0, 0, 0, 0, 1302, 0, 1322, 1396, 0, 1285,
+ 297, 1296, 402, 257, 0, 453, 1403, 1416, 1345, 629,
+ 1418, 1343, 1342, 1390, 1300, 1409, 1335, 365, 1298, 330,
+ 197, 225, 0, 1333, 412, 461, 473, 1408, 1318, 1327,
+ 253, 1325, 471, 426, 604, 233, 284, 458, 432, 469,
+ 440, 287, 1369, 1388, 470, 372, 585, 450, 601, 630,
+ 631, 263, 406, 615, 522, 623, 648, 226, 260, 420,
+ 506, 607, 494, 397, 581, 582, 329, 493, 295, 201,
+ 369, 636, 224, 479, 371, 242, 231, 587, 612, 299,
+ 289, 456, 643, 213, 517, 598, 239, 483, 0, 0,
+ 651, 247, 504, 610, 599, 215, 594, 503, 393, 326,
+ 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
+ 589, 590, 256, 652, 228, 622, 220, 1297, 621, 408,
+ 584, 595, 394, 383, 219, 593, 392, 382, 334, 355,
+ 356, 280, 307, 447, 375, 448, 306, 308, 404, 403,
+ 405, 207, 608, 626, 0, 208, 0, 499, 611, 653,
+ 452, 212, 234, 235, 237, 1313, 279, 283, 291, 294,
+ 303, 304, 313, 367, 419, 446, 442, 451, 1404, 579,
+ 602, 616, 628, 634, 635, 637, 638, 639, 640, 641,
+ 644, 642, 407, 311, 495, 333, 373, 1393, 1436, 425,
+ 472, 240, 606, 496, 199, 1307, 1312, 1305, 0, 254,
+ 255, 1375, 575, 1308, 1306, 1364, 1365, 1309, 1427, 1428,
+ 1429, 1414, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 669, 670, 671,
+ 649, 508, 514, 509, 510, 511, 512, 513, 0, 515,
+ 1397, 1301, 0, 1310, 1311, 398, 1406, 591, 592, 672,
+ 384, 486, 603, 335, 349, 352, 341, 361, 0, 362,
+ 337, 338, 343, 346, 347, 348, 353, 354, 358, 364,
+ 249, 210, 390, 399, 578, 312, 216, 217, 218, 524,
+ 525, 526, 527, 619, 620, 624, 205, 462, 463, 464,
+ 465, 292, 614, 309, 468, 467, 331, 332, 379, 449,
+ 540, 542, 553, 557, 559, 561, 567, 570, 541, 543,
+ 554, 558, 560, 562, 568, 571, 530, 532, 534, 536,
+ 549, 548, 545, 573, 574, 551, 556, 535, 547, 552,
+ 565, 572, 569, 529, 533, 537, 546, 564, 563, 544,
+ 555, 566, 550, 538, 531, 539, 1368, 196, 221, 368,
+ 1432, 454, 288, 650, 618, 484, 613, 206, 223, 1304,
+ 262, 1316, 1324, 0, 1330, 1338, 1339, 1352, 1355, 1356,
+ 1357, 1358, 1376, 1377, 1379, 1387, 1389, 1392, 1394, 1401,
+ 1415, 1435, 198, 200, 209, 222, 232, 236, 243, 261,
+ 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
+ 386, 387, 388, 389, 409, 410, 411, 414, 417, 418,
+ 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
+ 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
+ 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
+ 605, 625, 632, 480, 301, 302, 444, 445, 314, 315,
+ 646, 647, 300, 600, 633, 597, 645, 627, 438, 378,
+ 1367, 1373, 381, 281, 305, 320, 1382, 617, 502, 227,
+ 466, 290, 251, 1400, 1402, 211, 246, 230, 259, 274,
+ 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
+ 241, 485, 519, 520, 521, 523, 395, 266, 433, 1363,
+ 1391, 376, 576, 577, 316, 396, 0, 0, 0, 0,
+ 0, 0, 1421, 1405, 528, 0, 1347, 1424, 1315, 1334,
+ 1434, 1337, 1340, 1384, 1293, 1362, 416, 1331, 1319, 1288,
+ 1326, 1289, 1317, 1349, 270, 1314, 1407, 1366, 1423, 366,
+ 267, 1295, 1286, 204, 505, 1320, 430, 1336, 203, 1386,
+ 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
+ 385, 428, 518, 422, 1430, 370, 1372, 0, 497, 401,
+ 0, 0, 0, 1411, 1410, 1341, 1351, 1413, 1360, 1398,
+ 1346, 1385, 1303, 1371, 1425, 1332, 1381, 1426, 323, 248,
+ 325, 202, 413, 498, 286, 0, 0, 0, 0, 0,
+ 507, 724, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 238, 0, 0, 245, 0, 0, 0, 351, 360,
+ 359, 339, 340, 342, 344, 350, 357, 363, 336, 345,
+ 1328, 1378, 609, 1420, 1329, 1380, 265, 321, 272, 264,
+ 580, 1431, 1412, 1292, 1359, 1419, 1354, 596, 0, 0,
+ 229, 1422, 1353, 0, 1383, 0, 1437, 1287, 1374, 0,
+ 1290, 1294, 1433, 1417, 1323, 275, 0, 0, 0, 0,
+ 0, 0, 0, 1350, 1361, 1395, 1399, 1344, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1321, 0, 1370, 0,
+ 0, 0, 1299, 1291, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1348, 0, 0, 0,
+ 0, 1302, 0, 1322, 1396, 0, 1285, 297, 1296, 402,
+ 257, 0, 453, 1403, 1416, 1345, 629, 1418, 1343, 1342,
+ 1390, 1300, 1409, 1335, 365, 1298, 330, 197, 225, 0,
+ 1333, 412, 461, 473, 1408, 1318, 1327, 253, 1325, 471,
+ 426, 604, 233, 284, 458, 432, 469, 440, 287, 1369,
+ 1388, 470, 372, 585, 450, 601, 630, 631, 263, 406,
+ 615, 522, 623, 648, 226, 260, 420, 506, 607, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 636, 224,
+ 479, 371, 242, 231, 587, 612, 299, 289, 456, 643,
+ 213, 517, 598, 239, 483, 0, 0, 651, 247, 504,
+ 610, 599, 215, 594, 503, 393, 326, 327, 214, 0,
457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 649, 228, 619, 220, 1293, 618, 408, 584, 595, 394,
+ 652, 228, 622, 220, 1297, 621, 408, 584, 595, 394,
383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
- 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
- 235, 237, 1309, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 1400, 579, 600, 613, 625,
- 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
- 311, 495, 333, 373, 1389, 1432, 425, 472, 240, 604,
- 496, 199, 1303, 1308, 1301, 0, 254, 255, 1371, 575,
- 1304, 1302, 1360, 1361, 1305, 1423, 1424, 1425, 1410, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 1393, 1297, 0,
- 1306, 1307, 398, 1402, 591, 592, 669, 384, 486, 601,
+ 447, 375, 448, 306, 308, 404, 403, 405, 207, 608,
+ 626, 0, 208, 0, 499, 611, 653, 452, 212, 234,
+ 235, 237, 1313, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 1404, 579, 602, 616, 628,
+ 634, 635, 637, 638, 639, 640, 641, 644, 642, 407,
+ 311, 495, 333, 373, 1393, 1436, 425, 472, 240, 606,
+ 496, 199, 1307, 1312, 1305, 0, 254, 255, 1375, 575,
+ 1308, 1306, 1364, 1365, 1309, 1427, 1428, 1429, 1414, 654,
+ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
+ 665, 666, 667, 668, 669, 670, 671, 649, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 1397, 1301, 0,
+ 1310, 1311, 398, 1406, 591, 592, 672, 384, 486, 603,
335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
- 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
+ 619, 620, 624, 205, 462, 463, 464, 465, 292, 614,
309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
- 538, 531, 539, 1364, 196, 221, 368, 1428, 454, 288,
- 647, 615, 484, 610, 206, 223, 1300, 262, 1312, 1320,
- 0, 1326, 1334, 1335, 1348, 1351, 1352, 1353, 1354, 1372,
- 1373, 1375, 1383, 1385, 1388, 1390, 1397, 1411, 1431, 198,
+ 538, 531, 539, 1368, 196, 221, 368, 1432, 454, 288,
+ 650, 618, 484, 613, 206, 223, 1304, 262, 1316, 1324,
+ 0, 1330, 1338, 1339, 1352, 1355, 1356, 1357, 1358, 1376,
+ 1377, 1379, 1387, 1389, 1392, 1394, 1401, 1415, 1435, 198,
200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
- 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
- 598, 630, 596, 642, 624, 438, 378, 1363, 1369, 381,
- 281, 305, 320, 1378, 614, 502, 227, 466, 290, 251,
- 1396, 1398, 211, 246, 230, 259, 274, 277, 324, 391,
+ 491, 492, 500, 501, 516, 586, 588, 605, 625, 632,
+ 480, 301, 302, 444, 445, 314, 315, 646, 647, 300,
+ 600, 633, 597, 645, 627, 438, 378, 1367, 1373, 381,
+ 281, 305, 320, 1382, 617, 502, 227, 466, 290, 251,
+ 1400, 1402, 211, 246, 230, 259, 274, 277, 324, 391,
400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
- 520, 521, 523, 395, 266, 433, 1359, 1387, 376, 576,
- 577, 316, 396, 0, 0, 0, 0, 0, 0, 1417,
- 1401, 528, 0, 1343, 1420, 1311, 1330, 1430, 1333, 1336,
- 1380, 1289, 1358, 416, 1327, 1315, 1284, 1322, 1285, 1313,
- 1345, 270, 1310, 1403, 1362, 1419, 366, 267, 1291, 1282,
- 204, 505, 1316, 430, 1332, 203, 1382, 487, 252, 377,
+ 520, 521, 523, 395, 266, 433, 1363, 1391, 376, 576,
+ 577, 316, 396, 0, 0, 0, 0, 0, 0, 1421,
+ 1405, 528, 0, 1347, 1424, 1315, 1334, 1434, 1337, 1340,
+ 1384, 1293, 1362, 416, 1331, 1319, 1288, 1326, 1289, 1317,
+ 1349, 270, 1314, 1407, 1366, 1423, 366, 267, 1295, 1286,
+ 204, 505, 1320, 430, 1336, 203, 1386, 487, 252, 377,
374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 1426, 370, 1368, 0, 497, 401, 0, 0, 0,
- 1407, 1406, 1337, 1347, 1409, 1356, 1394, 1342, 1381, 1299,
- 1367, 1421, 1328, 1377, 1422, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 0, 507, 194, 0,
+ 422, 1430, 370, 1372, 0, 497, 401, 0, 0, 0,
+ 1411, 1410, 1341, 1351, 1413, 1360, 1398, 1346, 1385, 1303,
+ 1371, 1425, 1332, 1381, 1426, 323, 248, 325, 202, 413,
+ 498, 286, 0, 0, 0, 0, 0, 507, 959, 0,
0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 1324, 1374, 607,
- 1416, 1325, 1376, 265, 321, 272, 264, 580, 1427, 1408,
- 1288, 1355, 1415, 1350, 0, 0, 229, 1418, 1349, 0,
- 1379, 0, 1433, 1283, 1370, 0, 1286, 1290, 1429, 1413,
- 1319, 275, 0, 0, 0, 0, 0, 0, 0, 1346,
- 1357, 1391, 1395, 1340, 0, 0, 0, 0, 0, 0,
- 0, 0, 1317, 0, 1366, 0, 0, 0, 1295, 1287,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1344, 0, 0, 0, 0, 1298, 0, 1318,
- 1392, 0, 1281, 297, 1292, 402, 257, 0, 453, 1399,
- 1412, 1341, 626, 1414, 1339, 1338, 1386, 1296, 1405, 1331,
- 365, 1294, 330, 197, 225, 0, 1329, 412, 461, 473,
- 1404, 1314, 1323, 253, 1321, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 1365, 1384, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 342, 344, 350, 357, 363, 336, 345, 1328, 1378, 609,
+ 1420, 1329, 1380, 265, 321, 272, 264, 580, 1431, 1412,
+ 1292, 1359, 1419, 1354, 596, 0, 0, 229, 1422, 1353,
+ 0, 1383, 0, 1437, 1287, 1374, 0, 1290, 1294, 1433,
+ 1417, 1323, 275, 0, 0, 0, 0, 0, 0, 0,
+ 1350, 1361, 1395, 1399, 1344, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1321, 0, 1370, 0, 0, 0, 1299,
+ 1291, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1348, 0, 0, 0, 0, 1302, 0,
+ 1322, 1396, 0, 1285, 297, 1296, 402, 257, 0, 453,
+ 1403, 1416, 1345, 629, 1418, 1343, 1342, 1390, 1300, 1409,
+ 1335, 365, 1298, 330, 197, 225, 0, 1333, 412, 461,
+ 473, 1408, 1318, 1327, 253, 1325, 471, 426, 604, 233,
+ 284, 458, 432, 469, 440, 287, 1369, 1388, 470, 372,
+ 585, 450, 601, 630, 631, 263, 406, 615, 522, 623,
+ 648, 226, 260, 420, 506, 607, 494, 397, 581, 582,
+ 329, 493, 295, 201, 369, 636, 224, 479, 371, 242,
+ 231, 587, 612, 299, 289, 456, 643, 213, 517, 598,
+ 239, 483, 0, 0, 651, 247, 504, 610, 599, 215,
+ 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
+ 0, 0, 258, 415, 589, 590, 256, 652, 228, 622,
+ 220, 1297, 621, 408, 584, 595, 394, 383, 219, 593,
+ 392, 382, 334, 355, 356, 280, 307, 447, 375, 448,
+ 306, 308, 404, 403, 405, 207, 608, 626, 0, 208,
+ 0, 499, 611, 653, 452, 212, 234, 235, 237, 1313,
+ 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
+ 442, 451, 1404, 579, 602, 616, 628, 634, 635, 637,
+ 638, 639, 640, 641, 644, 642, 407, 311, 495, 333,
+ 373, 1393, 1436, 425, 472, 240, 606, 496, 199, 1307,
+ 1312, 1305, 0, 254, 255, 1375, 575, 1308, 1306, 1364,
+ 1365, 1309, 1427, 1428, 1429, 1414, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 669, 670, 671, 649, 508, 514, 509, 510, 511,
+ 512, 513, 0, 515, 1397, 1301, 0, 1310, 1311, 398,
+ 1406, 591, 592, 672, 384, 486, 603, 335, 349, 352,
+ 341, 361, 0, 362, 337, 338, 343, 346, 347, 348,
+ 353, 354, 358, 364, 249, 210, 390, 399, 578, 312,
+ 216, 217, 218, 524, 525, 526, 527, 619, 620, 624,
+ 205, 462, 463, 464, 465, 292, 614, 309, 468, 467,
+ 331, 332, 379, 449, 540, 542, 553, 557, 559, 561,
+ 567, 570, 541, 543, 554, 558, 560, 562, 568, 571,
+ 530, 532, 534, 536, 549, 548, 545, 573, 574, 551,
+ 556, 535, 547, 552, 565, 572, 569, 529, 533, 537,
+ 546, 564, 563, 544, 555, 566, 550, 538, 531, 539,
+ 1368, 196, 221, 368, 1432, 454, 288, 650, 618, 484,
+ 613, 206, 223, 1304, 262, 1316, 1324, 0, 1330, 1338,
+ 1339, 1352, 1355, 1356, 1357, 1358, 1376, 1377, 1379, 1387,
+ 1389, 1392, 1394, 1401, 1415, 1435, 198, 200, 209, 222,
+ 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
+ 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
+ 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
+ 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
+ 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
+ 501, 516, 586, 588, 605, 625, 632, 480, 301, 302,
+ 444, 445, 314, 315, 646, 647, 300, 600, 633, 597,
+ 645, 627, 438, 378, 1367, 1373, 381, 281, 305, 320,
+ 1382, 617, 502, 227, 466, 290, 251, 1400, 1402, 211,
+ 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
+ 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
+ 395, 266, 433, 1363, 1391, 376, 576, 577, 316, 396,
+ 0, 0, 0, 0, 0, 0, 0, 0, 528, 0,
+ 777, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 416, 0, 0, 0, 764, 0, 0, 0, 270, 769,
+ 0, 0, 0, 366, 267, 0, 0, 204, 505, 0,
+ 430, 0, 203, 0, 487, 252, 377, 374, 583, 282,
+ 273, 269, 250, 317, 385, 428, 518, 422, 776, 370,
+ 0, 0, 497, 401, 0, 0, 0, 0, 0, 0,
+ 0, 0, 771, 772, 0, 0, 0, 0, 0, 0,
+ 0, 0, 323, 248, 325, 202, 413, 498, 286, 0,
+ 95, 0, 0, 1023, 507, 959, 748, 925, 963, 1024,
+ 976, 977, 978, 964, 0, 238, 965, 966, 245, 967,
+ 0, 924, 807, 809, 808, 874, 875, 876, 877, 878,
+ 879, 880, 810, 811, 805, 972, 609, 979, 980, 0,
+ 265, 321, 272, 264, 580, 0, 0, 2233, 2234, 2235,
+ 0, 596, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 744, 761, 0, 775, 0, 0, 0, 275,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 758, 759, 0, 0,
+ 0, 0, 919, 0, 760, 0, 0, 768, 981, 982,
+ 983, 984, 985, 986, 987, 988, 989, 990, 991, 992,
+ 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002,
+ 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
+ 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022,
+ 770, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 297, 0, 402, 257, 0, 453, 918, 0, 0,
+ 629, 0, 0, 916, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 969, 0, 471, 426, 604, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 601,
+ 630, 631, 263, 406, 615, 522, 623, 648, 226, 260,
+ 420, 506, 607, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 636, 224, 479, 371, 242, 231, 587, 612,
+ 299, 289, 456, 643, 213, 517, 598, 239, 483, 0,
+ 0, 651, 247, 504, 610, 599, 215, 594, 503, 393,
326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 649, 228, 619, 220, 1293, 618,
+ 415, 970, 971, 256, 652, 815, 622, 220, 0, 621,
408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 1309, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 1400,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 1389, 1432,
- 425, 472, 240, 604, 496, 199, 1303, 1308, 1301, 0,
- 254, 255, 1371, 575, 1304, 1302, 1360, 1361, 1305, 1423,
- 1424, 1425, 1410, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 1393, 1297, 0, 1306, 1307, 398, 1402, 591, 592,
- 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
- 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
- 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
- 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
- 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
- 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
- 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
- 544, 555, 566, 550, 538, 531, 539, 1364, 196, 221,
- 368, 1428, 454, 288, 647, 615, 484, 610, 206, 223,
- 1300, 262, 1312, 1320, 0, 1326, 1334, 1335, 1348, 1351,
- 1352, 1353, 1354, 1372, 1373, 1375, 1383, 1385, 1388, 1390,
- 1397, 1411, 1431, 198, 200, 209, 222, 232, 236, 243,
+ 823, 824, 280, 307, 900, 899, 898, 306, 308, 896,
+ 897, 895, 207, 608, 626, 0, 208, 0, 499, 611,
+ 653, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
+ 579, 602, 616, 628, 634, 635, 637, 638, 639, 640,
+ 641, 644, 642, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 606, 496, 906, 928, 917, 781, 782,
+ 907, 908, 932, 909, 784, 785, 929, 930, 778, 779,
+ 783, 931, 933, 654, 655, 656, 657, 658, 659, 660,
+ 661, 662, 663, 664, 665, 666, 667, 668, 669, 670,
+ 671, 649, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 920, 767, 766, 0, 773, 774, 0, 803, 804,
+ 806, 812, 813, 814, 825, 872, 873, 881, 883, 884,
+ 882, 885, 886, 887, 890, 891, 892, 893, 888, 889,
+ 894, 786, 790, 787, 788, 789, 801, 791, 792, 793,
+ 794, 795, 796, 797, 798, 799, 800, 802, 943, 944,
+ 945, 946, 947, 948, 818, 822, 821, 819, 820, 816,
+ 817, 844, 843, 845, 846, 847, 848, 849, 850, 852,
+ 851, 853, 854, 855, 856, 857, 858, 826, 827, 830,
+ 831, 829, 828, 832, 841, 842, 833, 834, 835, 836,
+ 837, 838, 840, 839, 859, 860, 861, 862, 863, 865,
+ 864, 868, 869, 867, 866, 871, 870, 765, 196, 221,
+ 368, 0, 454, 288, 650, 618, 484, 613, 206, 223,
+ 934, 262, 935, 0, 0, 939, 0, 0, 0, 941,
+ 940, 0, 942, 904, 903, 0, 0, 936, 937, 0,
+ 938, 0, 0, 198, 200, 209, 222, 232, 236, 243,
261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
- 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
- 378, 1363, 1369, 381, 281, 305, 320, 1378, 614, 502,
- 227, 466, 290, 251, 1396, 1398, 211, 246, 230, 259,
+ 588, 605, 625, 632, 480, 949, 950, 951, 952, 953,
+ 954, 955, 956, 300, 600, 633, 597, 645, 627, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 617, 502,
+ 227, 466, 290, 251, 974, 0, 211, 246, 230, 259,
274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 1359, 1387, 376, 576, 577, 316, 396, 0, 0, 0,
- 0, 0, 0, 1417, 1401, 528, 0, 1343, 1420, 1311,
- 1330, 1430, 1333, 1336, 1380, 1289, 1358, 416, 1327, 1315,
- 1284, 1322, 1285, 1313, 1345, 270, 1310, 1403, 1362, 1419,
- 366, 267, 1291, 1282, 204, 505, 1316, 430, 1332, 203,
- 1382, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 1426, 370, 1368, 0, 497,
- 401, 0, 0, 0, 1407, 1406, 1337, 1347, 1409, 1356,
- 1394, 1342, 1381, 1299, 1367, 1421, 1328, 1377, 1422, 323,
- 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 0, 507, 720, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
- 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 1324, 1374, 607, 1416, 1325, 1376, 265, 321, 272,
- 264, 580, 1427, 1408, 1288, 1355, 1415, 1350, 0, 0,
- 229, 1418, 1349, 0, 1379, 0, 1433, 1283, 1370, 0,
- 1286, 1290, 1429, 1413, 1319, 275, 0, 0, 0, 0,
- 0, 0, 0, 1346, 1357, 1391, 1395, 1340, 0, 0,
- 0, 0, 0, 0, 0, 0, 1317, 0, 1366, 0,
- 0, 0, 1295, 1287, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1344, 0, 0, 0,
- 0, 1298, 0, 1318, 1392, 0, 1281, 297, 1292, 402,
- 257, 0, 453, 1399, 1412, 1341, 626, 1414, 1339, 1338,
- 1386, 1296, 1405, 1331, 365, 1294, 330, 197, 225, 0,
- 1329, 412, 461, 473, 1404, 1314, 1323, 253, 1321, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 1365,
- 1384, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
- 619, 220, 1293, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
- 1309, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 1400, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 1389, 1432, 425, 472, 240, 604, 496, 199,
- 1303, 1308, 1301, 0, 254, 255, 1371, 575, 1304, 1302,
- 1360, 1361, 1305, 1423, 1424, 1425, 1410, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 1393, 1297, 0, 1306, 1307,
- 398, 1402, 591, 592, 669, 384, 486, 601, 335, 349,
- 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
- 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
- 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
- 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
- 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
- 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
- 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 1364, 196, 221, 368, 1428, 454, 288, 647, 615,
- 484, 610, 206, 223, 1300, 262, 1312, 1320, 0, 1326,
- 1334, 1335, 1348, 1351, 1352, 1353, 1354, 1372, 1373, 1375,
- 1383, 1385, 1388, 1390, 1397, 1411, 1431, 198, 200, 209,
- 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
- 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
- 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
- 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
- 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
- 596, 642, 624, 438, 378, 1363, 1369, 381, 281, 305,
- 320, 1378, 614, 502, 227, 466, 290, 251, 1396, 1398,
- 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
- 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
- 523, 395, 266, 433, 1359, 1387, 376, 576, 577, 316,
- 396, 0, 0, 0, 0, 0, 0, 1417, 1401, 528,
- 0, 1343, 1420, 1311, 1330, 1430, 1333, 1336, 1380, 1289,
- 1358, 416, 1327, 1315, 1284, 1322, 1285, 1313, 1345, 270,
- 1310, 1403, 1362, 1419, 366, 267, 1291, 1282, 204, 505,
- 1316, 430, 1332, 203, 1382, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 1426,
- 370, 1368, 0, 497, 401, 0, 0, 0, 1407, 1406,
- 1337, 1347, 1409, 1356, 1394, 1342, 1381, 1299, 1367, 1421,
- 1328, 1377, 1422, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 0, 507, 955, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
- 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 1324, 1374, 607, 1416, 1325,
- 1376, 265, 321, 272, 264, 580, 1427, 1408, 1288, 1355,
- 1415, 1350, 0, 0, 229, 1418, 1349, 0, 1379, 0,
- 1433, 1283, 1370, 0, 1286, 1290, 1429, 1413, 1319, 275,
- 0, 0, 0, 0, 0, 0, 0, 1346, 1357, 1391,
- 1395, 1340, 0, 0, 0, 0, 0, 0, 0, 0,
- 1317, 0, 1366, 0, 0, 0, 1295, 1287, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1344, 0, 0, 0, 0, 1298, 0, 1318, 1392, 0,
- 1281, 297, 1292, 402, 257, 0, 453, 1399, 1412, 1341,
- 626, 1414, 1339, 1338, 1386, 1296, 1405, 1331, 365, 1294,
- 330, 197, 225, 0, 1329, 412, 461, 473, 1404, 1314,
- 1323, 253, 1321, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 1365, 1384, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 649, 228, 619, 220, 1293, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 1309, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 1400, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 1389, 1432, 425, 472,
- 240, 604, 496, 199, 1303, 1308, 1301, 0, 254, 255,
- 1371, 575, 1304, 1302, 1360, 1361, 1305, 1423, 1424, 1425,
- 1410, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 1393,
- 1297, 0, 1306, 1307, 398, 1402, 591, 592, 669, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 1364, 196, 221, 368, 1428,
- 454, 288, 647, 615, 484, 610, 206, 223, 1300, 262,
- 1312, 1320, 0, 1326, 1334, 1335, 1348, 1351, 1352, 1353,
- 1354, 1372, 1373, 1375, 1383, 1385, 1388, 1390, 1397, 1411,
- 1431, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
- 644, 300, 598, 630, 596, 642, 624, 438, 378, 1363,
- 1369, 381, 281, 305, 320, 1378, 614, 502, 227, 466,
- 290, 251, 1396, 1398, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 1359, 1387,
- 376, 576, 577, 316, 396, 0, 0, 0, 0, 0,
- 0, 0, 0, 528, 0, 773, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 416, 0, 0, 0, 760,
- 0, 0, 0, 270, 765, 0, 0, 0, 366, 267,
- 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
- 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 772, 370, 0, 0, 497, 401, 0,
- 0, 0, 0, 0, 0, 0, 0, 767, 768, 0,
- 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 95, 0, 0, 1019, 507,
- 955, 744, 921, 959, 1020, 972, 973, 974, 960, 0,
- 238, 961, 962, 245, 963, 0, 920, 803, 805, 804,
- 870, 871, 872, 873, 874, 875, 876, 806, 807, 801,
- 968, 607, 975, 976, 0, 265, 321, 272, 264, 580,
- 0, 0, 2224, 2225, 2226, 0, 0, 0, 229, 0,
- 0, 0, 0, 0, 0, 0, 740, 757, 0, 771,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 754, 755, 0, 0, 0, 0, 915, 0, 756, 0,
- 0, 764, 977, 978, 979, 980, 981, 982, 983, 984,
- 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
- 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
- 1015, 1016, 1017, 1018, 766, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 914, 0, 0, 626, 0, 0, 912, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 965, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
+ 0, 777, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 416, 0, 0, 0, 764, 0, 0, 0, 270,
+ 769, 0, 0, 0, 366, 267, 0, 0, 204, 505,
+ 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 776,
+ 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
+ 0, 0, 0, 771, 772, 0, 0, 0, 0, 0,
+ 0, 2440, 0, 323, 248, 325, 202, 413, 498, 286,
+ 0, 95, 0, 0, 1023, 507, 959, 748, 925, 963,
+ 1024, 976, 977, 978, 964, 0, 238, 965, 966, 245,
+ 967, 0, 924, 807, 809, 808, 874, 875, 876, 877,
+ 878, 879, 880, 810, 811, 805, 972, 609, 979, 980,
+ 2441, 265, 321, 272, 264, 580, 0, 0, 0, 0,
+ 0, 0, 596, 0, 0, 229, 0, 0, 0, 0,
+ 0, 0, 0, 744, 761, 0, 775, 0, 0, 0,
+ 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 758, 759, 0,
+ 0, 0, 0, 919, 0, 760, 0, 0, 768, 981,
+ 982, 983, 984, 985, 986, 987, 988, 989, 990, 991,
+ 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001,
+ 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011,
+ 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021,
+ 1022, 770, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 297, 0, 402, 257, 0, 453, 918, 0,
+ 0, 629, 0, 0, 916, 0, 0, 0, 0, 365,
+ 0, 330, 197, 225, 0, 0, 412, 461, 473, 0,
+ 0, 0, 969, 0, 471, 426, 604, 233, 284, 458,
+ 432, 469, 440, 287, 0, 0, 470, 372, 585, 450,
+ 601, 630, 631, 263, 406, 615, 522, 623, 648, 226,
+ 260, 420, 506, 607, 494, 397, 581, 582, 329, 493,
+ 295, 201, 369, 636, 224, 479, 371, 242, 231, 587,
+ 612, 299, 289, 456, 643, 213, 517, 598, 239, 483,
+ 0, 0, 651, 247, 504, 610, 599, 215, 594, 503,
+ 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
+ 258, 415, 970, 971, 256, 652, 815, 622, 220, 0,
+ 621, 408, 584, 595, 394, 383, 219, 593, 392, 382,
+ 334, 823, 824, 280, 307, 900, 899, 898, 306, 308,
+ 896, 897, 895, 207, 608, 626, 0, 208, 0, 499,
+ 611, 653, 452, 212, 234, 235, 237, 0, 279, 283,
+ 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
+ 0, 579, 602, 616, 628, 634, 635, 637, 638, 639,
+ 640, 641, 644, 642, 407, 311, 495, 333, 373, 0,
+ 0, 425, 472, 240, 606, 496, 906, 928, 917, 781,
+ 782, 907, 908, 932, 909, 784, 785, 929, 930, 778,
+ 779, 783, 931, 933, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 669,
+ 670, 671, 649, 508, 514, 509, 510, 511, 512, 513,
+ 0, 515, 920, 767, 766, 0, 773, 774, 0, 803,
+ 804, 806, 812, 813, 814, 825, 872, 873, 881, 883,
+ 884, 882, 885, 886, 887, 890, 891, 892, 893, 888,
+ 889, 894, 786, 790, 787, 788, 789, 801, 791, 792,
+ 793, 794, 795, 796, 797, 798, 799, 800, 802, 943,
+ 944, 945, 946, 947, 948, 818, 822, 821, 819, 820,
+ 816, 817, 844, 843, 845, 846, 847, 848, 849, 850,
+ 852, 851, 853, 854, 855, 856, 857, 858, 826, 827,
+ 830, 831, 829, 828, 832, 841, 842, 833, 834, 835,
+ 836, 837, 838, 840, 839, 859, 860, 861, 862, 863,
+ 865, 864, 868, 869, 867, 866, 871, 870, 765, 196,
+ 221, 368, 0, 454, 288, 650, 618, 484, 613, 206,
+ 223, 934, 262, 935, 0, 0, 939, 0, 0, 0,
+ 941, 940, 0, 942, 904, 903, 0, 0, 936, 937,
+ 0, 938, 0, 0, 198, 200, 209, 222, 232, 236,
+ 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
+ 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
+ 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
+ 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
+ 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
+ 586, 588, 605, 625, 632, 480, 949, 950, 951, 952,
+ 953, 954, 955, 956, 300, 600, 633, 597, 645, 627,
+ 438, 378, 0, 0, 381, 281, 305, 320, 0, 617,
+ 502, 227, 466, 290, 251, 974, 0, 211, 246, 230,
+ 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
+ 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
+ 433, 396, 0, 376, 576, 577, 316, 0, 0, 86,
+ 528, 0, 777, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 416, 0, 0, 0, 764, 0, 0, 0,
+ 270, 769, 0, 0, 0, 366, 267, 0, 0, 204,
+ 505, 0, 430, 0, 203, 0, 487, 252, 377, 374,
+ 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
+ 776, 370, 0, 0, 497, 401, 0, 0, 0, 0,
+ 0, 0, 0, 0, 771, 772, 0, 0, 0, 0,
+ 0, 0, 0, 0, 323, 248, 325, 202, 413, 498,
+ 286, 0, 95, 0, 0, 1023, 507, 959, 748, 925,
+ 963, 1024, 976, 977, 978, 964, 0, 238, 965, 966,
+ 245, 967, 0, 924, 807, 809, 808, 874, 875, 876,
+ 877, 878, 879, 880, 810, 811, 805, 972, 609, 979,
+ 980, 0, 265, 321, 272, 264, 580, 0, 0, 0,
+ 0, 0, 0, 596, 0, 0, 229, 0, 0, 0,
+ 0, 0, 0, 0, 744, 761, 0, 775, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 758, 759,
+ 0, 0, 0, 0, 919, 0, 760, 0, 0, 768,
+ 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
+ 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
+ 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
+ 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020,
+ 1021, 1022, 770, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 918,
+ 0, 0, 629, 0, 0, 916, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 969, 0, 471, 426, 604, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 601, 630, 631, 263, 406, 615, 522, 623, 648,
+ 226, 260, 420, 506, 607, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 636, 224, 479, 371, 242, 231,
+ 587, 612, 299, 289, 456, 643, 213, 517, 598, 239,
+ 483, 0, 0, 651, 247, 504, 610, 599, 215, 594,
503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 966, 967, 256, 649, 811, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 819, 820, 280, 307, 896, 895, 894, 306,
- 308, 892, 893, 891, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
+ 0, 258, 415, 970, 971, 256, 652, 815, 622, 220,
+ 0, 621, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 823, 824, 280, 307, 900, 899, 898, 306,
+ 308, 896, 897, 895, 207, 608, 626, 0, 208, 0,
+ 499, 611, 653, 452, 212, 234, 235, 237, 0, 279,
283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 902, 924, 913,
- 777, 778, 903, 904, 928, 905, 780, 781, 925, 926,
- 774, 775, 779, 927, 929, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 916, 763, 762, 0, 769, 770, 0,
- 799, 800, 802, 808, 809, 810, 821, 868, 869, 877,
- 879, 880, 878, 881, 882, 883, 886, 887, 888, 889,
- 884, 885, 890, 782, 786, 783, 784, 785, 797, 787,
- 788, 789, 790, 791, 792, 793, 794, 795, 796, 798,
- 939, 940, 941, 942, 943, 944, 814, 818, 817, 815,
- 816, 812, 813, 840, 839, 841, 842, 843, 844, 845,
- 846, 848, 847, 849, 850, 851, 852, 853, 854, 822,
- 823, 826, 827, 825, 824, 828, 837, 838, 829, 830,
- 831, 832, 833, 834, 836, 835, 855, 856, 857, 858,
- 859, 861, 860, 864, 865, 863, 862, 867, 866, 761,
- 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
- 206, 223, 930, 262, 931, 0, 0, 935, 0, 0,
- 0, 937, 936, 0, 938, 900, 899, 0, 0, 932,
- 933, 0, 934, 0, 0, 198, 200, 209, 222, 232,
+ 451, 0, 579, 602, 616, 628, 634, 635, 637, 638,
+ 639, 640, 641, 644, 642, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 606, 496, 906, 928, 917,
+ 781, 782, 907, 908, 932, 909, 784, 785, 929, 930,
+ 778, 779, 783, 931, 933, 654, 655, 656, 657, 658,
+ 659, 660, 661, 662, 663, 664, 665, 666, 667, 668,
+ 669, 670, 671, 649, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 920, 767, 766, 0, 773, 774, 0,
+ 803, 804, 806, 812, 813, 814, 825, 872, 873, 881,
+ 883, 884, 882, 885, 886, 887, 890, 891, 892, 893,
+ 888, 889, 894, 786, 790, 787, 788, 789, 801, 791,
+ 792, 793, 794, 795, 796, 797, 798, 799, 800, 802,
+ 943, 944, 945, 946, 947, 948, 818, 822, 821, 819,
+ 820, 816, 817, 844, 843, 845, 846, 847, 848, 849,
+ 850, 852, 851, 853, 854, 855, 856, 857, 858, 826,
+ 827, 830, 831, 829, 828, 832, 841, 842, 833, 834,
+ 835, 836, 837, 838, 840, 839, 859, 860, 861, 862,
+ 863, 865, 864, 868, 869, 867, 866, 871, 870, 765,
+ 196, 221, 368, 94, 454, 288, 650, 618, 484, 613,
+ 206, 223, 934, 262, 935, 0, 0, 939, 0, 0,
+ 0, 941, 940, 0, 942, 904, 903, 0, 0, 936,
+ 937, 0, 938, 0, 0, 198, 200, 209, 222, 232,
236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 945, 946, 947,
- 948, 949, 950, 951, 952, 300, 598, 630, 596, 642,
- 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 970, 0, 211, 246,
+ 516, 586, 588, 605, 625, 632, 480, 949, 950, 951,
+ 952, 953, 954, 955, 956, 300, 600, 633, 597, 645,
+ 627, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 617, 502, 227, 466, 290, 251, 974, 0, 211, 246,
230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 0, 528, 0, 773, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 0, 760, 0, 0,
- 0, 270, 765, 0, 0, 0, 366, 267, 0, 0,
+ 0, 528, 0, 777, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 764, 0, 0,
+ 0, 270, 769, 0, 0, 0, 366, 267, 0, 0,
204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 772, 370, 0, 0, 497, 401, 0, 0, 0,
- 0, 0, 0, 0, 0, 767, 768, 0, 0, 0,
- 0, 0, 0, 2431, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 95, 0, 0, 1019, 507, 955, 744,
- 921, 959, 1020, 972, 973, 974, 960, 0, 238, 961,
- 962, 245, 963, 0, 920, 803, 805, 804, 870, 871,
- 872, 873, 874, 875, 876, 806, 807, 801, 968, 607,
- 975, 976, 2432, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
- 0, 0, 0, 0, 740, 757, 0, 771, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 754, 755,
- 0, 0, 0, 0, 915, 0, 756, 0, 0, 764,
- 977, 978, 979, 980, 981, 982, 983, 984, 985, 986,
- 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
- 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
- 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016,
- 1017, 1018, 766, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 914,
- 0, 0, 626, 0, 0, 912, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 965, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 966, 967, 256, 649, 811, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 819, 820, 280, 307, 896, 895, 894, 306, 308, 892,
- 893, 891, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 902, 924, 913, 777, 778,
- 903, 904, 928, 905, 780, 781, 925, 926, 774, 775,
- 779, 927, 929, 651, 652, 653, 654, 655, 656, 657,
+ 422, 776, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 0, 0, 0, 0, 771, 772, 0, 0, 0,
+ 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
+ 498, 286, 0, 95, 0, 0, 1023, 507, 959, 748,
+ 925, 963, 1024, 976, 977, 978, 964, 0, 238, 965,
+ 966, 245, 967, 0, 924, 807, 809, 808, 874, 875,
+ 876, 877, 878, 879, 880, 810, 811, 805, 972, 609,
+ 979, 980, 0, 265, 321, 272, 264, 580, 0, 0,
+ 0, 0, 0, 0, 596, 0, 0, 229, 0, 0,
+ 0, 0, 0, 0, 0, 744, 761, 0, 775, 0,
+ 0, 0, 275, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 758,
+ 759, 0, 0, 0, 0, 919, 0, 760, 0, 0,
+ 768, 981, 982, 983, 984, 985, 986, 987, 988, 989,
+ 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
+ 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
+ 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019,
+ 1020, 1021, 1022, 770, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 297, 0, 402, 257, 0, 453,
+ 918, 0, 0, 629, 0, 0, 916, 0, 0, 0,
+ 0, 365, 0, 330, 197, 225, 0, 0, 412, 461,
+ 473, 0, 0, 0, 969, 0, 471, 426, 604, 233,
+ 284, 458, 432, 469, 440, 287, 4096, 0, 470, 372,
+ 585, 450, 601, 630, 631, 263, 406, 615, 522, 623,
+ 648, 226, 260, 420, 506, 607, 494, 397, 581, 582,
+ 329, 493, 295, 201, 369, 636, 224, 479, 371, 242,
+ 231, 587, 612, 299, 289, 456, 643, 213, 517, 598,
+ 239, 483, 0, 0, 651, 247, 504, 610, 599, 215,
+ 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
+ 0, 0, 258, 415, 970, 971, 256, 652, 815, 622,
+ 220, 0, 621, 408, 584, 595, 394, 383, 219, 593,
+ 392, 382, 334, 823, 824, 280, 307, 900, 899, 898,
+ 306, 308, 896, 897, 895, 207, 608, 626, 0, 208,
+ 0, 499, 611, 653, 452, 212, 234, 235, 237, 0,
+ 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
+ 442, 451, 0, 579, 602, 616, 628, 634, 635, 637,
+ 638, 639, 640, 641, 644, 642, 407, 311, 495, 333,
+ 373, 0, 0, 425, 472, 240, 606, 496, 906, 928,
+ 917, 781, 782, 907, 908, 932, 909, 784, 785, 929,
+ 930, 778, 779, 783, 931, 933, 654, 655, 656, 657,
658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 916, 763, 762, 0, 769, 770, 0, 799, 800,
- 802, 808, 809, 810, 821, 868, 869, 877, 879, 880,
- 878, 881, 882, 883, 886, 887, 888, 889, 884, 885,
- 890, 782, 786, 783, 784, 785, 797, 787, 788, 789,
- 790, 791, 792, 793, 794, 795, 796, 798, 939, 940,
- 941, 942, 943, 944, 814, 818, 817, 815, 816, 812,
- 813, 840, 839, 841, 842, 843, 844, 845, 846, 848,
- 847, 849, 850, 851, 852, 853, 854, 822, 823, 826,
- 827, 825, 824, 828, 837, 838, 829, 830, 831, 832,
- 833, 834, 836, 835, 855, 856, 857, 858, 859, 861,
- 860, 864, 865, 863, 862, 867, 866, 761, 196, 221,
- 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
- 930, 262, 931, 0, 0, 935, 0, 0, 0, 937,
- 936, 0, 938, 900, 899, 0, 0, 932, 933, 0,
- 934, 0, 0, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 945, 946, 947, 948, 949,
- 950, 951, 952, 300, 598, 630, 596, 642, 624, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 970, 0, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 396, 0, 376, 576, 577, 316, 0, 0, 86, 528,
- 0, 773, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 416, 0, 0, 0, 760, 0, 0, 0, 270,
- 765, 0, 0, 0, 366, 267, 0, 0, 204, 505,
- 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 772,
- 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
- 0, 0, 0, 767, 768, 0, 0, 0, 0, 0,
- 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 95, 0, 0, 1019, 507, 955, 744, 921, 959,
- 1020, 972, 973, 974, 960, 0, 238, 961, 962, 245,
- 963, 0, 920, 803, 805, 804, 870, 871, 872, 873,
- 874, 875, 876, 806, 807, 801, 968, 607, 975, 976,
- 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 740, 757, 0, 771, 0, 0, 0, 275,
+ 668, 669, 670, 671, 649, 508, 514, 509, 510, 511,
+ 512, 513, 0, 515, 920, 767, 766, 0, 773, 774,
+ 0, 803, 804, 806, 812, 813, 814, 825, 872, 873,
+ 881, 883, 884, 882, 885, 886, 887, 890, 891, 892,
+ 893, 888, 889, 894, 786, 790, 787, 788, 789, 801,
+ 791, 792, 793, 794, 795, 796, 797, 798, 799, 800,
+ 802, 943, 944, 945, 946, 947, 948, 818, 822, 821,
+ 819, 820, 816, 817, 844, 843, 845, 846, 847, 848,
+ 849, 850, 852, 851, 853, 854, 855, 856, 857, 858,
+ 826, 827, 830, 831, 829, 828, 832, 841, 842, 833,
+ 834, 835, 836, 837, 838, 840, 839, 859, 860, 861,
+ 862, 863, 865, 864, 868, 869, 867, 866, 871, 870,
+ 765, 196, 221, 368, 0, 454, 288, 650, 618, 484,
+ 613, 206, 223, 934, 262, 935, 0, 0, 939, 0,
+ 0, 0, 941, 940, 0, 942, 904, 903, 0, 0,
+ 936, 937, 0, 938, 0, 0, 198, 200, 209, 222,
+ 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
+ 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
+ 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
+ 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
+ 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
+ 501, 516, 586, 588, 605, 625, 632, 480, 949, 950,
+ 951, 952, 953, 954, 955, 956, 300, 600, 633, 597,
+ 645, 627, 438, 378, 0, 0, 381, 281, 305, 320,
+ 0, 617, 502, 227, 466, 290, 251, 974, 0, 211,
+ 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
+ 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
+ 395, 266, 433, 396, 0, 376, 576, 577, 316, 0,
+ 0, 0, 528, 0, 777, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 416, 0, 0, 0, 764, 0,
+ 0, 0, 270, 769, 0, 0, 0, 366, 267, 0,
+ 0, 204, 505, 0, 430, 0, 203, 0, 487, 252,
+ 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
+ 518, 422, 776, 370, 0, 0, 497, 401, 0, 0,
+ 0, 0, 0, 0, 0, 0, 771, 772, 0, 0,
+ 0, 0, 0, 0, 0, 0, 323, 248, 325, 202,
+ 413, 498, 286, 0, 95, 0, 1754, 1023, 507, 959,
+ 748, 925, 963, 1024, 976, 977, 978, 964, 0, 238,
+ 965, 966, 245, 967, 0, 924, 807, 809, 808, 874,
+ 875, 876, 877, 878, 879, 880, 810, 811, 805, 972,
+ 609, 979, 980, 0, 265, 321, 272, 264, 580, 0,
+ 0, 0, 0, 0, 0, 596, 0, 0, 229, 0,
+ 0, 0, 0, 0, 0, 0, 744, 761, 0, 775,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 754, 755, 0, 0,
- 0, 0, 915, 0, 756, 0, 0, 764, 977, 978,
- 979, 980, 981, 982, 983, 984, 985, 986, 987, 988,
+ 758, 759, 0, 0, 0, 0, 919, 0, 760, 0,
+ 0, 768, 981, 982, 983, 984, 985, 986, 987, 988,
989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018,
- 766, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 914, 0, 0,
- 626, 0, 0, 912, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 965, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 966,
- 967, 256, 649, 811, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 819, 820,
- 280, 307, 896, 895, 894, 306, 308, 892, 893, 891,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 902, 924, 913, 777, 778, 903, 904,
- 928, 905, 780, 781, 925, 926, 774, 775, 779, 927,
- 929, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 916,
- 763, 762, 0, 769, 770, 0, 799, 800, 802, 808,
- 809, 810, 821, 868, 869, 877, 879, 880, 878, 881,
- 882, 883, 886, 887, 888, 889, 884, 885, 890, 782,
- 786, 783, 784, 785, 797, 787, 788, 789, 790, 791,
- 792, 793, 794, 795, 796, 798, 939, 940, 941, 942,
- 943, 944, 814, 818, 817, 815, 816, 812, 813, 840,
- 839, 841, 842, 843, 844, 845, 846, 848, 847, 849,
- 850, 851, 852, 853, 854, 822, 823, 826, 827, 825,
- 824, 828, 837, 838, 829, 830, 831, 832, 833, 834,
- 836, 835, 855, 856, 857, 858, 859, 861, 860, 864,
- 865, 863, 862, 867, 866, 761, 196, 221, 368, 94,
- 454, 288, 647, 615, 484, 610, 206, 223, 930, 262,
- 931, 0, 0, 935, 0, 0, 0, 937, 936, 0,
- 938, 900, 899, 0, 0, 932, 933, 0, 934, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 945, 946, 947, 948, 949, 950, 951,
- 952, 300, 598, 630, 596, 642, 624, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 970, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 773,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 760, 0, 0, 0, 270, 765, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 772, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
- 0, 767, 768, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 95,
- 0, 0, 1019, 507, 955, 744, 921, 959, 1020, 972,
- 973, 974, 960, 0, 238, 961, 962, 245, 963, 0,
- 920, 803, 805, 804, 870, 871, 872, 873, 874, 875,
- 876, 806, 807, 801, 968, 607, 975, 976, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 740, 757, 0, 771, 0, 0, 0, 275, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 754, 755, 0, 0, 0, 0,
- 915, 0, 756, 0, 0, 764, 977, 978, 979, 980,
- 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
- 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
- 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
- 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 766, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 914, 0, 0, 626, 0,
- 0, 912, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 965,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 4088, 0, 470, 372, 585, 450, 599, 627, 628,
- 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
- 457, 268, 293, 0, 0, 258, 415, 966, 967, 256,
- 649, 811, 619, 220, 0, 618, 408, 584, 595, 394,
- 383, 219, 593, 392, 382, 334, 819, 820, 280, 307,
- 896, 895, 894, 306, 308, 892, 893, 891, 207, 606,
- 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
- 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
- 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
- 496, 902, 924, 913, 777, 778, 903, 904, 928, 905,
- 780, 781, 925, 926, 774, 775, 779, 927, 929, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 916, 763, 762,
- 0, 769, 770, 0, 799, 800, 802, 808, 809, 810,
- 821, 868, 869, 877, 879, 880, 878, 881, 882, 883,
- 886, 887, 888, 889, 884, 885, 890, 782, 786, 783,
- 784, 785, 797, 787, 788, 789, 790, 791, 792, 793,
- 794, 795, 796, 798, 939, 940, 941, 942, 943, 944,
- 814, 818, 817, 815, 816, 812, 813, 840, 839, 841,
- 842, 843, 844, 845, 846, 848, 847, 849, 850, 851,
- 852, 853, 854, 822, 823, 826, 827, 825, 824, 828,
- 837, 838, 829, 830, 831, 832, 833, 834, 836, 835,
- 855, 856, 857, 858, 859, 861, 860, 864, 865, 863,
- 862, 867, 866, 761, 196, 221, 368, 0, 454, 288,
- 647, 615, 484, 610, 206, 223, 930, 262, 931, 0,
- 0, 935, 0, 0, 0, 937, 936, 0, 938, 900,
- 899, 0, 0, 932, 933, 0, 934, 0, 0, 198,
- 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
- 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
- 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
- 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
- 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
- 480, 945, 946, 947, 948, 949, 950, 951, 952, 300,
- 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
- 970, 0, 211, 246, 230, 259, 274, 277, 324, 391,
- 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
- 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
- 577, 316, 0, 0, 0, 528, 0, 773, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 760, 0, 0, 0, 270, 765, 0, 0, 0,
- 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
- 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 772, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 767,
- 768, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 95, 0, 1747,
- 1019, 507, 955, 744, 921, 959, 1020, 972, 973, 974,
- 960, 0, 238, 961, 962, 245, 963, 0, 920, 803,
- 805, 804, 870, 871, 872, 873, 874, 875, 876, 806,
- 807, 801, 968, 607, 975, 976, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 740, 757,
- 0, 771, 0, 0, 0, 275, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 754, 755, 0, 0, 0, 0, 915, 0,
- 756, 0, 0, 764, 977, 978, 979, 980, 981, 982,
- 983, 984, 985, 986, 987, 988, 989, 990, 991, 992,
- 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002,
- 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
- 1013, 1014, 1015, 1016, 1017, 1018, 766, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 914, 0, 0, 626, 0, 0, 912,
- 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 965, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 966, 967, 256, 649, 811,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 819, 820, 280, 307, 896, 895,
- 894, 306, 308, 892, 893, 891, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
- 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 902,
- 924, 913, 777, 778, 903, 904, 928, 905, 780, 781,
- 925, 926, 774, 775, 779, 927, 929, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 916, 763, 762, 0, 769,
- 770, 0, 799, 800, 802, 808, 809, 810, 821, 868,
- 869, 877, 879, 880, 878, 881, 882, 883, 886, 887,
- 888, 889, 884, 885, 890, 782, 786, 783, 784, 785,
- 797, 787, 788, 789, 790, 791, 792, 793, 794, 795,
- 796, 798, 939, 940, 941, 942, 943, 944, 814, 818,
- 817, 815, 816, 812, 813, 840, 839, 841, 842, 843,
- 844, 845, 846, 848, 847, 849, 850, 851, 852, 853,
- 854, 822, 823, 826, 827, 825, 824, 828, 837, 838,
- 829, 830, 831, 832, 833, 834, 836, 835, 855, 856,
- 857, 858, 859, 861, 860, 864, 865, 863, 862, 867,
- 866, 761, 196, 221, 368, 0, 454, 288, 647, 615,
- 484, 610, 206, 223, 930, 262, 931, 0, 0, 935,
- 0, 0, 0, 937, 936, 0, 938, 900, 899, 0,
- 0, 932, 933, 0, 934, 0, 0, 198, 200, 209,
- 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
- 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
- 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
- 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 945,
- 946, 947, 948, 949, 950, 951, 952, 300, 598, 630,
- 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 970, 0,
- 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
- 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
- 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
- 0, 0, 0, 528, 0, 773, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 416, 0, 0, 0, 760,
- 0, 0, 0, 270, 765, 0, 0, 0, 366, 267,
- 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
- 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 772, 370, 0, 0, 497, 401, 0,
- 0, 0, 0, 0, 0, 0, 0, 767, 768, 0,
- 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 95, 0, 0, 1019, 507,
- 955, 744, 921, 959, 1020, 972, 973, 974, 960, 0,
- 238, 961, 962, 245, 963, 0, 920, 803, 805, 804,
- 870, 871, 872, 873, 874, 875, 876, 806, 807, 801,
- 968, 607, 975, 976, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
- 0, 0, 0, 0, 0, 0, 740, 757, 0, 771,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 754, 755, 1065, 0, 0, 0, 915, 0, 756, 0,
- 0, 764, 977, 978, 979, 980, 981, 982, 983, 984,
- 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
- 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
- 1015, 1016, 1017, 1018, 766, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 914, 0, 0, 626, 0, 0, 912, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 965, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
- 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 966, 967, 256, 649, 811, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 819, 820, 280, 307, 896, 895, 894, 306,
- 308, 892, 893, 891, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
- 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 902, 924, 913,
- 777, 778, 903, 904, 928, 905, 780, 781, 925, 926,
- 774, 775, 779, 927, 929, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 916, 763, 762, 0, 769, 770, 0,
- 799, 800, 802, 808, 809, 810, 821, 868, 869, 877,
- 879, 880, 878, 881, 882, 883, 886, 887, 888, 889,
- 884, 885, 890, 782, 786, 783, 784, 785, 797, 787,
- 788, 789, 790, 791, 792, 793, 794, 795, 796, 798,
- 939, 940, 941, 942, 943, 944, 814, 818, 817, 815,
- 816, 812, 813, 840, 839, 841, 842, 843, 844, 845,
- 846, 848, 847, 849, 850, 851, 852, 853, 854, 822,
- 823, 826, 827, 825, 824, 828, 837, 838, 829, 830,
- 831, 832, 833, 834, 836, 835, 855, 856, 857, 858,
- 859, 861, 860, 864, 865, 863, 862, 867, 866, 761,
- 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
- 206, 223, 930, 262, 931, 0, 0, 935, 0, 0,
- 0, 937, 936, 0, 938, 900, 899, 0, 0, 932,
- 933, 0, 934, 0, 0, 198, 200, 209, 222, 232,
- 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
- 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
- 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
- 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
- 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 945, 946, 947,
- 948, 949, 950, 951, 952, 300, 598, 630, 596, 642,
- 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 970, 0, 211, 246,
- 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
- 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 0, 528, 0, 773, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 0, 760, 0, 0,
- 0, 270, 765, 0, 0, 0, 366, 267, 0, 0,
- 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
- 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 772, 370, 0, 0, 497, 401, 0, 0, 0,
- 0, 0, 0, 0, 0, 767, 768, 0, 0, 0,
- 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 95, 0, 0, 1019, 507, 955, 744,
- 921, 959, 1020, 972, 973, 974, 960, 0, 238, 961,
- 962, 245, 963, 0, 920, 803, 805, 804, 870, 871,
- 872, 873, 874, 875, 876, 806, 807, 801, 968, 607,
- 975, 976, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
- 0, 0, 0, 0, 740, 757, 0, 771, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 754, 755,
- 0, 0, 0, 0, 915, 0, 756, 0, 0, 764,
- 977, 978, 979, 980, 981, 982, 983, 984, 985, 986,
- 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
- 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
- 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016,
- 1017, 1018, 766, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 914,
- 0, 0, 626, 0, 0, 912, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 965, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 966, 967, 256, 649, 811, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 819, 820, 280, 307, 896, 895, 894, 306, 308, 892,
- 893, 891, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 902, 924, 913, 777, 778,
- 903, 904, 928, 905, 780, 781, 925, 926, 774, 775,
- 779, 927, 929, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 916, 763, 762, 0, 769, 770, 0, 799, 800,
- 802, 808, 809, 810, 821, 868, 869, 877, 879, 880,
- 878, 881, 882, 883, 886, 887, 888, 889, 884, 885,
- 890, 782, 786, 783, 784, 785, 797, 787, 788, 789,
- 790, 791, 792, 793, 794, 795, 796, 798, 939, 940,
- 941, 942, 943, 944, 814, 818, 817, 815, 816, 812,
- 813, 840, 839, 841, 842, 843, 844, 845, 846, 848,
- 847, 849, 850, 851, 852, 853, 854, 822, 823, 826,
- 827, 825, 824, 828, 837, 838, 829, 830, 831, 832,
- 833, 834, 836, 835, 855, 856, 857, 858, 859, 861,
- 860, 864, 865, 863, 862, 867, 866, 761, 196, 221,
- 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
- 930, 262, 931, 0, 0, 935, 0, 0, 0, 937,
- 936, 0, 938, 900, 899, 0, 0, 932, 933, 0,
- 934, 0, 0, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 945, 946, 947, 948, 949,
- 950, 951, 952, 300, 598, 630, 596, 642, 624, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 970, 0, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
- 0, 773, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 416, 0, 0, 0, 760, 0, 0, 0, 270,
- 765, 0, 0, 0, 366, 267, 0, 0, 204, 505,
- 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 772,
- 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
- 0, 0, 0, 767, 768, 0, 0, 0, 0, 0,
- 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 95, 0, 0, 1019, 507, 955, 744, 921, 959,
- 1020, 972, 973, 974, 960, 0, 238, 961, 962, 245,
- 963, 0, 920, 803, 805, 804, 870, 871, 872, 873,
- 874, 875, 876, 806, 807, 801, 968, 607, 975, 976,
- 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 740, 757, 0, 771, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 754, 755, 0, 0,
- 0, 0, 915, 0, 756, 0, 0, 764, 977, 978,
- 979, 980, 981, 982, 983, 984, 985, 986, 987, 988,
- 989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
- 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
- 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018,
- 3163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 914, 0, 0,
- 626, 0, 0, 912, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 965, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 966,
- 967, 256, 649, 811, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 819, 820,
- 280, 307, 896, 895, 894, 306, 308, 892, 893, 891,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 902, 924, 913, 777, 778, 903, 904,
- 928, 905, 780, 781, 925, 926, 774, 775, 779, 927,
- 929, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 916,
- 763, 762, 0, 769, 770, 0, 799, 800, 802, 808,
- 809, 810, 821, 868, 869, 877, 879, 880, 878, 881,
- 882, 883, 886, 887, 888, 889, 884, 885, 890, 782,
- 786, 783, 784, 785, 797, 787, 788, 789, 790, 791,
- 792, 793, 794, 795, 796, 798, 939, 940, 941, 942,
- 943, 944, 814, 818, 817, 815, 816, 812, 813, 840,
- 839, 841, 842, 843, 844, 845, 846, 848, 847, 849,
- 850, 851, 852, 853, 854, 822, 823, 826, 827, 825,
- 824, 828, 837, 838, 829, 830, 831, 832, 833, 834,
- 836, 835, 855, 856, 857, 858, 859, 861, 860, 864,
- 865, 863, 862, 867, 866, 761, 196, 221, 368, 0,
- 454, 288, 647, 615, 484, 610, 206, 223, 930, 262,
- 931, 0, 0, 935, 0, 0, 0, 937, 936, 0,
- 938, 900, 899, 0, 0, 932, 933, 0, 934, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 945, 946, 947, 948, 949, 950, 951,
- 952, 300, 598, 630, 596, 642, 624, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 970, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 773,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 760, 0, 0, 0, 270, 765, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 772, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
- 0, 767, 768, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 95,
- 0, 0, 1019, 507, 955, 744, 921, 959, 1020, 972,
- 973, 974, 960, 0, 238, 961, 962, 245, 963, 0,
- 920, 803, 805, 804, 870, 871, 872, 873, 874, 875,
- 876, 806, 807, 801, 968, 607, 975, 976, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 740, 757, 0, 771, 0, 0, 0, 275, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 754, 755, 0, 0, 0, 0,
- 915, 0, 756, 0, 0, 764, 977, 978, 979, 980,
- 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
- 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
- 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
- 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 3159, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 914, 0, 0, 626, 0,
- 0, 912, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 965,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
- 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
- 457, 268, 293, 0, 0, 258, 415, 966, 967, 256,
- 649, 811, 619, 220, 0, 618, 408, 584, 595, 394,
- 383, 219, 593, 392, 382, 334, 819, 820, 280, 307,
- 896, 895, 894, 306, 308, 892, 893, 891, 207, 606,
- 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
- 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
- 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
- 496, 902, 924, 913, 777, 778, 903, 904, 928, 905,
- 780, 781, 925, 926, 774, 775, 779, 927, 929, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 916, 763, 762,
- 0, 769, 770, 0, 799, 800, 802, 808, 809, 810,
- 821, 868, 869, 877, 879, 880, 878, 881, 882, 883,
- 886, 887, 888, 889, 884, 885, 890, 782, 786, 783,
- 784, 785, 797, 787, 788, 789, 790, 791, 792, 793,
- 794, 795, 796, 798, 939, 940, 941, 942, 943, 944,
- 814, 818, 817, 815, 816, 812, 813, 840, 839, 841,
- 842, 843, 844, 845, 846, 848, 847, 849, 850, 851,
- 852, 853, 854, 822, 823, 826, 827, 825, 824, 828,
- 837, 838, 829, 830, 831, 832, 833, 834, 836, 835,
- 855, 856, 857, 858, 859, 861, 860, 864, 865, 863,
- 862, 867, 866, 761, 196, 221, 368, 0, 454, 288,
- 647, 615, 484, 610, 206, 223, 930, 262, 931, 0,
- 0, 935, 0, 0, 0, 937, 936, 0, 938, 900,
- 899, 0, 0, 932, 933, 0, 934, 0, 0, 198,
- 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
- 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
- 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
- 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
- 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
- 480, 945, 946, 947, 948, 949, 950, 951, 952, 300,
- 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
- 970, 0, 211, 246, 230, 259, 274, 277, 324, 391,
- 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
- 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
- 577, 316, 0, 0, 0, 528, 0, 773, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 760, 0, 0, 0, 270, 765, 0, 0, 0,
- 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
- 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 772, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 767,
- 768, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 95, 0, 0,
- 1019, 507, 955, 1086, 921, 959, 1020, 972, 973, 974,
- 960, 0, 238, 961, 962, 245, 963, 0, 920, 803,
- 805, 804, 870, 871, 872, 873, 874, 875, 876, 806,
- 807, 801, 968, 607, 975, 976, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 757,
- 0, 771, 0, 0, 0, 275, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 754, 755, 0, 0, 0, 0, 915, 0,
- 756, 0, 0, 764, 977, 978, 979, 980, 981, 982,
- 983, 984, 985, 986, 987, 988, 989, 990, 991, 992,
- 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002,
- 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
- 1013, 1014, 1015, 1016, 1017, 1018, 766, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 914, 0, 0, 626, 0, 0, 912,
- 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 965, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 966, 967, 256, 649, 811,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 819, 820, 280, 307, 896, 895,
- 894, 306, 308, 892, 893, 891, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
- 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 902,
- 924, 913, 777, 778, 903, 904, 928, 905, 780, 781,
- 925, 926, 774, 775, 779, 927, 929, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 916, 763, 762, 0, 769,
- 770, 0, 799, 800, 802, 808, 809, 810, 821, 868,
- 869, 877, 879, 880, 878, 881, 882, 883, 886, 887,
- 888, 889, 884, 885, 890, 782, 786, 783, 784, 785,
- 797, 787, 788, 789, 790, 791, 792, 793, 794, 795,
- 796, 798, 939, 940, 941, 942, 943, 944, 814, 818,
- 817, 815, 816, 812, 813, 840, 839, 841, 842, 843,
- 844, 845, 846, 848, 847, 849, 850, 851, 852, 853,
- 854, 822, 823, 826, 827, 825, 824, 828, 837, 838,
- 829, 830, 831, 832, 833, 834, 836, 835, 855, 856,
- 857, 858, 859, 861, 860, 864, 865, 863, 862, 867,
- 866, 761, 196, 221, 368, 0, 454, 288, 647, 615,
- 484, 610, 206, 223, 930, 262, 931, 0, 0, 935,
- 0, 0, 0, 937, 936, 0, 938, 900, 899, 0,
- 0, 932, 933, 0, 934, 0, 0, 198, 200, 209,
- 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
- 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
- 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
- 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 945,
- 946, 947, 948, 949, 950, 951, 952, 300, 598, 630,
- 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 970, 0,
- 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
- 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
- 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
- 0, 0, 0, 528, 0, 773, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 416, 0, 0, 0, 760,
- 0, 0, 0, 270, 765, 0, 0, 0, 366, 267,
- 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
- 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 772, 370, 0, 0, 497, 401, 0,
- 0, 0, 0, 0, 0, 0, 0, 767, 768, 0,
- 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 95, 0, 0, 1019, 507,
- 955, 1086, 921, 959, 1020, 972, 973, 974, 960, 0,
- 238, 961, 962, 245, 963, 0, 920, 803, 805, 804,
- 870, 871, 872, 873, 874, 875, 876, 806, 807, 801,
- 968, 607, 975, 976, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
- 0, 0, 0, 0, 0, 0, 0, 757, 0, 771,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 754, 755, 0, 0, 0, 0, 915, 0, 756, 0,
- 0, 764, 977, 978, 979, 980, 981, 982, 983, 984,
- 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
- 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
- 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
- 1015, 1016, 1017, 1018, 2115, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 914, 0, 0, 626, 0, 0, 912, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 965, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
- 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 966, 967, 256, 649, 811, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 819, 820, 280, 307, 896, 895, 894, 306,
- 308, 892, 893, 891, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
- 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 902, 924, 913,
- 777, 778, 903, 904, 928, 905, 780, 781, 925, 926,
- 774, 775, 779, 927, 929, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 916, 763, 762, 0, 769, 770, 0,
- 799, 800, 802, 808, 809, 810, 821, 868, 869, 877,
- 879, 880, 878, 881, 882, 883, 886, 887, 888, 889,
- 884, 885, 890, 782, 786, 783, 784, 785, 797, 787,
- 788, 789, 790, 791, 792, 793, 794, 795, 796, 798,
- 939, 940, 941, 942, 943, 944, 814, 818, 817, 815,
- 816, 812, 813, 840, 839, 841, 842, 843, 844, 845,
- 846, 848, 847, 849, 850, 851, 852, 853, 854, 822,
- 823, 826, 827, 825, 824, 828, 837, 838, 829, 830,
- 831, 832, 833, 834, 836, 835, 855, 856, 857, 858,
- 859, 861, 860, 864, 865, 863, 862, 867, 866, 761,
- 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
- 206, 223, 930, 262, 931, 0, 0, 935, 0, 0,
- 0, 937, 936, 0, 938, 900, 899, 0, 0, 932,
- 933, 0, 934, 0, 0, 198, 200, 209, 222, 232,
- 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
- 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
- 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
- 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
- 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 945, 946, 947,
- 948, 949, 950, 951, 952, 300, 598, 630, 596, 642,
- 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 970, 0, 211, 246,
- 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
- 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 0, 528, 0, 773, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 0, 760, 0, 0,
- 0, 270, 765, 0, 0, 0, 366, 267, 0, 0,
- 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
- 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 772, 370, 0, 0, 497, 401, 0, 0, 0,
- 0, 0, 0, 0, 0, 767, 768, 0, 0, 0,
- 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 95, 0, 0, 1019, 507, 955, 1086,
- 921, 959, 1020, 972, 973, 974, 960, 0, 238, 961,
- 962, 245, 963, 0, 920, 803, 805, 804, 870, 871,
- 872, 873, 874, 875, 876, 806, 807, 801, 968, 607,
- 975, 976, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
- 0, 0, 0, 0, 0, 757, 0, 771, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 754, 755,
- 0, 0, 0, 0, 915, 0, 756, 0, 0, 764,
- 977, 978, 979, 980, 981, 982, 983, 984, 985, 986,
- 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
- 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
- 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016,
- 1017, 1018, 2113, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 914,
- 0, 0, 626, 0, 0, 912, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 965, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 966, 967, 256, 649, 811, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 819, 820, 280, 307, 896, 895, 894, 306, 308, 892,
- 893, 891, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 902, 924, 913, 777, 778,
- 903, 904, 928, 905, 780, 781, 925, 926, 774, 775,
- 779, 927, 929, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 916, 763, 762, 0, 769, 770, 0, 799, 800,
- 802, 808, 809, 810, 821, 868, 869, 877, 879, 880,
- 878, 881, 882, 883, 886, 887, 888, 889, 884, 885,
- 890, 782, 786, 783, 784, 785, 797, 787, 788, 789,
- 790, 791, 792, 793, 794, 795, 796, 798, 939, 940,
- 941, 942, 943, 944, 814, 818, 817, 815, 816, 812,
- 813, 840, 839, 841, 842, 843, 844, 845, 846, 848,
- 847, 849, 850, 851, 852, 853, 854, 822, 823, 826,
- 827, 825, 824, 828, 837, 838, 829, 830, 831, 832,
- 833, 834, 836, 835, 855, 856, 857, 858, 859, 861,
- 860, 864, 865, 863, 862, 867, 866, 761, 196, 221,
- 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
- 930, 262, 931, 0, 0, 935, 0, 0, 0, 937,
- 936, 0, 938, 900, 899, 0, 0, 932, 933, 0,
- 934, 0, 0, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 945, 946, 947, 948, 949,
- 950, 951, 952, 300, 598, 630, 596, 642, 624, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 970, 0, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
- 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
- 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
- 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 0, 507, 720, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
- 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
- 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 1137, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 1136,
- 626, 0, 0, 0, 0, 0, 1133, 1134, 365, 1094,
- 330, 197, 225, 1127, 1131, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
- 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
- 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
- 0, 0, 1704, 507, 955, 0, 0, 1701, 0, 0,
- 0, 0, 1699, 0, 238, 1700, 1698, 245, 1703, 0,
- 920, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
- 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
- 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
- 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
- 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
- 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
- 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
- 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
- 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
- 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
- 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
- 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
- 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
- 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
- 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
- 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
- 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
- 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
- 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
- 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
- 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
- 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
- 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
- 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
- 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
- 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
- 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
- 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
- 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
- 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
- 577, 316, 0, 0, 86, 528, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
- 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
- 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 95, 0, 0,
- 0, 507, 194, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
- 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
- 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
- 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
- 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
- 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
- 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
- 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
- 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
- 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
- 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
- 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 94, 454, 288, 647, 615,
- 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
- 0, 0, 2418, 0, 0, 2417, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
- 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
- 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
- 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
- 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
- 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
- 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
- 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
- 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
- 523, 395, 266, 433, 1770, 0, 376, 576, 577, 316,
- 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 416, 0, 0, 1772, 0,
- 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
- 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
- 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 0, 0, 0, 1774, 507,
- 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
- 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
- 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
- 0, 0, 1472, 0, 1473, 1474, 0, 0, 0, 0,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
- 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
- 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
- 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
- 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
- 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
- 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
- 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
- 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
- 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
- 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
- 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
- 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
- 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
- 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
- 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
- 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
- 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
- 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
- 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
- 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
- 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
- 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 86, 528, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
- 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
- 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
- 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 95, 0, 1747, 0, 507, 720, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
- 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
- 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
- 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
- 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
- 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
- 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
- 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
- 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
- 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
- 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
- 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 94, 454, 288, 647, 615, 484, 610, 206, 223,
- 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
- 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
- 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
- 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
- 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 95, 0, 0, 0, 507, 194, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
- 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
- 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
- 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
- 0, 0, 0, 0, 0, 0, 2418, 0, 0, 2417,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
- 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 2365, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
- 0, 0, 1954, 507, 194, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
- 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
- 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 2363, 470, 372, 585, 450, 599, 627, 628,
- 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
- 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
- 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
- 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
- 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
- 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
- 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
- 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
- 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
- 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
- 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
- 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
- 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
- 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
- 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
- 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
- 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
- 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
- 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
- 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
- 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
- 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
- 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
- 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
- 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
- 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
- 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
- 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
- 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
- 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
- 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 0, 507, 720, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
- 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
- 0, 0, 0, 0, 1088, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
- 0, 0, 0, 0, 365, 1094, 330, 197, 225, 1092,
- 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
- 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
- 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
- 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
- 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
- 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
- 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
- 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
- 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
- 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
- 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
- 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
- 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
- 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
- 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
- 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
- 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
- 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
- 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
- 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
- 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 416, 0, 0, 2365, 0,
- 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
- 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
- 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 0, 0, 0, 1954, 507,
- 194, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
- 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
- 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
- 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
- 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
- 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
- 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
- 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
- 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
- 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
- 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
- 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
- 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
- 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
- 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
- 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
- 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
- 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
- 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
- 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
- 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
- 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
- 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
- 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
- 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
- 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
- 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
- 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 1747, 0, 507, 720, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
- 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
- 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
- 0, 0, 626, 0, 0, 0, 3719, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
- 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
- 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
- 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
- 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
- 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
- 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
- 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
- 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
- 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
- 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
- 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
- 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
- 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 2124, 507, 720, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
- 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
- 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2125, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
- 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
- 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
- 0, 0, 2870, 507, 720, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
- 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2871, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
- 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
- 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
- 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
- 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
- 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
- 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
- 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
- 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
- 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
- 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
- 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
- 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
- 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
- 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
- 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
- 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
- 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
- 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
- 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
- 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
- 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
- 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
- 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
- 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
- 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
- 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
- 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
- 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
- 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
- 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
- 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
- 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 0, 507, 720, 0, 0, 0, 0, 2855, 0, 0,
- 0, 0, 238, 0, 0, 245, 2856, 0, 0, 351,
- 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
- 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
- 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
- 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
- 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
- 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
- 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
- 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
- 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
- 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
- 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
- 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
- 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
- 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
- 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
- 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
- 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
- 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
- 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
- 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
- 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
- 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
- 0, 0, 0, 270, 1793, 0, 0, 0, 366, 267,
- 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
- 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 0, 0, 0, 1792, 507,
- 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
- 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
- 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
- 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
- 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
- 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
- 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
- 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
- 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
- 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
- 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
- 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
- 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
- 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
- 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
- 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
- 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
- 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
- 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
- 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
- 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
- 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
- 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
- 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
- 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
- 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
- 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
- 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 0, 507, 722, 723,
- 724, 0, 0, 0, 0, 0, 0, 0, 238, 0,
- 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
- 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
- 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
- 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
- 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
- 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
- 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
- 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
- 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
- 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
- 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
- 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
- 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
- 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
- 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
- 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 0, 507, 720, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
- 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
- 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 626, 0, 0, 0, 4063, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
- 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
- 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
- 0, 0, 1954, 507, 194, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
- 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
- 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
- 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
- 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
- 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
- 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
- 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
- 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
- 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
- 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
- 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
- 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
- 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
- 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
- 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
- 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
- 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
- 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
- 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
- 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
- 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
- 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
- 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
- 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
- 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
- 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
- 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
- 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
- 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
- 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
- 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
- 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
- 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 0, 507, 720, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
- 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
- 3719, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
- 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
- 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
- 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
- 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
- 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
- 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
- 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
- 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
- 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
- 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
+ 1019, 1020, 1021, 1022, 770, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 918, 0, 0, 629, 0, 0, 916, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 969, 0, 471, 426, 604,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 601, 630, 631, 263, 406, 615, 522,
+ 623, 648, 226, 260, 420, 506, 607, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 636, 224, 479, 371,
+ 242, 231, 587, 612, 299, 289, 456, 643, 213, 517,
+ 598, 239, 483, 0, 0, 651, 247, 504, 610, 599,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 970, 971, 256, 652, 815,
+ 622, 220, 0, 621, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 823, 824, 280, 307, 900, 899,
+ 898, 306, 308, 896, 897, 895, 207, 608, 626, 0,
+ 208, 0, 499, 611, 653, 452, 212, 234, 235, 237,
+ 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 0, 579, 602, 616, 628, 634, 635,
+ 637, 638, 639, 640, 641, 644, 642, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 606, 496, 906,
+ 928, 917, 781, 782, 907, 908, 932, 909, 784, 785,
+ 929, 930, 778, 779, 783, 931, 933, 654, 655, 656,
+ 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
+ 667, 668, 669, 670, 671, 649, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 920, 767, 766, 0, 773,
+ 774, 0, 803, 804, 806, 812, 813, 814, 825, 872,
+ 873, 881, 883, 884, 882, 885, 886, 887, 890, 891,
+ 892, 893, 888, 889, 894, 786, 790, 787, 788, 789,
+ 801, 791, 792, 793, 794, 795, 796, 797, 798, 799,
+ 800, 802, 943, 944, 945, 946, 947, 948, 818, 822,
+ 821, 819, 820, 816, 817, 844, 843, 845, 846, 847,
+ 848, 849, 850, 852, 851, 853, 854, 855, 856, 857,
+ 858, 826, 827, 830, 831, 829, 828, 832, 841, 842,
+ 833, 834, 835, 836, 837, 838, 840, 839, 859, 860,
+ 861, 862, 863, 865, 864, 868, 869, 867, 866, 871,
+ 870, 765, 196, 221, 368, 0, 454, 288, 650, 618,
+ 484, 613, 206, 223, 934, 262, 935, 0, 0, 939,
+ 0, 0, 0, 941, 940, 0, 942, 904, 903, 0,
+ 0, 936, 937, 0, 938, 0, 0, 198, 200, 209,
222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
- 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
- 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
+ 500, 501, 516, 586, 588, 605, 625, 632, 480, 949,
+ 950, 951, 952, 953, 954, 955, 956, 300, 600, 633,
+ 597, 645, 627, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 617, 502, 227, 466, 290, 251, 974, 0,
211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
- 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
- 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
+ 0, 0, 0, 528, 0, 777, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 416, 0, 0, 0, 764,
+ 0, 0, 0, 270, 769, 0, 0, 0, 366, 267,
0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 428, 518, 422, 776, 370, 0, 0, 497, 401, 0,
+ 0, 0, 0, 0, 0, 0, 0, 771, 772, 0,
0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 95, 0, 0, 0, 507,
- 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
- 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
- 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 202, 413, 498, 286, 0, 95, 0, 0, 1023, 507,
+ 959, 748, 925, 963, 1024, 976, 977, 978, 964, 0,
+ 238, 965, 966, 245, 967, 0, 924, 807, 809, 808,
+ 874, 875, 876, 877, 878, 879, 880, 810, 811, 805,
+ 972, 609, 979, 980, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 596, 0, 0, 229,
+ 0, 0, 0, 0, 0, 0, 0, 744, 761, 0,
+ 775, 0, 0, 0, 275, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 758, 759, 1069, 0, 0, 0, 919, 0, 760,
+ 0, 0, 768, 981, 982, 983, 984, 985, 986, 987,
+ 988, 989, 990, 991, 992, 993, 994, 995, 996, 997,
+ 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007,
+ 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
+ 1018, 1019, 1020, 1021, 1022, 770, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 297, 0, 402, 257,
+ 0, 453, 918, 0, 0, 629, 0, 0, 916, 0,
+ 0, 0, 0, 365, 0, 330, 197, 225, 0, 0,
+ 412, 461, 473, 0, 0, 0, 969, 0, 471, 426,
+ 604, 233, 284, 458, 432, 469, 440, 287, 0, 0,
+ 470, 372, 585, 450, 601, 630, 631, 263, 406, 615,
+ 522, 623, 648, 226, 260, 420, 506, 607, 494, 397,
+ 581, 582, 329, 493, 295, 201, 369, 636, 224, 479,
+ 371, 242, 231, 587, 612, 299, 289, 456, 643, 213,
+ 517, 598, 239, 483, 0, 0, 651, 247, 504, 610,
+ 599, 215, 594, 503, 393, 326, 327, 214, 0, 457,
+ 268, 293, 0, 0, 258, 415, 970, 971, 256, 652,
+ 815, 622, 220, 0, 621, 408, 584, 595, 394, 383,
+ 219, 593, 392, 382, 334, 823, 824, 280, 307, 900,
+ 899, 898, 306, 308, 896, 897, 895, 207, 608, 626,
+ 0, 208, 0, 499, 611, 653, 452, 212, 234, 235,
+ 237, 0, 279, 283, 291, 294, 303, 304, 313, 367,
+ 419, 446, 442, 451, 0, 579, 602, 616, 628, 634,
+ 635, 637, 638, 639, 640, 641, 644, 642, 407, 311,
+ 495, 333, 373, 0, 0, 425, 472, 240, 606, 496,
+ 906, 928, 917, 781, 782, 907, 908, 932, 909, 784,
+ 785, 929, 930, 778, 779, 783, 931, 933, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 669, 670, 671, 649, 508, 514, 509,
+ 510, 511, 512, 513, 0, 515, 920, 767, 766, 0,
+ 773, 774, 0, 803, 804, 806, 812, 813, 814, 825,
+ 872, 873, 881, 883, 884, 882, 885, 886, 887, 890,
+ 891, 892, 893, 888, 889, 894, 786, 790, 787, 788,
+ 789, 801, 791, 792, 793, 794, 795, 796, 797, 798,
+ 799, 800, 802, 943, 944, 945, 946, 947, 948, 818,
+ 822, 821, 819, 820, 816, 817, 844, 843, 845, 846,
+ 847, 848, 849, 850, 852, 851, 853, 854, 855, 856,
+ 857, 858, 826, 827, 830, 831, 829, 828, 832, 841,
+ 842, 833, 834, 835, 836, 837, 838, 840, 839, 859,
+ 860, 861, 862, 863, 865, 864, 868, 869, 867, 866,
+ 871, 870, 765, 196, 221, 368, 0, 454, 288, 650,
+ 618, 484, 613, 206, 223, 934, 262, 935, 0, 0,
+ 939, 0, 0, 0, 941, 940, 0, 942, 904, 903,
+ 0, 0, 936, 937, 0, 938, 0, 0, 198, 200,
+ 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
+ 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
+ 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
+ 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
+ 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
+ 492, 500, 501, 516, 586, 588, 605, 625, 632, 480,
+ 949, 950, 951, 952, 953, 954, 955, 956, 300, 600,
+ 633, 597, 645, 627, 438, 378, 0, 0, 381, 281,
+ 305, 320, 0, 617, 502, 227, 466, 290, 251, 974,
+ 0, 211, 246, 230, 259, 274, 277, 324, 391, 400,
+ 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
+ 521, 523, 395, 266, 433, 396, 0, 376, 576, 577,
+ 316, 0, 0, 0, 528, 0, 777, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 416, 0, 0, 0,
+ 764, 0, 0, 0, 270, 769, 0, 0, 0, 366,
+ 267, 0, 0, 204, 505, 0, 430, 0, 203, 0,
+ 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
+ 385, 428, 518, 422, 776, 370, 0, 0, 497, 401,
+ 0, 0, 0, 0, 0, 0, 0, 0, 771, 772,
+ 0, 0, 0, 0, 0, 0, 0, 0, 323, 248,
+ 325, 202, 413, 498, 286, 0, 95, 0, 0, 1023,
+ 507, 959, 748, 925, 963, 1024, 976, 977, 978, 964,
+ 0, 238, 965, 966, 245, 967, 0, 924, 807, 809,
+ 808, 874, 875, 876, 877, 878, 879, 880, 810, 811,
+ 805, 972, 609, 979, 980, 0, 265, 321, 272, 264,
+ 580, 0, 0, 0, 0, 0, 0, 596, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 744, 761,
+ 0, 775, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 758, 759, 0, 0, 0, 0, 919, 0,
+ 760, 0, 0, 768, 981, 982, 983, 984, 985, 986,
+ 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
+ 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
+ 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016,
+ 1017, 1018, 1019, 1020, 1021, 1022, 770, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
+ 257, 0, 453, 918, 0, 0, 629, 0, 0, 916,
+ 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
+ 0, 412, 461, 473, 0, 0, 0, 969, 0, 471,
+ 426, 604, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 601, 630, 631, 263, 406,
+ 615, 522, 623, 648, 226, 260, 420, 506, 607, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 636, 224,
+ 479, 371, 242, 231, 587, 612, 299, 289, 456, 643,
+ 213, 517, 598, 239, 483, 0, 0, 651, 247, 504,
+ 610, 599, 215, 594, 503, 393, 326, 327, 214, 0,
+ 457, 268, 293, 0, 0, 258, 415, 970, 971, 256,
+ 652, 815, 622, 220, 0, 621, 408, 584, 595, 394,
+ 383, 219, 593, 392, 382, 334, 823, 824, 280, 307,
+ 900, 899, 898, 306, 308, 896, 897, 895, 207, 608,
+ 626, 0, 208, 0, 499, 611, 653, 452, 212, 234,
+ 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 0, 579, 602, 616, 628,
+ 634, 635, 637, 638, 639, 640, 641, 644, 642, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 606,
+ 496, 906, 928, 917, 781, 782, 907, 908, 932, 909,
+ 784, 785, 929, 930, 778, 779, 783, 931, 933, 654,
+ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
+ 665, 666, 667, 668, 669, 670, 671, 649, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 920, 767, 766,
+ 0, 773, 774, 0, 803, 804, 806, 812, 813, 814,
+ 825, 872, 873, 881, 883, 884, 882, 885, 886, 887,
+ 890, 891, 892, 893, 888, 889, 894, 786, 790, 787,
+ 788, 789, 801, 791, 792, 793, 794, 795, 796, 797,
+ 798, 799, 800, 802, 943, 944, 945, 946, 947, 948,
+ 818, 822, 821, 819, 820, 816, 817, 844, 843, 845,
+ 846, 847, 848, 849, 850, 852, 851, 853, 854, 855,
+ 856, 857, 858, 826, 827, 830, 831, 829, 828, 832,
+ 841, 842, 833, 834, 835, 836, 837, 838, 840, 839,
+ 859, 860, 861, 862, 863, 865, 864, 868, 869, 867,
+ 866, 871, 870, 765, 196, 221, 368, 0, 454, 288,
+ 650, 618, 484, 613, 206, 223, 934, 262, 935, 0,
+ 0, 939, 0, 0, 0, 941, 940, 0, 942, 904,
+ 903, 0, 0, 936, 937, 0, 938, 0, 0, 198,
+ 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
+ 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
+ 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
+ 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
+ 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
+ 491, 492, 500, 501, 516, 586, 588, 605, 625, 632,
+ 480, 949, 950, 951, 952, 953, 954, 955, 956, 300,
+ 600, 633, 597, 645, 627, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 617, 502, 227, 466, 290, 251,
+ 974, 0, 211, 246, 230, 259, 274, 277, 324, 391,
+ 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
+ 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
+ 577, 316, 0, 0, 0, 528, 0, 777, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
+ 0, 764, 0, 0, 0, 270, 769, 0, 0, 0,
+ 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
+ 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 776, 370, 0, 0, 497,
+ 401, 0, 0, 0, 0, 0, 0, 0, 0, 771,
+ 772, 0, 0, 0, 0, 0, 0, 0, 0, 323,
+ 248, 325, 202, 413, 498, 286, 0, 95, 0, 0,
+ 1023, 507, 959, 748, 925, 963, 1024, 976, 977, 978,
+ 964, 0, 238, 965, 966, 245, 967, 0, 924, 807,
+ 809, 808, 874, 875, 876, 877, 878, 879, 880, 810,
+ 811, 805, 972, 609, 979, 980, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 596, 0,
+ 0, 229, 0, 0, 0, 0, 0, 0, 0, 744,
+ 761, 0, 775, 0, 0, 0, 275, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 758, 759, 0, 0, 0, 0, 919,
+ 0, 760, 0, 0, 768, 981, 982, 983, 984, 985,
+ 986, 987, 988, 989, 990, 991, 992, 993, 994, 995,
+ 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005,
+ 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015,
+ 1016, 1017, 1018, 1019, 1020, 1021, 1022, 3172, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 297, 0,
+ 402, 257, 0, 453, 918, 0, 0, 629, 0, 0,
+ 916, 0, 0, 0, 0, 365, 0, 330, 197, 225,
+ 0, 0, 412, 461, 473, 0, 0, 0, 969, 0,
+ 471, 426, 604, 233, 284, 458, 432, 469, 440, 287,
+ 0, 0, 470, 372, 585, 450, 601, 630, 631, 263,
+ 406, 615, 522, 623, 648, 226, 260, 420, 506, 607,
+ 494, 397, 581, 582, 329, 493, 295, 201, 369, 636,
+ 224, 479, 371, 242, 231, 587, 612, 299, 289, 456,
+ 643, 213, 517, 598, 239, 483, 0, 0, 651, 247,
+ 504, 610, 599, 215, 594, 503, 393, 326, 327, 214,
+ 0, 457, 268, 293, 0, 0, 258, 415, 970, 971,
+ 256, 652, 815, 622, 220, 0, 621, 408, 584, 595,
+ 394, 383, 219, 593, 392, 382, 334, 823, 824, 280,
+ 307, 900, 899, 898, 306, 308, 896, 897, 895, 207,
+ 608, 626, 0, 208, 0, 499, 611, 653, 452, 212,
+ 234, 235, 237, 0, 279, 283, 291, 294, 303, 304,
+ 313, 367, 419, 446, 442, 451, 0, 579, 602, 616,
+ 628, 634, 635, 637, 638, 639, 640, 641, 644, 642,
+ 407, 311, 495, 333, 373, 0, 0, 425, 472, 240,
+ 606, 496, 906, 928, 917, 781, 782, 907, 908, 932,
+ 909, 784, 785, 929, 930, 778, 779, 783, 931, 933,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 669, 670, 671, 649, 508,
+ 514, 509, 510, 511, 512, 513, 0, 515, 920, 767,
+ 766, 0, 773, 774, 0, 803, 804, 806, 812, 813,
+ 814, 825, 872, 873, 881, 883, 884, 882, 885, 886,
+ 887, 890, 891, 892, 893, 888, 889, 894, 786, 790,
+ 787, 788, 789, 801, 791, 792, 793, 794, 795, 796,
+ 797, 798, 799, 800, 802, 943, 944, 945, 946, 947,
+ 948, 818, 822, 821, 819, 820, 816, 817, 844, 843,
+ 845, 846, 847, 848, 849, 850, 852, 851, 853, 854,
+ 855, 856, 857, 858, 826, 827, 830, 831, 829, 828,
+ 832, 841, 842, 833, 834, 835, 836, 837, 838, 840,
+ 839, 859, 860, 861, 862, 863, 865, 864, 868, 869,
+ 867, 866, 871, 870, 765, 196, 221, 368, 0, 454,
+ 288, 650, 618, 484, 613, 206, 223, 934, 262, 935,
+ 0, 0, 939, 0, 0, 0, 941, 940, 0, 942,
+ 904, 903, 0, 0, 936, 937, 0, 938, 0, 0,
+ 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
+ 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
+ 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
+ 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
+ 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
+ 490, 491, 492, 500, 501, 516, 586, 588, 605, 625,
+ 632, 480, 949, 950, 951, 952, 953, 954, 955, 956,
+ 300, 600, 633, 597, 645, 627, 438, 378, 0, 0,
+ 381, 281, 305, 320, 0, 617, 502, 227, 466, 290,
+ 251, 974, 0, 211, 246, 230, 259, 274, 277, 324,
+ 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
+ 519, 520, 521, 523, 395, 266, 433, 396, 0, 376,
+ 576, 577, 316, 0, 0, 0, 528, 0, 777, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
+ 0, 0, 764, 0, 0, 0, 270, 769, 0, 0,
+ 0, 366, 267, 0, 0, 204, 505, 0, 430, 0,
+ 203, 0, 487, 252, 377, 374, 583, 282, 273, 269,
+ 250, 317, 385, 428, 518, 422, 776, 370, 0, 0,
+ 497, 401, 0, 0, 0, 0, 0, 0, 0, 0,
+ 771, 772, 0, 0, 0, 0, 0, 0, 0, 0,
+ 323, 248, 325, 202, 413, 498, 286, 0, 95, 0,
+ 0, 1023, 507, 959, 748, 925, 963, 1024, 976, 977,
+ 978, 964, 0, 238, 965, 966, 245, 967, 0, 924,
+ 807, 809, 808, 874, 875, 876, 877, 878, 879, 880,
+ 810, 811, 805, 972, 609, 979, 980, 0, 265, 321,
+ 272, 264, 580, 0, 0, 0, 0, 0, 0, 596,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 744, 761, 0, 775, 0, 0, 0, 275, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 758, 759, 0, 0, 0, 0,
+ 919, 0, 760, 0, 0, 768, 981, 982, 983, 984,
+ 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
+ 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
+ 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
+ 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 3168, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 918, 0, 0, 629, 0,
+ 0, 916, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 969,
+ 0, 471, 426, 604, 233, 284, 458, 432, 469, 440,
+ 287, 0, 0, 470, 372, 585, 450, 601, 630, 631,
+ 263, 406, 615, 522, 623, 648, 226, 260, 420, 506,
+ 607, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 636, 224, 479, 371, 242, 231, 587, 612, 299, 289,
+ 456, 643, 213, 517, 598, 239, 483, 0, 0, 651,
+ 247, 504, 610, 599, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 970,
+ 971, 256, 652, 815, 622, 220, 0, 621, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 823, 824,
+ 280, 307, 900, 899, 898, 306, 308, 896, 897, 895,
+ 207, 608, 626, 0, 208, 0, 499, 611, 653, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 602,
+ 616, 628, 634, 635, 637, 638, 639, 640, 641, 644,
+ 642, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 606, 496, 906, 928, 917, 781, 782, 907, 908,
+ 932, 909, 784, 785, 929, 930, 778, 779, 783, 931,
+ 933, 654, 655, 656, 657, 658, 659, 660, 661, 662,
+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 649,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 920,
+ 767, 766, 0, 773, 774, 0, 803, 804, 806, 812,
+ 813, 814, 825, 872, 873, 881, 883, 884, 882, 885,
+ 886, 887, 890, 891, 892, 893, 888, 889, 894, 786,
+ 790, 787, 788, 789, 801, 791, 792, 793, 794, 795,
+ 796, 797, 798, 799, 800, 802, 943, 944, 945, 946,
+ 947, 948, 818, 822, 821, 819, 820, 816, 817, 844,
+ 843, 845, 846, 847, 848, 849, 850, 852, 851, 853,
+ 854, 855, 856, 857, 858, 826, 827, 830, 831, 829,
+ 828, 832, 841, 842, 833, 834, 835, 836, 837, 838,
+ 840, 839, 859, 860, 861, 862, 863, 865, 864, 868,
+ 869, 867, 866, 871, 870, 765, 196, 221, 368, 0,
+ 454, 288, 650, 618, 484, 613, 206, 223, 934, 262,
+ 935, 0, 0, 939, 0, 0, 0, 941, 940, 0,
+ 942, 904, 903, 0, 0, 936, 937, 0, 938, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 605,
+ 625, 632, 480, 949, 950, 951, 952, 953, 954, 955,
+ 956, 300, 600, 633, 597, 645, 627, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 617, 502, 227, 466,
+ 290, 251, 974, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 777,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 0, 764, 0, 0, 0, 270, 769, 0,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 776, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
+ 0, 771, 772, 0, 0, 0, 0, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 95,
+ 0, 0, 1023, 507, 959, 1090, 925, 963, 1024, 976,
+ 977, 978, 964, 0, 238, 965, 966, 245, 967, 0,
+ 924, 807, 809, 808, 874, 875, 876, 877, 878, 879,
+ 880, 810, 811, 805, 972, 609, 979, 980, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 596, 0, 0, 229, 0, 0, 0, 0, 0, 0,
+ 0, 0, 761, 0, 775, 0, 0, 0, 275, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 758, 759, 0, 0, 0,
+ 0, 919, 0, 760, 0, 0, 768, 981, 982, 983,
+ 984, 985, 986, 987, 988, 989, 990, 991, 992, 993,
+ 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003,
+ 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013,
+ 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 770,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 297, 0, 402, 257, 0, 453, 918, 0, 0, 629,
+ 0, 0, 916, 0, 0, 0, 0, 365, 0, 330,
+ 197, 225, 0, 0, 412, 461, 473, 0, 0, 0,
+ 969, 0, 471, 426, 604, 233, 284, 458, 432, 469,
+ 440, 287, 0, 0, 470, 372, 585, 450, 601, 630,
+ 631, 263, 406, 615, 522, 623, 648, 226, 260, 420,
+ 506, 607, 494, 397, 581, 582, 329, 493, 295, 201,
+ 369, 636, 224, 479, 371, 242, 231, 587, 612, 299,
+ 289, 456, 643, 213, 517, 598, 239, 483, 0, 0,
+ 651, 247, 504, 610, 599, 215, 594, 503, 393, 326,
+ 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
+ 970, 971, 256, 652, 815, 622, 220, 0, 621, 408,
+ 584, 595, 394, 383, 219, 593, 392, 382, 334, 823,
+ 824, 280, 307, 900, 899, 898, 306, 308, 896, 897,
+ 895, 207, 608, 626, 0, 208, 0, 499, 611, 653,
+ 452, 212, 234, 235, 237, 0, 279, 283, 291, 294,
+ 303, 304, 313, 367, 419, 446, 442, 451, 0, 579,
+ 602, 616, 628, 634, 635, 637, 638, 639, 640, 641,
+ 644, 642, 407, 311, 495, 333, 373, 0, 0, 425,
+ 472, 240, 606, 496, 906, 928, 917, 781, 782, 907,
+ 908, 932, 909, 784, 785, 929, 930, 778, 779, 783,
+ 931, 933, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 669, 670, 671,
+ 649, 508, 514, 509, 510, 511, 512, 513, 0, 515,
+ 920, 767, 766, 0, 773, 774, 0, 803, 804, 806,
+ 812, 813, 814, 825, 872, 873, 881, 883, 884, 882,
+ 885, 886, 887, 890, 891, 892, 893, 888, 889, 894,
+ 786, 790, 787, 788, 789, 801, 791, 792, 793, 794,
+ 795, 796, 797, 798, 799, 800, 802, 943, 944, 945,
+ 946, 947, 948, 818, 822, 821, 819, 820, 816, 817,
+ 844, 843, 845, 846, 847, 848, 849, 850, 852, 851,
+ 853, 854, 855, 856, 857, 858, 826, 827, 830, 831,
+ 829, 828, 832, 841, 842, 833, 834, 835, 836, 837,
+ 838, 840, 839, 859, 860, 861, 862, 863, 865, 864,
+ 868, 869, 867, 866, 871, 870, 765, 196, 221, 368,
+ 0, 454, 288, 650, 618, 484, 613, 206, 223, 934,
+ 262, 935, 0, 0, 939, 0, 0, 0, 941, 940,
+ 0, 942, 904, 903, 0, 0, 936, 937, 0, 938,
+ 0, 0, 198, 200, 209, 222, 232, 236, 243, 261,
+ 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
+ 386, 387, 388, 389, 409, 410, 411, 414, 417, 418,
+ 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
+ 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
+ 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
+ 605, 625, 632, 480, 949, 950, 951, 952, 953, 954,
+ 955, 956, 300, 600, 633, 597, 645, 627, 438, 378,
+ 0, 0, 381, 281, 305, 320, 0, 617, 502, 227,
+ 466, 290, 251, 974, 0, 211, 246, 230, 259, 274,
+ 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
+ 241, 485, 519, 520, 521, 523, 395, 266, 433, 396,
+ 0, 376, 576, 577, 316, 0, 0, 0, 528, 0,
+ 777, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 416, 0, 0, 0, 764, 0, 0, 0, 270, 769,
+ 0, 0, 0, 366, 267, 0, 0, 204, 505, 0,
+ 430, 0, 203, 0, 487, 252, 377, 374, 583, 282,
+ 273, 269, 250, 317, 385, 428, 518, 422, 776, 370,
+ 0, 0, 497, 401, 0, 0, 0, 0, 0, 0,
+ 0, 0, 771, 772, 0, 0, 0, 0, 0, 0,
+ 0, 0, 323, 248, 325, 202, 413, 498, 286, 0,
+ 95, 0, 0, 1023, 507, 959, 1090, 925, 963, 1024,
+ 976, 977, 978, 964, 0, 238, 965, 966, 245, 967,
+ 0, 924, 807, 809, 808, 874, 875, 876, 877, 878,
+ 879, 880, 810, 811, 805, 972, 609, 979, 980, 0,
+ 265, 321, 272, 264, 580, 0, 0, 0, 0, 0,
+ 0, 596, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 0, 761, 0, 775, 0, 0, 0, 275,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 758, 759, 0, 0,
+ 0, 0, 919, 0, 760, 0, 0, 768, 981, 982,
+ 983, 984, 985, 986, 987, 988, 989, 990, 991, 992,
+ 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002,
+ 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
+ 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022,
+ 2124, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 297, 0, 402, 257, 0, 453, 918, 0, 0,
+ 629, 0, 0, 916, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 969, 0, 471, 426, 604, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 601,
+ 630, 631, 263, 406, 615, 522, 623, 648, 226, 260,
+ 420, 506, 607, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 636, 224, 479, 371, 242, 231, 587, 612,
+ 299, 289, 456, 643, 213, 517, 598, 239, 483, 0,
+ 0, 651, 247, 504, 610, 599, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 970, 971, 256, 652, 815, 622, 220, 0, 621,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 823, 824, 280, 307, 900, 899, 898, 306, 308, 896,
+ 897, 895, 207, 608, 626, 0, 208, 0, 499, 611,
+ 653, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
+ 579, 602, 616, 628, 634, 635, 637, 638, 639, 640,
+ 641, 644, 642, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 606, 496, 906, 928, 917, 781, 782,
+ 907, 908, 932, 909, 784, 785, 929, 930, 778, 779,
+ 783, 931, 933, 654, 655, 656, 657, 658, 659, 660,
+ 661, 662, 663, 664, 665, 666, 667, 668, 669, 670,
+ 671, 649, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 920, 767, 766, 0, 773, 774, 0, 803, 804,
+ 806, 812, 813, 814, 825, 872, 873, 881, 883, 884,
+ 882, 885, 886, 887, 890, 891, 892, 893, 888, 889,
+ 894, 786, 790, 787, 788, 789, 801, 791, 792, 793,
+ 794, 795, 796, 797, 798, 799, 800, 802, 943, 944,
+ 945, 946, 947, 948, 818, 822, 821, 819, 820, 816,
+ 817, 844, 843, 845, 846, 847, 848, 849, 850, 852,
+ 851, 853, 854, 855, 856, 857, 858, 826, 827, 830,
+ 831, 829, 828, 832, 841, 842, 833, 834, 835, 836,
+ 837, 838, 840, 839, 859, 860, 861, 862, 863, 865,
+ 864, 868, 869, 867, 866, 871, 870, 765, 196, 221,
+ 368, 0, 454, 288, 650, 618, 484, 613, 206, 223,
+ 934, 262, 935, 0, 0, 939, 0, 0, 0, 941,
+ 940, 0, 942, 904, 903, 0, 0, 936, 937, 0,
+ 938, 0, 0, 198, 200, 209, 222, 232, 236, 243,
+ 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
+ 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
+ 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
+ 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
+ 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
+ 588, 605, 625, 632, 480, 949, 950, 951, 952, 953,
+ 954, 955, 956, 300, 600, 633, 597, 645, 627, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 617, 502,
+ 227, 466, 290, 251, 974, 0, 211, 246, 230, 259,
+ 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
+ 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
+ 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
+ 0, 777, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 416, 0, 0, 0, 764, 0, 0, 0, 270,
+ 769, 0, 0, 0, 366, 267, 0, 0, 204, 505,
+ 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 776,
+ 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
+ 0, 0, 0, 771, 772, 0, 0, 0, 0, 0,
+ 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
+ 0, 95, 0, 0, 1023, 507, 959, 1090, 925, 963,
+ 1024, 976, 977, 978, 964, 0, 238, 965, 966, 245,
+ 967, 0, 924, 807, 809, 808, 874, 875, 876, 877,
+ 878, 879, 880, 810, 811, 805, 972, 609, 979, 980,
+ 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
+ 0, 0, 596, 0, 0, 229, 0, 0, 0, 0,
+ 0, 0, 0, 0, 761, 0, 775, 0, 0, 0,
+ 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 758, 759, 0,
+ 0, 0, 0, 919, 0, 760, 0, 0, 768, 981,
+ 982, 983, 984, 985, 986, 987, 988, 989, 990, 991,
+ 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001,
+ 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011,
+ 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021,
+ 1022, 2122, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 297, 0, 402, 257, 0, 453, 918, 0,
+ 0, 629, 0, 0, 916, 0, 0, 0, 0, 365,
+ 0, 330, 197, 225, 0, 0, 412, 461, 473, 0,
+ 0, 0, 969, 0, 471, 426, 604, 233, 284, 458,
+ 432, 469, 440, 287, 0, 0, 470, 372, 585, 450,
+ 601, 630, 631, 263, 406, 615, 522, 623, 648, 226,
+ 260, 420, 506, 607, 494, 397, 581, 582, 329, 493,
+ 295, 201, 369, 636, 224, 479, 371, 242, 231, 587,
+ 612, 299, 289, 456, 643, 213, 517, 598, 239, 483,
+ 0, 0, 651, 247, 504, 610, 599, 215, 594, 503,
+ 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
+ 258, 415, 970, 971, 256, 652, 815, 622, 220, 0,
+ 621, 408, 584, 595, 394, 383, 219, 593, 392, 382,
+ 334, 823, 824, 280, 307, 900, 899, 898, 306, 308,
+ 896, 897, 895, 207, 608, 626, 0, 208, 0, 499,
+ 611, 653, 452, 212, 234, 235, 237, 0, 279, 283,
+ 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
+ 0, 579, 602, 616, 628, 634, 635, 637, 638, 639,
+ 640, 641, 644, 642, 407, 311, 495, 333, 373, 0,
+ 0, 425, 472, 240, 606, 496, 906, 928, 917, 781,
+ 782, 907, 908, 932, 909, 784, 785, 929, 930, 778,
+ 779, 783, 931, 933, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 669,
+ 670, 671, 649, 508, 514, 509, 510, 511, 512, 513,
+ 0, 515, 920, 767, 766, 0, 773, 774, 0, 803,
+ 804, 806, 812, 813, 814, 825, 872, 873, 881, 883,
+ 884, 882, 885, 886, 887, 890, 891, 892, 893, 888,
+ 889, 894, 786, 790, 787, 788, 789, 801, 791, 792,
+ 793, 794, 795, 796, 797, 798, 799, 800, 802, 943,
+ 944, 945, 946, 947, 948, 818, 822, 821, 819, 820,
+ 816, 817, 844, 843, 845, 846, 847, 848, 849, 850,
+ 852, 851, 853, 854, 855, 856, 857, 858, 826, 827,
+ 830, 831, 829, 828, 832, 841, 842, 833, 834, 835,
+ 836, 837, 838, 840, 839, 859, 860, 861, 862, 863,
+ 865, 864, 868, 869, 867, 866, 871, 870, 765, 196,
+ 221, 368, 0, 454, 288, 650, 618, 484, 613, 206,
+ 223, 934, 262, 935, 0, 0, 939, 0, 0, 0,
+ 941, 940, 0, 942, 904, 903, 0, 0, 936, 937,
+ 0, 938, 0, 0, 198, 200, 209, 222, 232, 236,
+ 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
+ 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
+ 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
+ 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
+ 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
+ 586, 588, 605, 625, 632, 480, 949, 950, 951, 952,
+ 953, 954, 955, 956, 300, 600, 633, 597, 645, 627,
+ 438, 378, 0, 0, 381, 281, 305, 320, 0, 617,
+ 502, 227, 466, 290, 251, 974, 0, 211, 246, 230,
+ 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
+ 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
+ 433, 396, 0, 376, 576, 577, 316, 0, 0, 0,
+ 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 416, 0, 0, 0, 0, 0, 0, 0,
+ 270, 0, 0, 0, 0, 366, 267, 0, 0, 204,
+ 505, 0, 430, 0, 203, 0, 487, 252, 377, 374,
+ 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
+ 0, 370, 0, 0, 497, 401, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 323, 248, 325, 202, 413, 498,
+ 286, 0, 0, 0, 0, 0, 507, 724, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 238, 0, 0,
+ 245, 0, 0, 0, 351, 360, 359, 339, 340, 342,
+ 344, 350, 357, 363, 336, 345, 0, 0, 609, 0,
+ 0, 0, 265, 321, 272, 264, 580, 0, 0, 0,
+ 0, 0, 0, 596, 0, 0, 229, 0, 1141, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 1140, 629, 0, 0, 0, 0, 0, 1137, 1138,
+ 365, 1098, 330, 197, 225, 1131, 1135, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 604, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 601, 630, 631, 263, 406, 615, 522, 623, 648,
+ 226, 260, 420, 506, 607, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 636, 224, 479, 371, 242, 231,
+ 587, 612, 299, 289, 456, 643, 213, 517, 598, 239,
+ 483, 0, 0, 651, 247, 504, 610, 599, 215, 594,
503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 0, 258, 415, 589, 590, 256, 652, 228, 622, 220,
+ 0, 621, 408, 584, 595, 394, 383, 219, 593, 392,
382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
+ 308, 404, 403, 405, 207, 608, 626, 0, 208, 0,
+ 499, 611, 653, 452, 212, 234, 235, 237, 0, 279,
283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
+ 451, 0, 579, 602, 616, 628, 634, 635, 637, 638,
+ 639, 640, 641, 644, 642, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 606, 496, 199, 0, 0,
0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
+ 0, 0, 0, 0, 0, 654, 655, 656, 657, 658,
+ 659, 660, 661, 662, 663, 664, 665, 666, 667, 668,
+ 669, 670, 671, 649, 508, 514, 509, 510, 511, 512,
513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
+ 591, 592, 672, 384, 486, 603, 335, 349, 352, 341,
361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
- 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
- 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
+ 217, 218, 524, 525, 526, 527, 619, 620, 624, 205,
+ 462, 463, 464, 465, 292, 614, 309, 468, 467, 331,
332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
+ 196, 221, 368, 0, 454, 288, 650, 618, 484, 613,
206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
@@ -5691,14 +4450,14 @@ var yyAct = [...]int{
414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
- 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
- 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
+ 516, 586, 588, 605, 625, 632, 480, 301, 302, 444,
+ 445, 314, 315, 646, 647, 300, 600, 633, 597, 645,
+ 627, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 617, 502, 227, 466, 290, 251, 0, 0, 211, 246,
230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 0, 528, 0, 0, 0, 0, 2419, 0, 0, 0,
+ 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
@@ -5706,14 +4465,14 @@ var yyAct = [...]int{
422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 0, 507, 194, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
- 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
+ 498, 286, 0, 0, 0, 0, 1711, 507, 959, 0,
+ 0, 1708, 0, 0, 0, 0, 1706, 0, 238, 1707,
+ 1705, 245, 1710, 0, 924, 351, 360, 359, 339, 340,
+ 342, 344, 350, 357, 363, 336, 345, 0, 0, 609,
0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 0, 0, 0, 596, 0, 0, 229, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 275, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5721,146 +4480,221 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
- 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
- 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
+ 0, 0, 0, 0, 297, 0, 402, 257, 0, 453,
+ 0, 0, 0, 629, 0, 0, 0, 0, 0, 0,
+ 0, 365, 0, 330, 197, 225, 0, 0, 412, 461,
+ 473, 0, 0, 0, 253, 0, 471, 426, 604, 233,
+ 284, 458, 432, 469, 440, 287, 0, 0, 470, 372,
+ 585, 450, 601, 630, 631, 263, 406, 615, 522, 623,
+ 648, 226, 260, 420, 506, 607, 494, 397, 581, 582,
+ 329, 493, 295, 201, 369, 636, 224, 479, 371, 242,
+ 231, 587, 612, 299, 289, 456, 643, 213, 517, 598,
+ 239, 483, 0, 0, 651, 247, 504, 610, 599, 215,
+ 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
+ 0, 0, 258, 415, 589, 590, 256, 652, 228, 622,
+ 220, 0, 621, 408, 584, 595, 394, 383, 219, 593,
+ 392, 382, 334, 355, 356, 280, 307, 447, 375, 448,
+ 306, 308, 404, 403, 405, 207, 608, 626, 0, 208,
+ 0, 499, 611, 653, 452, 212, 234, 235, 237, 0,
+ 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
+ 442, 451, 0, 579, 602, 616, 628, 634, 635, 637,
+ 638, 639, 640, 641, 644, 642, 407, 311, 495, 333,
+ 373, 0, 0, 425, 472, 240, 606, 496, 199, 0,
+ 0, 0, 0, 254, 255, 0, 575, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 654, 655, 656, 657,
658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
- 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
- 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
- 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
- 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
- 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
- 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
- 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
- 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
- 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
- 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
- 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
- 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 1774, 507, 720, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
- 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
- 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 668, 669, 670, 671, 649, 508, 514, 509, 510, 511,
+ 512, 513, 0, 515, 0, 0, 0, 0, 0, 398,
+ 0, 591, 592, 672, 384, 486, 603, 335, 349, 352,
+ 341, 361, 0, 362, 337, 338, 343, 346, 347, 348,
+ 353, 354, 358, 364, 249, 210, 390, 399, 578, 312,
+ 216, 217, 218, 524, 525, 526, 527, 619, 620, 624,
+ 205, 462, 463, 464, 465, 292, 614, 309, 468, 467,
+ 331, 332, 379, 449, 540, 542, 553, 557, 559, 561,
+ 567, 570, 541, 543, 554, 558, 560, 562, 568, 571,
+ 530, 532, 534, 536, 549, 548, 545, 573, 574, 551,
+ 556, 535, 547, 552, 565, 572, 569, 529, 533, 537,
+ 546, 564, 563, 544, 555, 566, 550, 538, 531, 539,
+ 0, 196, 221, 368, 0, 454, 288, 650, 618, 484,
+ 613, 206, 223, 0, 262, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 198, 200, 209, 222,
+ 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
+ 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
+ 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
+ 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
+ 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
+ 501, 516, 586, 588, 605, 625, 632, 480, 301, 302,
+ 444, 445, 314, 315, 646, 647, 300, 600, 633, 597,
+ 645, 627, 438, 378, 0, 0, 381, 281, 305, 320,
+ 0, 617, 502, 227, 466, 290, 251, 0, 0, 211,
+ 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
+ 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
+ 395, 266, 433, 396, 0, 376, 576, 577, 316, 0,
+ 0, 86, 528, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 416, 0, 0, 0, 0, 0,
+ 0, 0, 270, 0, 0, 0, 0, 366, 267, 0,
+ 0, 204, 505, 0, 430, 0, 203, 0, 487, 252,
+ 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
+ 518, 422, 0, 370, 0, 0, 497, 401, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 323, 248, 325, 202,
+ 413, 498, 286, 0, 95, 0, 0, 0, 507, 194,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
+ 0, 0, 245, 0, 0, 0, 351, 360, 359, 339,
+ 340, 342, 344, 350, 357, 363, 336, 345, 0, 0,
+ 609, 0, 0, 0, 265, 321, 272, 264, 580, 0,
+ 0, 0, 0, 0, 0, 596, 0, 0, 229, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
- 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
- 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 0, 0, 0, 629, 0, 0, 0, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 253, 0, 471, 426, 604,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 601, 630, 631, 263, 406, 615, 522,
+ 623, 648, 226, 260, 420, 506, 607, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 636, 224, 479, 371,
+ 242, 231, 587, 612, 299, 289, 456, 643, 213, 517,
+ 598, 239, 483, 0, 0, 651, 247, 504, 610, 599,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 589, 590, 256, 652, 228,
+ 622, 220, 0, 621, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
+ 448, 306, 308, 404, 403, 405, 207, 608, 626, 0,
+ 208, 0, 499, 611, 653, 452, 212, 234, 235, 237,
+ 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 0, 579, 602, 616, 628, 634, 635,
+ 637, 638, 639, 640, 641, 644, 642, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 606, 496, 199,
+ 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 654, 655, 656,
+ 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
+ 667, 668, 669, 670, 671, 649, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
+ 398, 0, 591, 592, 672, 384, 486, 603, 335, 349,
+ 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
+ 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
+ 312, 216, 217, 218, 524, 525, 526, 527, 619, 620,
+ 624, 205, 462, 463, 464, 465, 292, 614, 309, 468,
+ 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
+ 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
+ 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
+ 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
+ 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
+ 539, 0, 196, 221, 368, 94, 454, 288, 650, 618,
+ 484, 613, 206, 223, 0, 262, 0, 0, 0, 0,
+ 0, 0, 2427, 0, 0, 2426, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
+ 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
+ 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
+ 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
+ 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
+ 500, 501, 516, 586, 588, 605, 625, 632, 480, 301,
+ 302, 444, 445, 314, 315, 646, 647, 300, 600, 633,
+ 597, 645, 627, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 617, 502, 227, 466, 290, 251, 0, 0,
+ 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
+ 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
+ 523, 395, 266, 433, 1777, 0, 376, 576, 577, 316,
+ 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 416, 0, 0, 1779, 0,
+ 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
+ 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
+ 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
+ 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
- 0, 0, 0, 507, 194, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
- 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
+ 202, 413, 498, 286, 0, 0, 0, 0, 1781, 507,
+ 724, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
+ 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
+ 0, 609, 0, 0, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 596, 0, 0, 229,
+ 0, 0, 0, 1479, 0, 1480, 1481, 0, 0, 0,
+ 0, 0, 0, 0, 275, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 297, 0, 402, 257,
+ 0, 453, 0, 0, 0, 629, 0, 0, 0, 0,
+ 0, 0, 0, 365, 0, 330, 197, 225, 0, 0,
+ 412, 461, 473, 0, 0, 0, 253, 0, 471, 426,
+ 604, 233, 284, 458, 432, 469, 440, 287, 0, 0,
+ 470, 372, 585, 450, 601, 630, 631, 263, 406, 615,
+ 522, 623, 648, 226, 260, 420, 506, 607, 494, 397,
+ 581, 582, 329, 493, 295, 201, 369, 636, 224, 479,
+ 371, 242, 231, 587, 612, 299, 289, 456, 643, 213,
+ 517, 598, 239, 483, 0, 0, 651, 247, 504, 610,
+ 599, 215, 594, 503, 393, 326, 327, 214, 0, 457,
+ 268, 293, 0, 0, 258, 415, 589, 590, 256, 652,
+ 228, 622, 220, 0, 621, 408, 584, 595, 394, 383,
+ 219, 593, 392, 382, 334, 355, 356, 280, 307, 447,
+ 375, 448, 306, 308, 404, 403, 405, 207, 608, 626,
+ 0, 208, 0, 499, 611, 653, 452, 212, 234, 235,
+ 237, 0, 279, 283, 291, 294, 303, 304, 313, 367,
+ 419, 446, 442, 451, 0, 579, 602, 616, 628, 634,
+ 635, 637, 638, 639, 640, 641, 644, 642, 407, 311,
+ 495, 333, 373, 0, 0, 425, 472, 240, 606, 496,
+ 199, 0, 0, 0, 0, 254, 255, 0, 575, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 669, 670, 671, 649, 508, 514, 509,
+ 510, 511, 512, 513, 0, 515, 0, 0, 0, 0,
+ 0, 398, 0, 591, 592, 672, 384, 486, 603, 335,
+ 349, 352, 341, 361, 0, 362, 337, 338, 343, 346,
+ 347, 348, 353, 354, 358, 364, 249, 210, 390, 399,
+ 578, 312, 216, 217, 218, 524, 525, 526, 527, 619,
+ 620, 624, 205, 462, 463, 464, 465, 292, 614, 309,
+ 468, 467, 331, 332, 379, 449, 540, 542, 553, 557,
+ 559, 561, 567, 570, 541, 543, 554, 558, 560, 562,
+ 568, 571, 530, 532, 534, 536, 549, 548, 545, 573,
+ 574, 551, 556, 535, 547, 552, 565, 572, 569, 529,
+ 533, 537, 546, 564, 563, 544, 555, 566, 550, 538,
+ 531, 539, 0, 196, 221, 368, 0, 454, 288, 650,
+ 618, 484, 613, 206, 223, 0, 262, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 198, 200,
+ 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
+ 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
+ 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
+ 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
+ 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
+ 492, 500, 501, 516, 586, 588, 605, 625, 632, 480,
+ 301, 302, 444, 445, 314, 315, 646, 647, 300, 600,
+ 633, 597, 645, 627, 438, 378, 0, 0, 381, 281,
+ 305, 320, 0, 617, 502, 227, 466, 290, 251, 0,
+ 0, 211, 246, 230, 259, 274, 277, 324, 391, 400,
+ 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
+ 521, 523, 395, 266, 433, 396, 0, 376, 576, 577,
+ 316, 0, 0, 86, 528, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 416, 0, 0, 0,
+ 0, 0, 0, 0, 270, 0, 0, 0, 0, 366,
+ 267, 0, 0, 204, 505, 0, 430, 0, 203, 0,
+ 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
+ 385, 428, 518, 422, 0, 370, 0, 0, 497, 401,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 323, 248,
+ 325, 202, 413, 498, 286, 0, 95, 0, 1754, 0,
+ 507, 724, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 238, 0, 0, 245, 0, 0, 0, 351, 360,
+ 359, 339, 340, 342, 344, 350, 357, 363, 336, 345,
+ 0, 0, 609, 0, 0, 0, 265, 321, 272, 264,
+ 580, 0, 0, 0, 0, 0, 0, 596, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5868,43 +4702,43 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
- 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
- 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
+ 257, 0, 453, 0, 0, 0, 629, 0, 0, 0,
+ 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
+ 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
+ 426, 604, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 601, 630, 631, 263, 406,
+ 615, 522, 623, 648, 226, 260, 420, 506, 607, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 636, 224,
+ 479, 371, 242, 231, 587, 612, 299, 289, 456, 643,
+ 213, 517, 598, 239, 483, 0, 0, 651, 247, 504,
+ 610, 599, 215, 594, 503, 393, 326, 327, 214, 0,
457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
+ 652, 228, 622, 220, 0, 621, 408, 584, 595, 394,
383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
- 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
+ 447, 375, 448, 306, 308, 404, 403, 405, 207, 608,
+ 626, 0, 208, 0, 499, 611, 653, 452, 212, 234,
235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
- 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
+ 367, 419, 446, 442, 451, 0, 579, 602, 616, 628,
+ 634, 635, 637, 638, 639, 640, 641, 644, 642, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 606,
496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 654,
+ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
+ 665, 666, 667, 668, 669, 670, 671, 649, 508, 514,
509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
+ 0, 0, 398, 0, 591, 592, 672, 384, 486, 603,
335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
- 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
+ 619, 620, 624, 205, 462, 463, 464, 465, 292, 614,
309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
- 538, 531, 539, 0, 196, 221, 368, 2071, 454, 288,
- 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
+ 538, 531, 539, 0, 196, 221, 368, 94, 454, 288,
+ 650, 618, 484, 613, 206, 223, 0, 262, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
@@ -5912,10 +4746,10 @@ var yyAct = [...]int{
389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
- 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
- 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
+ 491, 492, 500, 501, 516, 586, 588, 605, 625, 632,
+ 480, 301, 302, 444, 445, 314, 315, 646, 647, 300,
+ 600, 633, 597, 645, 627, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 617, 502, 227, 466, 290, 251,
0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
@@ -5927,131 +4761,428 @@ var yyAct = [...]int{
317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 2062, 507, 720, 0, 0, 0, 0, 0, 0, 0,
+ 248, 325, 202, 413, 498, 286, 0, 95, 0, 0,
+ 0, 507, 194, 0, 0, 0, 0, 0, 0, 0,
0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 345, 0, 0, 609, 0, 0, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 596, 0,
+ 0, 229, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 275, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 297, 0,
+ 402, 257, 0, 453, 0, 0, 0, 629, 0, 0,
+ 0, 0, 0, 0, 0, 365, 0, 330, 197, 225,
+ 0, 0, 412, 461, 473, 0, 0, 0, 253, 0,
+ 471, 426, 604, 233, 284, 458, 432, 469, 440, 287,
+ 0, 0, 470, 372, 585, 450, 601, 630, 631, 263,
+ 406, 615, 522, 623, 648, 226, 260, 420, 506, 607,
+ 494, 397, 581, 582, 329, 493, 295, 201, 369, 636,
+ 224, 479, 371, 242, 231, 587, 612, 299, 289, 456,
+ 643, 213, 517, 598, 239, 483, 0, 0, 651, 247,
+ 504, 610, 599, 215, 594, 503, 393, 326, 327, 214,
+ 0, 457, 268, 293, 0, 0, 258, 415, 589, 590,
+ 256, 652, 228, 622, 220, 0, 621, 408, 584, 595,
+ 394, 383, 219, 593, 392, 382, 334, 355, 356, 280,
+ 307, 447, 375, 448, 306, 308, 404, 403, 405, 207,
+ 608, 626, 0, 208, 0, 499, 611, 653, 452, 212,
+ 234, 235, 237, 0, 279, 283, 291, 294, 303, 304,
+ 313, 367, 419, 446, 442, 451, 0, 579, 602, 616,
+ 628, 634, 635, 637, 638, 639, 640, 641, 644, 642,
+ 407, 311, 495, 333, 373, 0, 0, 425, 472, 240,
+ 606, 496, 199, 0, 0, 0, 0, 254, 255, 0,
+ 575, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 669, 670, 671, 649, 508,
+ 514, 509, 510, 511, 512, 513, 0, 515, 0, 0,
+ 0, 0, 0, 398, 0, 591, 592, 672, 384, 486,
+ 603, 335, 349, 352, 341, 361, 0, 362, 337, 338,
+ 343, 346, 347, 348, 353, 354, 358, 364, 249, 210,
+ 390, 399, 578, 312, 216, 217, 218, 524, 525, 526,
+ 527, 619, 620, 624, 205, 462, 463, 464, 465, 292,
+ 614, 309, 468, 467, 331, 332, 379, 449, 540, 542,
+ 553, 557, 559, 561, 567, 570, 541, 543, 554, 558,
+ 560, 562, 568, 571, 530, 532, 534, 536, 549, 548,
+ 545, 573, 574, 551, 556, 535, 547, 552, 565, 572,
+ 569, 529, 533, 537, 546, 564, 563, 544, 555, 566,
+ 550, 538, 531, 539, 0, 196, 221, 368, 0, 454,
+ 288, 650, 618, 484, 613, 206, 223, 0, 262, 0,
+ 0, 0, 0, 0, 0, 2427, 0, 0, 2426, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
+ 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
+ 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
+ 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
+ 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
+ 490, 491, 492, 500, 501, 516, 586, 588, 605, 625,
+ 632, 480, 301, 302, 444, 445, 314, 315, 646, 647,
+ 300, 600, 633, 597, 645, 627, 438, 378, 0, 0,
+ 381, 281, 305, 320, 0, 617, 502, 227, 466, 290,
+ 251, 0, 0, 211, 246, 230, 259, 274, 277, 324,
+ 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
+ 519, 520, 521, 523, 395, 266, 433, 396, 0, 376,
+ 576, 577, 316, 0, 0, 0, 528, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
+ 0, 2374, 0, 0, 0, 0, 270, 0, 0, 0,
+ 0, 366, 267, 0, 0, 204, 505, 0, 430, 0,
+ 203, 0, 487, 252, 377, 374, 583, 282, 273, 269,
+ 250, 317, 385, 428, 518, 422, 0, 370, 0, 0,
+ 497, 401, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 323, 248, 325, 202, 413, 498, 286, 0, 0, 0,
+ 0, 1962, 507, 194, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 238, 0, 0, 245, 0, 0, 0,
+ 351, 360, 359, 339, 340, 342, 344, 350, 357, 363,
+ 336, 345, 0, 0, 609, 0, 0, 0, 265, 321,
+ 272, 264, 580, 0, 0, 0, 0, 0, 0, 596,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 0, 0, 0, 629, 0,
+ 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
+ 0, 471, 426, 604, 233, 284, 458, 432, 469, 440,
+ 287, 0, 2372, 470, 372, 585, 450, 601, 630, 631,
+ 263, 406, 615, 522, 623, 648, 226, 260, 420, 506,
+ 607, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 636, 224, 479, 371, 242, 231, 587, 612, 299, 289,
+ 456, 643, 213, 517, 598, 239, 483, 0, 0, 651,
+ 247, 504, 610, 599, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 652, 228, 622, 220, 0, 621, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 608, 626, 0, 208, 0, 499, 611, 653, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 602,
+ 616, 628, 634, 635, 637, 638, 639, 640, 641, 644,
+ 642, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 606, 496, 199, 0, 0, 0, 0, 254, 255,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 654, 655, 656, 657, 658, 659, 660, 661, 662,
+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 649,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
+ 0, 0, 0, 0, 398, 0, 591, 592, 672, 384,
+ 486, 603, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 619, 620, 624, 205, 462, 463, 464, 465,
+ 292, 614, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
+ 454, 288, 650, 618, 484, 613, 206, 223, 0, 262,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 605,
+ 625, 632, 480, 301, 302, 444, 445, 314, 315, 646,
+ 647, 300, 600, 633, 597, 645, 627, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 617, 502, 227, 466,
+ 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
+ 0, 0, 0, 507, 724, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
+ 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
+ 363, 336, 345, 0, 0, 609, 0, 0, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 596, 0, 0, 229, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 275, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1092, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 297, 0, 402, 257, 0, 453, 0, 0, 0, 629,
+ 0, 0, 0, 0, 0, 0, 0, 365, 1098, 330,
+ 197, 225, 1096, 0, 412, 461, 473, 0, 0, 0,
+ 253, 0, 471, 426, 604, 233, 284, 458, 432, 469,
+ 440, 287, 0, 0, 470, 372, 585, 450, 601, 630,
+ 631, 263, 406, 615, 522, 623, 648, 226, 260, 420,
+ 506, 607, 494, 397, 581, 582, 329, 493, 295, 201,
+ 369, 636, 224, 479, 371, 242, 231, 587, 612, 299,
+ 289, 456, 643, 213, 517, 598, 239, 483, 0, 0,
+ 651, 247, 504, 610, 599, 215, 594, 503, 393, 326,
+ 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
+ 589, 590, 256, 652, 228, 622, 220, 0, 621, 408,
+ 584, 595, 394, 383, 219, 593, 392, 382, 334, 355,
+ 356, 280, 307, 447, 375, 448, 306, 308, 404, 403,
+ 405, 207, 608, 626, 0, 208, 0, 499, 611, 653,
+ 452, 212, 234, 235, 237, 0, 279, 283, 291, 294,
+ 303, 304, 313, 367, 419, 446, 442, 451, 0, 579,
+ 602, 616, 628, 634, 635, 637, 638, 639, 640, 641,
+ 644, 642, 407, 311, 495, 333, 373, 0, 0, 425,
+ 472, 240, 606, 496, 199, 0, 0, 0, 0, 254,
+ 255, 0, 575, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 669, 670, 671,
+ 649, 508, 514, 509, 510, 511, 512, 513, 0, 515,
+ 0, 0, 0, 0, 0, 398, 0, 591, 592, 672,
+ 384, 486, 603, 335, 349, 352, 341, 361, 0, 362,
+ 337, 338, 343, 346, 347, 348, 353, 354, 358, 364,
+ 249, 210, 390, 399, 578, 312, 216, 217, 218, 524,
+ 525, 526, 527, 619, 620, 624, 205, 462, 463, 464,
+ 465, 292, 614, 309, 468, 467, 331, 332, 379, 449,
+ 540, 542, 553, 557, 559, 561, 567, 570, 541, 543,
+ 554, 558, 560, 562, 568, 571, 530, 532, 534, 536,
+ 549, 548, 545, 573, 574, 551, 556, 535, 547, 552,
+ 565, 572, 569, 529, 533, 537, 546, 564, 563, 544,
+ 555, 566, 550, 538, 531, 539, 0, 196, 221, 368,
+ 0, 454, 288, 650, 618, 484, 613, 206, 223, 0,
+ 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 198, 200, 209, 222, 232, 236, 243, 261,
+ 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
+ 386, 387, 388, 389, 409, 410, 411, 414, 417, 418,
+ 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
+ 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
+ 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
+ 605, 625, 632, 480, 301, 302, 444, 445, 314, 315,
+ 646, 647, 300, 600, 633, 597, 645, 627, 438, 378,
+ 0, 0, 381, 281, 305, 320, 0, 617, 502, 227,
+ 466, 290, 251, 0, 0, 211, 246, 230, 259, 274,
+ 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
+ 241, 485, 519, 520, 521, 523, 395, 266, 433, 396,
+ 0, 376, 576, 577, 316, 0, 0, 0, 528, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 416, 0, 0, 2374, 0, 0, 0, 0, 270, 0,
+ 0, 0, 0, 366, 267, 0, 0, 204, 505, 0,
+ 430, 0, 203, 0, 487, 252, 377, 374, 583, 282,
+ 273, 269, 250, 317, 385, 428, 518, 422, 0, 370,
+ 0, 0, 497, 401, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 323, 248, 325, 202, 413, 498, 286, 0,
+ 0, 0, 0, 1962, 507, 194, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 238, 0, 0, 245, 0,
+ 0, 0, 351, 360, 359, 339, 340, 342, 344, 350,
+ 357, 363, 336, 345, 0, 0, 609, 0, 0, 0,
+ 265, 321, 272, 264, 580, 0, 0, 0, 0, 0,
+ 0, 596, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
- 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
- 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
- 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
- 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
- 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
- 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
- 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
- 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
- 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
- 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
- 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
- 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
- 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
- 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
- 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
- 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
- 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
- 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
- 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
- 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
- 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
- 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
- 0, 1921, 204, 505, 0, 430, 0, 203, 0, 487,
- 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 0, 0, 0, 0, 507,
- 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
- 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
- 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
+ 629, 0, 0, 0, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 253, 0, 471, 426, 604, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 601,
+ 630, 631, 263, 406, 615, 522, 623, 648, 226, 260,
+ 420, 506, 607, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 636, 224, 479, 371, 242, 231, 587, 612,
+ 299, 289, 456, 643, 213, 517, 598, 239, 483, 0,
+ 0, 651, 247, 504, 610, 599, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 589, 590, 256, 652, 228, 622, 220, 0, 621,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
+ 403, 405, 207, 608, 626, 0, 208, 0, 499, 611,
+ 653, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
+ 579, 602, 616, 628, 634, 635, 637, 638, 639, 640,
+ 641, 644, 642, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 606, 496, 199, 0, 0, 0, 0,
+ 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 654, 655, 656, 657, 658, 659, 660,
+ 661, 662, 663, 664, 665, 666, 667, 668, 669, 670,
+ 671, 649, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
+ 672, 384, 486, 603, 335, 349, 352, 341, 361, 0,
+ 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
+ 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
+ 524, 525, 526, 527, 619, 620, 624, 205, 462, 463,
+ 464, 465, 292, 614, 309, 468, 467, 331, 332, 379,
+ 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
+ 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
+ 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
+ 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
+ 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
+ 368, 0, 454, 288, 650, 618, 484, 613, 206, 223,
+ 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
+ 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
+ 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
+ 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
+ 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
+ 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
+ 588, 605, 625, 632, 480, 301, 302, 444, 445, 314,
+ 315, 646, 647, 300, 600, 633, 597, 645, 627, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 617, 502,
+ 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
+ 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
+ 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
+ 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
+ 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
+ 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
+ 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
+ 0, 0, 0, 1754, 0, 507, 724, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
+ 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
+ 350, 357, 363, 336, 345, 0, 0, 609, 0, 0,
+ 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
+ 0, 0, 596, 0, 0, 229, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 297, 0, 402, 257, 0, 453, 0, 0,
+ 0, 629, 0, 0, 0, 3727, 0, 0, 0, 365,
+ 0, 330, 197, 225, 0, 0, 412, 461, 473, 0,
+ 0, 0, 253, 0, 471, 426, 604, 233, 284, 458,
+ 432, 469, 440, 287, 0, 0, 470, 372, 585, 450,
+ 601, 630, 631, 263, 406, 615, 522, 623, 648, 226,
+ 260, 420, 506, 607, 494, 397, 581, 582, 329, 493,
+ 295, 201, 369, 636, 224, 479, 371, 242, 231, 587,
+ 612, 299, 289, 456, 643, 213, 517, 598, 239, 483,
+ 0, 0, 651, 247, 504, 610, 599, 215, 594, 503,
+ 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
+ 258, 415, 589, 590, 256, 652, 228, 622, 220, 0,
+ 621, 408, 584, 595, 394, 383, 219, 593, 392, 382,
+ 334, 355, 356, 280, 307, 447, 375, 448, 306, 308,
+ 404, 403, 405, 207, 608, 626, 0, 208, 0, 499,
+ 611, 653, 452, 212, 234, 235, 237, 0, 279, 283,
+ 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
+ 0, 579, 602, 616, 628, 634, 635, 637, 638, 639,
+ 640, 641, 644, 642, 407, 311, 495, 333, 373, 0,
+ 0, 425, 472, 240, 606, 496, 199, 0, 0, 0,
+ 0, 254, 255, 0, 575, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 669,
+ 670, 671, 649, 508, 514, 509, 510, 511, 512, 513,
+ 0, 515, 0, 0, 0, 0, 0, 398, 0, 591,
+ 592, 672, 384, 486, 603, 335, 349, 352, 341, 361,
+ 0, 362, 337, 338, 343, 346, 347, 348, 353, 354,
+ 358, 364, 249, 210, 390, 399, 578, 312, 216, 217,
+ 218, 524, 525, 526, 527, 619, 620, 624, 205, 462,
+ 463, 464, 465, 292, 614, 309, 468, 467, 331, 332,
+ 379, 449, 540, 542, 553, 557, 559, 561, 567, 570,
+ 541, 543, 554, 558, 560, 562, 568, 571, 530, 532,
+ 534, 536, 549, 548, 545, 573, 574, 551, 556, 535,
+ 547, 552, 565, 572, 569, 529, 533, 537, 546, 564,
+ 563, 544, 555, 566, 550, 538, 531, 539, 0, 196,
+ 221, 368, 0, 454, 288, 650, 618, 484, 613, 206,
+ 223, 0, 262, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 198, 200, 209, 222, 232, 236,
+ 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
+ 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
+ 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
+ 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
+ 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
+ 586, 588, 605, 625, 632, 480, 301, 302, 444, 445,
+ 314, 315, 646, 647, 300, 600, 633, 597, 645, 627,
+ 438, 378, 0, 0, 381, 281, 305, 320, 0, 617,
+ 502, 227, 466, 290, 251, 0, 0, 211, 246, 230,
+ 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
+ 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
+ 433, 396, 0, 376, 576, 577, 316, 0, 0, 0,
+ 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 416, 0, 0, 0, 0, 0, 0, 0,
+ 270, 0, 0, 0, 0, 366, 267, 0, 0, 204,
+ 505, 0, 430, 0, 203, 0, 487, 252, 377, 374,
+ 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
+ 0, 370, 0, 0, 497, 401, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 323, 248, 325, 202, 413, 498,
+ 286, 0, 0, 0, 0, 2133, 507, 724, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 238, 0, 0,
+ 245, 0, 0, 0, 351, 360, 359, 339, 340, 342,
+ 344, 350, 357, 363, 336, 345, 0, 0, 609, 0,
+ 0, 0, 265, 321, 272, 264, 580, 0, 0, 0,
+ 0, 0, 0, 596, 0, 0, 229, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2134,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 629, 0, 0, 0, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 604, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 601, 630, 631, 263, 406, 615, 522, 623, 648,
+ 226, 260, 420, 506, 607, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 636, 224, 479, 371, 242, 231,
+ 587, 612, 299, 289, 456, 643, 213, 517, 598, 239,
+ 483, 0, 0, 651, 247, 504, 610, 599, 215, 594,
503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 0, 258, 415, 589, 590, 256, 652, 228, 622, 220,
+ 0, 621, 408, 584, 595, 394, 383, 219, 593, 392,
382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
+ 308, 404, 403, 405, 207, 608, 626, 0, 208, 0,
+ 499, 611, 653, 452, 212, 234, 235, 237, 0, 279,
283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
+ 451, 0, 579, 602, 616, 628, 634, 635, 637, 638,
+ 639, 640, 641, 644, 642, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 606, 496, 199, 0, 0,
0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
+ 0, 0, 0, 0, 0, 654, 655, 656, 657, 658,
+ 659, 660, 661, 662, 663, 664, 665, 666, 667, 668,
+ 669, 670, 671, 649, 508, 514, 509, 510, 511, 512,
513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
+ 591, 592, 672, 384, 486, 603, 335, 349, 352, 341,
361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
- 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
- 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
+ 217, 218, 524, 525, 526, 527, 619, 620, 624, 205,
+ 462, 463, 464, 465, 292, 614, 309, 468, 467, 331,
332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
+ 196, 221, 368, 0, 454, 288, 650, 618, 484, 613,
206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
@@ -6060,176 +5191,251 @@ var yyAct = [...]int{
414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
- 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
- 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
+ 516, 586, 588, 605, 625, 632, 480, 301, 302, 444,
+ 445, 314, 315, 646, 647, 300, 600, 633, 597, 645,
+ 627, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 617, 502, 227, 466, 290, 251, 0, 0, 211, 246,
230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
- 0, 270, 0, 0, 0, 0, 366, 267, 0, 1919,
+ 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 0, 507, 720, 0,
+ 498, 286, 0, 0, 0, 0, 2880, 507, 724, 0,
0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
+ 342, 344, 350, 357, 363, 336, 345, 0, 0, 609,
0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 596, 0, 0, 229, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 275, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2881, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 297, 0, 402, 257, 0, 453,
+ 0, 0, 0, 629, 0, 0, 0, 0, 0, 0,
+ 0, 365, 0, 330, 197, 225, 0, 0, 412, 461,
+ 473, 0, 0, 0, 253, 0, 471, 426, 604, 233,
+ 284, 458, 432, 469, 440, 287, 0, 0, 470, 372,
+ 585, 450, 601, 630, 631, 263, 406, 615, 522, 623,
+ 648, 226, 260, 420, 506, 607, 494, 397, 581, 582,
+ 329, 493, 295, 201, 369, 636, 224, 479, 371, 242,
+ 231, 587, 612, 299, 289, 456, 643, 213, 517, 598,
+ 239, 483, 0, 0, 651, 247, 504, 610, 599, 215,
+ 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
+ 0, 0, 258, 415, 589, 590, 256, 652, 228, 622,
+ 220, 0, 621, 408, 584, 595, 394, 383, 219, 593,
+ 392, 382, 334, 355, 356, 280, 307, 447, 375, 448,
+ 306, 308, 404, 403, 405, 207, 608, 626, 0, 208,
+ 0, 499, 611, 653, 452, 212, 234, 235, 237, 0,
+ 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
+ 442, 451, 0, 579, 602, 616, 628, 634, 635, 637,
+ 638, 639, 640, 641, 644, 642, 407, 311, 495, 333,
+ 373, 0, 0, 425, 472, 240, 606, 496, 199, 0,
+ 0, 0, 0, 254, 255, 0, 575, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 669, 670, 671, 649, 508, 514, 509, 510, 511,
+ 512, 513, 0, 515, 0, 0, 0, 0, 0, 398,
+ 0, 591, 592, 672, 384, 486, 603, 335, 349, 352,
+ 341, 361, 0, 362, 337, 338, 343, 346, 347, 348,
+ 353, 354, 358, 364, 249, 210, 390, 399, 578, 312,
+ 216, 217, 218, 524, 525, 526, 527, 619, 620, 624,
+ 205, 462, 463, 464, 465, 292, 614, 309, 468, 467,
+ 331, 332, 379, 449, 540, 542, 553, 557, 559, 561,
+ 567, 570, 541, 543, 554, 558, 560, 562, 568, 571,
+ 530, 532, 534, 536, 549, 548, 545, 573, 574, 551,
+ 556, 535, 547, 552, 565, 572, 569, 529, 533, 537,
+ 546, 564, 563, 544, 555, 566, 550, 538, 531, 539,
+ 0, 196, 221, 368, 0, 454, 288, 650, 618, 484,
+ 613, 206, 223, 0, 262, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 198, 200, 209, 222,
+ 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
+ 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
+ 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
+ 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
+ 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
+ 501, 516, 586, 588, 605, 625, 632, 480, 301, 302,
+ 444, 445, 314, 315, 646, 647, 300, 600, 633, 597,
+ 645, 627, 438, 378, 0, 0, 381, 281, 305, 320,
+ 0, 617, 502, 227, 466, 290, 251, 0, 0, 211,
+ 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
+ 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
+ 395, 266, 433, 396, 0, 376, 576, 577, 316, 0,
+ 0, 0, 528, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 416, 0, 0, 0, 0, 0,
+ 0, 0, 270, 0, 0, 0, 0, 366, 267, 0,
+ 0, 204, 505, 0, 430, 0, 203, 0, 487, 252,
+ 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
+ 518, 422, 0, 370, 0, 0, 497, 401, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 323, 248, 325, 202,
+ 413, 498, 286, 0, 0, 0, 0, 0, 507, 724,
+ 0, 0, 0, 0, 2865, 0, 0, 0, 0, 238,
+ 0, 0, 245, 2866, 0, 0, 351, 360, 359, 339,
+ 340, 342, 344, 350, 357, 363, 336, 345, 0, 0,
+ 609, 0, 0, 0, 265, 321, 272, 264, 580, 0,
+ 0, 0, 0, 0, 0, 596, 0, 0, 229, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
- 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
- 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
- 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
- 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
- 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
- 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
- 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
- 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
- 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
- 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
- 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
- 0, 0, 0, 0, 366, 267, 0, 1917, 204, 505,
- 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
- 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 0, 507, 720, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
- 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
- 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 0, 0, 0, 629, 0, 0, 0, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 253, 0, 471, 426, 604,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 601, 630, 631, 263, 406, 615, 522,
+ 623, 648, 226, 260, 420, 506, 607, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 636, 224, 479, 371,
+ 242, 231, 587, 612, 299, 289, 456, 643, 213, 517,
+ 598, 239, 483, 0, 0, 651, 247, 504, 610, 599,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 589, 590, 256, 652, 228,
+ 622, 220, 0, 621, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
+ 448, 306, 308, 404, 403, 405, 207, 608, 626, 0,
+ 208, 0, 499, 611, 653, 452, 212, 234, 235, 237,
+ 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 0, 579, 602, 616, 628, 634, 635,
+ 637, 638, 639, 640, 641, 644, 642, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 606, 496, 199,
+ 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 654, 655, 656,
+ 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
+ 667, 668, 669, 670, 671, 649, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
+ 398, 0, 591, 592, 672, 384, 486, 603, 335, 349,
+ 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
+ 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
+ 312, 216, 217, 218, 524, 525, 526, 527, 619, 620,
+ 624, 205, 462, 463, 464, 465, 292, 614, 309, 468,
+ 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
+ 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
+ 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
+ 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
+ 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
+ 539, 0, 196, 221, 368, 0, 454, 288, 650, 618,
+ 484, 613, 206, 223, 0, 262, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
+ 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
+ 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
+ 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
+ 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
+ 500, 501, 516, 586, 588, 605, 625, 632, 480, 301,
+ 302, 444, 445, 314, 315, 646, 647, 300, 600, 633,
+ 597, 645, 627, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 617, 502, 227, 466, 290, 251, 0, 0,
+ 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
+ 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
+ 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
+ 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
+ 0, 0, 0, 270, 1800, 0, 0, 0, 366, 267,
+ 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
+ 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
+ 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
+ 202, 413, 498, 286, 0, 0, 0, 0, 1799, 507,
+ 724, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
+ 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
+ 0, 609, 0, 0, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 596, 0, 0, 229,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 275, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
- 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
- 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 1915, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
- 0, 0, 0, 507, 720, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
- 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 297, 0, 402, 257,
+ 0, 453, 0, 0, 0, 629, 0, 0, 0, 0,
+ 0, 0, 0, 365, 0, 330, 197, 225, 0, 0,
+ 412, 461, 473, 0, 0, 0, 253, 0, 471, 426,
+ 604, 233, 284, 458, 432, 469, 440, 287, 0, 0,
+ 470, 372, 585, 450, 601, 630, 631, 263, 406, 615,
+ 522, 623, 648, 226, 260, 420, 506, 607, 494, 397,
+ 581, 582, 329, 493, 295, 201, 369, 636, 224, 479,
+ 371, 242, 231, 587, 612, 299, 289, 456, 643, 213,
+ 517, 598, 239, 483, 0, 0, 651, 247, 504, 610,
+ 599, 215, 594, 503, 393, 326, 327, 214, 0, 457,
+ 268, 293, 0, 0, 258, 415, 589, 590, 256, 652,
+ 228, 622, 220, 0, 621, 408, 584, 595, 394, 383,
+ 219, 593, 392, 382, 334, 355, 356, 280, 307, 447,
+ 375, 448, 306, 308, 404, 403, 405, 207, 608, 626,
+ 0, 208, 0, 499, 611, 653, 452, 212, 234, 235,
+ 237, 0, 279, 283, 291, 294, 303, 304, 313, 367,
+ 419, 446, 442, 451, 0, 579, 602, 616, 628, 634,
+ 635, 637, 638, 639, 640, 641, 644, 642, 407, 311,
+ 495, 333, 373, 0, 0, 425, 472, 240, 606, 496,
+ 199, 0, 0, 0, 0, 254, 255, 0, 575, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 669, 670, 671, 649, 508, 514, 509,
+ 510, 511, 512, 513, 0, 515, 0, 0, 0, 0,
+ 0, 398, 0, 591, 592, 672, 384, 486, 603, 335,
+ 349, 352, 341, 361, 0, 362, 337, 338, 343, 346,
+ 347, 348, 353, 354, 358, 364, 249, 210, 390, 399,
+ 578, 312, 216, 217, 218, 524, 525, 526, 527, 619,
+ 620, 624, 205, 462, 463, 464, 465, 292, 614, 309,
+ 468, 467, 331, 332, 379, 449, 540, 542, 553, 557,
+ 559, 561, 567, 570, 541, 543, 554, 558, 560, 562,
+ 568, 571, 530, 532, 534, 536, 549, 548, 545, 573,
+ 574, 551, 556, 535, 547, 552, 565, 572, 569, 529,
+ 533, 537, 546, 564, 563, 544, 555, 566, 550, 538,
+ 531, 539, 0, 196, 221, 368, 0, 454, 288, 650,
+ 618, 484, 613, 206, 223, 0, 262, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 198, 200,
+ 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
+ 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
+ 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
+ 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
+ 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
+ 492, 500, 501, 516, 586, 588, 605, 625, 632, 480,
+ 301, 302, 444, 445, 314, 315, 646, 647, 300, 600,
+ 633, 597, 645, 627, 438, 378, 0, 0, 381, 281,
+ 305, 320, 0, 617, 502, 227, 466, 290, 251, 0,
+ 0, 211, 246, 230, 259, 274, 277, 324, 391, 400,
+ 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
+ 521, 523, 395, 266, 433, 396, 0, 376, 576, 577,
+ 316, 0, 0, 0, 528, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 416, 0, 0, 0,
+ 0, 0, 0, 0, 270, 0, 0, 0, 0, 366,
+ 267, 0, 0, 204, 505, 0, 430, 0, 203, 0,
+ 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
+ 385, 428, 518, 422, 0, 370, 0, 0, 497, 401,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 323, 248,
+ 325, 202, 413, 498, 286, 0, 0, 0, 0, 0,
+ 507, 726, 727, 728, 0, 0, 0, 0, 0, 0,
+ 0, 238, 0, 0, 245, 0, 0, 0, 351, 360,
+ 359, 339, 340, 342, 344, 350, 357, 363, 336, 345,
+ 0, 0, 609, 0, 0, 0, 265, 321, 272, 264,
+ 580, 0, 0, 0, 0, 0, 0, 596, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6237,43 +5443,43 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
- 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
- 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
+ 257, 0, 453, 0, 0, 0, 629, 0, 0, 0,
+ 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
+ 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
+ 426, 604, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 601, 630, 631, 263, 406,
+ 615, 522, 623, 648, 226, 260, 420, 506, 607, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 636, 224,
+ 479, 371, 242, 231, 587, 612, 299, 289, 456, 643,
+ 213, 517, 598, 239, 483, 0, 0, 651, 247, 504,
+ 610, 599, 215, 594, 503, 393, 326, 327, 214, 0,
457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
+ 652, 228, 622, 220, 0, 621, 408, 584, 595, 394,
383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
- 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
+ 447, 375, 448, 306, 308, 404, 403, 405, 207, 608,
+ 626, 0, 208, 0, 499, 611, 653, 452, 212, 234,
235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
- 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
+ 367, 419, 446, 442, 451, 0, 579, 602, 616, 628,
+ 634, 635, 637, 638, 639, 640, 641, 644, 642, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 606,
496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 654,
+ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
+ 665, 666, 667, 668, 669, 670, 671, 649, 508, 514,
509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
+ 0, 0, 398, 0, 591, 592, 672, 384, 486, 603,
335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
- 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
+ 619, 620, 624, 205, 462, 463, 464, 465, 292, 614,
309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
- 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
+ 650, 618, 484, 613, 206, 223, 0, 262, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
@@ -6281,177 +5487,252 @@ var yyAct = [...]int{
389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
- 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
- 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
+ 491, 492, 500, 501, 516, 586, 588, 605, 625, 632,
+ 480, 301, 302, 444, 445, 314, 315, 646, 647, 300,
+ 600, 633, 597, 645, 627, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 617, 502, 227, 466, 290, 251,
0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
- 366, 267, 0, 1913, 204, 505, 0, 430, 0, 203,
+ 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 0, 507, 720, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
- 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
- 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
- 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
- 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
- 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
- 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
- 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
- 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
- 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
- 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
- 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
- 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
- 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
- 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
- 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
- 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
- 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
- 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
- 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
- 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
- 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
- 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
- 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
- 0, 1909, 204, 505, 0, 430, 0, 203, 0, 487,
- 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 0, 0, 0, 0, 507,
- 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
- 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
- 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
+ 0, 507, 724, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
+ 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
+ 345, 0, 0, 609, 0, 0, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 596, 0,
+ 0, 229, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 275, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 297, 0,
+ 402, 257, 0, 453, 0, 0, 0, 629, 0, 0,
+ 0, 4071, 0, 0, 0, 365, 0, 330, 197, 225,
+ 0, 0, 412, 461, 473, 0, 0, 0, 253, 0,
+ 471, 426, 604, 233, 284, 458, 432, 469, 440, 287,
+ 0, 0, 470, 372, 585, 450, 601, 630, 631, 263,
+ 406, 615, 522, 623, 648, 226, 260, 420, 506, 607,
+ 494, 397, 581, 582, 329, 493, 295, 201, 369, 636,
+ 224, 479, 371, 242, 231, 587, 612, 299, 289, 456,
+ 643, 213, 517, 598, 239, 483, 0, 0, 651, 247,
+ 504, 610, 599, 215, 594, 503, 393, 326, 327, 214,
+ 0, 457, 268, 293, 0, 0, 258, 415, 589, 590,
+ 256, 652, 228, 622, 220, 0, 621, 408, 584, 595,
+ 394, 383, 219, 593, 392, 382, 334, 355, 356, 280,
+ 307, 447, 375, 448, 306, 308, 404, 403, 405, 207,
+ 608, 626, 0, 208, 0, 499, 611, 653, 452, 212,
+ 234, 235, 237, 0, 279, 283, 291, 294, 303, 304,
+ 313, 367, 419, 446, 442, 451, 0, 579, 602, 616,
+ 628, 634, 635, 637, 638, 639, 640, 641, 644, 642,
+ 407, 311, 495, 333, 373, 0, 0, 425, 472, 240,
+ 606, 496, 199, 0, 0, 0, 0, 254, 255, 0,
+ 575, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 669, 670, 671, 649, 508,
+ 514, 509, 510, 511, 512, 513, 0, 515, 0, 0,
+ 0, 0, 0, 398, 0, 591, 592, 672, 384, 486,
+ 603, 335, 349, 352, 341, 361, 0, 362, 337, 338,
+ 343, 346, 347, 348, 353, 354, 358, 364, 249, 210,
+ 390, 399, 578, 312, 216, 217, 218, 524, 525, 526,
+ 527, 619, 620, 624, 205, 462, 463, 464, 465, 292,
+ 614, 309, 468, 467, 331, 332, 379, 449, 540, 542,
+ 553, 557, 559, 561, 567, 570, 541, 543, 554, 558,
+ 560, 562, 568, 571, 530, 532, 534, 536, 549, 548,
+ 545, 573, 574, 551, 556, 535, 547, 552, 565, 572,
+ 569, 529, 533, 537, 546, 564, 563, 544, 555, 566,
+ 550, 538, 531, 539, 0, 196, 221, 368, 0, 454,
+ 288, 650, 618, 484, 613, 206, 223, 0, 262, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
+ 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
+ 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
+ 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
+ 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
+ 490, 491, 492, 500, 501, 516, 586, 588, 605, 625,
+ 632, 480, 301, 302, 444, 445, 314, 315, 646, 647,
+ 300, 600, 633, 597, 645, 627, 438, 378, 0, 0,
+ 381, 281, 305, 320, 0, 617, 502, 227, 466, 290,
+ 251, 0, 0, 211, 246, 230, 259, 274, 277, 324,
+ 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
+ 519, 520, 521, 523, 395, 266, 433, 396, 0, 376,
+ 576, 577, 316, 0, 0, 0, 528, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
+ 0, 0, 0, 0, 0, 0, 270, 0, 0, 0,
+ 0, 366, 267, 0, 0, 204, 505, 0, 430, 0,
+ 203, 0, 487, 252, 377, 374, 583, 282, 273, 269,
+ 250, 317, 385, 428, 518, 422, 0, 370, 0, 0,
+ 497, 401, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 323, 248, 325, 202, 413, 498, 286, 0, 0, 0,
+ 0, 1962, 507, 194, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 238, 0, 0, 245, 0, 0, 0,
+ 351, 360, 359, 339, 340, 342, 344, 350, 357, 363,
+ 336, 345, 0, 0, 609, 0, 0, 0, 265, 321,
+ 272, 264, 580, 0, 0, 0, 0, 0, 0, 596,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 0, 0, 0, 629, 0,
+ 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
+ 0, 471, 426, 604, 233, 284, 458, 432, 469, 440,
+ 287, 0, 0, 470, 372, 585, 450, 601, 630, 631,
+ 263, 406, 615, 522, 623, 648, 226, 260, 420, 506,
+ 607, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 636, 224, 479, 371, 242, 231, 587, 612, 299, 289,
+ 456, 643, 213, 517, 598, 239, 483, 0, 0, 651,
+ 247, 504, 610, 599, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 652, 228, 622, 220, 0, 621, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 608, 626, 0, 208, 0, 499, 611, 653, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 602,
+ 616, 628, 634, 635, 637, 638, 639, 640, 641, 644,
+ 642, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 606, 496, 199, 0, 0, 0, 0, 254, 255,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 654, 655, 656, 657, 658, 659, 660, 661, 662,
+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 649,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
+ 0, 0, 0, 0, 398, 0, 591, 592, 672, 384,
+ 486, 603, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 619, 620, 624, 205, 462, 463, 464, 465,
+ 292, 614, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
+ 454, 288, 650, 618, 484, 613, 206, 223, 0, 262,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
- 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
- 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
- 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
- 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
- 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
- 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
- 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
- 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
- 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
- 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
- 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
- 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
- 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
- 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
- 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
- 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
- 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
- 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
- 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
- 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
- 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
- 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
- 0, 270, 0, 0, 0, 0, 366, 267, 0, 1907,
- 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
- 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 605,
+ 625, 632, 480, 301, 302, 444, 445, 314, 315, 646,
+ 647, 300, 600, 633, 597, 645, 627, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 617, 502, 227, 466,
+ 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 0, 507, 720, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
- 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
- 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
+ 0, 0, 0, 507, 724, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
+ 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
+ 363, 336, 345, 0, 0, 609, 0, 0, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 596, 0, 0, 229, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 275, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 297, 0, 402, 257, 0, 453, 0, 0, 0, 629,
+ 0, 0, 0, 3727, 0, 0, 0, 365, 0, 330,
+ 197, 225, 0, 0, 412, 461, 473, 0, 0, 0,
+ 253, 0, 471, 426, 604, 233, 284, 458, 432, 469,
+ 440, 287, 0, 0, 470, 372, 585, 450, 601, 630,
+ 631, 263, 406, 615, 522, 623, 648, 226, 260, 420,
+ 506, 607, 494, 397, 581, 582, 329, 493, 295, 201,
+ 369, 636, 224, 479, 371, 242, 231, 587, 612, 299,
+ 289, 456, 643, 213, 517, 598, 239, 483, 0, 0,
+ 651, 247, 504, 610, 599, 215, 594, 503, 393, 326,
+ 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
+ 589, 590, 256, 652, 228, 622, 220, 0, 621, 408,
+ 584, 595, 394, 383, 219, 593, 392, 382, 334, 355,
+ 356, 280, 307, 447, 375, 448, 306, 308, 404, 403,
+ 405, 207, 608, 626, 0, 208, 0, 499, 611, 653,
+ 452, 212, 234, 235, 237, 0, 279, 283, 291, 294,
+ 303, 304, 313, 367, 419, 446, 442, 451, 0, 579,
+ 602, 616, 628, 634, 635, 637, 638, 639, 640, 641,
+ 644, 642, 407, 311, 495, 333, 373, 0, 0, 425,
+ 472, 240, 606, 496, 199, 0, 0, 0, 0, 254,
+ 255, 0, 575, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 669, 670, 671,
+ 649, 508, 514, 509, 510, 511, 512, 513, 0, 515,
+ 0, 0, 0, 0, 0, 398, 0, 591, 592, 672,
+ 384, 486, 603, 335, 349, 352, 341, 361, 0, 362,
+ 337, 338, 343, 346, 347, 348, 353, 354, 358, 364,
+ 249, 210, 390, 399, 578, 312, 216, 217, 218, 524,
+ 525, 526, 527, 619, 620, 624, 205, 462, 463, 464,
+ 465, 292, 614, 309, 468, 467, 331, 332, 379, 449,
+ 540, 542, 553, 557, 559, 561, 567, 570, 541, 543,
+ 554, 558, 560, 562, 568, 571, 530, 532, 534, 536,
+ 549, 548, 545, 573, 574, 551, 556, 535, 547, 552,
+ 565, 572, 569, 529, 533, 537, 546, 564, 563, 544,
+ 555, 566, 550, 538, 531, 539, 0, 196, 221, 368,
+ 0, 454, 288, 650, 618, 484, 613, 206, 223, 0,
+ 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 198, 200, 209, 222, 232, 236, 243, 261,
+ 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
+ 386, 387, 388, 389, 409, 410, 411, 414, 417, 418,
+ 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
+ 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
+ 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
+ 605, 625, 632, 480, 301, 302, 444, 445, 314, 315,
+ 646, 647, 300, 600, 633, 597, 645, 627, 438, 378,
+ 0, 0, 381, 281, 305, 320, 0, 617, 502, 227,
+ 466, 290, 251, 0, 0, 211, 246, 230, 259, 274,
+ 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
+ 241, 485, 519, 520, 521, 523, 395, 266, 433, 396,
+ 0, 376, 576, 577, 316, 0, 0, 0, 528, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 416, 0, 0, 0, 0, 0, 0, 0, 270, 0,
+ 0, 0, 0, 366, 267, 0, 0, 204, 505, 0,
+ 430, 0, 203, 0, 487, 252, 377, 374, 583, 282,
+ 273, 269, 250, 317, 385, 428, 518, 422, 0, 370,
+ 0, 0, 497, 401, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 323, 248, 325, 202, 413, 498, 286, 0,
+ 95, 0, 0, 0, 507, 724, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 238, 0, 0, 245, 0,
+ 0, 0, 351, 360, 359, 339, 340, 342, 344, 350,
+ 357, 363, 336, 345, 0, 0, 609, 0, 0, 0,
+ 265, 321, 272, 264, 580, 0, 0, 0, 0, 0,
+ 0, 596, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6459,42 +5740,42 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
- 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
+ 629, 0, 0, 0, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 253, 0, 471, 426, 604, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 601,
+ 630, 631, 263, 406, 615, 522, 623, 648, 226, 260,
+ 420, 506, 607, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 636, 224, 479, 371, 242, 231, 587, 612,
+ 299, 289, 456, 643, 213, 517, 598, 239, 483, 0,
+ 0, 651, 247, 504, 610, 599, 215, 594, 503, 393,
326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
+ 415, 589, 590, 256, 652, 228, 622, 220, 0, 621,
408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 403, 405, 207, 608, 626, 0, 208, 0, 499, 611,
+ 653, 452, 212, 234, 235, 237, 0, 279, 283, 291,
294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
+ 579, 602, 616, 628, 634, 635, 637, 638, 639, 640,
+ 641, 644, 642, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 606, 496, 199, 0, 0, 0, 0,
254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 0, 0, 0, 654, 655, 656, 657, 658, 659, 660,
+ 661, 662, 663, 664, 665, 666, 667, 668, 669, 670,
+ 671, 649, 508, 514, 509, 510, 511, 512, 513, 0,
515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 672, 384, 486, 603, 335, 349, 352, 341, 361, 0,
362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
+ 524, 525, 526, 527, 619, 620, 624, 205, 462, 463,
+ 464, 465, 292, 614, 309, 468, 467, 331, 332, 379,
449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
+ 368, 0, 454, 288, 650, 618, 484, 613, 206, 223,
0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
@@ -6503,29 +5784,103 @@ var yyAct = [...]int{
418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
- 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
+ 588, 605, 625, 632, 480, 301, 302, 444, 445, 314,
+ 315, 646, 647, 300, 600, 633, 597, 645, 627, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 617, 502,
227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2428, 0, 0, 0, 0, 0,
0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
- 0, 0, 0, 0, 366, 267, 0, 1905, 204, 505,
+ 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 0, 507, 720, 0, 0, 0,
+ 0, 0, 0, 0, 0, 507, 194, 0, 0, 0,
0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
+ 350, 357, 363, 336, 345, 0, 0, 609, 0, 0,
0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
+ 0, 0, 596, 0, 0, 229, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 297, 0, 402, 257, 0, 453, 0, 0,
+ 0, 629, 0, 0, 0, 0, 0, 0, 0, 365,
+ 0, 330, 197, 225, 0, 0, 412, 461, 473, 0,
+ 0, 0, 253, 0, 471, 426, 604, 233, 284, 458,
+ 432, 469, 440, 287, 0, 0, 470, 372, 585, 450,
+ 601, 630, 631, 263, 406, 615, 522, 623, 648, 226,
+ 260, 420, 506, 607, 494, 397, 581, 582, 329, 493,
+ 295, 201, 369, 636, 224, 479, 371, 242, 231, 587,
+ 612, 299, 289, 456, 643, 213, 517, 598, 239, 483,
+ 0, 0, 651, 247, 504, 610, 599, 215, 594, 503,
+ 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
+ 258, 415, 589, 590, 256, 652, 228, 622, 220, 0,
+ 621, 408, 584, 595, 394, 383, 219, 593, 392, 382,
+ 334, 355, 356, 280, 307, 447, 375, 448, 306, 308,
+ 404, 403, 405, 207, 608, 626, 0, 208, 0, 499,
+ 611, 653, 452, 212, 234, 235, 237, 0, 279, 283,
+ 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
+ 0, 579, 602, 616, 628, 634, 635, 637, 638, 639,
+ 640, 641, 644, 642, 407, 311, 495, 333, 373, 0,
+ 0, 425, 472, 240, 606, 496, 199, 0, 0, 0,
+ 0, 254, 255, 0, 575, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 669,
+ 670, 671, 649, 508, 514, 509, 510, 511, 512, 513,
+ 0, 515, 0, 0, 0, 0, 0, 398, 0, 591,
+ 592, 672, 384, 486, 603, 335, 349, 352, 341, 361,
+ 0, 362, 337, 338, 343, 346, 347, 348, 353, 354,
+ 358, 364, 249, 210, 390, 399, 578, 312, 216, 217,
+ 218, 524, 525, 526, 527, 619, 620, 624, 205, 462,
+ 463, 464, 465, 292, 614, 309, 468, 467, 331, 332,
+ 379, 449, 540, 542, 553, 557, 559, 561, 567, 570,
+ 541, 543, 554, 558, 560, 562, 568, 571, 530, 532,
+ 534, 536, 549, 548, 545, 573, 574, 551, 556, 535,
+ 547, 552, 565, 572, 569, 529, 533, 537, 546, 564,
+ 563, 544, 555, 566, 550, 538, 531, 539, 0, 196,
+ 221, 368, 0, 454, 288, 650, 618, 484, 613, 206,
+ 223, 0, 262, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 198, 200, 209, 222, 232, 236,
+ 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
+ 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
+ 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
+ 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
+ 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
+ 586, 588, 605, 625, 632, 480, 301, 302, 444, 445,
+ 314, 315, 646, 647, 300, 600, 633, 597, 645, 627,
+ 438, 378, 0, 0, 381, 281, 305, 320, 0, 617,
+ 502, 227, 466, 290, 251, 0, 0, 211, 246, 230,
+ 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
+ 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
+ 433, 396, 0, 376, 576, 577, 316, 0, 0, 0,
+ 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 416, 0, 0, 0, 0, 0, 0, 0,
+ 270, 0, 0, 0, 0, 366, 267, 0, 0, 204,
+ 505, 0, 430, 0, 203, 0, 487, 252, 377, 374,
+ 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
+ 0, 370, 0, 0, 497, 401, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 323, 248, 325, 202, 413, 498,
+ 286, 0, 0, 0, 0, 1781, 507, 724, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 238, 0, 0,
+ 245, 0, 0, 0, 351, 360, 359, 339, 340, 342,
+ 344, 350, 357, 363, 336, 345, 0, 0, 609, 0,
+ 0, 0, 265, 321, 272, 264, 580, 0, 0, 0,
+ 0, 0, 0, 596, 0, 0, 229, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6533,72 +5888,73 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
- 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 629, 0, 0, 0, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 604, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 601, 630, 631, 263, 406, 615, 522, 623, 648,
+ 226, 260, 420, 506, 607, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 636, 224, 479, 371, 242, 231,
+ 587, 612, 299, 289, 456, 643, 213, 517, 598, 239,
+ 483, 0, 0, 651, 247, 504, 610, 599, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 589, 590, 256, 652, 228, 622, 220,
+ 0, 621, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
+ 308, 404, 403, 405, 207, 608, 626, 0, 208, 0,
+ 499, 611, 653, 452, 212, 234, 235, 237, 0, 279,
+ 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
+ 451, 0, 579, 602, 616, 628, 634, 635, 637, 638,
+ 639, 640, 641, 644, 642, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 606, 496, 199, 0, 0,
+ 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 654, 655, 656, 657, 658,
+ 659, 660, 661, 662, 663, 664, 665, 666, 667, 668,
+ 669, 670, 671, 649, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
+ 591, 592, 672, 384, 486, 603, 335, 349, 352, 341,
+ 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
+ 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
+ 217, 218, 524, 525, 526, 527, 619, 620, 624, 205,
+ 462, 463, 464, 465, 292, 614, 309, 468, 467, 331,
+ 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
+ 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
+ 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
+ 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
+ 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
+ 196, 221, 368, 0, 454, 288, 650, 618, 484, 613,
+ 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
+ 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
+ 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
+ 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
+ 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
+ 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
+ 516, 586, 588, 605, 625, 632, 480, 301, 302, 444,
+ 445, 314, 315, 646, 647, 300, 600, 633, 597, 645,
+ 627, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 617, 502, 227, 466, 290, 251, 0, 0, 211, 246,
+ 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
+ 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
+ 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
+ 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
+ 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
+ 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
+ 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
+ 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
- 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
+ 498, 286, 0, 0, 0, 0, 0, 507, 194, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
+ 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
+ 342, 344, 350, 357, 363, 336, 345, 0, 0, 609,
+ 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
+ 0, 0, 0, 0, 596, 0, 0, 229, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 1880,
- 0, 0, 0, 507, 720, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
- 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 275, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6606,73 +5962,73 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
- 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
- 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
- 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
- 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
- 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
- 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
- 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
- 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
- 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
- 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
- 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
- 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
- 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
- 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
- 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
- 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
- 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
- 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
- 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
+ 0, 0, 0, 0, 297, 0, 402, 257, 0, 453,
+ 0, 0, 0, 629, 0, 0, 0, 0, 0, 0,
+ 0, 365, 0, 330, 197, 225, 0, 0, 412, 461,
+ 473, 0, 0, 0, 253, 0, 471, 426, 604, 233,
+ 284, 458, 432, 469, 440, 287, 0, 0, 470, 372,
+ 585, 450, 601, 630, 631, 263, 406, 615, 522, 623,
+ 648, 226, 260, 420, 506, 607, 494, 397, 581, 582,
+ 329, 493, 295, 201, 369, 636, 224, 479, 371, 242,
+ 231, 587, 612, 299, 289, 456, 643, 213, 517, 598,
+ 239, 483, 0, 0, 651, 247, 504, 610, 599, 215,
+ 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
+ 0, 0, 258, 415, 589, 590, 256, 652, 228, 622,
+ 220, 0, 621, 408, 584, 595, 394, 383, 219, 593,
+ 392, 382, 334, 355, 356, 280, 307, 447, 375, 448,
+ 306, 308, 404, 403, 405, 207, 608, 626, 0, 208,
+ 0, 499, 611, 653, 452, 212, 234, 235, 237, 0,
+ 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
+ 442, 451, 0, 579, 602, 616, 628, 634, 635, 637,
+ 638, 639, 640, 641, 644, 642, 407, 311, 495, 333,
+ 373, 0, 0, 425, 472, 240, 606, 496, 199, 0,
+ 0, 0, 0, 254, 255, 0, 575, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 669, 670, 671, 649, 508, 514, 509, 510, 511,
+ 512, 513, 0, 515, 0, 0, 0, 0, 0, 398,
+ 0, 591, 592, 672, 384, 486, 603, 335, 349, 352,
+ 341, 361, 0, 362, 337, 338, 343, 346, 347, 348,
+ 353, 354, 358, 364, 249, 210, 390, 399, 578, 312,
+ 216, 217, 218, 524, 525, 526, 527, 619, 620, 624,
+ 205, 462, 463, 464, 465, 292, 614, 309, 468, 467,
+ 331, 332, 379, 449, 540, 542, 553, 557, 559, 561,
+ 567, 570, 541, 543, 554, 558, 560, 562, 568, 571,
+ 530, 532, 534, 536, 549, 548, 545, 573, 574, 551,
+ 556, 535, 547, 552, 565, 572, 569, 529, 533, 537,
+ 546, 564, 563, 544, 555, 566, 550, 538, 531, 539,
+ 0, 196, 221, 368, 2080, 454, 288, 650, 618, 484,
+ 613, 206, 223, 0, 262, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 198, 200, 209, 222,
+ 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
+ 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
+ 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
+ 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
+ 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
+ 501, 516, 586, 588, 605, 625, 632, 480, 301, 302,
+ 444, 445, 314, 315, 646, 647, 300, 600, 633, 597,
+ 645, 627, 438, 378, 0, 0, 381, 281, 305, 320,
+ 0, 617, 502, 227, 466, 290, 251, 0, 0, 211,
+ 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
+ 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
+ 395, 266, 433, 396, 0, 376, 576, 577, 316, 0,
+ 0, 0, 528, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 416, 0, 0, 0, 0, 0,
+ 0, 0, 270, 0, 0, 0, 0, 366, 267, 0,
+ 0, 204, 505, 0, 430, 0, 203, 0, 487, 252,
+ 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
+ 518, 422, 0, 370, 0, 0, 497, 401, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 323, 248, 325, 202,
+ 413, 498, 286, 0, 0, 0, 0, 2071, 507, 724,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
+ 0, 0, 245, 0, 0, 0, 351, 360, 359, 339,
+ 340, 342, 344, 350, 357, 363, 336, 345, 0, 0,
+ 609, 0, 0, 0, 265, 321, 272, 264, 580, 0,
+ 0, 0, 0, 0, 0, 596, 0, 0, 229, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
- 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
- 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
- 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
- 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
- 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
- 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
- 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
- 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
- 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
- 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
- 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 0, 0, 0, 1778, 270, 0, 0, 0, 0,
- 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
- 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 0, 507, 194, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
- 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6680,43 +6036,43 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
- 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 0, 0, 0, 629, 0, 0, 0, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 253, 0, 471, 426, 604,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 601, 630, 631, 263, 406, 615, 522,
+ 623, 648, 226, 260, 420, 506, 607, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 636, 224, 479, 371,
+ 242, 231, 587, 612, 299, 289, 456, 643, 213, 517,
+ 598, 239, 483, 0, 0, 651, 247, 504, 610, 599,
215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
+ 293, 0, 0, 258, 415, 589, 590, 256, 652, 228,
+ 622, 220, 0, 621, 408, 584, 595, 394, 383, 219,
593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
+ 448, 306, 308, 404, 403, 405, 207, 608, 626, 0,
+ 208, 0, 499, 611, 653, 452, 212, 234, 235, 237,
0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
+ 446, 442, 451, 0, 579, 602, 616, 628, 634, 635,
+ 637, 638, 639, 640, 641, 644, 642, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 606, 496, 199,
0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 0, 0, 0, 0, 0, 0, 0, 654, 655, 656,
+ 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
+ 667, 668, 669, 670, 671, 649, 508, 514, 509, 510,
511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
+ 398, 0, 591, 592, 672, 384, 486, 603, 335, 349,
352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
+ 312, 216, 217, 218, 524, 525, 526, 527, 619, 620,
+ 624, 205, 462, 463, 464, 465, 292, 614, 309, 468,
467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
- 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
+ 539, 0, 196, 221, 368, 0, 454, 288, 650, 618,
+ 484, 613, 206, 223, 0, 262, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
@@ -6724,103 +6080,400 @@ var yyAct = [...]int{
410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
- 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
- 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
+ 500, 501, 516, 586, 588, 605, 625, 632, 480, 301,
+ 302, 444, 445, 314, 315, 646, 647, 300, 600, 633,
+ 597, 645, 627, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 617, 502, 227, 466, 290, 251, 0, 0,
211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
- 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
+ 0, 1929, 204, 505, 0, 430, 0, 203, 0, 487,
252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 95, 0, 0, 0, 507,
- 955, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 202, 413, 498, 286, 0, 0, 0, 0, 0, 507,
+ 724, 0, 0, 0, 0, 0, 0, 0, 0, 0,
238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
- 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 0, 609, 0, 0, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 596, 0, 0, 229,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 275, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 297, 0, 402, 257,
+ 0, 453, 0, 0, 0, 629, 0, 0, 0, 0,
+ 0, 0, 0, 365, 0, 330, 197, 225, 0, 0,
+ 412, 461, 473, 0, 0, 0, 253, 0, 471, 426,
+ 604, 233, 284, 458, 432, 469, 440, 287, 0, 0,
+ 470, 372, 585, 450, 601, 630, 631, 263, 406, 615,
+ 522, 623, 648, 226, 260, 420, 506, 607, 494, 397,
+ 581, 582, 329, 493, 295, 201, 369, 636, 224, 479,
+ 371, 242, 231, 587, 612, 299, 289, 456, 643, 213,
+ 517, 598, 239, 483, 0, 0, 651, 247, 504, 610,
+ 599, 215, 594, 503, 393, 326, 327, 214, 0, 457,
+ 268, 293, 0, 0, 258, 415, 589, 590, 256, 652,
+ 228, 622, 220, 0, 621, 408, 584, 595, 394, 383,
+ 219, 593, 392, 382, 334, 355, 356, 280, 307, 447,
+ 375, 448, 306, 308, 404, 403, 405, 207, 608, 626,
+ 0, 208, 0, 499, 611, 653, 452, 212, 234, 235,
+ 237, 0, 279, 283, 291, 294, 303, 304, 313, 367,
+ 419, 446, 442, 451, 0, 579, 602, 616, 628, 634,
+ 635, 637, 638, 639, 640, 641, 644, 642, 407, 311,
+ 495, 333, 373, 0, 0, 425, 472, 240, 606, 496,
+ 199, 0, 0, 0, 0, 254, 255, 0, 575, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 669, 670, 671, 649, 508, 514, 509,
+ 510, 511, 512, 513, 0, 515, 0, 0, 0, 0,
+ 0, 398, 0, 591, 592, 672, 384, 486, 603, 335,
+ 349, 352, 341, 361, 0, 362, 337, 338, 343, 346,
+ 347, 348, 353, 354, 358, 364, 249, 210, 390, 399,
+ 578, 312, 216, 217, 218, 524, 525, 526, 527, 619,
+ 620, 624, 205, 462, 463, 464, 465, 292, 614, 309,
+ 468, 467, 331, 332, 379, 449, 540, 542, 553, 557,
+ 559, 561, 567, 570, 541, 543, 554, 558, 560, 562,
+ 568, 571, 530, 532, 534, 536, 549, 548, 545, 573,
+ 574, 551, 556, 535, 547, 552, 565, 572, 569, 529,
+ 533, 537, 546, 564, 563, 544, 555, 566, 550, 538,
+ 531, 539, 0, 196, 221, 368, 0, 454, 288, 650,
+ 618, 484, 613, 206, 223, 0, 262, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 198, 200,
+ 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
+ 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
+ 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
+ 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
+ 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
+ 492, 500, 501, 516, 586, 588, 605, 625, 632, 480,
+ 301, 302, 444, 445, 314, 315, 646, 647, 300, 600,
+ 633, 597, 645, 627, 438, 378, 0, 0, 381, 281,
+ 305, 320, 0, 617, 502, 227, 466, 290, 251, 0,
+ 0, 211, 246, 230, 259, 274, 277, 324, 391, 400,
+ 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
+ 521, 523, 395, 266, 433, 396, 0, 376, 576, 577,
+ 316, 0, 0, 0, 528, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 416, 0, 0, 0,
+ 0, 0, 0, 0, 270, 0, 0, 0, 0, 366,
+ 267, 0, 1927, 204, 505, 0, 430, 0, 203, 0,
+ 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
+ 385, 428, 518, 422, 0, 370, 0, 0, 497, 401,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 323, 248,
+ 325, 202, 413, 498, 286, 0, 0, 0, 0, 0,
+ 507, 724, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 238, 0, 0, 245, 0, 0, 0, 351, 360,
+ 359, 339, 340, 342, 344, 350, 357, 363, 336, 345,
+ 0, 0, 609, 0, 0, 0, 265, 321, 272, 264,
+ 580, 0, 0, 0, 0, 0, 0, 596, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
+ 257, 0, 453, 0, 0, 0, 629, 0, 0, 0,
+ 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
+ 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
+ 426, 604, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 601, 630, 631, 263, 406,
+ 615, 522, 623, 648, 226, 260, 420, 506, 607, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 636, 224,
+ 479, 371, 242, 231, 587, 612, 299, 289, 456, 643,
+ 213, 517, 598, 239, 483, 0, 0, 651, 247, 504,
+ 610, 599, 215, 594, 503, 393, 326, 327, 214, 0,
+ 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
+ 652, 228, 622, 220, 0, 621, 408, 584, 595, 394,
+ 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
+ 447, 375, 448, 306, 308, 404, 403, 405, 207, 608,
+ 626, 0, 208, 0, 499, 611, 653, 452, 212, 234,
+ 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 0, 579, 602, 616, 628,
+ 634, 635, 637, 638, 639, 640, 641, 644, 642, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 606,
+ 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 654,
+ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
+ 665, 666, 667, 668, 669, 670, 671, 649, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
+ 0, 0, 398, 0, 591, 592, 672, 384, 486, 603,
+ 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
+ 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
+ 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
+ 619, 620, 624, 205, 462, 463, 464, 465, 292, 614,
+ 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
+ 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
+ 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
+ 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
+ 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
+ 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
+ 650, 618, 484, 613, 206, 223, 0, 262, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
+ 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
+ 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
+ 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
+ 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
+ 491, 492, 500, 501, 516, 586, 588, 605, 625, 632,
+ 480, 301, 302, 444, 445, 314, 315, 646, 647, 300,
+ 600, 633, 597, 645, 627, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 617, 502, 227, 466, 290, 251,
+ 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
+ 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
+ 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
+ 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
+ 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
+ 366, 267, 0, 1925, 204, 505, 0, 430, 0, 203,
+ 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
+ 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
+ 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
+ 0, 507, 724, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
+ 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
+ 345, 0, 0, 609, 0, 0, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 596, 0,
+ 0, 229, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 275, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 297, 0,
+ 402, 257, 0, 453, 0, 0, 0, 629, 0, 0,
+ 0, 0, 0, 0, 0, 365, 0, 330, 197, 225,
+ 0, 0, 412, 461, 473, 0, 0, 0, 253, 0,
+ 471, 426, 604, 233, 284, 458, 432, 469, 440, 287,
+ 0, 0, 470, 372, 585, 450, 601, 630, 631, 263,
+ 406, 615, 522, 623, 648, 226, 260, 420, 506, 607,
+ 494, 397, 581, 582, 329, 493, 295, 201, 369, 636,
+ 224, 479, 371, 242, 231, 587, 612, 299, 289, 456,
+ 643, 213, 517, 598, 239, 483, 0, 0, 651, 247,
+ 504, 610, 599, 215, 594, 503, 393, 326, 327, 214,
+ 0, 457, 268, 293, 0, 0, 258, 415, 589, 590,
+ 256, 652, 228, 622, 220, 0, 621, 408, 584, 595,
+ 394, 383, 219, 593, 392, 382, 334, 355, 356, 280,
+ 307, 447, 375, 448, 306, 308, 404, 403, 405, 207,
+ 608, 626, 0, 208, 0, 499, 611, 653, 452, 212,
+ 234, 235, 237, 0, 279, 283, 291, 294, 303, 304,
+ 313, 367, 419, 446, 442, 451, 0, 579, 602, 616,
+ 628, 634, 635, 637, 638, 639, 640, 641, 644, 642,
+ 407, 311, 495, 333, 373, 0, 0, 425, 472, 240,
+ 606, 496, 199, 0, 0, 0, 0, 254, 255, 0,
+ 575, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 669, 670, 671, 649, 508,
+ 514, 509, 510, 511, 512, 513, 0, 515, 0, 0,
+ 0, 0, 0, 398, 0, 591, 592, 672, 384, 486,
+ 603, 335, 349, 352, 341, 361, 0, 362, 337, 338,
+ 343, 346, 347, 348, 353, 354, 358, 364, 249, 210,
+ 390, 399, 578, 312, 216, 217, 218, 524, 525, 526,
+ 527, 619, 620, 624, 205, 462, 463, 464, 465, 292,
+ 614, 309, 468, 467, 331, 332, 379, 449, 540, 542,
+ 553, 557, 559, 561, 567, 570, 541, 543, 554, 558,
+ 560, 562, 568, 571, 530, 532, 534, 536, 549, 548,
+ 545, 573, 574, 551, 556, 535, 547, 552, 565, 572,
+ 569, 529, 533, 537, 546, 564, 563, 544, 555, 566,
+ 550, 538, 531, 539, 0, 196, 221, 368, 0, 454,
+ 288, 650, 618, 484, 613, 206, 223, 0, 262, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
+ 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
+ 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
+ 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
+ 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
+ 490, 491, 492, 500, 501, 516, 586, 588, 605, 625,
+ 632, 480, 301, 302, 444, 445, 314, 315, 646, 647,
+ 300, 600, 633, 597, 645, 627, 438, 378, 0, 0,
+ 381, 281, 305, 320, 0, 617, 502, 227, 466, 290,
+ 251, 0, 0, 211, 246, 230, 259, 274, 277, 324,
+ 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
+ 519, 520, 521, 523, 395, 266, 433, 396, 0, 376,
+ 576, 577, 316, 0, 0, 0, 528, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
+ 0, 0, 0, 0, 0, 0, 270, 0, 0, 0,
+ 0, 366, 267, 0, 1923, 204, 505, 0, 430, 0,
+ 203, 0, 487, 252, 377, 374, 583, 282, 273, 269,
+ 250, 317, 385, 428, 518, 422, 0, 370, 0, 0,
+ 497, 401, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 323, 248, 325, 202, 413, 498, 286, 0, 0, 0,
+ 0, 0, 507, 724, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 238, 0, 0, 245, 0, 0, 0,
+ 351, 360, 359, 339, 340, 342, 344, 350, 357, 363,
+ 336, 345, 0, 0, 609, 0, 0, 0, 265, 321,
+ 272, 264, 580, 0, 0, 0, 0, 0, 0, 596,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 0, 0, 0, 629, 0,
+ 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
+ 0, 471, 426, 604, 233, 284, 458, 432, 469, 440,
+ 287, 0, 0, 470, 372, 585, 450, 601, 630, 631,
+ 263, 406, 615, 522, 623, 648, 226, 260, 420, 506,
+ 607, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 636, 224, 479, 371, 242, 231, 587, 612, 299, 289,
+ 456, 643, 213, 517, 598, 239, 483, 0, 0, 651,
+ 247, 504, 610, 599, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 652, 228, 622, 220, 0, 621, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 608, 626, 0, 208, 0, 499, 611, 653, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 602,
+ 616, 628, 634, 635, 637, 638, 639, 640, 641, 644,
+ 642, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 606, 496, 199, 0, 0, 0, 0, 254, 255,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 654, 655, 656, 657, 658, 659, 660, 661, 662,
+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 649,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
+ 0, 0, 0, 0, 398, 0, 591, 592, 672, 384,
+ 486, 603, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 619, 620, 624, 205, 462, 463, 464, 465,
+ 292, 614, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
+ 454, 288, 650, 618, 484, 613, 206, 223, 0, 262,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
- 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
- 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
- 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
- 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
- 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
- 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
- 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
- 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
- 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
- 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
- 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
- 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
- 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
- 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
- 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
- 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
- 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
- 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
- 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
- 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
- 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
- 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
- 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
- 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
- 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 605,
+ 625, 632, 480, 301, 302, 444, 445, 314, 315, 646,
+ 647, 300, 600, 633, 597, 645, 627, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 617, 502, 227, 466,
+ 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
+ 0, 0, 366, 267, 0, 1921, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 0, 507, 194, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
- 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
- 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
+ 0, 0, 0, 507, 724, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
+ 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
+ 363, 336, 345, 0, 0, 609, 0, 0, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 596, 0, 0, 229, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 275, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 297, 0, 402, 257, 0, 453, 0, 0, 0, 629,
+ 0, 0, 0, 0, 0, 0, 0, 365, 0, 330,
+ 197, 225, 0, 0, 412, 461, 473, 0, 0, 0,
+ 253, 0, 471, 426, 604, 233, 284, 458, 432, 469,
+ 440, 287, 0, 0, 470, 372, 585, 450, 601, 630,
+ 631, 263, 406, 615, 522, 623, 648, 226, 260, 420,
+ 506, 607, 494, 397, 581, 582, 329, 493, 295, 201,
+ 369, 636, 224, 479, 371, 242, 231, 587, 612, 299,
+ 289, 456, 643, 213, 517, 598, 239, 483, 0, 0,
+ 651, 247, 504, 610, 599, 215, 594, 503, 393, 326,
+ 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
+ 589, 590, 256, 652, 228, 622, 220, 0, 621, 408,
+ 584, 595, 394, 383, 219, 593, 392, 382, 334, 355,
+ 356, 280, 307, 447, 375, 448, 306, 308, 404, 403,
+ 405, 207, 608, 626, 0, 208, 0, 499, 611, 653,
+ 452, 212, 234, 235, 237, 0, 279, 283, 291, 294,
+ 303, 304, 313, 367, 419, 446, 442, 451, 0, 579,
+ 602, 616, 628, 634, 635, 637, 638, 639, 640, 641,
+ 644, 642, 407, 311, 495, 333, 373, 0, 0, 425,
+ 472, 240, 606, 496, 199, 0, 0, 0, 0, 254,
+ 255, 0, 575, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 669, 670, 671,
+ 649, 508, 514, 509, 510, 511, 512, 513, 0, 515,
+ 0, 0, 0, 0, 0, 398, 0, 591, 592, 672,
+ 384, 486, 603, 335, 349, 352, 341, 361, 0, 362,
+ 337, 338, 343, 346, 347, 348, 353, 354, 358, 364,
+ 249, 210, 390, 399, 578, 312, 216, 217, 218, 524,
+ 525, 526, 527, 619, 620, 624, 205, 462, 463, 464,
+ 465, 292, 614, 309, 468, 467, 331, 332, 379, 449,
+ 540, 542, 553, 557, 559, 561, 567, 570, 541, 543,
+ 554, 558, 560, 562, 568, 571, 530, 532, 534, 536,
+ 549, 548, 545, 573, 574, 551, 556, 535, 547, 552,
+ 565, 572, 569, 529, 533, 537, 546, 564, 563, 544,
+ 555, 566, 550, 538, 531, 539, 0, 196, 221, 368,
+ 0, 454, 288, 650, 618, 484, 613, 206, 223, 0,
+ 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 198, 200, 209, 222, 232, 236, 243, 261,
+ 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
+ 386, 387, 388, 389, 409, 410, 411, 414, 417, 418,
+ 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
+ 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
+ 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
+ 605, 625, 632, 480, 301, 302, 444, 445, 314, 315,
+ 646, 647, 300, 600, 633, 597, 645, 627, 438, 378,
+ 0, 0, 381, 281, 305, 320, 0, 617, 502, 227,
+ 466, 290, 251, 0, 0, 211, 246, 230, 259, 274,
+ 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
+ 241, 485, 519, 520, 521, 523, 395, 266, 433, 396,
+ 0, 376, 576, 577, 316, 0, 0, 0, 528, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 416, 0, 0, 0, 0, 0, 0, 0, 270, 0,
+ 0, 0, 0, 366, 267, 0, 1917, 204, 505, 0,
+ 430, 0, 203, 0, 487, 252, 377, 374, 583, 282,
+ 273, 269, 250, 317, 385, 428, 518, 422, 0, 370,
+ 0, 0, 497, 401, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 323, 248, 325, 202, 413, 498, 286, 0,
+ 0, 0, 0, 0, 507, 724, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 238, 0, 0, 245, 0,
+ 0, 0, 351, 360, 359, 339, 340, 342, 344, 350,
+ 357, 363, 336, 345, 0, 0, 609, 0, 0, 0,
+ 265, 321, 272, 264, 580, 0, 0, 0, 0, 0,
+ 0, 596, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6828,42 +6481,42 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1451, 0, 297, 0, 402, 257, 0, 453, 0,
- 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
+ 629, 0, 0, 0, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 253, 0, 471, 426, 604, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 601,
+ 630, 631, 263, 406, 615, 522, 623, 648, 226, 260,
+ 420, 506, 607, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 636, 224, 479, 371, 242, 231, 587, 612,
+ 299, 289, 456, 643, 213, 517, 598, 239, 483, 0,
+ 0, 651, 247, 504, 610, 599, 215, 594, 503, 393,
326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
+ 415, 589, 590, 256, 652, 228, 622, 220, 0, 621,
408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 403, 405, 207, 608, 626, 0, 208, 0, 499, 611,
+ 653, 452, 212, 234, 235, 237, 0, 279, 283, 291,
294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
+ 579, 602, 616, 628, 634, 635, 637, 638, 639, 640,
+ 641, 644, 642, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 606, 496, 199, 0, 0, 0, 0,
254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 0, 0, 0, 654, 655, 656, 657, 658, 659, 660,
+ 661, 662, 663, 664, 665, 666, 667, 668, 669, 670,
+ 671, 649, 508, 514, 509, 510, 511, 512, 513, 0,
515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 672, 384, 486, 603, 335, 349, 352, 341, 361, 0,
362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
+ 524, 525, 526, 527, 619, 620, 624, 205, 462, 463,
+ 464, 465, 292, 614, 309, 468, 467, 331, 332, 379,
449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
+ 368, 0, 454, 288, 650, 618, 484, 613, 206, 223,
0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
@@ -6872,29 +6525,103 @@ var yyAct = [...]int{
418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
- 315, 643, 644, 1450, 598, 630, 596, 642, 624, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
+ 588, 605, 625, 632, 480, 301, 302, 444, 445, 314,
+ 315, 646, 647, 300, 600, 633, 597, 645, 627, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 617, 502,
227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
- 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
+ 0, 0, 0, 0, 366, 267, 0, 1915, 204, 505,
0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 0, 507, 194, 0, 0, 0,
+ 0, 0, 0, 0, 0, 507, 724, 0, 0, 0,
0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
+ 350, 357, 363, 336, 345, 0, 0, 609, 0, 0,
0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
+ 0, 0, 596, 0, 0, 229, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 297, 0, 402, 257, 0, 453, 0, 0,
+ 0, 629, 0, 0, 0, 0, 0, 0, 0, 365,
+ 0, 330, 197, 225, 0, 0, 412, 461, 473, 0,
+ 0, 0, 253, 0, 471, 426, 604, 233, 284, 458,
+ 432, 469, 440, 287, 0, 0, 470, 372, 585, 450,
+ 601, 630, 631, 263, 406, 615, 522, 623, 648, 226,
+ 260, 420, 506, 607, 494, 397, 581, 582, 329, 493,
+ 295, 201, 369, 636, 224, 479, 371, 242, 231, 587,
+ 612, 299, 289, 456, 643, 213, 517, 598, 239, 483,
+ 0, 0, 651, 247, 504, 610, 599, 215, 594, 503,
+ 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
+ 258, 415, 589, 590, 256, 652, 228, 622, 220, 0,
+ 621, 408, 584, 595, 394, 383, 219, 593, 392, 382,
+ 334, 355, 356, 280, 307, 447, 375, 448, 306, 308,
+ 404, 403, 405, 207, 608, 626, 0, 208, 0, 499,
+ 611, 653, 452, 212, 234, 235, 237, 0, 279, 283,
+ 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
+ 0, 579, 602, 616, 628, 634, 635, 637, 638, 639,
+ 640, 641, 644, 642, 407, 311, 495, 333, 373, 0,
+ 0, 425, 472, 240, 606, 496, 199, 0, 0, 0,
+ 0, 254, 255, 0, 575, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 669,
+ 670, 671, 649, 508, 514, 509, 510, 511, 512, 513,
+ 0, 515, 0, 0, 0, 0, 0, 398, 0, 591,
+ 592, 672, 384, 486, 603, 335, 349, 352, 341, 361,
+ 0, 362, 337, 338, 343, 346, 347, 348, 353, 354,
+ 358, 364, 249, 210, 390, 399, 578, 312, 216, 217,
+ 218, 524, 525, 526, 527, 619, 620, 624, 205, 462,
+ 463, 464, 465, 292, 614, 309, 468, 467, 331, 332,
+ 379, 449, 540, 542, 553, 557, 559, 561, 567, 570,
+ 541, 543, 554, 558, 560, 562, 568, 571, 530, 532,
+ 534, 536, 549, 548, 545, 573, 574, 551, 556, 535,
+ 547, 552, 565, 572, 569, 529, 533, 537, 546, 564,
+ 563, 544, 555, 566, 550, 538, 531, 539, 0, 196,
+ 221, 368, 0, 454, 288, 650, 618, 484, 613, 206,
+ 223, 0, 262, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 198, 200, 209, 222, 232, 236,
+ 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
+ 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
+ 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
+ 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
+ 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
+ 586, 588, 605, 625, 632, 480, 301, 302, 444, 445,
+ 314, 315, 646, 647, 300, 600, 633, 597, 645, 627,
+ 438, 378, 0, 0, 381, 281, 305, 320, 0, 617,
+ 502, 227, 466, 290, 251, 0, 0, 211, 246, 230,
+ 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
+ 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
+ 433, 396, 0, 376, 576, 577, 316, 0, 0, 0,
+ 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 416, 0, 0, 0, 0, 0, 0, 0,
+ 270, 0, 0, 0, 0, 366, 267, 0, 1913, 204,
+ 505, 0, 430, 0, 203, 0, 487, 252, 377, 374,
+ 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
+ 0, 370, 0, 0, 497, 401, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 323, 248, 325, 202, 413, 498,
+ 286, 0, 0, 0, 0, 0, 507, 724, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 238, 0, 0,
+ 245, 0, 0, 0, 351, 360, 359, 339, 340, 342,
+ 344, 350, 357, 363, 336, 345, 0, 0, 609, 0,
+ 0, 0, 265, 321, 272, 264, 580, 0, 0, 0,
+ 0, 0, 0, 596, 0, 0, 229, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6902,201 +6629,202 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
- 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 629, 0, 0, 0, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 604, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 601, 630, 631, 263, 406, 615, 522, 623, 648,
+ 226, 260, 420, 506, 607, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 636, 224, 479, 371, 242, 231,
+ 587, 612, 299, 289, 456, 643, 213, 517, 598, 239,
+ 483, 0, 0, 651, 247, 504, 610, 599, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 589, 590, 256, 652, 228, 622, 220,
+ 0, 621, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
+ 308, 404, 403, 405, 207, 608, 626, 0, 208, 0,
+ 499, 611, 653, 452, 212, 234, 235, 237, 0, 279,
+ 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
+ 451, 0, 579, 602, 616, 628, 634, 635, 637, 638,
+ 639, 640, 641, 644, 642, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 606, 496, 199, 0, 0,
+ 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 654, 655, 656, 657, 658,
+ 659, 660, 661, 662, 663, 664, 665, 666, 667, 668,
+ 669, 670, 671, 649, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
+ 591, 592, 672, 384, 486, 603, 335, 349, 352, 341,
+ 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
+ 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
+ 217, 218, 524, 525, 526, 527, 619, 620, 624, 205,
+ 462, 463, 464, 465, 292, 614, 309, 468, 467, 331,
+ 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
+ 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
+ 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
+ 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
+ 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
+ 196, 221, 368, 0, 454, 288, 650, 618, 484, 613,
+ 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1045, 0, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
- 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
+ 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
+ 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
+ 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
+ 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
+ 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
+ 516, 586, 588, 605, 625, 632, 480, 301, 302, 444,
+ 445, 314, 315, 646, 647, 300, 600, 633, 597, 645,
+ 627, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 617, 502, 227, 466, 290, 251, 0, 0, 211, 246,
+ 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
+ 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
+ 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
+ 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
+ 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
+ 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
+ 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
+ 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
- 0, 0, 0, 507, 194, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
- 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
+ 498, 286, 0, 1888, 0, 0, 0, 507, 724, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
+ 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
+ 342, 344, 350, 357, 363, 336, 345, 0, 0, 609,
+ 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
+ 0, 0, 0, 0, 596, 0, 0, 229, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 275, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 0, 672, 0, 626, 0,
- 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
- 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
- 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
- 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
- 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
- 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
- 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
- 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
- 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
- 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
- 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
- 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
- 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
- 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
- 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
- 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
- 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
- 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
- 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
- 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
- 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
- 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
- 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
- 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
- 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
- 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
- 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
- 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
- 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
- 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
- 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
- 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 0, 507, 720, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
- 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 297, 0, 402, 257, 0, 453,
+ 0, 0, 0, 629, 0, 0, 0, 0, 0, 0,
+ 0, 365, 0, 330, 197, 225, 0, 0, 412, 461,
+ 473, 0, 0, 0, 253, 0, 471, 426, 604, 233,
+ 284, 458, 432, 469, 440, 287, 0, 0, 470, 372,
+ 585, 450, 601, 630, 631, 263, 406, 615, 522, 623,
+ 648, 226, 260, 420, 506, 607, 494, 397, 581, 582,
+ 329, 493, 295, 201, 369, 636, 224, 479, 371, 242,
+ 231, 587, 612, 299, 289, 456, 643, 213, 517, 598,
+ 239, 483, 0, 0, 651, 247, 504, 610, 599, 215,
+ 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
+ 0, 0, 258, 415, 589, 590, 256, 652, 228, 622,
+ 220, 0, 621, 408, 584, 595, 394, 383, 219, 593,
+ 392, 382, 334, 355, 356, 280, 307, 447, 375, 448,
+ 306, 308, 404, 403, 405, 207, 608, 626, 0, 208,
+ 0, 499, 611, 653, 452, 212, 234, 235, 237, 0,
+ 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
+ 442, 451, 0, 579, 602, 616, 628, 634, 635, 637,
+ 638, 639, 640, 641, 644, 642, 407, 311, 495, 333,
+ 373, 0, 0, 425, 472, 240, 606, 496, 199, 0,
+ 0, 0, 0, 254, 255, 0, 575, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 669, 670, 671, 649, 508, 514, 509, 510, 511,
+ 512, 513, 0, 515, 0, 0, 0, 0, 0, 398,
+ 0, 591, 592, 672, 384, 486, 603, 335, 349, 352,
+ 341, 361, 0, 362, 337, 338, 343, 346, 347, 348,
+ 353, 354, 358, 364, 249, 210, 390, 399, 578, 312,
+ 216, 217, 218, 524, 525, 526, 527, 619, 620, 624,
+ 205, 462, 463, 464, 465, 292, 614, 309, 468, 467,
+ 331, 332, 379, 449, 540, 542, 553, 557, 559, 561,
+ 567, 570, 541, 543, 554, 558, 560, 562, 568, 571,
+ 530, 532, 534, 536, 549, 548, 545, 573, 574, 551,
+ 556, 535, 547, 552, 565, 572, 569, 529, 533, 537,
+ 546, 564, 563, 544, 555, 566, 550, 538, 531, 539,
+ 0, 196, 221, 368, 0, 454, 288, 650, 618, 484,
+ 613, 206, 223, 0, 262, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 198, 200, 209, 222,
+ 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
+ 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
+ 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
+ 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
+ 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
+ 501, 516, 586, 588, 605, 625, 632, 480, 301, 302,
+ 444, 445, 314, 315, 646, 647, 300, 600, 633, 597,
+ 645, 627, 438, 378, 0, 0, 381, 281, 305, 320,
+ 0, 617, 502, 227, 466, 290, 251, 0, 0, 211,
+ 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
+ 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
+ 395, 266, 433, 396, 0, 376, 576, 577, 316, 0,
+ 0, 0, 528, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 416, 0, 0, 0, 0, 0,
+ 0, 1785, 270, 0, 0, 0, 0, 366, 267, 0,
+ 0, 204, 505, 0, 430, 0, 203, 0, 487, 252,
+ 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
+ 518, 422, 0, 370, 0, 0, 497, 401, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 323, 248, 325, 202,
+ 413, 498, 286, 0, 0, 0, 0, 0, 507, 194,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
+ 0, 0, 245, 0, 0, 0, 351, 360, 359, 339,
+ 340, 342, 344, 350, 357, 363, 336, 345, 0, 0,
+ 609, 0, 0, 0, 265, 321, 272, 264, 580, 0,
+ 0, 0, 0, 0, 0, 596, 0, 0, 229, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
- 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
- 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
- 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 0, 0, 0, 629, 0, 0, 0, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 253, 0, 471, 426, 604,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 601, 630, 631, 263, 406, 615, 522,
+ 623, 648, 226, 260, 420, 506, 607, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 636, 224, 479, 371,
+ 242, 231, 587, 612, 299, 289, 456, 643, 213, 517,
+ 598, 239, 483, 0, 0, 651, 247, 504, 610, 599,
215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
+ 293, 0, 0, 258, 415, 589, 590, 256, 652, 228,
+ 622, 220, 0, 621, 408, 584, 595, 394, 383, 219,
593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
- 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
+ 448, 306, 308, 404, 403, 405, 207, 608, 626, 0,
+ 208, 0, 499, 611, 653, 452, 212, 234, 235, 237,
0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
- 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
+ 446, 442, 451, 0, 579, 602, 616, 628, 634, 635,
+ 637, 638, 639, 640, 641, 644, 642, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 606, 496, 199,
0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 0, 0, 0, 0, 0, 0, 0, 654, 655, 656,
+ 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
+ 667, 668, 669, 670, 671, 649, 508, 514, 509, 510,
511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
+ 398, 0, 591, 592, 672, 384, 486, 603, 335, 349,
352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
+ 312, 216, 217, 218, 524, 525, 526, 527, 619, 620,
+ 624, 205, 462, 463, 464, 465, 292, 614, 309, 468,
467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
- 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
+ 539, 0, 196, 221, 368, 0, 454, 288, 650, 618,
+ 484, 613, 206, 223, 0, 262, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 4129,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
- 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
- 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
+ 500, 501, 516, 586, 588, 605, 625, 632, 480, 301,
+ 302, 444, 445, 314, 315, 646, 647, 300, 600, 633,
+ 597, 645, 627, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 617, 502, 227, 466, 290, 251, 0, 0,
211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
@@ -7108,88 +6836,385 @@ var yyAct = [...]int{
428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 0, 0, 0, 0, 507,
- 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 202, 413, 498, 286, 0, 95, 0, 0, 0, 507,
+ 959, 0, 0, 0, 0, 0, 0, 0, 0, 0,
238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
- 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 0, 609, 0, 0, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 596, 0, 0, 229,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 275, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 297, 0, 402, 257,
+ 0, 453, 0, 0, 0, 629, 0, 0, 0, 0,
+ 0, 0, 0, 365, 0, 330, 197, 225, 0, 0,
+ 412, 461, 473, 0, 0, 0, 253, 0, 471, 426,
+ 604, 233, 284, 458, 432, 469, 440, 287, 0, 0,
+ 470, 372, 585, 450, 601, 630, 631, 263, 406, 615,
+ 522, 623, 648, 226, 260, 420, 506, 607, 494, 397,
+ 581, 582, 329, 493, 295, 201, 369, 636, 224, 479,
+ 371, 242, 231, 587, 612, 299, 289, 456, 643, 213,
+ 517, 598, 239, 483, 0, 0, 651, 247, 504, 610,
+ 599, 215, 594, 503, 393, 326, 327, 214, 0, 457,
+ 268, 293, 0, 0, 258, 415, 589, 590, 256, 652,
+ 228, 622, 220, 0, 621, 408, 584, 595, 394, 383,
+ 219, 593, 392, 382, 334, 355, 356, 280, 307, 447,
+ 375, 448, 306, 308, 404, 403, 405, 207, 608, 626,
+ 0, 208, 0, 499, 611, 653, 452, 212, 234, 235,
+ 237, 0, 279, 283, 291, 294, 303, 304, 313, 367,
+ 419, 446, 442, 451, 0, 579, 602, 616, 628, 634,
+ 635, 637, 638, 639, 640, 641, 644, 642, 407, 311,
+ 495, 333, 373, 0, 0, 425, 472, 240, 606, 496,
+ 199, 0, 0, 0, 0, 254, 255, 0, 575, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 669, 670, 671, 649, 508, 514, 509,
+ 510, 511, 512, 513, 0, 515, 0, 0, 0, 0,
+ 0, 398, 0, 591, 592, 672, 384, 486, 603, 335,
+ 349, 352, 341, 361, 0, 362, 337, 338, 343, 346,
+ 347, 348, 353, 354, 358, 364, 249, 210, 390, 399,
+ 578, 312, 216, 217, 218, 524, 525, 526, 527, 619,
+ 620, 624, 205, 462, 463, 464, 465, 292, 614, 309,
+ 468, 467, 331, 332, 379, 449, 540, 542, 553, 557,
+ 559, 561, 567, 570, 541, 543, 554, 558, 560, 562,
+ 568, 571, 530, 532, 534, 536, 549, 548, 545, 573,
+ 574, 551, 556, 535, 547, 552, 565, 572, 569, 529,
+ 533, 537, 546, 564, 563, 544, 555, 566, 550, 538,
+ 531, 539, 0, 196, 221, 368, 0, 454, 288, 650,
+ 618, 484, 613, 206, 223, 0, 262, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 198, 200,
+ 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
+ 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
+ 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
+ 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
+ 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
+ 492, 500, 501, 516, 586, 588, 605, 625, 632, 480,
+ 301, 302, 444, 445, 314, 315, 646, 647, 300, 600,
+ 633, 597, 645, 627, 438, 378, 0, 0, 381, 281,
+ 305, 320, 0, 617, 502, 227, 466, 290, 251, 0,
+ 0, 211, 246, 230, 259, 274, 277, 324, 391, 400,
+ 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
+ 521, 523, 395, 266, 433, 396, 0, 376, 576, 577,
+ 316, 0, 0, 0, 528, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 416, 0, 0, 0,
+ 0, 0, 0, 0, 270, 0, 0, 0, 0, 366,
+ 267, 0, 0, 204, 505, 0, 430, 0, 203, 0,
+ 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
+ 385, 428, 518, 422, 0, 370, 0, 0, 497, 401,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 323, 248,
+ 325, 202, 413, 498, 286, 0, 0, 0, 0, 0,
+ 507, 194, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 238, 0, 0, 245, 0, 0, 0, 351, 360,
+ 359, 339, 340, 342, 344, 350, 357, 363, 336, 345,
+ 0, 0, 609, 0, 0, 0, 265, 321, 272, 264,
+ 580, 0, 0, 0, 0, 0, 0, 596, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1456, 0, 297, 0, 402,
+ 257, 0, 453, 0, 0, 0, 629, 0, 0, 0,
+ 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
+ 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
+ 426, 604, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 601, 630, 631, 263, 406,
+ 615, 522, 623, 648, 226, 260, 420, 506, 607, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 636, 224,
+ 479, 371, 242, 231, 587, 612, 299, 289, 456, 643,
+ 213, 517, 598, 239, 483, 0, 0, 651, 247, 504,
+ 610, 599, 215, 594, 503, 393, 326, 327, 214, 0,
+ 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
+ 652, 228, 622, 220, 0, 621, 408, 584, 595, 394,
+ 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
+ 447, 375, 448, 306, 308, 404, 403, 405, 207, 608,
+ 626, 0, 208, 0, 499, 611, 653, 452, 212, 234,
+ 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 0, 579, 602, 616, 628,
+ 634, 635, 637, 638, 639, 640, 641, 644, 642, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 606,
+ 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 654,
+ 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
+ 665, 666, 667, 668, 669, 670, 671, 649, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
+ 0, 0, 398, 0, 591, 592, 672, 384, 486, 603,
+ 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
+ 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
+ 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
+ 619, 620, 624, 205, 462, 463, 464, 465, 292, 614,
+ 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
+ 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
+ 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
+ 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
+ 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
+ 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
+ 650, 618, 484, 613, 206, 223, 0, 262, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
+ 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
+ 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
+ 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
+ 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
+ 491, 492, 500, 501, 516, 586, 588, 605, 625, 632,
+ 480, 301, 302, 444, 445, 314, 315, 646, 647, 1455,
+ 600, 633, 597, 645, 627, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 617, 502, 227, 466, 290, 251,
+ 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
+ 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
+ 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
+ 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
+ 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
+ 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
+ 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
+ 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
+ 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
+ 0, 507, 194, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
+ 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
+ 345, 0, 0, 609, 0, 0, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 596, 0,
+ 0, 229, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 275, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 297, 0,
+ 402, 257, 0, 453, 0, 0, 0, 629, 0, 0,
+ 0, 0, 0, 0, 0, 365, 0, 330, 197, 225,
+ 0, 0, 412, 461, 473, 0, 0, 0, 253, 0,
+ 471, 426, 604, 233, 284, 458, 432, 469, 440, 287,
+ 0, 0, 470, 372, 585, 450, 601, 630, 631, 263,
+ 406, 615, 522, 623, 648, 226, 260, 420, 506, 607,
+ 494, 397, 581, 582, 329, 493, 295, 201, 369, 636,
+ 224, 479, 371, 242, 231, 587, 612, 299, 289, 456,
+ 643, 213, 517, 598, 239, 483, 0, 0, 651, 247,
+ 504, 610, 599, 215, 594, 503, 393, 326, 327, 214,
+ 0, 457, 268, 293, 0, 0, 258, 415, 589, 590,
+ 256, 652, 228, 622, 220, 0, 621, 408, 584, 595,
+ 394, 383, 219, 593, 392, 382, 334, 355, 356, 280,
+ 307, 447, 375, 448, 306, 308, 404, 403, 405, 207,
+ 608, 626, 0, 208, 0, 499, 611, 653, 452, 212,
+ 234, 235, 237, 0, 279, 283, 291, 294, 303, 304,
+ 313, 367, 419, 446, 442, 451, 0, 579, 602, 616,
+ 628, 634, 635, 637, 638, 639, 640, 641, 644, 642,
+ 407, 311, 495, 333, 373, 0, 0, 425, 472, 240,
+ 606, 496, 199, 0, 0, 0, 0, 254, 255, 0,
+ 575, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 669, 670, 671, 649, 508,
+ 514, 509, 510, 511, 512, 513, 0, 515, 0, 0,
+ 0, 0, 0, 398, 0, 591, 592, 672, 384, 486,
+ 603, 335, 349, 352, 341, 361, 0, 362, 337, 338,
+ 343, 346, 347, 348, 353, 354, 358, 364, 249, 210,
+ 390, 399, 578, 312, 216, 217, 218, 524, 525, 526,
+ 527, 619, 620, 624, 205, 462, 463, 464, 465, 292,
+ 614, 309, 468, 467, 331, 332, 379, 449, 540, 542,
+ 553, 557, 559, 561, 567, 570, 541, 543, 554, 558,
+ 560, 562, 568, 571, 530, 532, 534, 536, 549, 548,
+ 545, 573, 574, 551, 556, 535, 547, 552, 565, 572,
+ 569, 529, 533, 537, 546, 564, 563, 544, 555, 566,
+ 550, 538, 531, 539, 0, 196, 221, 368, 0, 454,
+ 288, 650, 618, 484, 613, 206, 223, 0, 262, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1049, 0, 0, 0,
+ 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
+ 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
+ 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
+ 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
+ 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
+ 490, 491, 492, 500, 501, 516, 586, 588, 605, 625,
+ 632, 480, 301, 302, 444, 445, 314, 315, 646, 647,
+ 300, 600, 633, 597, 645, 627, 438, 378, 0, 0,
+ 381, 281, 305, 320, 0, 617, 502, 227, 466, 290,
+ 251, 0, 0, 211, 246, 230, 259, 274, 277, 324,
+ 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
+ 519, 520, 521, 523, 395, 266, 433, 396, 0, 376,
+ 576, 577, 316, 0, 0, 0, 528, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
+ 0, 0, 0, 0, 0, 0, 270, 0, 0, 0,
+ 0, 366, 267, 0, 0, 204, 505, 0, 430, 0,
+ 203, 0, 487, 252, 377, 374, 583, 282, 273, 269,
+ 250, 317, 385, 428, 518, 422, 0, 370, 0, 0,
+ 497, 401, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 323, 248, 325, 202, 413, 498, 286, 0, 0, 0,
+ 0, 0, 507, 194, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 238, 0, 0, 245, 0, 0, 0,
+ 351, 360, 359, 339, 340, 342, 344, 350, 357, 363,
+ 336, 345, 0, 0, 609, 0, 0, 0, 265, 321,
+ 272, 264, 580, 0, 0, 0, 0, 0, 0, 596,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 0, 675, 0, 629, 0,
+ 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
+ 0, 471, 426, 604, 233, 284, 458, 432, 469, 440,
+ 287, 0, 0, 470, 372, 585, 450, 601, 630, 631,
+ 263, 406, 615, 522, 623, 648, 226, 260, 420, 506,
+ 607, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 636, 224, 479, 371, 242, 231, 587, 612, 299, 289,
+ 456, 643, 213, 517, 598, 239, 483, 0, 0, 651,
+ 247, 504, 610, 599, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 652, 228, 622, 220, 0, 621, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 608, 626, 0, 208, 0, 499, 611, 653, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 602,
+ 616, 628, 634, 635, 637, 638, 639, 640, 641, 644,
+ 642, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 606, 496, 199, 0, 0, 0, 0, 254, 255,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 654, 655, 656, 657, 658, 659, 660, 661, 662,
+ 663, 664, 665, 666, 667, 668, 669, 670, 671, 649,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
+ 0, 0, 0, 0, 398, 0, 591, 592, 672, 384,
+ 486, 603, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 619, 620, 624, 205, 462, 463, 464, 465,
+ 292, 614, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
+ 454, 288, 650, 618, 484, 613, 206, 223, 0, 262,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
- 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
- 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
- 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
- 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
- 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
- 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
- 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
- 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
- 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
- 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
- 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
- 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
- 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
- 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
- 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
- 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
- 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
- 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
- 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
- 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
- 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
- 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
- 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
- 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
- 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
- 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
- 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
- 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
- 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 605,
+ 625, 632, 480, 301, 302, 444, 445, 314, 315, 646,
+ 647, 300, 600, 633, 597, 645, 627, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 617, 502, 227, 466,
+ 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 0, 507, 955, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
- 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
- 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
+ 0, 0, 0, 507, 724, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
+ 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
+ 363, 336, 345, 0, 0, 609, 0, 0, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 596, 0, 0, 229, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 275, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 297, 0, 402, 257, 0, 453, 0, 0, 0, 629,
+ 0, 0, 0, 0, 0, 0, 0, 365, 0, 330,
+ 197, 225, 0, 0, 412, 461, 473, 0, 0, 0,
+ 253, 0, 471, 426, 604, 233, 284, 458, 432, 469,
+ 440, 287, 0, 0, 470, 372, 585, 450, 601, 630,
+ 631, 263, 406, 615, 522, 623, 648, 226, 260, 420,
+ 506, 607, 494, 397, 581, 582, 329, 493, 295, 201,
+ 369, 636, 224, 479, 371, 242, 231, 587, 612, 299,
+ 289, 456, 643, 213, 517, 598, 239, 483, 0, 0,
+ 651, 247, 504, 610, 599, 215, 594, 503, 393, 326,
+ 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
+ 589, 590, 256, 652, 228, 622, 220, 0, 621, 408,
+ 584, 595, 394, 383, 219, 593, 392, 382, 334, 355,
+ 356, 280, 307, 447, 375, 448, 306, 308, 404, 403,
+ 405, 207, 608, 626, 0, 208, 0, 499, 611, 653,
+ 452, 212, 234, 235, 237, 0, 279, 283, 291, 294,
+ 303, 304, 313, 367, 419, 446, 442, 451, 0, 579,
+ 602, 616, 628, 634, 635, 637, 638, 639, 640, 641,
+ 644, 642, 407, 311, 495, 333, 373, 0, 0, 425,
+ 472, 240, 606, 496, 199, 0, 0, 0, 0, 254,
+ 255, 0, 575, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 669, 670, 671,
+ 649, 508, 514, 509, 510, 511, 512, 513, 0, 515,
+ 0, 0, 0, 0, 0, 398, 0, 591, 592, 672,
+ 384, 486, 603, 335, 349, 352, 341, 361, 0, 362,
+ 337, 338, 343, 346, 347, 348, 353, 354, 358, 364,
+ 249, 210, 390, 399, 578, 312, 216, 217, 218, 524,
+ 525, 526, 527, 619, 620, 624, 205, 462, 463, 464,
+ 465, 292, 614, 309, 468, 467, 331, 332, 379, 449,
+ 540, 542, 553, 557, 559, 561, 567, 570, 541, 543,
+ 554, 558, 560, 562, 568, 571, 530, 532, 534, 536,
+ 549, 548, 545, 573, 574, 551, 556, 535, 547, 552,
+ 565, 572, 569, 529, 533, 537, 546, 564, 563, 544,
+ 555, 566, 550, 538, 531, 539, 0, 196, 221, 368,
+ 0, 454, 288, 650, 618, 484, 613, 206, 223, 0,
+ 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 198, 200, 209, 222, 232, 236, 243, 261,
+ 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
+ 386, 387, 388, 389, 4137, 410, 411, 414, 417, 418,
+ 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
+ 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
+ 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
+ 605, 625, 632, 480, 301, 302, 444, 445, 314, 315,
+ 646, 647, 300, 600, 633, 597, 645, 627, 438, 378,
+ 0, 0, 381, 281, 305, 320, 0, 617, 502, 227,
+ 466, 290, 251, 0, 0, 211, 246, 230, 259, 274,
+ 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
+ 241, 485, 519, 520, 521, 523, 395, 266, 433, 396,
+ 0, 376, 576, 577, 316, 0, 0, 0, 528, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 416, 0, 0, 0, 0, 0, 0, 0, 270, 0,
+ 0, 0, 0, 366, 267, 0, 0, 204, 505, 0,
+ 430, 0, 203, 0, 487, 252, 377, 374, 583, 282,
+ 273, 269, 250, 317, 385, 428, 518, 422, 0, 370,
+ 0, 0, 497, 401, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 323, 248, 325, 202, 413, 498, 286, 0,
+ 0, 0, 0, 0, 507, 724, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 238, 0, 0, 245, 0,
+ 0, 0, 351, 360, 359, 339, 340, 342, 344, 350,
+ 357, 363, 336, 345, 0, 0, 609, 0, 0, 0,
+ 265, 321, 272, 264, 580, 0, 0, 0, 0, 0,
+ 0, 596, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7197,42 +7222,42 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
- 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
- 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
+ 629, 0, 0, 0, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 253, 0, 471, 426, 604, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 601,
+ 630, 631, 263, 406, 615, 522, 623, 648, 226, 260,
+ 420, 506, 607, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 636, 224, 479, 371, 242, 231, 587, 612,
+ 299, 289, 456, 643, 213, 517, 598, 239, 483, 0,
+ 0, 651, 247, 504, 610, 599, 215, 594, 503, 393,
326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
+ 415, 589, 590, 256, 652, 228, 622, 220, 0, 621,
408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
- 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 403, 405, 207, 608, 626, 0, 208, 0, 499, 611,
+ 653, 452, 212, 234, 235, 237, 0, 279, 283, 291,
294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
- 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
+ 579, 602, 616, 628, 634, 635, 637, 638, 639, 640,
+ 641, 644, 642, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 606, 496, 199, 0, 0, 0, 0,
254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 0, 0, 0, 654, 655, 656, 657, 658, 659, 660,
+ 661, 662, 663, 664, 665, 666, 667, 668, 669, 670,
+ 671, 649, 508, 514, 509, 510, 511, 512, 513, 0,
515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 672, 384, 486, 603, 335, 349, 352, 341, 361, 0,
362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
+ 524, 525, 526, 527, 619, 620, 624, 205, 462, 463,
+ 464, 465, 292, 614, 309, 468, 467, 331, 332, 379,
449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
+ 368, 0, 454, 288, 650, 618, 484, 613, 206, 223,
0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
@@ -7241,9 +7266,9 @@ var yyAct = [...]int{
418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
- 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
+ 588, 605, 625, 632, 480, 301, 302, 444, 445, 314,
+ 315, 646, 647, 300, 600, 633, 597, 645, 627, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 617, 502,
227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
@@ -7256,95 +7281,169 @@ var yyAct = [...]int{
370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 0, 507, 194, 0, 0, 0,
+ 0, 0, 0, 0, 0, 507, 959, 0, 0, 0,
0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
+ 350, 357, 363, 336, 345, 0, 0, 609, 0, 0,
0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 596, 0, 0, 229, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 297, 0, 402, 257, 0, 453, 0, 0,
+ 0, 629, 0, 0, 0, 0, 0, 0, 0, 365,
+ 0, 330, 197, 225, 0, 0, 412, 461, 473, 0,
+ 0, 0, 253, 0, 471, 426, 604, 233, 284, 458,
+ 432, 469, 440, 287, 0, 0, 470, 372, 585, 450,
+ 601, 630, 631, 263, 406, 615, 522, 623, 648, 226,
+ 260, 420, 506, 607, 494, 397, 581, 582, 329, 493,
+ 295, 201, 369, 636, 224, 479, 371, 242, 231, 587,
+ 612, 299, 289, 456, 643, 213, 517, 598, 239, 483,
+ 0, 0, 651, 247, 504, 610, 599, 215, 594, 503,
+ 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
+ 258, 415, 589, 590, 256, 652, 228, 622, 220, 0,
+ 621, 408, 584, 595, 394, 383, 219, 593, 392, 382,
+ 334, 355, 356, 280, 307, 447, 375, 448, 306, 308,
+ 404, 403, 405, 207, 608, 626, 0, 208, 0, 499,
+ 611, 653, 452, 212, 234, 235, 237, 0, 279, 283,
+ 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
+ 0, 579, 602, 616, 628, 634, 635, 637, 638, 639,
+ 640, 641, 644, 642, 407, 311, 495, 333, 373, 0,
+ 0, 425, 472, 240, 606, 496, 199, 0, 0, 0,
+ 0, 254, 255, 0, 575, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 669,
+ 670, 671, 649, 508, 514, 509, 510, 511, 512, 513,
+ 0, 515, 0, 0, 0, 0, 0, 398, 0, 591,
+ 592, 672, 384, 486, 603, 335, 349, 352, 341, 361,
+ 0, 362, 337, 338, 343, 346, 347, 348, 353, 354,
+ 358, 364, 249, 210, 390, 399, 578, 312, 216, 217,
+ 218, 524, 525, 526, 527, 619, 620, 624, 205, 462,
+ 463, 464, 465, 292, 614, 309, 468, 467, 331, 332,
+ 379, 449, 540, 542, 553, 557, 559, 561, 567, 570,
+ 541, 543, 554, 558, 560, 562, 568, 571, 530, 532,
+ 534, 536, 549, 548, 545, 573, 574, 551, 556, 535,
+ 547, 552, 565, 572, 569, 529, 533, 537, 546, 564,
+ 563, 544, 555, 566, 550, 538, 531, 539, 0, 196,
+ 221, 368, 0, 454, 288, 650, 618, 484, 613, 206,
+ 223, 0, 262, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 198, 200, 209, 222, 232, 236,
+ 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
+ 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
+ 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
+ 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
+ 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
+ 586, 588, 605, 625, 632, 480, 301, 302, 444, 445,
+ 314, 315, 646, 647, 300, 600, 633, 597, 645, 627,
+ 438, 378, 0, 0, 381, 281, 305, 320, 0, 617,
+ 502, 227, 466, 290, 251, 0, 0, 211, 246, 230,
+ 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
+ 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
+ 433, 396, 0, 376, 576, 577, 316, 0, 0, 0,
+ 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 416, 0, 0, 0, 0, 0, 0, 0,
+ 270, 0, 0, 0, 0, 366, 267, 0, 0, 204,
+ 505, 0, 430, 0, 203, 0, 487, 252, 377, 374,
+ 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
+ 0, 370, 0, 0, 497, 401, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 323, 248, 325, 202, 413, 498,
+ 286, 0, 0, 0, 0, 0, 507, 194, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 238, 0, 0,
+ 245, 0, 0, 0, 351, 360, 359, 339, 340, 342,
+ 344, 350, 357, 363, 336, 345, 0, 0, 609, 0,
+ 0, 0, 265, 321, 272, 264, 580, 0, 0, 0,
+ 0, 0, 0, 596, 0, 0, 229, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
- 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
- 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
- 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 629, 0, 0, 0, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 604, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 601, 630, 631, 263, 406, 615, 522, 623, 648,
+ 226, 260, 420, 506, 607, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 636, 224, 479, 371, 242, 231,
+ 587, 612, 299, 289, 456, 643, 213, 517, 598, 239,
+ 483, 0, 0, 651, 247, 504, 610, 599, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 589, 590, 256, 652, 228, 622, 220,
+ 0, 621, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
+ 308, 404, 403, 405, 207, 608, 626, 0, 208, 0,
+ 499, 611, 653, 452, 212, 234, 235, 237, 0, 279,
+ 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
+ 451, 0, 579, 602, 616, 628, 634, 635, 637, 638,
+ 639, 640, 641, 644, 642, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 606, 496, 199, 0, 0,
+ 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 654, 655, 656, 657, 658,
+ 659, 660, 661, 662, 663, 664, 665, 666, 667, 668,
+ 669, 670, 671, 649, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
+ 591, 592, 672, 384, 486, 603, 335, 349, 352, 341,
+ 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
+ 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
+ 217, 218, 524, 525, 526, 527, 619, 620, 624, 205,
+ 462, 463, 464, 465, 292, 614, 309, 468, 467, 331,
+ 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
+ 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
+ 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
+ 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
+ 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
+ 196, 221, 368, 0, 454, 288, 650, 618, 484, 613,
+ 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
- 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 0, 0,
- 376, 576, 577, 316,
+ 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
+ 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
+ 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
+ 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
+ 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
+ 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
+ 516, 586, 588, 605, 625, 632, 480, 301, 302, 444,
+ 445, 314, 315, 646, 647, 300, 600, 633, 597, 645,
+ 627, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 617, 502, 227, 466, 290, 251, 0, 0, 211, 246,
+ 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
+ 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
+ 266, 433, 0, 0, 376, 576, 577, 316,
}
var yyPact = [...]int{
- -1000, -1000, 1040, -1000, -551, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, 4288, -1000, -548, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 2388, 2423, -1000, -1000, -1000, -1000, 2569, -1000, 999,
- 2023, -1000, 2374, 5134, -1000, 55556, 520, -1000, 52604, -455,
- 871, 259, 36368, -1000, 193, -1000, 166, 54080, 184, -1000,
- -1000, -1000, -1000, -455, 21608, 2249, 12, 8, 55556, -1000,
- -1000, -1000, -1000, -372, 2516, 2011, -1000, 398, -1000, -1000,
- -1000, -1000, -1000, -1000, 51866, -1000, 1127, -1000, -1000, 2384,
- 2395, 2244, 915, 2297, -1000, 2451, 2011, -1000, 21608, 2503,
- 2334, 20870, 20870, 467, -1000, -1000, 281, -1000, -1000, 31202,
- 55556, 39320, 306, -1000, 2374, -1000, -1000, -1000, 186, -1000,
- 352, 1909, -1000, 1901, -1000, 936, 1134, 385, 855, 854,
- 383, 368, 366, 365, 364, 361, 360, 359, 401, -1000,
- 933, 933, -247, -260, 1742, 446, 460, 460, 1041, 487,
- 2343, 2339, -1000, -1000, 933, 933, 933, 362, 933, 933,
- 933, 933, 339, 337, 933, 933, 933, 933, 933, 933,
- 933, 933, 933, 933, 933, 933, 933, 933, 933, 933,
- 933, 321, 2374, 273, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, 2378, 2438, -1000, -1000, -1000, -1000, 2578, -1000, 993,
+ 2027, -1000, 2363, 5078, -1000, 56487, 523, -1000, 53523, -453,
+ 858, 217, 37221, -1000, 197, -1000, 185, 55005, 190, -1000,
+ -1000, -1000, -1000, -453, 22401, 2260, 54, 53, 56487, -1000,
+ -1000, -1000, -1000, -374, 2525, 1986, -1000, 406, -1000, -1000,
+ -1000, -1000, -1000, -1000, 52782, -1000, 1086, -1000, -1000, 2375,
+ 2360, 2240, 902, 2242, -1000, 2466, 1986, -1000, 22401, 2518,
+ 2334, 21660, 21660, 462, -1000, -1000, 232, -1000, -1000, 32034,
+ 56487, 40185, 281, -1000, 2363, -1000, -1000, -1000, 202, -1000,
+ 360, 1906, -1000, 1905, -1000, 909, 875, 370, 860, 473,
+ 369, 366, 365, 364, 363, 361, 359, 346, 383, -1000,
+ 926, 926, -210, -211, 1338, 447, 445, 445, 1067, 478,
+ 2336, 2332, -1000, -1000, 926, 926, 926, 341, 926, 926,
+ 926, 926, 314, 312, 926, 926, 926, 926, 926, 926,
+ 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
+ 926, 932, 2363, 282, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
@@ -7392,67 +7491,67 @@ var yyPact = [...]int{
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 55556, 279, 55556, -1000, 814, 507, -1000, -1000, -460, 1100,
- 1100, 112, 1100, 1100, 1100, 1100, 147, 986, 7, -1000,
- 134, 284, 122, 307, 1070, 135, -1000, -1000, 285, 1070,
- 1755, -1000, 920, 288, 128, -1000, 1100, 1100, -1000, 14204,
- 226, 14204, 14204, 264, -1000, 2369, -1000, -1000, -1000, -1000,
- -1000, 1330, -1000, -1000, -1000, -1000, -72, 475, -1000, -1000,
- -1000, -1000, 54080, 51128, 268, -1000, -1000, 28, 1839, 1168,
- 21608, 1194, 909, -1000, -1000, 1314, 874, -1000, -1000, -1000,
- -1000, -1000, 798, -1000, 23822, 23822, 23822, 23822, -1000, -1000,
- 1914, 50390, 1914, 1914, 23822, 1914, 23822, 1914, 1914, 1914,
- 1914, 21608, 1914, 1914, 1914, 1914, -1000, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, -1000, -1000, -1000, -1000,
- 1914, 813, 1914, 1914, 1914, 1914, 1914, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, 1914, 1914, 1914, 1914, 1914, 1914,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, -1000, -1000, -1000, 1584, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, 26774, 1491, 1489, 1487, -1000, 18656,
- 1914, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, 56487, 188, 56487, -1000, 808, 516, -1000,
+ -1000, -457, 1091, 1091, 84, 1091, 1091, 1091, 1091, 179,
+ 939, 52, -1000, 178, 271, 175, 278, 1065, 172, -1000,
+ -1000, 267, 1065, 1813, -1000, 911, 274, 191, -1000, 1091,
+ 1091, -1000, 14967, 215, 14967, 14967, 269, 164, -1000, 2356,
+ -1000, -1000, -1000, -1000, -1000, 1337, -1000, -1000, -1000, -1000,
+ -23, 476, -1000, -1000, -1000, -1000, 55005, 52041, 212, -1000,
+ -1000, 29, 1636, 1234, 22401, 1674, 885, -1000, -1000, 1584,
+ 864, -1000, -1000, -1000, -1000, -1000, 797, -1000, 24624, 24624,
+ 24624, 24624, -1000, -1000, 1904, 51300, 1904, 1904, 24624, 1904,
+ 24624, 1904, 1904, 1904, 1904, 22401, 1904, 1904, 1904, 1904,
+ -1000, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ -1000, -1000, -1000, -1000, 1904, 805, 1904, 1904, 1904, 1904,
+ 1904, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1904, 1904,
+ 1904, 1904, 1904, 1904, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, -1000, -1000, -1000,
+ 1621, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 27588, 1541,
+ 1540, 1539, -1000, 19437, 1904, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, 55556, -1000, 1914, 222, 54080, 54080, 374, 1321,
- -1000, -1000, 2451, 2011, -1000, 2516, 2490, 398, -1000, 4440,
- 1549, 1669, 1380, 2011, 1882, 55556, -1000, 1940, -1000, -1000,
- -1000, -394, -395, 2179, 1420, 1738, -1000, -1000, -1000, -1000,
- 2205, 21608, -1000, -1000, 2537, -1000, 28250, 812, 2534, 49652,
- -1000, 467, 467, 1893, 420, -22, -1000, -1000, -1000, -1000,
- 976, 35630, -1000, -1000, -1000, -1000, -1000, 1800, 55556, -1000,
- -1000, 4986, 54080, -1000, 2015, -1000, 1762, -1000, 1982, 21608,
- 2033, 506, 54080, 500, 496, 495, -1000, -99, -1000, -1000,
- -1000, -1000, -1000, -1000, 933, 933, 933, -1000, 391, 2502,
- 5134, 6342, -1000, -1000, -1000, 48914, 2014, 54080, -1000, 2012,
- -1000, 1063, 825, 879, 879, 54080, -1000, -1000, 54818, 54080,
- 1061, 1059, 54080, 54080, 54080, 54080, -1000, 48176, -1000, 47438,
- 46700, 1316, 54080, 45962, 45224, 44486, 43748, 43010, -1000, 2220,
- -1000, 1988, -1000, -1000, -1000, 54818, 54080, 54080, 54818, 54080,
- 54818, 55556, 54080, -1000, -1000, 342, -1000, -1000, 1315, 1313,
- 1302, 933, 933, 1299, 1722, 1707, 1704, 933, 933, 1295,
- 1702, 37844, 1649, 292, 1294, 1291, 1289, 1303, 1641, 233,
- 1639, 1301, 1206, 1279, 54080, 2010, 55556, -1000, 267, 971,
- 947, 970, 2374, 2240, 1892, 474, 505, 54080, 463, 463,
- 54080, -1000, 14948, 55556, 188, -1000, 1637, 21608, -1000, 1078,
- 1070, 1070, -1000, -1000, -1000, -1000, -1000, -1000, 1100, 55556,
- 1078, -1000, -1000, -1000, 1070, 1100, 55556, 1100, 1100, 1100,
- 1100, 1070, 1070, 1070, 1100, 55556, 55556, 55556, 55556, 55556,
- 55556, 55556, 55556, 55556, 14204, 920, 1100, -461, -1000, 1629,
- -1000, -1000, -1000, 2147, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, 56487, -1000, 1904, 219,
+ 55005, 55005, 317, 1286, -1000, -1000, 2466, 1986, -1000, 2525,
+ 2494, 406, -1000, 3898, 2151, 1553, 1378, 1986, 1877, 56487,
+ -1000, 1927, -1000, -1000, -1000, -355, -358, 2175, 1423, 1812,
+ -1000, -1000, -1000, -1000, 2693, 22401, -1000, -1000, 2559, -1000,
+ 29070, 803, 2556, 50559, -1000, 462, 462, 1901, 429, 20,
+ -1000, -1000, -1000, -1000, 952, 36480, -1000, -1000, -1000, -1000,
+ -1000, 1811, 56487, -1000, -1000, 5491, 55005, -1000, 2022, -1000,
+ 1809, -1000, 1952, 22401, 2028, 511, 55005, 493, 490, 482,
+ 459, -62, -1000, -1000, -1000, -1000, -1000, -1000, 926, 926,
+ 926, -1000, 381, 2510, 5078, 6391, -1000, -1000, -1000, 49818,
+ 2021, 55005, -1000, 2013, -1000, 1021, 853, 892, 892, 55005,
+ -1000, -1000, 55746, 55005, 1017, 1016, 55005, 55005, 55005, 55005,
+ -1000, 49077, -1000, 48336, 47595, 1281, 55005, 46854, 46113, 45372,
+ 44631, 43890, -1000, 2295, -1000, 2097, -1000, -1000, -1000, 55746,
+ 55005, 55005, 55746, 55005, 55746, 56487, 55005, -1000, -1000, 343,
+ -1000, -1000, 1266, 1265, 1262, 926, 926, 1257, 1800, 1794,
+ 1792, 926, 926, 1254, 1776, 38703, 1764, 268, 1252, 1251,
+ 1243, 1268, 1739, 257, 1726, 1241, 1195, 1239, 55005, 2011,
+ 56487, -1000, 260, 1005, 428, 951, 2363, 2254, 1896, 475,
+ 505, 55005, 450, 450, 55005, -1000, 15714, 56487, 235, -1000,
+ 1714, 22401, -1000, 1089, 1065, 1065, -1000, -1000, -1000, -1000,
+ -1000, -1000, 1091, 56487, 1089, -1000, -1000, -1000, 1065, 1091,
+ 56487, 1091, 1091, 1091, 1091, 1065, 1065, 1065, 1091, 56487,
+ 56487, 56487, 56487, 56487, 56487, 56487, 56487, 56487, 14967, 911,
+ 1091, -459, -1000, 1709, -1000, -1000, -1000, 2127, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
@@ -7468,336 +7567,337 @@ var yyPact = [...]int{
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, 14204, 14204, -1000, -1000, 2448, -1000,
- -1000, -1000, 1888, -1000, 167, -14, 182, -1000, 42272, 485,
- 967, -1000, 485, -1000, -1000, -1000, 1886, 41534, -1000, -462,
- -463, -464, -465, -1000, -1000, -1000, -469, -470, -1000, -1000,
- -1000, 21608, 21608, 21608, 21608, -295, -1000, 1032, 23822, 2307,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 21608, 223, 964,
- 23822, 23822, 23822, 23822, 23822, 23822, 23822, 25298, 24560, 23822,
- 23822, 23822, 23822, 23822, 23822, -1000, -1000, 33416, 8224, 8224,
- 874, 874, 874, 874, -1000, -221, 1884, 54818, -1000, -1000,
- -1000, 811, 21608, 21608, 874, -1000, 1337, 2215, 18656, 21608,
- 21608, 21608, 21608, 939, 1168, 54818, 21608, -1000, 1380, -1000,
- -1000, -1000, -1000, 1210, -1000, -1000, 1045, 2319, 2319, 2319,
- 2319, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
- 21608, 2319, 21608, 148, 148, 1596, 21608, 21608, 21608, 21608,
- 21608, 21608, 21608, 21608, 17180, 21608, 21608, 23822, 21608, 21608,
- 21608, 1380, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
- 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
- 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
- 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
- 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
- 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
- 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
- 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
- 21608, 1380, 21608, 1338, 21608, 21608, 21608, 21608, 21608, 21608,
- 21608, 16436, 21608, 21608, 21608, 21608, 21608, -1000, -1000, -1000,
- -1000, -1000, -1000, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
- 21608, 1380, 21608, 21608, 21608, 21608, 21608, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1633, 1592,
- 1458, 21608, -1000, 1883, -1000, -198, 30464, 21608, 1617, 2532,
- 2056, 54080, -1000, -1000, -1000, -1000, 2451, -1000, 2451, 1633,
- 4400, 2182, 20870, -1000, -1000, 4400, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1647,
- -1000, 55556, 1882, 2443, 54080, -1000, -355, -1000, -361, 2156,
- 1605, 340, -1000, 21608, 21608, 1878, -1000, 1687, 55556, -1000,
- -295, -1000, 40796, -1000, -1000, 13460, 55556, 355, 55556, -1000,
- 29726, 40058, 290, -1000, -22, 1867, -1000, -26, -16, 17918,
- 873, -1000, -1000, -1000, 1742, 26036, 1836, 873, 66, -1000,
- -1000, -1000, 1982, -1000, 1982, 1982, 1982, 1982, 340, 340,
- 340, 340, -1000, -1000, -1000, -1000, -1000, 2009, 1982, 2008,
- -1000, 1982, 1982, 1982, 1982, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 14967, 14967,
+ -1000, -1000, 2454, 2451, -1000, -1000, -1000, 1887, -1000, 180,
+ 13, 182, -1000, 43149, 515, 950, -1000, 515, -1000, -1000,
+ -1000, -1000, -1000, 1886, 42408, -1000, -460, -461, -462, -468,
+ -1000, -1000, -1000, -470, -472, -1000, -1000, -1000, 22401, 22401,
+ 22401, 22401, -250, -1000, 1208, 24624, 2396, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, 22401, 262, 928, 24624, 24624, 24624,
+ 24624, 24624, 24624, 24624, 26106, 25365, 24624, 24624, 24624, 24624,
+ 24624, 24624, -1000, -1000, 34257, 4437, 4437, 864, 864, 864,
+ 864, -1000, -173, 1884, 55746, -1000, -1000, -1000, 801, 22401,
+ 22401, 864, -1000, 1269, 940, 19437, 22401, 22401, 22401, 22401,
+ 931, 1234, 55746, 22401, -1000, 1378, -1000, -1000, -1000, -1000,
+ 1169, -1000, -1000, 1032, 2307, 2307, 2307, 2307, 22401, 22401,
+ 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 2307, 22401,
+ 1034, 1034, 1145, 22401, 22401, 22401, 22401, 22401, 22401, 22401,
+ 22401, 17955, 22401, 22401, 24624, 22401, 22401, 22401, 1378, 22401,
+ 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401,
+ 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401,
+ 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401,
+ 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401,
+ 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401,
+ 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401,
+ 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401,
+ 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 1378, 22401,
+ 1190, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 17208, 22401,
+ 22401, 22401, 22401, 22401, -1000, -1000, -1000, -1000, -1000, -1000,
+ 22401, 22401, 22401, 22401, 22401, 22401, 22401, 22401, 1378, 22401,
+ 22401, 22401, 22401, 22401, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, 1537, 1526, 1403, 22401, -1000,
+ 1883, -1000, -200, 31293, 22401, 1706, 2554, 2053, 55005, -1000,
+ -1000, -1000, -1000, 2466, -1000, 2466, 1537, 3661, 2178, 21660,
+ -1000, -1000, 3661, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, 1841, -1000, 56487, 1877,
+ 2431, 55005, -1000, -286, -1000, -289, 2173, 1703, 339, -1000,
+ 22401, 22401, 1876, -1000, 1440, 56487, -1000, -250, -1000, 41667,
+ -1000, -1000, 14220, 56487, 336, 56487, -1000, 30552, 40926, 300,
+ -1000, 20, 1865, -1000, 26, 11, 18696, 862, -1000, -1000,
+ -1000, 1338, 26847, 1817, 862, 109, -1000, -1000, -1000, 1952,
+ -1000, 1952, 1952, 1952, 1952, 339, 339, 339, 339, -1000,
+ -1000, -1000, -1000, -1000, 2007, 1952, 2004, -1000, 1952, 1952,
+ 1952, 1952, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1998,
+ 1998, 1998, 1995, 1995, 1957, 1957, 436, -1000, 22401, 408,
+ 40185, 2444, 1238, 1505, 260, 459, 2052, 55005, 55005, 55005,
+ 56487, 974, -1000, 1364, 1361, 1356, -1000, -533, 1875, -1000,
+ -1000, 2509, -1000, -1000, 1028, 1048, 1041, 1049, 55005, 233,
+ 331, -1000, 418, -1000, 40185, 55005, 1001, 892, 55005, -1000,
+ 55005, -1000, -1000, -1000, -1000, -1000, 55005, -1000, -1000, 1874,
+ -1000, 1888, 1128, 1035, 1095, 1011, 1874, -1000, -1000, -179,
+ 1874, -1000, 1874, -1000, 1874, -1000, 1874, -1000, 1874, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 980, 328,
+ -343, 55005, 233, 469, -1000, 468, 34257, -1000, -1000, -1000,
+ 34257, 34257, -1000, -1000, -1000, -1000, 1692, 1663, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, 2003, 2003, 2003, 2002, 2002, 1983, 1983, 448,
- -1000, 21608, 426, 39320, 2381, 1277, 2617, 267, 464, 2053,
- 54080, 54080, 54080, 464, -1000, 1359, 1356, 1351, -1000, -531,
- 1872, -1000, -1000, 2501, -1000, -1000, 1156, 1082, 1080, 916,
- 54080, 231, 351, -1000, 435, -1000, 39320, 54080, 1058, 879,
- 54080, -1000, 54080, -1000, -1000, -1000, -1000, -1000, 54080, -1000,
- -1000, 1871, -1000, 1900, 1122, 1077, 1086, 1051, 1871, -1000,
- -1000, -228, 1871, -1000, 1871, -1000, 1871, -1000, 1871, -1000,
- 1871, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 1002, 119, -365, 54080, 231, 473, -1000, 472, 33416, -1000,
- -1000, -1000, 33416, 33416, -1000, -1000, -1000, -1000, 1602, 1600,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -522, 56487, -1000,
+ 256, 949, 292, 299, 305, 56487, 354, 2327, 2325, 2324,
+ 2317, 2304, 2299, 2291, 248, 311, 56487, 56487, 450, 2106,
+ 56487, 2403, 56487, -1000, -1000, -1000, -1000, -1000, 1653, 1647,
+ -1000, 1234, 56487, -1000, -1000, 1091, 1091, -1000, -1000, 56487,
+ 1091, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1091,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -520,
- 55556, -1000, 251, 956, 344, 357, 303, 55556, 372, 2337,
- 2333, 2330, 2325, 2321, 2314, 2313, 271, 336, 55556, 55556,
- 463, 2096, 55556, 2407, 55556, -1000, -1000, -1000, -1000, -1000,
- 1598, 1595, -1000, 1168, 55556, -1000, -1000, 1100, 1100, -1000,
- -1000, 55556, 1100, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 1100, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 55556, -1000, -1000,
- -1000, -1000, 1588, -1000, -72, 154, -1000, -1000, 54080, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -120, -1000,
- 305, -30, 406, -1000, -1000, -1000, -1000, -1000, 2447, -1000,
- 1168, 1026, 993, -1000, 1914, -1000, -1000, 1213, -1000, -1000,
- -1000, -1000, -1000, 1914, 1914, 1914, -1000, -1000, -1000, -1000,
- -1000, 223, 23822, 23822, 23822, 1429, 819, 1413, 1578, 1604,
- 923, 923, 930, 23822, 930, 23822, 881, 881, 881, 881,
- 881, -1000, -1000, -1000, -1000, -1000, -1000, 1584, -1000, 1562,
- -1000, 1914, 54818, 1760, 16436, 1382, 2139, 1380, 902, -1000,
+ -1000, -1000, -1000, -1000, -1000, 56487, -1000, -1000, -1000, -1000,
+ 1630, -1000, 56487, -23, 169, -1000, -1000, 55005, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -109, -1000, 777,
+ 21, 390, -1000, -1000, -1000, -1000, -1000, 2440, -1000, 1234,
+ 999, 953, -1000, 1904, -1000, -1000, 1303, -1000, -1000, -1000,
+ -1000, -1000, 1904, 1904, 1904, -1000, -1000, -1000, -1000, -1000,
+ 262, 24624, 24624, 24624, 1596, 479, 1635, 1244, 1670, 1506,
+ 1506, 1146, 24624, 1146, 24624, 863, 863, 863, 863, 863,
+ -1000, -1000, -1000, -1000, -1000, -1000, 1621, -1000, 1616, -1000,
+ 1904, 55746, 1774, 17208, 1552, 1264, 1378, 877, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4309,
- 1380, 1839, 1380, 1196, 4305, 996, -1000, 21608, 1380, 4301,
- -1000, -1000, 1380, 1380, 21608, -1000, -1000, 21608, 21608, 21608,
- 21608, 2617, 2617, 2617, 2617, 2617, 2617, 2617, 2617, 2617,
- 2617, 21608, 2617, 1870, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3572, 1378,
+ 1636, 1378, 1769, 3539, 969, -1000, 22401, 1378, 3524, -1000,
+ -1000, 1378, 1378, 22401, -1000, -1000, 22401, 22401, 22401, 22401,
+ 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505,
+ 22401, 1505, 1873, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, 1869, 2530, 1293, 2617, 2617, 2617, 2617, 4293,
- 2617, 2617, 21608, 1306, -1000, -1000, -1000, 1379, 4288, 1366,
- 4284, 2617, 2617, -1000, 2617, 4280, 4276, 1380, 3273, 3265,
- 2617, 2617, 2617, 2617, 2617, 3037, 3011, 2617, 2617, 2975,
- 2617, 4266, 2617, 2963, 2951, 2876, 2849, 2807, 2773, 2763,
- 2727, 2723, 2703, 2642, 2609, 2603, 2558, 2539, 2495, 2479,
- 2450, 2617, 2617, 2617, 4257, 2617, 4248, 2617, 4244, 2617,
- 2617, 4239, 2435, 2406, 1380, 1868, -1000, 4233, 2617, 4227,
- 4223, 4216, 2399, 4203, 3957, 3948, 2617, 2617, 2617, 2385,
- 3938, 3930, 3925, 3907, 3896, 3888, 3573, 3566, 3555, 2617,
- 1458, 1458, 1458, 1458, 1458, 3551, -323, 2617, 1380, -1000,
- -1000, -1000, -1000, -1000, 3540, 2361, 3513, 3480, 3470, 3456,
- 1380, 1914, 808, -1000, -1000, 1458, 1380, 1380, 1458, 1458,
- 3447, 3442, 3417, 3387, 3381, 3377, 2617, 2617, -1000, 2617,
- 3370, 3360, 2354, 2336, 1380, -1000, 1458, 55556, -1000, -452,
- -1000, -43, 937, 1914, -1000, 37844, 1380, -1000, 7664, -1000,
- 1269, -1000, -1000, -1000, -1000, -1000, 34892, 1656, -1000, -1000,
- -1000, -1000, 1914, 1753, -1000, -1000, -1000, -1000, 340, 52,
- 34154, 867, 867, 85, 1168, 1168, 21608, -1000, -1000, -1000,
- -1000, -1000, -1000, 807, 2515, 331, 1914, -1000, 1877, 2665,
- -1000, -1000, -1000, 2431, 27512, -1000, -1000, 1914, 1914, 55556,
- 1798, 1779, -1000, 806, -1000, 1340, 1867, -22, -32, -1000,
- -1000, -1000, -1000, 1168, -1000, 1346, 356, 1492, -1000, 434,
- -1000, -1000, -1000, -1000, 2270, 42, -1000, -1000, -1000, 371,
- 340, -1000, -1000, -1000, -1000, -1000, -1000, 1554, -1000, 1554,
- -1000, -1000, -1000, -1000, -1000, 1276, -1000, -1000, -1000, -1000,
- 1262, -1000, -1000, 1250, -1000, -1000, 3344, 2086, 426, -1000,
- -1000, 933, 1547, -1000, -1000, 2289, 933, 933, 54080, -1000,
- -1000, 1785, 2381, 251, 55556, 944, 2094, -1000, 2053, 2053,
- 2053, 55556, -1000, -1000, -1000, -1000, -1000, -1000, -533, 165,
- 335, -1000, -1000, -1000, 5507, 54080, 1751, -1000, 234, -1000,
- 1782, -1000, 54080, -1000, 1749, 1995, 54080, 54080, -1000, -1000,
- -1000, 54080, 1914, -1000, -1000, -1000, -1000, 502, 2371, 338,
- -1000, -1000, -344, -1000, -1000, 231, 234, 54818, 54080, 873,
- -1000, -1000, -1000, -1000, -1000, -523, 1734, 489, 242, 297,
- 55556, 55556, 55556, 55556, 55556, 55556, 789, -1000, -1000, -8,
- -1000, -1000, 201, -1000, -1000, -1000, -1000, -1000, -1000, 201,
- -1000, -1000, -1000, -1000, -1000, 294, 471, -1000, 55556, 55556,
- 935, -1000, -1000, -1000, -1000, -1000, 1070, -1000, -1000, 1070,
+ -1000, 1870, 2549, 1529, 1505, 1505, 1505, 1505, 3505, 1505,
+ 1505, 22401, 1477, -1000, -1000, -1000, 1377, 3495, 1344, 3490,
+ 1505, 1505, -1000, 1505, 3486, 3481, 1378, 2689, 2684, 1505,
+ 1505, 1505, 1505, 1505, 2680, 2676, 1505, 1505, 2668, 1505,
+ 3477, 1505, 2657, 2615, 2589, 2585, 2566, 2560, 2548, 2521,
+ 2483, 2479, 2460, 2452, 2448, 2443, 2413, 2398, 2344, 2333,
+ 1505, 1505, 1505, 3473, 1505, 3466, 1505, 3459, 1505, 1505,
+ 3454, 2329, 2323, 1378, 1866, -1000, 3434, 1505, 3425, 3415,
+ 3411, 2316, 3405, 3396, 3391, 1505, 1505, 1505, 2312, 3386,
+ 3379, 3369, 3349, 3281, 3071, 3064, 3060, 3049, 1505, 1403,
+ 1403, 1403, 1403, 1403, 3044, -256, 1505, 1378, -1000, -1000,
+ -1000, -1000, -1000, 3040, 2298, 3019, 3009, 3002, 2993, 1378,
+ 1904, 796, -1000, -1000, 1403, 1378, 1378, 1403, 1403, 2969,
+ 2958, 2951, 2940, 2928, 2924, 1505, 1505, -1000, 1505, 2887,
+ 2811, 2280, 2250, 1378, -1000, 1403, 56487, -1000, -446, -1000,
+ 22, 944, 1904, -1000, 38703, 1378, -1000, 5069, -1000, 1317,
+ -1000, -1000, -1000, -1000, -1000, 35739, 1857, -1000, -1000, -1000,
+ -1000, 1904, 1763, -1000, -1000, -1000, -1000, 339, 72, 34998,
+ 857, 857, 124, 1234, 1234, 22401, -1000, -1000, -1000, -1000,
+ -1000, -1000, 794, 2527, 387, 1904, -1000, 1895, 2899, -1000,
+ -1000, -1000, 2429, 28329, -1000, -1000, 1904, 1904, 56487, 1846,
+ 1845, -1000, 789, -1000, 1342, 1865, 20, -4, -1000, -1000,
+ -1000, -1000, 1234, -1000, 1352, 345, 342, -1000, 435, -1000,
+ -1000, -1000, -1000, 2278, 85, -1000, -1000, -1000, 322, 339,
+ -1000, -1000, -1000, -1000, -1000, -1000, 1606, -1000, 1606, -1000,
+ -1000, -1000, -1000, -1000, 1237, -1000, -1000, -1000, -1000, 1223,
+ -1000, -1000, 1221, -1000, -1000, 2358, 2108, 408, -1000, -1000,
+ 926, 1599, -1000, -1000, 2283, 926, 926, 55005, -1000, -1000,
+ 1731, 2444, 256, 56487, 2100, -1000, 2052, 2052, 2052, -1000,
+ 2392, -1000, -1000, -1000, -1000, -1000, -1000, -524, 163, 571,
+ -1000, -1000, -1000, 5530, 55005, 1730, -1000, 229, -1000, 1651,
+ -1000, 55005, -1000, 1702, 1988, 55005, 55005, -1000, -1000, -1000,
+ 55005, 1904, -1000, -1000, -1000, -1000, 504, 2359, 330, -1000,
+ -1000, -300, -1000, -1000, 233, 229, 55746, 55005, 862, -1000,
+ -1000, -1000, -1000, -1000, -525, 1700, 480, 240, 488, 56487,
+ 56487, 56487, 56487, 56487, 56487, 774, -1000, -1000, 37, -1000,
+ -1000, 211, -1000, -1000, -1000, -1000, -1000, -1000, 211, -1000,
+ -1000, -1000, -1000, -1000, 287, 465, -1000, 56487, 56487, 935,
+ -1000, -1000, -1000, -1000, -1000, 1065, -1000, -1000, 1065, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 2351, 55556, -34, -491, -1000, -488, 21608, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, 1328, 805, 1413, 23822, 23822,
- 2215, 2215, 23822, -1000, -1000, -1000, 985, 985, 33416, -1000,
- 23822, 21608, -1000, -1000, 21608, 21608, 21608, 982, -1000, 21608,
- 1273, -1000, 21608, -1000, -323, 1458, 2617, 2617, 2617, 2617,
- -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
- 1854, -1000, 21608, 21608, 21608, 1380, 304, -1000, -1000, -1000,
- -323, 21608, -1000, -1000, 2526, -1000, 21608, -1000, 33416, 21608,
- 21608, 21608, -1000, -1000, -1000, 21608, 21608, -1000, -1000, 21608,
- -1000, 21608, -1000, -1000, -1000, -1000, -1000, -1000, 21608, -1000,
- 21608, -1000, -1000, -1000, 21608, -1000, 21608, -1000, -1000, 21608,
- -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608,
- -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608,
- -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608,
- -1000, 21608, -1000, 21608, -1000, -1000, -1000, 21608, -1000, 21608,
- -1000, 21608, -1000, -1000, 21608, -1000, 21608, -1000, 21608, -1000,
- 21608, 21608, -1000, 21608, 21608, 21608, -1000, 21608, 21608, 21608,
- 21608, -1000, -1000, -1000, -1000, 21608, 21608, 21608, 21608, 21608,
- 21608, 21608, 21608, 21608, 21608, -1000, -1000, -1000, -1000, -1000,
- -1000, 21608, -1000, 39320, 1, -323, 1338, 1, 1338, 23084,
- 823, 816, 22346, -1000, 21608, 15692, -1000, -1000, -1000, -1000,
- -1000, 21608, 21608, 21608, 21608, 21608, 21608, -1000, -1000, -1000,
- 21608, 21608, -1000, 21608, -1000, 21608, -1000, -1000, -1000, -1000,
- -1000, 937, -1000, 834, 831, 879, 54080, -1000, -1000, -1000,
- -1000, 1862, -1000, 2454, -1000, 2213, 2211, 2524, 2515, 20870,
- -1000, 29726, -1000, -1000, 54080, -443, -1000, 2231, 2277, 867,
- 867, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 12716, 2451,
- 21608, 2093, 54818, 238, -1000, 28988, 54080, 54818, 29726, 29726,
- 29726, 29726, 29726, -1000, 2127, 2115, -1000, 2163, 2117, 2192,
- 55556, -1000, 1633, 1729, -1000, 21608, 31940, 1802, 29726, -1000,
- -1000, 29726, 55556, 11972, -1000, -1000, -37, -49, -1000, -1000,
- -1000, -1000, 1742, -1000, -1000, 1017, 2428, 2266, -1000, -1000,
- -1000, -1000, -1000, 1727, -1000, 1718, 1861, 1716, 1699, 119,
- -1000, 2031, 2350, 933, 933, -1000, 1249, -1000, 1337, 1545,
- 1536, -1000, -1000, -1000, 486, -1000, 2400, 55556, 2088, 2081,
- 2079, -1000, -541, 1244, 1992, 2030, 21608, 1991, 2497, 1852,
- 54080, -1000, -1000, 54818, -1000, 260, -1000, 426, 54080, -1000,
- -1000, -1000, 351, 55556, -1000, 7359, -1000, -1000, -1000, 234,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 55556, 247, -1000,
- 1989, 1297, -1000, -1000, 2013, -1000, -1000, -1000, -1000, -1000,
- 159, 153, 1531, 199, 1521, 199, -1000, 55556, 921, 2086,
- 55556, -1000, -1000, -1000, 1100, 1100, -1000, -1000, 2346, -1000,
- 1337, 2617, 23822, 23822, -1000, 874, -1000, -1000, 415, -275,
- 1982, 1982, -1000, 1982, 1983, -1000, 1982, 151, 1982, 121,
- 1982, -1000, -1000, 1380, 1380, -1000, 1458, 2288, 2020, 3339,
- -1000, 1168, 21608, 3261, -1000, -1000, -323, -323, -323, -323,
- -323, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -109, 3097, 3052, 2617, -1000, 1977, 1975, -1000, 2617,
- 21608, 2617, 1380, 2283, 2617, 2617, 2617, 2617, 2617, 2617,
- 2617, 2617, 2617, 2617, 2617, 2617, 2218, 2189, 2181, 2165,
- 2148, 2111, 2104, 2098, 2044, 2032, 2028, 2016, 2004, 1996,
- 1979, 1919, 2617, 2617, 1889, 2617, 1879, 1859, -1000, 1168,
- 1458, 2814, 1458, 2617, 2617, 2660, 287, 2617, 1675, 1675,
- 1675, 1675, 1675, 1458, 1458, 1458, 1458, 2617, 54080, -1000,
- -323, -1000, -1000, -370, -377, -1000, 1380, -323, 1858, 23822,
- 2617, 23822, 23822, 23822, 2617, 1380, -1000, 1807, 1789, 2513,
- 1765, 2617, 2271, 2617, 2617, 2617, 1747, -1000, 2387, 1914,
- 2387, 1914, 2387, 1646, 1269, 55556, -1000, -1000, -1000, -1000,
- 2515, 2521, -1000, 1853, -1000, 52, 402, -1000, 2257, 2277,
- -1000, 2496, 2226, 2484, -1000, -1000, -1000, -1000, -1000, 1168,
- -1000, 2376, 1826, -1000, 954, 1804, -1000, -1000, 20132, 1671,
- 2201, 804, 1646, 1855, 2665, 2051, 2078, 2488, -1000, -1000,
- -1000, -1000, 2114, -1000, 2113, -1000, -1000, 1940, -1000, 2143,
- 355, 29726, 1832, 1832, -1000, 797, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 1096, 7359, 2572, -1000, 1519, -1000, 1332,
- 192, 1236, -1000, -1000, 933, 933, -1000, 1052, 1044, -1000,
- 55556, 1947, -1000, 340, 1503, 340, 1234, -1000, -1000, 1229,
- -1000, -1000, -1000, -1000, 1926, 2057, -1000, -1000, -1000, -1000,
- 55556, -1000, -1000, 55556, 55556, 55556, 1945, 2481, -1000, 21608,
- 1944, 934, 3017, 54080, 54080, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, 456, 933, -503, 324,
- 318, 933, 933, 933, -544, -1000, -1000, 1628, 1616, -1000,
- -248, -1000, 21608, -1000, -1000, -1000, -1000, -1000, 1272, 1272,
- 1491, 1489, 1487, -1000, 1940, -1000, -1000, -1000, 1763, -1000,
- -1000, -237, 54080, 54080, 54080, 54080, -1000, -1000, -1000, 1223,
+ -1000, 2352, 56487, 0, -491, -1000, -488, 22401, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, 1197, 477, 1635, 24624, 24624,
+ 940, 940, 24624, -1000, -1000, -1000, 832, 832, 34257, -1000,
+ 24624, 22401, -1000, -1000, 22401, 22401, 22401, 929, -1000, 22401,
+ 1199, -1000, 22401, -1000, -256, 1403, 1505, 1505, 1505, 1505,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ 1894, -1000, 22401, 22401, 22401, 1378, 291, -1000, -1000, -1000,
+ -256, 22401, -1000, -1000, 2547, -1000, 22401, -1000, 34257, 22401,
+ 22401, 22401, -1000, -1000, -1000, 22401, 22401, -1000, -1000, 22401,
+ -1000, 22401, -1000, -1000, -1000, -1000, -1000, -1000, 22401, -1000,
+ 22401, -1000, -1000, -1000, 22401, -1000, 22401, -1000, -1000, 22401,
+ -1000, 22401, -1000, 22401, -1000, 22401, -1000, 22401, -1000, 22401,
+ -1000, 22401, -1000, 22401, -1000, 22401, -1000, 22401, -1000, 22401,
+ -1000, 22401, -1000, 22401, -1000, 22401, -1000, 22401, -1000, 22401,
+ -1000, 22401, -1000, 22401, -1000, -1000, -1000, 22401, -1000, 22401,
+ -1000, 22401, -1000, -1000, 22401, -1000, 22401, -1000, 22401, -1000,
+ 22401, 22401, -1000, 22401, 22401, 22401, -1000, 22401, 22401, 22401,
+ 22401, -1000, -1000, -1000, -1000, 22401, 22401, 22401, 22401, 22401,
+ 22401, 22401, 22401, 22401, 22401, -1000, -1000, -1000, -1000, -1000,
+ -1000, 22401, -1000, 40185, 43, -256, 1190, 43, 1190, 23883,
+ 812, 811, 23142, -1000, 22401, 16461, -1000, -1000, -1000, -1000,
+ -1000, 22401, 22401, 22401, 22401, 22401, 22401, -1000, -1000, -1000,
+ 22401, 22401, -1000, 22401, -1000, 22401, -1000, -1000, -1000, -1000,
+ -1000, 944, -1000, 466, 464, 892, 55005, -1000, -1000, -1000,
+ -1000, 1864, -1000, 2455, -1000, 2206, 2205, 2537, 2527, 21660,
+ -1000, 30552, -1000, -1000, 55005, -408, -1000, 2247, 2369, 857,
+ 857, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 13473, 2466,
+ 22401, 2092, 55746, 223, -1000, 29811, 55005, 55746, 30552, 30552,
+ 30552, 30552, 30552, -1000, 2140, 2126, -1000, 2180, 2136, 2261,
+ 56487, -1000, 1537, 1696, -1000, 22401, 32775, 1827, 30552, -1000,
+ -1000, 30552, 56487, 12726, -1000, -1000, -3, -1, -1000, -1000,
+ -1000, -1000, 1338, -1000, -1000, 1066, 2422, 2272, -1000, -1000,
+ -1000, -1000, -1000, 1689, -1000, 1659, 1859, 1643, 1634, 328,
+ -1000, 2005, 2349, 926, 926, -1000, 1219, -1000, 1269, 1597,
+ 1585, -1000, -1000, -1000, 467, -1000, 56487, 2083, 2074, 2073,
+ -1000, -540, 1217, 1985, 1941, 22401, 1979, 2507, 1851, 55005,
+ -1000, -1000, 55746, -1000, 259, -1000, 408, 55005, -1000, -1000,
+ -1000, 331, 56487, -1000, 8967, -1000, -1000, -1000, 229, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, 56487, 242, -1000, 1978,
+ 1336, -1000, -1000, 2038, -1000, -1000, -1000, -1000, -1000, 213,
+ 210, 1583, 195, 1569, 195, -1000, 56487, 927, 2108, 56487,
+ -1000, -1000, -1000, 1091, 1091, -1000, -1000, 2343, -1000, 1269,
+ 1505, 24624, 24624, -1000, 864, -1000, -1000, 510, -223, 1952,
+ 1952, -1000, 1952, 1957, -1000, 1952, 154, 1952, 149, 1952,
+ -1000, -1000, 1378, 1378, -1000, 1403, 2234, 1821, 2792, -1000,
+ 1234, 22401, 2786, -1000, -1000, -256, -256, -256, -256, -256,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, 874, 1380, 332, -240, 1380, -1000, -1000, 340,
+ -69, 2765, 2720, 1505, -1000, 1951, 1950, -1000, 1505, 22401,
+ 1505, 1378, 2225, 1505, 1505, 1505, 1505, 1505, 1505, 1505,
+ 1505, 1505, 1505, 1505, 1505, 2204, 2200, 2170, 2162, 2156,
+ 2150, 2139, 2130, 2122, 2117, 2109, 2084, 2075, 2068, 2054,
+ 2040, 1505, 1505, 2023, 1505, 1974, 1959, -1000, 1234, 1403,
+ 2713, 1403, 1505, 1505, 2703, 306, 1505, 1628, 1628, 1628,
+ 1628, 1628, 1403, 1403, 1403, 1403, 1505, 55005, -1000, -256,
+ -1000, -1000, -325, -327, -1000, 1378, -256, 1855, 24624, 1505,
+ 24624, 24624, 24624, 1505, 1378, -1000, 1954, 1945, 2647, 1936,
+ 1505, 2044, 1505, 1505, 1505, 1929, -1000, 2435, 1904, 2435,
+ 1904, 2435, 1568, 1317, 56487, -1000, -1000, -1000, -1000, 2527,
+ 2486, -1000, 1854, -1000, 72, 599, -1000, 2210, 2369, -1000,
+ 2506, 2233, 2505, -1000, -1000, -1000, -1000, -1000, 1234, -1000,
+ 2366, 1858, -1000, 948, 1839, -1000, -1000, 20919, 1605, 2198,
+ 785, 1568, 1893, 2899, 2047, 2072, 3365, -1000, -1000, -1000,
+ -1000, 2119, -1000, 2107, -1000, -1000, 1927, -1000, 2000, 336,
+ 30552, 1890, 1890, -1000, 781, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, 1083, 8967, 2567, -1000, 1557, -1000, 1343, 203,
+ 1214, -1000, -1000, 926, 926, -1000, 996, 994, -1000, 56487,
+ 1948, -1000, 339, 1546, 339, 1206, -1000, -1000, 1200, -1000,
+ -1000, -1000, -1000, 1903, 2255, -1000, -1000, -1000, -1000, 56487,
+ -1000, 56487, 56487, 56487, 1939, 2503, -1000, 22401, 1935, 934,
+ 2348, 55005, 55005, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, 421, 926, -504, 302, 301, 926,
+ 926, 926, -543, -1000, -1000, 1566, 1544, -1000, -208, -1000,
+ 22401, -1000, -1000, -1000, -1000, -1000, 1180, 1180, 1541, 1540,
+ 1539, -1000, 1927, -1000, -1000, -1000, 1629, -1000, -1000, -185,
+ 55005, 55005, 55005, 55005, -1000, -1000, -1000, 1114, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 21608, -1000, 21608, -1000, 21608, 1168, 21608, -1000, -1000, -1000,
- -1000, -1000, 2451, 1480, 21608, 21608, -1000, 1222, 1211, -323,
- 2617, -1000, -1000, -1000, 21608, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 21608, -1000,
- 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000,
- 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000,
- 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000,
- -1000, 21608, -1000, -1000, -1000, 21608, -1000, 21608, -1000, 21608,
- -1000, -1000, -1000, 21608, 227, 985, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1380, 354, -1000,
- -1000, -1000, 2518, -1000, 1380, 21608, 2215, -1000, 2215, 2215,
- 2215, -1000, -1000, -1000, 21608, -1000, 21608, 21608, -1000, 21608,
- -1000, 21608, -1000, -1000, -1000, -1000, 21608, 1914, 2229, 38582,
- 1914, 38582, 1914, 31940, -1000, -1000, 2521, 2514, 2475, 2209,
- 2221, 2221, 2257, -1000, 2474, 2471, -1000, 1477, 2470, 1474,
- 1009, -1000, 54818, 21608, -1000, 238, 37844, -1000, 397, 54080,
- 238, 54080, -1000, 2508, -1000, -1000, 21608, 1943, -1000, 21608,
- -1000, -1000, -1000, -1000, 8224, 2515, 1832, -1000, -1000, 888,
- -1000, 21608, -1000, 9940, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, 1461, 1437, -1000, -1000, 1942, 21608, -1000, -1000,
- -1000, 1713, 1624, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 1940, -1000, -1000, -1000, -1000, 351, -535, 2922, 54080,
- 1203, -1000, 1581, 1852, 343, 238, 1422, 933, 933, 933,
- 1197, 1186, 37844, 1542, -1000, 54080, 375, -1000, 351, -1000,
- -262, -265, 2617, -1000, -1000, 2420, -1000, -1000, 15692, -1000,
- -1000, 1934, 2041, -1000, -1000, -1000, -1000, 2155, -225, -243,
- -1000, -1000, 2617, 2617, 2617, 1817, 1380, -1000, 2617, 2617,
- 1543, 1430, -1000, -1000, 2617, 2617, 2617, 2617, 2617, 2617,
- 2617, 2617, 2617, 2617, 2617, 2617, 2617, 2617, 2617, 2617,
- 2617, 2617, 2617, 2617, 1458, 1737, -1000, 227, 1380, 2076,
- -1000, -1000, 8224, -1000, -1000, 2508, 2469, 1, -1000, -1000,
- 230, 1, 1168, 977, 1380, 1380, 977, 1712, 2617, 1683,
- 1652, 2617, 2617, 32678, -1000, 2466, 2462, 1526, -1000, -1000,
- 38582, 1526, 38582, 937, 2514, -332, 21608, 21608, 2195, 1218,
- -1000, -1000, -1000, -1000, 1419, 1418, -1000, 1406, -1000, 2561,
- -1000, 1168, -1000, 1914, 238, -1000, 787, 1804, -1000, 2451,
- 1168, 54080, 1168, 34, 2508, -1000, 2617, -1000, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
- 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, -1000,
- -1000, 54080, 2890, -1000, -1000, 2416, 1540, 162, -1000, 1383,
- 1852, -1000, -1000, 221, -1000, 21608, -1000, 37844, 1404, 1392,
- -1000, -1000, -1000, -1000, -544, -1000, -1000, -1000, -1000, -1000,
- -1000, 398, 1850, -1000, 929, 54080, 55556, -1000, 2135, -1000,
- -1000, -1000, -1000, 21608, -1000, -1000, -1000, -1000, -1000, -1000,
+ 864, 1378, 344, -191, 1378, -1000, -1000, 339, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 22401, -1000,
+ 22401, -1000, 22401, 1234, 22401, -1000, -1000, -1000, -1000, -1000,
+ 2466, 1533, 22401, 22401, -1000, 1193, 1188, -256, 1505, -1000,
+ -1000, -1000, 22401, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, 22401, -1000, 22401, -1000,
+ 22401, -1000, 22401, -1000, 22401, -1000, 22401, -1000, 22401, -1000,
+ 22401, -1000, 22401, -1000, 22401, -1000, 22401, -1000, 22401, -1000,
+ 22401, -1000, 22401, -1000, 22401, -1000, 22401, -1000, -1000, 22401,
+ -1000, -1000, -1000, 22401, -1000, 22401, -1000, 22401, -1000, -1000,
+ -1000, 22401, 264, 832, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, 1378, 333, -1000, -1000, -1000,
+ 2532, -1000, 1378, 22401, 940, -1000, 940, 940, 940, -1000,
+ -1000, -1000, 22401, -1000, 22401, 22401, -1000, 22401, -1000, 22401,
+ -1000, -1000, -1000, -1000, 22401, 1904, 2212, 39444, 1904, 39444,
+ 1904, 32775, -1000, -1000, 2486, 2522, 2499, 2220, 2223, 2223,
+ 2210, -1000, 2498, 2489, -1000, 1502, 2485, 1485, 954, -1000,
+ 55746, 22401, -1000, 223, 38703, -1000, 401, 55005, 223, 55005,
+ -1000, 2480, -1000, -1000, 22401, 1934, -1000, 22401, -1000, -1000,
+ -1000, -1000, 4437, 2527, 1890, -1000, -1000, 873, -1000, 22401,
+ -1000, 10484, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ 1483, 1469, -1000, -1000, 1933, 22401, -1000, -1000, -1000, 1538,
+ 1527, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1927,
+ -1000, -1000, -1000, -1000, 331, -529, 2216, 55005, 1130, -1000,
+ 1501, 1851, 310, 223, 1467, 926, 926, 926, 1126, 1123,
+ 38703, 1494, -1000, 55005, 409, -1000, 331, -1000, -216, -217,
+ 1505, -1000, -1000, 2420, -1000, -1000, 16461, -1000, -1000, 1920,
+ 2049, -1000, -1000, -1000, -1000, 2157, -176, -194, -1000, -1000,
+ 1505, 1505, 1505, 1388, 1378, -1000, 1505, 1505, 1491, 1475,
+ -1000, -1000, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505,
+ 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505,
+ 1505, 1505, 1403, 1868, -1000, 264, 1378, 2067, -1000, -1000,
+ 4437, -1000, -1000, 2480, 2484, 43, -1000, -1000, 225, 43,
+ 1234, 960, 1378, 1378, 960, 1832, 1505, 1738, 1713, 1505,
+ 1505, 33516, -1000, 2470, 2469, 1457, -1000, -1000, 39444, 1457,
+ 39444, 944, 2522, -267, 22401, 22401, 2214, 1147, -1000, -1000,
+ -1000, -1000, 1465, 1444, -1000, 1410, -1000, 2565, -1000, 1234,
+ -1000, 1904, 223, -1000, 545, 1839, -1000, 2466, 1234, 55005,
+ 1234, 73, 2480, -1000, 1505, -1000, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904,
+ 1904, 1904, 1904, 1904, 1904, 1904, 1904, -1000, -1000, 55005,
+ 2031, -1000, -1000, 2415, 1474, 162, -1000, 1454, 1851, -1000,
+ -1000, 221, -1000, 22401, -1000, 38703, 1398, 1355, -1000, -1000,
+ -1000, -1000, -543, -1000, -1000, -1000, -1000, -1000, -1000, 406,
+ 1848, -1000, 924, 55005, 56487, -1000, 2154, -1000, -1000, -1000,
+ -1000, 22401, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 21608, -1000, 1380, 2075, -1000, -375, -1000, -512, 21608,
- -323, -1000, -1000, -323, -1000, -1000, -1000, -1000, -1000, 21608,
- -1000, -1000, 21608, -1000, 21608, -1000, -1000, 1526, -1000, -1000,
- -1000, 37106, -1000, 1526, -1000, 1526, -1000, -332, -1000, 1846,
- -1000, 54080, 1168, 403, -1000, 1144, -1000, -1000, -1000, -1000,
- -1000, 54818, 54080, 1804, 54080, -1000, -1000, 1507, 1380, 1914,
- 2451, -1000, 1467, -1000, 398, -1000, 1917, 2030, -1000, -1000,
- -1000, 19394, -1000, -1000, -1000, -1000, -1000, 263, -230, 15692,
- 11228, 1465, -1000, -229, 2617, 1458, -1000, -477, -1000, -1000,
- -1000, -1000, 255, -1000, -1000, 1839, -1000, -1000, 1623, 1579,
- 1552, -1000, -1000, -1000, -1000, -1000, -1000, -332, -1000, -1000,
- 2413, -1000, -270, -1000, -1000, 1838, 1442, -1000, -1000, -1000,
- 31940, 53342, -1000, -218, 295, -230, 21608, 1915, 1380, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -56, -1000, -1000,
- 542, -1000, -1000, -1000, 2013, -241, -1000, -1000, -1000, 272,
- -495, -367, -371, 23822, -1000, 21608, -1000, 21608, -1000, 21608,
- -1000, 54080, 1914, -1000, -1000, -1000, 1428, -1000, 4937, -387,
- 2072, -1000, -150, -1000, -1000, -1000, 1093, 1368, -1000, -1000,
- -1000, -1000, -1000, -1000, 2881, 54080, -1000, 441, -1000, -1000,
- 14948, -237, -246, 991, -1000, -1000, -1000, -1000, -1000, 2215,
- 1529, 1425, 2617, -1000, 54080, -1000, 53342, -391, 873, 8224,
- -1000, 2070, 2064, 2565, -1000, -1000, -1000, -1000, -1000, -1000,
- -548, 1377, 265, -1000, -1000, -1000, 272, -378, -1000, 21608,
- -1000, 21608, -1000, 1380, -1000, -1000, 2398, 34, -1000, 2556,
- -1000, 2551, 1024, 1024, -1000, 1171, -548, -1000, -1000, -1000,
- -1000, 2617, 2617, -1000, -392, -1000, -1000, -1000, -1000, -1000,
- 422, 1265, -1000, -1000, -1000, -1000, -1000, 8224, -1000, -1000,
- -1000, 214, 214, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 22401,
+ -1000, 1378, 2063, -1000, -363, -1000, -505, 22401, -256, -1000,
+ -1000, -256, -1000, -1000, -1000, -1000, -1000, 22401, -1000, -1000,
+ 22401, -1000, 22401, -1000, -1000, 1457, -1000, -1000, -1000, 37962,
+ -1000, 1457, -1000, 1457, -1000, -267, -1000, 1830, -1000, 55005,
+ 1234, 332, -1000, 1142, -1000, -1000, -1000, -1000, -1000, 55746,
+ 55005, 1839, 55005, -1000, -1000, 1453, 1378, 1904, 2466, -1000,
+ 1449, -1000, 406, -1000, 1916, 1941, -1000, -1000, -1000, 20178,
+ -1000, -1000, -1000, -1000, -1000, 239, -184, 16461, 11979, 1438,
+ -1000, -182, 1505, 1403, -1000, -477, -1000, -1000, -1000, -1000,
+ 280, -1000, -1000, 1636, -1000, -1000, 1650, 1560, 1556, -1000,
+ -1000, -1000, -1000, -1000, -1000, -267, -1000, -1000, 2406, -1000,
+ -219, -1000, -1000, 1503, 1386, -1000, -1000, -1000, 32775, 54264,
+ -1000, -171, 410, -184, 22401, 1910, 1378, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -48, -1000, -1000, 527, -1000,
+ -1000, -1000, 2038, -192, -1000, -1000, -1000, 290, -495, -296,
+ -297, 24624, -1000, 22401, -1000, 22401, -1000, 22401, -1000, 55005,
+ 1904, -1000, -1000, -1000, 1383, -1000, 5057, -341, 2062, -1000,
+ -111, -1000, -1000, -1000, 1079, 1351, -1000, -1000, -1000, -1000,
+ -1000, -1000, 2014, 55005, -1000, 420, -1000, -1000, 15714, -185,
+ -195, 941, -1000, -1000, -1000, -1000, -1000, 940, 1490, 1472,
+ 1505, -1000, 55005, -1000, 54264, -332, 862, 4437, -1000, 2061,
+ 2057, 2543, -1000, -1000, -1000, -1000, -1000, -1000, -545, 1369,
+ 261, -1000, -1000, -1000, 290, -309, -1000, 22401, -1000, 22401,
+ -1000, 1378, -1000, -1000, 2382, 73, -1000, 2562, -1000, 2544,
+ 1040, 1040, -1000, 1109, -545, -1000, -1000, -1000, -1000, 1505,
+ 1505, -1000, -349, -1000, -1000, -1000, -1000, -1000, 417, 1171,
+ -1000, -1000, -1000, -1000, -1000, 4437, -1000, -1000, -1000, 285,
+ 285, -1000, -1000,
}
var yyPgo = [...]int{
- 0, 3161, 3157, 29, 6, 37, 36, 3156, 3154, 3152,
- 167, 3150, 3147, 3145, 3137, 3136, 3135, 2600, 2595, 2594,
- 3132, 3131, 3128, 3121, 3120, 3119, 3116, 3111, 3104, 40,
- 91, 200, 103, 193, 186, 3100, 171, 154, 187, 3099,
- 3096, 3095, 113, 183, 75, 81, 184, 3084, 3083, 68,
- 3082, 3081, 3079, 178, 177, 176, 1061, 3078, 175, 112,
- 48, 3075, 3073, 3067, 3061, 3054, 3051, 3049, 3040, 3039,
- 3038, 3037, 3034, 3032, 3029, 3027, 3026, 3025, 3022, 259,
- 3020, 3017, 15, 3014, 66, 3013, 3012, 3010, 3009, 3008,
- 8, 3007, 3005, 12, 39, 55, 3002, 2999, 41, 2998,
- 2996, 2993, 2991, 2990, 78, 2975, 13, 2974, 38, 2971,
- 2970, 120, 2963, 2960, 2958, 44, 2957, 2954, 2952, 10,
- 161, 2951, 2950, 134, 2949, 2944, 2939, 160, 192, 2938,
- 2206, 2937, 96, 2936, 2935, 2934, 159, 185, 2931, 116,
- 2930, 2929, 2924, 144, 2923, 3292, 2921, 2920, 64, 67,
- 168, 2919, 2916, 202, 80, 7, 2908, 21, 22, 2907,
- 2905, 71, 61, 2896, 104, 2895, 2888, 95, 85, 2887,
- 93, 90, 2883, 2874, 9, 5, 2872, 1, 4, 2,
- 114, 2867, 2864, 108, 2863, 2861, 2856, 84, 2854, 2851,
- 3901, 2850, 87, 126, 98, 62, 2848, 169, 165, 2840,
- 2839, 2838, 2837, 2836, 2835, 47, 2833, 2831, 2830, 131,
- 1482, 99, 2829, 150, 351, 49, 146, 2828, 214, 73,
- 196, 162, 2827, 2826, 130, 129, 2825, 2822, 53, 166,
- 194, 2821, 92, 125, 115, 189, 89, 127, 2816, 2813,
- 58, 70, 2808, 2806, 2805, 2803, 164, 2802, 2793, 63,
- 2792, 52, 2791, 163, 2789, 336, 79, 2788, 182, 155,
- 2787, 59, 2786, 2785, 100, 101, 57, 34, 2781, 152,
- 157, 121, 153, 2780, 2779, 50, 2776, 2775, 2774, 190,
- 274, 2773, 2770, 319, 172, 137, 143, 76, 2768, 262,
- 2766, 2765, 2760, 18, 5110, 7071, 181, 27, 158, 2759,
- 2754, 1065, 42, 56, 26, 2753, 210, 2752, 188, 2749,
- 2748, 2735, 195, 206, 106, 156, 54, 2734, 2733, 2730,
- 2729, 69, 2728, 2726, 2715, 2711, 2709, 2708, 35, 33,
- 32, 102, 225, 60, 30, 94, 148, 147, 65, 2704,
- 2703, 2701, 118, 72, 2698, 151, 149, 119, 97, 2696,
- 173, 138, 110, 2695, 296, 31, 2669, 2666, 2663, 2662,
- 83, 2661, 2660, 2659, 2657, 145, 139, 117, 77, 2656,
- 74, 124, 142, 140, 51, 2653, 46, 2652, 2651, 28,
- 180, 16, 2648, 20, 105, 111, 2645, 6183, 2644, 11,
- 260, 141, 2643, 2640, 14, 17, 24, 2639, 2632, 2630,
- 2629, 128, 2627, 2626, 2619, 2617, 25, 45, 23, 19,
- 109, 133, 82, 2616, 2614, 136, 2612, 2611, 2599, 0,
- 1040, 123, 2593, 199,
+ 0, 3177, 3171, 31, 7, 40, 39, 3170, 3168, 3166,
+ 164, 3163, 3161, 3159, 3154, 3153, 3152, 2627, 2611, 2597,
+ 3151, 3150, 3147, 3144, 3143, 3142, 3141, 3139, 3138, 27,
+ 96, 100, 111, 225, 192, 3137, 171, 156, 198, 3129,
+ 3127, 3118, 116, 181, 81, 83, 191, 3117, 3116, 68,
+ 3112, 3110, 3109, 180, 179, 177, 1061, 3108, 178, 114,
+ 47, 3102, 3100, 3099, 3092, 3090, 3088, 3087, 3085, 3082,
+ 3078, 3076, 3072, 3071, 3070, 3069, 3066, 3060, 3059, 292,
+ 3056, 3055, 16, 3052, 73, 3051, 3050, 3049, 3039, 3038,
+ 9, 3037, 3033, 32, 41, 55, 3031, 3030, 44, 3029,
+ 3028, 3027, 3026, 3025, 79, 3016, 14, 3015, 35, 3014,
+ 3011, 125, 2994, 2988, 2987, 42, 2986, 2984, 2982, 11,
+ 163, 2979, 2968, 137, 2957, 2952, 2951, 165, 200, 2949,
+ 2202, 2946, 93, 2940, 2931, 2929, 160, 189, 2926, 120,
+ 2925, 2924, 2923, 148, 2916, 3301, 2914, 2908, 62, 80,
+ 168, 2905, 2898, 201, 72, 8, 2897, 22, 23, 2895,
+ 2893, 67, 61, 2892, 98, 2890, 2889, 97, 99, 2886,
+ 110, 90, 2884, 2880, 10, 5, 2877, 1, 4, 2,
+ 115, 2874, 2871, 108, 2870, 2867, 2864, 94, 2863, 2860,
+ 6960, 2855, 87, 129, 104, 64, 2854, 170, 172, 2852,
+ 2851, 2850, 2847, 2838, 2834, 49, 2830, 2828, 2827, 134,
+ 1270, 113, 2826, 145, 352, 51, 146, 2825, 193, 75,
+ 196, 161, 2822, 2818, 133, 132, 2808, 2807, 53, 166,
+ 197, 2805, 95, 128, 119, 183, 92, 130, 2804, 2798,
+ 59, 58, 2795, 2794, 2793, 2792, 162, 2791, 2788, 63,
+ 2787, 56, 2784, 187, 2783, 340, 77, 2782, 185, 169,
+ 2779, 66, 2778, 2775, 85, 101, 57, 29, 2774, 154,
+ 158, 126, 167, 2767, 2766, 52, 2763, 2762, 2761, 195,
+ 293, 2760, 2759, 323, 175, 140, 144, 82, 2756, 321,
+ 2755, 2752, 2749, 19, 4427, 6727, 182, 17, 159, 2748,
+ 2747, 7891, 48, 43, 13, 2737, 211, 2736, 194, 2725,
+ 2723, 2720, 210, 209, 102, 155, 54, 2714, 2710, 2708,
+ 2705, 71, 2699, 2696, 2695, 2694, 2692, 2691, 38, 37,
+ 36, 70, 228, 60, 25, 89, 157, 152, 65, 2690,
+ 2689, 2687, 123, 78, 2683, 153, 149, 124, 105, 2679,
+ 176, 141, 118, 2678, 91, 34, 2675, 2673, 2671, 2670,
+ 84, 2668, 2667, 2666, 2665, 151, 142, 121, 74, 2664,
+ 76, 117, 147, 143, 50, 2660, 45, 2659, 2658, 33,
+ 190, 28, 2650, 21, 106, 112, 2649, 6390, 2648, 12,
+ 331, 150, 2647, 2646, 15, 18, 6, 2643, 2642, 2641,
+ 2637, 131, 2633, 2628, 2622, 2620, 26, 46, 24, 20,
+ 109, 136, 69, 2612, 2610, 139, 2606, 2602, 2590, 0,
+ 1040, 127, 2585, 202,
}
-//line sql.y:8739
+//line sql.y:8759
type yySymType struct {
union any
empty struct{}
@@ -8575,45 +8675,46 @@ var yyR1 = [...]int{
65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
- 292, 292, 281, 281, 290, 290, 280, 280, 306, 306,
- 306, 283, 283, 283, 284, 284, 403, 403, 403, 277,
- 277, 66, 66, 66, 307, 307, 307, 307, 69, 69,
- 413, 413, 414, 414, 415, 415, 415, 70, 71, 71,
- 310, 310, 311, 311, 72, 73, 85, 85, 85, 85,
- 85, 86, 86, 86, 86, 110, 110, 110, 10, 10,
- 10, 10, 81, 81, 81, 9, 9, 11, 68, 68,
- 75, 400, 400, 401, 402, 402, 402, 402, 76, 78,
- 27, 27, 27, 27, 27, 27, 135, 135, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 130, 130, 130, 124, 124, 422, 79, 80, 80, 128,
- 128, 128, 121, 121, 121, 127, 127, 127, 12, 12,
- 13, 263, 263, 14, 14, 134, 134, 133, 133, 136,
- 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
- 131, 131, 132, 132, 132, 132, 299, 299, 299, 298,
- 298, 167, 167, 169, 168, 168, 170, 170, 171, 171,
- 171, 171, 217, 217, 193, 193, 256, 256, 257, 257,
- 255, 255, 262, 262, 258, 258, 258, 258, 265, 265,
- 172, 172, 172, 172, 180, 180, 181, 181, 182, 182,
- 309, 309, 304, 304, 304, 303, 303, 186, 186, 186,
- 188, 187, 187, 187, 187, 189, 189, 191, 191, 190,
- 190, 192, 197, 197, 196, 196, 194, 194, 194, 194,
- 194, 194, 195, 195, 195, 195, 198, 198, 145, 145,
- 145, 145, 145, 145, 145, 145, 411, 411, 159, 159,
- 159, 159, 159, 159, 159, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 246, 246, 150, 150,
- 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
- 150, 150, 150, 153, 153, 153, 153, 153, 153, 153,
+ 65, 65, 292, 292, 281, 281, 290, 290, 280, 280,
+ 306, 306, 306, 283, 283, 283, 284, 284, 403, 403,
+ 403, 277, 277, 66, 66, 66, 307, 307, 307, 307,
+ 69, 69, 413, 413, 414, 414, 415, 415, 415, 70,
+ 71, 71, 310, 310, 311, 311, 72, 73, 85, 85,
+ 85, 85, 85, 86, 86, 86, 86, 86, 86, 110,
+ 110, 110, 10, 10, 10, 10, 81, 81, 81, 9,
+ 9, 11, 68, 68, 75, 400, 400, 401, 402, 402,
+ 402, 402, 76, 78, 27, 27, 27, 27, 27, 27,
+ 135, 135, 123, 123, 123, 123, 123, 123, 123, 123,
+ 123, 123, 123, 123, 130, 130, 130, 124, 124, 422,
+ 79, 80, 80, 128, 128, 128, 121, 121, 121, 127,
+ 127, 127, 12, 12, 13, 263, 263, 14, 14, 134,
+ 134, 133, 133, 136, 136, 136, 136, 136, 136, 136,
+ 136, 136, 136, 136, 131, 131, 132, 132, 132, 132,
+ 299, 299, 299, 298, 298, 167, 167, 169, 168, 168,
+ 170, 170, 171, 171, 171, 171, 217, 217, 193, 193,
+ 256, 256, 257, 257, 255, 255, 262, 262, 258, 258,
+ 258, 258, 265, 265, 172, 172, 172, 172, 180, 180,
+ 181, 181, 182, 182, 309, 309, 304, 304, 304, 303,
+ 303, 186, 186, 186, 188, 187, 187, 187, 187, 189,
+ 189, 191, 191, 190, 190, 192, 197, 197, 196, 196,
+ 194, 194, 194, 194, 194, 194, 195, 195, 195, 195,
+ 198, 198, 145, 145, 145, 145, 145, 145, 145, 145,
+ 411, 411, 159, 159, 159, 159, 159, 159, 159, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 246, 246, 150, 150, 150, 150, 150, 150, 150, 150,
+ 150, 150, 150, 150, 150, 150, 150, 153, 153, 153,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
- 153, 153, 153, 153, 153, 153, 153, 153, 222, 222,
- 221, 221, 87, 87, 87, 88, 88, 89, 89, 89,
- 89, 89, 90, 90, 90, 90, 90, 90, 90, 92,
- 92, 91, 91, 212, 212, 296, 296, 93, 94, 94,
- 95, 95, 98, 98, 97, 96, 96, 102, 102, 99,
- 99, 101, 101, 100, 103, 103, 104, 105, 105, 278,
- 278, 199, 199, 208, 208, 208, 208, 200, 200, 201,
- 201, 201, 201, 201, 201, 209, 209, 209, 216, 210,
- 210, 206, 206, 204, 204, 204, 204, 204, 204, 204,
- 204, 204, 204, 204, 205, 205, 205, 205, 205, 205,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 222, 222, 221, 221, 87, 87, 87, 88,
+ 88, 89, 89, 89, 89, 89, 90, 90, 90, 90,
+ 90, 90, 90, 92, 92, 91, 91, 212, 212, 296,
+ 296, 93, 94, 94, 95, 95, 98, 98, 97, 96,
+ 96, 102, 102, 99, 99, 101, 101, 100, 103, 103,
+ 104, 105, 105, 278, 278, 199, 199, 208, 208, 208,
+ 208, 200, 200, 201, 201, 201, 201, 201, 201, 209,
+ 209, 209, 216, 210, 210, 206, 206, 204, 204, 204,
+ 204, 204, 204, 204, 204, 204, 204, 204, 205, 205,
+ 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
@@ -8632,36 +8733,36 @@ var yyR1 = [...]int{
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
- 205, 205, 205, 205, 205, 205, 205, 164, 164, 164,
- 164, 227, 227, 151, 151, 151, 151, 151, 151, 151,
- 151, 151, 151, 151, 151, 151, 151, 151, 152, 152,
- 165, 165, 165, 165, 166, 166, 166, 166, 166, 166,
- 166, 317, 317, 119, 119, 119, 119, 119, 119, 119,
+ 205, 164, 164, 164, 164, 227, 227, 151, 151, 151,
+ 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
+ 151, 151, 152, 152, 165, 165, 165, 165, 166, 166,
+ 166, 166, 166, 166, 166, 317, 317, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 120, 120, 120, 120, 120, 120, 120,
+ 119, 119, 119, 119, 119, 119, 119, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 120, 423, 423, 332, 332, 332, 207, 207, 207, 207,
- 207, 126, 126, 126, 126, 126, 314, 314, 314, 318,
- 318, 318, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 319, 319, 225,
- 225, 122, 122, 223, 223, 224, 226, 226, 218, 218,
- 218, 218, 220, 220, 203, 203, 203, 228, 228, 320,
- 320, 229, 229, 106, 107, 107, 108, 108, 230, 230,
- 232, 231, 231, 233, 234, 234, 234, 235, 235, 236,
- 236, 236, 49, 49, 49, 49, 49, 44, 44, 44,
- 44, 45, 45, 45, 45, 137, 137, 137, 137, 139,
- 139, 138, 138, 82, 82, 83, 83, 83, 143, 143,
- 144, 144, 144, 141, 141, 142, 142, 253, 253, 253,
- 253, 253, 253, 253, 237, 237, 237, 244, 244, 244,
- 240, 240, 242, 242, 242, 243, 243, 243, 241, 250,
- 250, 252, 252, 251, 251, 247, 247, 248, 248, 249,
- 249, 249, 245, 245, 202, 202, 202, 202, 202, 254,
- 254, 254, 254, 308, 308, 308, 266, 266, 213, 213,
- 215, 215, 214, 214, 163, 267, 267, 275, 272, 272,
- 273, 273, 300, 300, 300, 276, 276, 289, 289, 285,
- 285, 286, 286, 279, 279, 291, 291, 291, 77, 211,
- 211, 371, 371, 368, 295, 295, 297, 297, 301, 301,
- 305, 305, 302, 302, 8, 416, 416, 416, 293, 293,
+ 120, 120, 120, 120, 120, 423, 423, 332, 332, 332,
+ 207, 207, 207, 207, 207, 126, 126, 126, 126, 126,
+ 314, 314, 314, 318, 318, 318, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 319, 319, 225, 225, 122, 122, 223, 223, 224,
+ 226, 226, 218, 218, 218, 218, 220, 220, 203, 203,
+ 203, 228, 228, 320, 320, 229, 229, 106, 107, 107,
+ 108, 108, 230, 230, 232, 231, 231, 233, 234, 234,
+ 234, 235, 235, 236, 236, 236, 49, 49, 49, 49,
+ 49, 44, 44, 44, 44, 45, 45, 45, 45, 137,
+ 137, 137, 137, 139, 139, 138, 138, 82, 82, 83,
+ 83, 83, 143, 143, 144, 144, 144, 141, 141, 142,
+ 142, 253, 253, 253, 253, 253, 253, 253, 237, 237,
+ 237, 244, 244, 244, 240, 240, 242, 242, 242, 243,
+ 243, 243, 241, 250, 250, 252, 252, 251, 251, 247,
+ 247, 248, 248, 249, 249, 249, 245, 245, 202, 202,
+ 202, 202, 202, 254, 254, 254, 254, 308, 308, 308,
+ 266, 266, 213, 213, 215, 215, 214, 214, 163, 267,
+ 267, 275, 272, 272, 273, 273, 300, 300, 300, 276,
+ 276, 289, 289, 285, 285, 286, 286, 279, 279, 291,
+ 291, 291, 77, 211, 211, 371, 371, 368, 295, 295,
+ 297, 297, 301, 301, 305, 305, 302, 302, 8, 416,
+ 416, 416, 293, 293, 293, 293, 293, 293, 293, 293,
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
@@ -8676,8 +8777,8 @@ var yyR1 = [...]int{
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- 293, 294, 294, 294, 294, 294, 294, 294, 294, 294,
+ 293, 293, 293, 293, 293, 294, 294, 294, 294, 294,
+ 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
@@ -8724,8 +8825,7 @@ var yyR1 = [...]int{
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
- 294, 294, 294, 294, 294, 419, 420, 312, 313, 313,
- 313,
+ 294, 294, 419, 420, 312, 313, 313, 313,
}
var yyR2 = [...]int{
@@ -8744,7 +8844,7 @@ var yyR2 = [...]int{
2, 2, 1, 1, 1, 1, 2, 2, 6, 12,
2, 0, 2, 0, 2, 1, 0, 2, 1, 3,
3, 0, 1, 1, 3, 3, 6, 4, 7, 8,
- 8, 8, 6, 3, 1, 1, 5, 0, 1, 1,
+ 8, 8, 5, 3, 1, 1, 5, 0, 1, 1,
1, 1, 2, 2, 2, 0, 1, 4, 4, 4,
4, 4, 4, 2, 4, 1, 3, 1, 1, 3,
4, 3, 3, 3, 5, 10, 0, 2, 0, 2,
@@ -8807,93 +8907,93 @@ var yyR2 = [...]int{
4, 4, 2, 2, 4, 4, 4, 4, 4, 2,
3, 3, 3, 3, 3, 5, 2, 3, 3, 2,
3, 4, 4, 4, 3, 4, 4, 5, 3, 5,
- 0, 1, 0, 1, 0, 1, 1, 1, 0, 2,
- 2, 0, 2, 2, 0, 2, 0, 1, 1, 1,
- 1, 2, 1, 3, 1, 1, 1, 1, 1, 3,
- 0, 1, 1, 3, 3, 2, 2, 1, 1, 5,
- 0, 1, 0, 1, 2, 3, 0, 3, 3, 3,
- 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 0, 1, 1, 4, 4, 4, 2, 2,
- 3, 1, 3, 2, 1, 2, 1, 2, 2, 4,
- 3, 3, 6, 4, 7, 6, 1, 3, 2, 2,
- 2, 2, 1, 1, 1, 3, 2, 1, 1, 1,
- 0, 1, 1, 0, 3, 0, 2, 0, 2, 1,
- 2, 2, 0, 1, 1, 0, 1, 1, 5, 5,
- 4, 0, 2, 4, 4, 0, 1, 1, 2, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 3, 1, 2, 3, 5, 0, 1, 2, 1,
- 1, 0, 1, 2, 1, 3, 1, 1, 1, 4,
- 3, 1, 1, 2, 3, 7, 0, 3, 0, 1,
- 1, 3, 1, 3, 1, 1, 3, 3, 1, 3,
- 4, 4, 4, 3, 2, 4, 0, 1, 0, 2,
- 0, 1, 0, 1, 2, 1, 1, 1, 2, 2,
- 1, 2, 3, 2, 3, 2, 2, 2, 1, 1,
- 3, 3, 0, 1, 1, 2, 6, 5, 6, 6,
- 5, 5, 0, 2, 3, 3, 0, 2, 3, 3,
- 3, 2, 3, 1, 3, 6, 1, 1, 3, 4,
- 3, 4, 4, 4, 1, 3, 4, 5, 6, 3,
- 4, 5, 6, 3, 4, 1, 1, 1, 3, 3,
- 3, 3, 3, 3, 5, 5, 3, 3, 3, 3,
- 3, 3, 1, 1, 1, 1, 1, 3, 1, 1,
- 1, 2, 2, 2, 2, 1, 1, 2, 7, 7,
- 6, 6, 2, 2, 5, 6, 3, 3, 1, 3,
- 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 2, 2, 2, 2, 4, 2, 4, 0,
- 1, 2, 5, 0, 3, 0, 1, 4, 4, 2,
- 1, 0, 0, 1, 1, 2, 2, 1, 1, 2,
- 2, 0, 1, 1, 1, 1, 5, 1, 3, 0,
- 3, 1, 1, 1, 2, 1, 2, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 3, 4, 6, 4, 4, 8, 8, 6, 8, 6,
- 5, 4, 10, 2, 2, 1, 2, 2, 2, 2,
- 2, 5, 6, 6, 6, 6, 6, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 8, 4, 8,
- 8, 6, 5, 4, 4, 4, 5, 7, 4, 4,
- 7, 4, 4, 6, 6, 6, 8, 6, 6, 4,
- 4, 3, 4, 6, 6, 4, 4, 6, 4, 6,
- 4, 4, 4, 4, 4, 4, 6, 4, 6, 4,
- 4, 4, 6, 4, 6, 4, 4, 6, 4, 6,
+ 3, 5, 0, 1, 0, 1, 0, 1, 1, 1,
+ 0, 2, 2, 0, 2, 2, 0, 2, 0, 1,
+ 1, 1, 1, 2, 1, 3, 1, 1, 1, 1,
+ 1, 3, 0, 1, 1, 3, 3, 2, 2, 1,
+ 1, 5, 0, 1, 0, 1, 2, 3, 0, 3,
+ 3, 3, 1, 0, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 0, 1, 1, 4,
+ 4, 4, 2, 2, 3, 1, 3, 2, 1, 2,
+ 1, 2, 2, 4, 3, 3, 6, 4, 7, 6,
+ 1, 3, 2, 2, 2, 2, 1, 1, 1, 3,
+ 2, 1, 1, 1, 0, 1, 1, 0, 3, 0,
+ 2, 0, 2, 1, 2, 2, 0, 1, 1, 0,
+ 1, 1, 5, 5, 4, 0, 2, 4, 4, 0,
+ 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 3, 1, 2, 3, 5,
+ 0, 1, 2, 1, 1, 0, 1, 2, 1, 3,
+ 1, 1, 1, 4, 3, 1, 1, 2, 3, 7,
+ 0, 3, 0, 1, 1, 3, 1, 3, 1, 1,
+ 3, 3, 1, 3, 4, 4, 4, 3, 2, 4,
+ 0, 1, 0, 2, 0, 1, 0, 1, 2, 1,
+ 1, 1, 2, 2, 1, 2, 3, 2, 3, 2,
+ 2, 2, 1, 1, 3, 3, 0, 1, 1, 2,
+ 6, 5, 6, 6, 5, 5, 0, 2, 3, 3,
+ 0, 2, 3, 3, 3, 2, 3, 1, 3, 6,
+ 1, 1, 3, 4, 3, 4, 4, 4, 1, 3,
+ 4, 5, 6, 3, 4, 5, 6, 3, 4, 1,
+ 1, 1, 3, 3, 3, 3, 3, 3, 5, 5,
+ 3, 3, 3, 3, 3, 3, 1, 1, 1, 1,
+ 1, 3, 1, 1, 1, 2, 2, 2, 2, 1,
+ 1, 2, 7, 7, 6, 6, 2, 2, 5, 6,
+ 3, 3, 1, 3, 1, 3, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
+ 4, 2, 4, 0, 1, 2, 5, 0, 3, 0,
+ 1, 4, 4, 2, 1, 0, 0, 1, 1, 2,
+ 2, 1, 1, 2, 2, 0, 1, 1, 1, 1,
+ 5, 1, 3, 0, 3, 1, 1, 1, 2, 1,
+ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 3, 4, 6, 4, 4, 8,
+ 8, 6, 8, 6, 5, 4, 10, 2, 2, 1,
+ 2, 2, 2, 2, 2, 5, 6, 6, 6, 6,
+ 6, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 8, 4, 8, 8, 6, 5, 4, 4, 4,
+ 5, 7, 4, 4, 7, 4, 4, 6, 6, 6,
+ 8, 6, 6, 4, 4, 3, 4, 6, 6, 4,
+ 4, 6, 4, 6, 4, 4, 4, 4, 4, 4,
+ 6, 4, 6, 4, 4, 4, 6, 4, 6, 4,
+ 4, 6, 4, 6, 4, 6, 8, 4, 6, 8,
4, 6, 8, 4, 6, 8, 4, 6, 8, 4,
6, 8, 4, 6, 8, 4, 6, 8, 4, 6,
8, 4, 6, 8, 4, 6, 8, 4, 6, 8,
4, 6, 8, 4, 6, 8, 4, 6, 8, 4,
- 6, 8, 4, 6, 8, 4, 6, 8, 4, 4,
- 4, 6, 4, 6, 4, 8, 6, 4, 4, 6,
- 4, 6, 8, 4, 6, 8, 4, 4, 6, 8,
- 6, 4, 6, 6, 8, 10, 7, 8, 8, 9,
- 4, 4, 4, 4, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 4, 4, 4, 4, 4, 4,
- 6, 4, 6, 5, 9, 6, 9, 8, 6, 8,
- 8, 8, 6, 1, 1, 1, 1, 1, 1, 1,
- 1, 0, 2, 6, 8, 10, 12, 14, 6, 8,
- 8, 10, 12, 14, 6, 8, 10, 12, 6, 8,
- 4, 4, 3, 4, 6, 6, 4, 6, 4, 6,
- 8, 0, 2, 1, 1, 1, 1, 1, 1, 1,
+ 6, 8, 4, 4, 4, 6, 4, 6, 4, 8,
+ 6, 4, 4, 6, 4, 6, 8, 4, 6, 8,
+ 4, 4, 6, 8, 6, 4, 6, 6, 8, 10,
+ 7, 8, 8, 9, 4, 4, 4, 4, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 4, 4,
+ 4, 4, 4, 4, 6, 4, 6, 5, 9, 6,
+ 9, 8, 6, 8, 8, 8, 6, 1, 1, 1,
+ 1, 1, 1, 1, 1, 0, 2, 6, 8, 10,
+ 12, 14, 6, 8, 8, 10, 12, 14, 6, 8,
+ 10, 12, 6, 8, 4, 4, 3, 4, 6, 6,
+ 4, 6, 4, 6, 8, 0, 2, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 0, 2, 0, 2, 3, 4, 4, 4, 4,
- 4, 0, 3, 4, 7, 3, 1, 1, 1, 0,
- 5, 5, 2, 3, 1, 2, 2, 1, 2, 1,
- 2, 2, 1, 2, 2, 1, 1, 0, 1, 0,
- 1, 0, 2, 1, 2, 4, 0, 2, 1, 1,
- 3, 5, 1, 1, 1, 2, 2, 0, 4, 0,
- 2, 0, 2, 2, 1, 3, 0, 1, 0, 1,
- 3, 1, 3, 2, 0, 1, 1, 0, 1, 2,
- 4, 4, 0, 2, 2, 1, 1, 3, 3, 3,
- 3, 3, 3, 3, 3, 0, 3, 3, 3, 0,
- 3, 1, 1, 0, 4, 0, 1, 1, 0, 3,
- 1, 3, 2, 1, 1, 0, 1, 2, 3, 4,
- 2, 3, 4, 4, 9, 3, 5, 0, 3, 3,
- 0, 1, 0, 2, 2, 0, 2, 2, 2, 0,
- 2, 1, 2, 3, 3, 0, 2, 1, 2, 3,
- 4, 3, 0, 1, 3, 1, 6, 5, 4, 1,
- 3, 3, 5, 0, 2, 5, 0, 5, 1, 3,
- 1, 2, 3, 4, 1, 1, 3, 3, 1, 2,
- 1, 1, 1, 1, 1, 1, 1, 0, 1, 0,
- 2, 0, 3, 0, 1, 0, 1, 1, 5, 0,
- 1, 0, 1, 2, 1, 1, 1, 1, 1, 1,
- 0, 1, 1, 1, 3, 0, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 0, 2, 0, 2, 3,
+ 4, 4, 4, 4, 4, 0, 3, 4, 7, 3,
+ 1, 1, 1, 0, 5, 5, 2, 3, 1, 2,
+ 2, 1, 2, 1, 2, 2, 1, 2, 2, 1,
+ 1, 0, 1, 0, 1, 0, 2, 1, 2, 4,
+ 0, 2, 1, 1, 3, 5, 1, 1, 1, 2,
+ 2, 0, 4, 0, 2, 0, 2, 2, 1, 3,
+ 0, 1, 0, 1, 3, 1, 3, 2, 0, 1,
+ 1, 0, 1, 2, 4, 4, 0, 2, 2, 1,
+ 1, 3, 3, 3, 3, 3, 3, 3, 3, 0,
+ 3, 3, 3, 0, 3, 1, 1, 0, 4, 0,
+ 1, 1, 0, 3, 1, 3, 2, 1, 1, 0,
+ 1, 2, 3, 4, 2, 3, 4, 4, 9, 3,
+ 5, 0, 3, 3, 0, 1, 0, 2, 2, 0,
+ 2, 2, 2, 0, 2, 1, 2, 3, 3, 0,
+ 2, 1, 2, 3, 4, 3, 0, 1, 3, 1,
+ 6, 5, 4, 1, 3, 3, 5, 0, 2, 5,
+ 0, 5, 1, 3, 1, 2, 3, 4, 1, 1,
+ 3, 3, 1, 2, 1, 1, 1, 1, 1, 1,
+ 1, 0, 1, 0, 2, 0, 3, 0, 1, 0,
+ 1, 1, 5, 0, 1, 0, 1, 2, 1, 1,
+ 1, 1, 1, 1, 0, 1, 1, 1, 3, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -8956,8 +9056,8 @@ var yyR2 = [...]int{
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 0, 0, 1,
- 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 0, 0, 1, 1,
}
var yyChk = [...]int{
@@ -8966,156 +9066,157 @@ var yyChk = [...]int{
-65, -66, -69, -70, -71, -72, -73, -9, -11, -68,
-27, -28, -74, -75, -76, -77, -78, -12, -13, -14,
-8, -32, -31, -30, 13, 14, -109, -35, 35, -40,
- -50, 239, -51, -41, 240, -52, 242, 241, 279, 243,
- 393, 272, 83, 328, 329, 331, 332, 333, 334, -110,
- 700, 277, 278, 245, 39, 51, 36, 37, 40, 249,
- 285, 286, 248, 145, -33, -36, 12, -419, 15, 483,
- 274, 273, 31, -34, 593, 95, -80, -418, 748, -253,
+ -50, 240, -51, -41, 241, -52, 243, 242, 280, 244,
+ 396, 273, 83, 329, 330, 332, 333, 334, 335, -110,
+ 703, 278, 279, 246, 39, 51, 36, 37, 40, 250,
+ 286, 287, 249, 145, -33, -36, 12, -419, 15, 486,
+ 275, 274, 31, -34, 596, 95, -80, -418, 751, -253,
-237, 26, 36, 32, -236, -232, -128, -237, 24, 22,
11, -79, -79, -79, 16, 17, -79, -356, -358, 95,
- 172, 95, -79, -57, -56, -54, -53, -55, -58, 34,
- -47, -48, -380, -46, -43, 244, 241, 289, 135, 136,
- 279, 280, 281, 243, 263, 278, 282, 277, 298, -42,
- 90, 36, 593, 596, -363, 240, 246, 247, 242, 484,
- 138, 137, 84, -360, 388, 627, 718, -58, 720, 110,
- 113, 719, 50, 253, 721, 722, 723, 634, 724, 262,
- 725, 726, 727, 728, 734, 675, 735, 736, 737, 139,
- 11, -79, -305, -301, 100, -294, 590, 265, 625, 437,
- 626, 314, 90, 47, 42, 529, 600, 384, 388, 627,
- 514, 718, 394, 328, 344, 338, 519, 520, 521, 367,
- 359, 591, 628, 601, 317, 266, 302, 712, 357, 148,
- 720, 321, 629, 280, 395, 396, 630, 397, 110, 331,
- 434, 733, 320, 631, 731, 113, 719, 336, 88, 513,
- 57, 715, 50, 275, 442, 443, 355, 248, 351, 721,
- 303, 632, 603, 296, 138, 135, 740, 39, 347, 56,
- 33, 730, 137, 55, 722, 163, 633, 723, 634, 399,
- 374, 706, 54, 400, 281, 635, 93, 286, 595, 325,
- 714, 401, 534, 348, 402, 313, 729, 245, 636, 324,
- 695, 687, 688, 403, 404, 707, 379, 375, 380, 536,
- 637, 426, 518, 405, 691, 692, 747, 58, 638, 639,
- 708, 136, 640, 87, 724, 89, 342, 343, 641, 311,
- 264, 539, 540, 428, 371, 496, 127, 503, 504, 120,
- 121, 499, 122, 505, 123, 128, 506, 507, 508, 497,
- 124, 117, 498, 509, 510, 372, 373, 125, 511, 119,
- 118, 500, 502, 126, 512, 262, 38, 406, 592, 315,
- 64, 319, 290, 429, 52, 377, 744, 51, 702, 541,
- 642, 705, 370, 366, 493, 59, 643, 644, 645, 646,
- 515, 725, 369, 341, 365, 739, 4, 308, 488, 516,
- 726, 68, 247, 382, 381, 383, 297, 425, 362, 647,
- 648, 649, 269, 91, 650, 352, 25, 651, 652, 407,
- 304, 653, 62, 654, 655, 432, 278, 656, 60, 727,
- 45, 657, 283, 741, 728, 658, 659, 660, 701, 661,
- 285, 662, 409, 663, 689, 690, 408, 376, 378, 542,
- 292, 410, 393, 250, 594, 664, 326, 346, 282, 732,
- 665, 270, 530, 531, 532, 533, 713, 538, 537, 284,
- 289, 277, 433, 271, 666, 667, 668, 669, 670, 318,
- 686, 671, 672, 332, 598, 734, 494, 49, 673, 674,
- 675, 676, 677, 312, 307, 427, 436, 67, 92, 390,
- 678, 679, 711, 340, 337, 43, 305, 99, 474, 476,
- 477, 478, 479, 480, 475, 482, 680, 329, 61, 735,
- 736, 737, 299, 738, 522, 523, 524, 525, 13, 576,
- 559, 587, 560, 577, 561, 570, 562, 578, 586, 588,
- 543, 551, 544, 552, 582, 565, 579, 571, 564, 563,
- 585, 568, 572, 545, 553, 583, 569, 546, 554, 547,
- 555, 548, 556, 581, 580, 573, 584, 549, 557, 575,
- 550, 558, 574, 566, 567, 445, 745, 746, 517, 412,
- 139, 309, 310, 53, 363, 291, 681, 322, 682, 353,
- 354, 490, 491, 368, 339, 364, 698, 330, 696, 293,
- 413, 495, 279, 683, 435, 306, 385, 131, 391, 323,
- 599, 535, 298, 414, 710, 597, 526, 527, 361, 358,
- 300, 528, 684, 386, 700, 415, 254, 294, 295, 685,
- 697, 416, 417, 316, 418, 419, 420, 421, 422, 424,
- 327, 423, 699, 693, 694, 301, 473, 596, 335, 356,
- 392, 455, 456, 457, 458, 459, 460, 461, 462, 463,
- 464, 465, 466, 467, 468, 469, 470, 471, 472, 492,
- 252, -79, 252, -190, -301, -130, 702, 704, 191, -272,
- 396, -290, 398, 411, 406, 416, 404, -281, 407, 409,
- 292, -403, 426, 252, 413, 239, 399, 408, 417, 418,
- 316, 424, 419, 327, 423, 301, 420, 421, 422, -387,
- 191, 723, 738, 330, 148, 360, 403, 401, 427, 702,
- 100, -307, 100, 101, 102, -294, 330, -310, 335, -295,
- -387, -294, 333, -79, -79, -312, -312, -130, -210, -145,
- 156, -159, -261, -162, 101, -150, -153, -204, -205, -206,
- -207, -160, -220, -259, 180, 181, 188, 157, -216, -163,
- 29, 589, 485, 484, 191, 34, 234, 77, 78, 487,
- 488, 159, 63, 15, 450, 451, -161, 440, 441, 452,
- 446, 447, 513, 515, 516, 517, 514, 519, 520, 521,
- 522, 523, 524, 525, 526, 527, 528, 518, 529, 490,
- 491, 129, 492, 117, 119, 118, 127, 128, 493, 494,
- 495, 357, 541, 542, 536, 539, 540, 538, 537, 372,
- 373, 496, 559, 560, 564, 563, 561, 562, 565, 568,
- 569, 570, 571, 572, 573, 575, 574, 566, 567, 544,
- 543, 545, 546, 547, 548, 549, 550, 552, 551, 553,
- 554, 555, 556, 557, 558, 576, 577, 578, 579, 580,
- 582, 581, 586, 585, 583, 584, 588, 587, 497, 498,
- 120, 121, 122, 123, 124, 125, 126, 499, 502, 500,
- 501, 503, 504, 505, 510, 511, 506, 507, 508, 509,
- 512, 383, 381, 382, 378, 377, 376, -89, -102, 616,
- 615, -103, 437, 442, 443, 445, -151, -152, -165, -166,
- -295, -301, 257, 439, 251, 186, 483, -154, -148, -218,
- 116, 102, -31, -214, 438, 448, 449, 453, 444, 454,
- 602, 604, 619, 620, 622, 607, 612, 611, 614, 530,
- 531, 532, 533, 534, 535, 687, 688, 689, 690, 691,
- 692, 693, 694, -387, -294, 100, -157, -155, -199, 103,
- 108, 111, 112, 114, -409, 275, 353, 354, 130, -419,
- 716, -156, 105, 106, 107, 132, 133, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 98,
- 104, 50, 412, 412, -190, -79, -79, -79, -79, -416,
- 719, 594, -230, -128, -232, -33, -31, -419, 12, -79,
- -31, -32, -30, -36, -38, 621, -37, -301, 109, -237,
- -253, 16, 67, 175, 48, 56, -235, -236, -34, -31,
- -145, 23, 41, 27, -132, 182, -145, -301, -132, -279,
- 256, -79, -79, -268, -315, 330, -270, 427, 702, 426,
- -260, -273, 100, -259, -272, 425, 101, -357, 172, -343,
- -347, -295, 267, -373, 263, -190, -366, -365, -295, -419,
- -129, -289, 253, 261, 260, 149, -390, 152, 309, 439,
- 251, -53, -54, -55, -272, 190, 722, -111, 284, 288,
- 96, 96, -347, -346, -345, -391, 288, 267, -372, -364,
- 259, 268, -353, 260, 261, -348, 253, 150, -391, -348,
- 258, 268, 263, 267, 288, 288, 139, 288, 139, 288,
- 288, 288, 288, 288, 288, 288, 288, 288, 283, -354,
- 164, -354, 597, 597, -360, -391, 263, 253, -391, -391,
- 259, -291, -348, 255, 28, 255, 38, 38, -354, -354,
- -354, -272, 190, -354, -354, -354, -354, 296, 296, -354,
+ 173, 95, -79, -57, -56, -54, -53, -55, -58, 34,
+ -47, -48, -380, -46, -43, 245, 242, 290, 135, 136,
+ 280, 281, 282, 244, 264, 279, 283, 278, 299, -42,
+ 90, 36, 596, 599, -363, 241, 247, 248, 243, 487,
+ 138, 137, 84, -360, 391, 630, 721, -58, 723, 110,
+ 113, 722, 50, 254, 724, 725, 726, 637, 727, 263,
+ 728, 729, 730, 731, 737, 678, 738, 739, 740, 139,
+ 11, -79, -305, -301, 100, -294, 593, 266, 628, 440,
+ 629, 315, 90, 47, 42, 532, 603, 387, 391, 630,
+ 517, 721, 397, 329, 347, 341, 522, 523, 524, 370,
+ 362, 594, 631, 604, 318, 267, 303, 715, 360, 149,
+ 723, 322, 632, 281, 398, 399, 633, 400, 110, 332,
+ 437, 736, 321, 634, 734, 113, 722, 337, 88, 516,
+ 57, 718, 50, 276, 445, 446, 358, 249, 354, 724,
+ 304, 635, 606, 297, 138, 135, 743, 39, 350, 56,
+ 33, 733, 137, 55, 725, 164, 636, 726, 637, 402,
+ 377, 709, 54, 403, 282, 638, 93, 287, 598, 326,
+ 717, 404, 537, 351, 405, 314, 732, 246, 639, 325,
+ 698, 690, 691, 406, 407, 710, 382, 378, 383, 539,
+ 640, 429, 521, 408, 694, 695, 750, 58, 641, 642,
+ 711, 136, 643, 87, 727, 89, 345, 346, 644, 312,
+ 265, 542, 543, 431, 374, 499, 127, 506, 507, 120,
+ 121, 502, 122, 508, 123, 128, 509, 510, 511, 500,
+ 124, 117, 501, 512, 513, 375, 376, 125, 514, 119,
+ 118, 503, 505, 126, 515, 263, 38, 409, 595, 316,
+ 64, 320, 291, 432, 52, 380, 747, 51, 705, 544,
+ 645, 708, 373, 369, 496, 59, 646, 647, 648, 649,
+ 518, 728, 372, 344, 368, 742, 4, 309, 491, 519,
+ 729, 68, 248, 385, 384, 386, 298, 428, 365, 650,
+ 651, 652, 270, 91, 653, 355, 25, 654, 655, 410,
+ 305, 656, 62, 657, 658, 435, 279, 659, 60, 730,
+ 45, 660, 284, 744, 731, 661, 662, 663, 704, 664,
+ 286, 665, 412, 666, 692, 693, 411, 379, 381, 545,
+ 293, 413, 396, 251, 597, 667, 327, 349, 283, 735,
+ 668, 271, 533, 534, 535, 536, 716, 541, 540, 285,
+ 290, 278, 436, 272, 669, 670, 671, 672, 673, 319,
+ 689, 674, 675, 333, 601, 737, 497, 49, 676, 677,
+ 678, 679, 680, 313, 308, 430, 439, 67, 92, 393,
+ 681, 682, 714, 343, 338, 43, 306, 99, 477, 479,
+ 480, 481, 482, 483, 478, 485, 683, 330, 61, 738,
+ 739, 740, 300, 741, 525, 526, 527, 528, 13, 579,
+ 562, 590, 563, 580, 564, 573, 565, 581, 589, 591,
+ 546, 554, 547, 555, 585, 568, 582, 574, 567, 566,
+ 588, 571, 575, 548, 556, 586, 572, 549, 557, 550,
+ 558, 551, 559, 584, 583, 576, 587, 552, 560, 578,
+ 553, 561, 577, 569, 570, 448, 748, 749, 520, 415,
+ 139, 310, 311, 53, 366, 292, 684, 323, 685, 356,
+ 357, 493, 494, 371, 342, 367, 146, 701, 331, 340,
+ 699, 294, 416, 498, 280, 686, 438, 307, 388, 131,
+ 339, 394, 324, 602, 538, 299, 417, 713, 600, 529,
+ 530, 364, 361, 301, 531, 687, 389, 703, 418, 255,
+ 295, 296, 688, 700, 419, 420, 317, 421, 422, 423,
+ 424, 425, 427, 328, 426, 702, 696, 697, 302, 476,
+ 599, 336, 359, 395, 458, 459, 460, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 495, 253, -79, 253, -190, -301, -130, 705,
+ 707, 192, -272, 399, -290, 401, 414, 409, 419, 407,
+ -281, 410, 412, 293, -403, 429, 253, 416, 240, 402,
+ 411, 420, 421, 317, 427, 422, 328, 426, 302, 423,
+ 424, 425, -387, 192, 726, 741, 331, 339, 149, 363,
+ 406, 404, 430, 705, 100, -307, 100, 101, 102, -294,
+ 331, -310, 336, -295, -387, -294, 334, -79, -79, -312,
+ -312, -130, -210, -145, 157, -159, -261, -162, 101, -150,
+ -153, -204, -205, -206, -207, -160, -220, -259, 181, 182,
+ 189, 158, -216, -163, 29, 592, 488, 487, 192, 34,
+ 235, 77, 78, 490, 491, 160, 63, 15, 453, 454,
+ -161, 443, 444, 455, 449, 450, 516, 518, 519, 520,
+ 517, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 521, 532, 493, 494, 129, 495, 117, 119, 118,
+ 127, 128, 496, 497, 498, 360, 544, 545, 539, 542,
+ 543, 541, 540, 375, 376, 499, 562, 563, 567, 566,
+ 564, 565, 568, 571, 572, 573, 574, 575, 576, 578,
+ 577, 569, 570, 547, 546, 548, 549, 550, 551, 552,
+ 553, 555, 554, 556, 557, 558, 559, 560, 561, 579,
+ 580, 581, 582, 583, 585, 584, 589, 588, 586, 587,
+ 591, 590, 500, 501, 120, 121, 122, 123, 124, 125,
+ 126, 502, 505, 503, 504, 506, 507, 508, 513, 514,
+ 509, 510, 511, 512, 515, 386, 384, 385, 381, 380,
+ 379, -89, -102, 619, 618, -103, 440, 445, 446, 448,
+ -151, -152, -165, -166, -295, -301, 258, 442, 252, 187,
+ 486, -154, -148, -218, 116, 102, -31, -214, 441, 451,
+ 452, 456, 447, 457, 605, 607, 622, 623, 625, 610,
+ 615, 614, 617, 533, 534, 535, 536, 537, 538, 690,
+ 691, 692, 693, 694, 695, 696, 697, -387, -294, 100,
+ -157, -155, -199, 103, 108, 111, 112, 114, -409, 276,
+ 356, 357, 130, -419, 719, -156, 105, 106, 107, 132,
+ 133, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 98, 104, 50, 415, 415, -190, -79,
+ -79, -79, -79, -416, 722, 597, -230, -128, -232, -33,
+ -31, -419, 12, -79, -31, -32, -30, -36, -38, 624,
+ -37, -301, 109, -237, -253, 16, 67, 176, 48, 56,
+ -235, -236, -34, -31, -145, 23, 41, 27, -132, 183,
+ -145, -301, -132, -279, 257, -79, -79, -268, -315, 331,
+ -270, 430, 705, 429, -260, -273, 100, -259, -272, 428,
+ 101, -357, 173, -343, -347, -295, 268, -373, 264, -190,
+ -366, -365, -295, -419, -129, -289, 254, 262, 261, 150,
+ -390, 153, 310, 442, 252, -53, -54, -55, -272, 191,
+ 725, -111, 285, 289, 96, 96, -347, -346, -345, -391,
+ 289, 268, -372, -364, 260, 269, -353, 261, 262, -348,
+ 254, 151, -391, -348, 259, 269, 264, 268, 289, 289,
+ 139, 289, 139, 289, 289, 289, 289, 289, 289, 289,
+ 289, 289, 284, -354, 165, -354, 600, 600, -360, -391,
+ 264, 254, -391, -391, 260, -291, -348, 256, 28, 256,
+ 38, 38, -354, -354, -354, -272, 191, -354, -354, -354,
+ -354, 297, 297, -354, -354, -354, -354, -354, -354, -354,
-354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
- -354, -354, -354, -354, -354, -354, 252, -390, -137, 423,
- 316, 90, -56, 298, -39, -190, -289, 253, 254, -390,
- 285, -190, 235, 252, 705, -283, 172, 19, -283, -280,
- 412, 410, 397, 402, -283, -283, -283, -283, 299, 395,
- -349, 253, 38, 264, 412, 299, 395, 299, 300, 299,
- 300, 405, 415, 299, -306, 18, 175, 439, 400, 404,
- 292, 252, 293, 254, 414, 300, -306, 98, -284, 172,
- 299, 412, 406, 295, -283, -283, -313, -419, -297, -295,
- -293, 244, 41, 155, 28, 30, 158, 191, 142, 23,
- 159, 40, 246, 360, 263, 190, 259, 484, 239, 81,
- 602, 440, 447, 438, 446, 450, 486, 487, 439, 398,
- 34, 17, 604, 31, 273, 27, 44, 184, 241, 162,
- 605, 276, 29, 274, 129, 133, 607, 26, 84, 268,
- 18, 261, 46, 20, 608, 609, 21, 74, 257, 256,
- 175, 253, 79, 15, 234, 32, 171, 75, 610, 150,
- 145, 611, 612, 613, 614, 143, 77, 172, 24, 742,
- 448, 449, 36, 703, 589, 287, 186, 82, 65, 704,
- 156, 444, 615, 616, 130, 617, 134, 85, 709, 152,
- 22, 80, 48, 618, 288, 619, 258, 743, 620, 430,
- 621, 173, 242, 483, 78, 174, 716, 622, 717, 251,
- 411, 12, 489, 35, 272, 260, 73, 72, 141, 76,
- 454, 623, 252, 161, 255, 144, 132, 11, 149, 37,
- 16, 83, 86, 451, 452, 453, 63, 140, 593, 160,
- 19, 624, 431, 154, -387, 705, -313, -313, 299, 35,
- 101, -413, -414, -415, 593, 430, 255, -295, -190, -85,
- 695, 243, -86, 701, 41, 250, -135, 412, -123, 191,
- 723, 706, 707, 708, 705, 409, 713, 711, 709, 299,
- 710, 96, 152, 154, 155, 4, -145, 171, -200, -201,
- 170, 164, 165, 166, 167, 168, 169, 176, 175, 156,
- 158, 172, -246, 153, 177, 178, 179, 180, 181, 182,
- 183, 185, 184, 186, 187, 173, 174, 190, 237, 238,
- -153, -153, -153, -153, -216, -222, -221, -419, -218, -387,
- -294, -301, -419, -419, -153, -278, -419, -150, -419, -419,
- -419, -419, -419, -225, -145, -419, -419, -423, -419, -423,
- -423, -423, -332, -419, -332, -332, -419, -419, -419, -419,
+ 253, -390, -137, 426, 317, 90, -56, 299, -39, -190,
+ -289, 254, 255, -390, 286, -190, 236, 253, 708, -283,
+ 173, 19, -283, -280, 415, 413, 400, 405, -283, -283,
+ -283, -283, 300, 398, -349, 254, 38, 265, 415, 300,
+ 398, 300, 301, 300, 301, 408, 418, 300, -306, 18,
+ 176, 442, 403, 407, 293, 253, 294, 255, 417, 301,
+ -306, 98, -284, 173, 300, 415, 409, 296, -283, -283,
+ -313, -419, -297, -295, -293, 245, 41, 156, 28, 30,
+ 159, 192, 142, 23, 160, 40, 247, 363, 264, 191,
+ 260, 487, 240, 81, 605, 443, 450, 441, 449, 453,
+ 489, 490, 442, 401, 34, 17, 607, 31, 274, 27,
+ 44, 185, 242, 163, 608, 277, 29, 275, 129, 133,
+ 610, 26, 84, 269, 18, 262, 46, 20, 611, 612,
+ 21, 74, 258, 257, 176, 254, 79, 15, 235, 32,
+ 172, 75, 613, 151, 145, 614, 615, 616, 617, 143,
+ 77, 173, 24, 745, 451, 452, 36, 706, 592, 288,
+ 187, 82, 65, 707, 157, 447, 618, 619, 130, 620,
+ 134, 85, 712, 153, 22, 80, 48, 621, 289, 622,
+ 259, 746, 623, 433, 624, 174, 243, 486, 78, 175,
+ 719, 625, 720, 252, 414, 12, 492, 35, 273, 261,
+ 73, 72, 141, 76, 457, 626, 253, 162, 256, 144,
+ 132, 11, 150, 37, 16, 83, 86, 454, 455, 456,
+ 63, 140, 596, 161, 19, 627, 434, 155, -387, 708,
+ -313, -313, 300, 340, 35, 101, -413, -414, -415, 596,
+ 433, 256, -295, -190, -85, 698, 244, -86, 704, 41,
+ 251, 146, 38, -135, 415, -123, 192, 726, 709, 710,
+ 711, 708, 412, 716, 714, 712, 300, 713, 96, 153,
+ 155, 156, 4, -145, 172, -200, -201, 171, 165, 166,
+ 167, 168, 169, 170, 177, 176, 157, 159, 173, -246,
+ 154, 178, 179, 180, 181, 182, 183, 184, 186, 185,
+ 187, 188, 174, 175, 191, 238, 239, -153, -153, -153,
+ -153, -216, -222, -221, -419, -218, -387, -294, -301, -419,
+ -419, -153, -278, -419, -150, -419, -419, -419, -419, -419,
+ -225, -145, -419, -419, -423, -419, -423, -423, -423, -332,
+ -419, -332, -332, -419, -419, -419, -419, -419, -419, -419,
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
@@ -9127,110 +9228,110 @@ var yyChk = [...]int{
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
+ -419, -419, -419, -419, -419, -419, -419, -419, 236, -419,
+ -419, -419, -419, -419, -332, -332, -332, -332, -332, -332,
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
- -419, 235, -419, -419, -419, -419, -419, -332, -332, -332,
- -332, -332, -332, -419, -419, -419, -419, -419, -419, -419,
- -419, -419, -419, -419, -419, -419, -419, 98, 112, 108,
- 111, 103, -220, 114, 98, 98, 98, 98, -31, -32,
- -210, -419, -312, -400, -401, -193, -190, -419, 316, -295,
- -295, 285, 105, -235, -34, -31, -230, -236, -232, -31,
- -79, -121, -134, 69, 70, -133, -136, 27, 44, 74,
- 76, 99, 72, 73, 71, 41, -420, 97, -420, -253,
- -420, 96, -38, -256, 95, 649, 679, 649, 679, 67,
- 49, 98, 98, 96, 25, -231, -233, -145, 18, -299,
- 4, -298, 28, -295, 98, 235, 18, -191, 32, -190,
- -279, -279, 96, 100, 330, -269, -271, 428, 430, 164,
- -300, -295, 98, 34, 97, 96, -190, -321, -324, -326,
- -325, -327, -322, -323, 357, 358, 191, 361, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 374, 386, 35,
- 275, 353, 354, 355, 356, 375, 376, 377, 378, 380,
- 381, 382, 383, 338, 359, 591, 339, 340, 341, 342,
- 343, 344, 346, 347, 350, 348, 349, 351, 352, -296,
- -295, 95, 97, 96, -331, 95, -145, -137, 252, -295,
- 253, 253, 253, -79, 483, -354, -354, -354, 283, 23,
- -46, -43, -380, 22, -42, -43, 244, 135, 136, 241,
- 95, -343, 95, -352, -296, -295, 95, 150, 258, 149,
- -351, -348, -351, -352, -295, -218, -295, 150, 150, -295,
- -295, -265, -295, -265, -265, 41, -265, 41, -265, 41,
- 105, -295, -265, 41, -265, 41, -265, 41, -265, 41,
- -265, 41, 34, 87, 88, 89, 34, 91, 92, 93,
- -218, -295, -295, -218, -343, -218, -190, -295, -272, 105,
- 105, 105, -354, -354, 105, 98, 98, 98, -354, -354,
- 105, 98, -303, -301, 98, 98, -392, 269, 313, 315,
- 105, 105, 105, 105, 34, 98, -393, 34, 730, 729,
- 731, 732, 733, 98, 105, 34, 105, 34, 105, -295,
- 95, -190, -143, 303, 239, 241, 244, 85, 98, 321,
- 319, 320, 317, 322, 323, 324, 164, 50, 96, 255,
- 252, -295, -285, 257, -285, -295, -302, -301, -293, -190,
- 255, 394, 98, -145, -350, 18, 175, -306, -306, -283,
- -190, -350, -306, -283, -190, -283, -283, -283, -283, -306,
- -306, -306, -283, -301, -301, -190, -190, -190, -190, -190,
- -190, -190, -313, -284, -283, 705, 98, -277, 18, 85,
- -313, -313, -292, 26, 96, 336, 431, 432, -311, 333,
- -81, -295, 98, -10, -29, -18, -17, -19, 164, -10,
- 96, 593, -183, -190, 705, 705, 705, 705, 705, 705,
- -145, -145, -145, -145, 617, -208, -411, 156, 132, 133,
- 130, 131, -162, 42, 43, 41, -145, -209, -214, -216,
- 115, 175, 158, 172, -246, -150, -153, -150, -150, -150,
- -150, -150, -150, 234, -150, 234, -150, -150, -150, -150,
- -150, -150, -314, -295, 98, 191, -158, -157, 114, -409,
- -158, 590, 96, -221, 235, -145, -145, -387, -119, 456,
- 457, 458, 459, 461, 462, 463, 466, 467, 471, 472,
- 455, 473, 460, 465, 468, 469, 470, 464, 356, -145,
- -211, -210, -211, -145, -145, -223, -224, 160, -218, -145,
- -420, -420, 105, 182, -127, 27, 44, -127, -127, -127,
- -127, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -127, -145, -120, 455, 473, 460, 465, 468, 469,
- 470, 464, 356, 474, 475, 476, 477, 478, 479, 480,
- 481, 482, -120, -119, -145, -145, -145, -145, -145, -145,
- -145, -145, -87, -145, 142, 143, 144, -210, -145, -150,
- -145, -145, -145, -420, -145, -145, -145, -211, -145, -145,
+ -419, -419, -419, -419, 98, 112, 108, 111, 103, -220,
+ 114, 98, 98, 98, 98, -31, -32, -210, -419, -312,
+ -400, -401, -193, -190, -419, 317, -295, -295, 286, 105,
+ -235, -34, -31, -230, -236, -232, -31, -79, -121, -134,
+ 69, 70, -133, -136, 27, 44, 74, 76, 99, 72,
+ 73, 71, 41, -420, 97, -420, -253, -420, 96, -38,
+ -256, 95, 652, 682, 652, 682, 67, 49, 98, 98,
+ 96, 25, -231, -233, -145, 18, -299, 4, -298, 28,
+ -295, 98, 236, 18, -191, 32, -190, -279, -279, 96,
+ 100, 331, -269, -271, 431, 433, 165, -300, -295, 98,
+ 34, 97, 96, -190, -321, -324, -326, -325, -327, -322,
+ -323, 360, 361, 192, 364, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 377, 389, 35, 276, 356, 357,
+ 358, 359, 378, 379, 380, 381, 383, 384, 385, 386,
+ 341, 362, 594, 342, 343, 344, 345, 346, 347, 349,
+ 350, 353, 351, 352, 354, 355, -296, -295, 95, 97,
+ 96, -331, 95, -145, -137, 253, -295, 254, 254, 254,
+ -286, 258, 486, -354, -354, -354, 284, 23, -46, -43,
+ -380, 22, -42, -43, 245, 135, 136, 242, 95, -343,
+ 95, -352, -296, -295, 95, 151, 259, 150, -351, -348,
+ -351, -352, -295, -218, -295, 151, 151, -295, -295, -265,
+ -295, -265, -265, 41, -265, 41, -265, 41, 105, -295,
+ -265, 41, -265, 41, -265, 41, -265, 41, -265, 41,
+ 34, 87, 88, 89, 34, 91, 92, 93, -218, -295,
+ -295, -218, -343, -218, -190, -295, -272, 105, 105, 105,
+ -354, -354, 105, 98, 98, 98, -354, -354, 105, 98,
+ -303, -301, 98, 98, -392, 270, 314, 316, 105, 105,
+ 105, 105, 34, 98, -393, 34, 733, 732, 734, 735,
+ 736, 98, 105, 34, 105, 34, 105, -295, 95, -190,
+ -143, 304, 240, 242, 245, 85, 98, 322, 320, 321,
+ 318, 323, 324, 325, 165, 50, 96, 256, 253, -295,
+ -285, 258, -285, -295, -302, -301, -293, -190, 256, 397,
+ 98, -145, -350, 18, 176, -306, -306, -283, -190, -350,
+ -306, -283, -190, -283, -283, -283, -283, -306, -306, -306,
+ -283, -301, -301, -190, -190, -190, -190, -190, -190, -190,
+ -313, -284, -283, 708, 98, -277, 18, 85, -313, -313,
+ -292, 26, 26, 96, 337, 434, 435, -311, 334, -81,
+ -295, 98, -10, -29, -18, -17, -19, 165, -10, 96,
+ 596, -183, -190, 708, 708, 708, 708, 708, 708, -145,
+ -145, -145, -145, 620, -208, -411, 157, 132, 133, 130,
+ 131, -162, 42, 43, 41, -145, -209, -214, -216, 115,
+ 176, 159, 173, -246, -150, -153, -150, -150, -150, -150,
+ -150, -150, 235, -150, 235, -150, -150, -150, -150, -150,
+ -150, -314, -295, 98, 192, -158, -157, 114, -409, -158,
+ 593, 96, -221, 236, -145, -145, -387, -119, 459, 460,
+ 461, 462, 464, 465, 466, 469, 470, 474, 475, 458,
+ 476, 463, 468, 471, 472, 473, 467, 359, -145, -211,
+ -210, -211, -145, -145, -223, -224, 161, -218, -145, -420,
+ -420, 105, 183, -127, 27, 44, -127, -127, -127, -127,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+ -127, -145, -120, 458, 476, 463, 468, 471, 472, 473,
+ 467, 359, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, -120, -119, -145, -145, -145, -145, -145, -145, -145,
+ -145, -87, -145, 142, 143, 144, -210, -145, -150, -145,
+ -145, -145, -420, -145, -145, -145, -211, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -145, -386, -385, -384, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+ -145, -145, -145, -386, -385, -384, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -210, -210, -210, -210, -210, -145, -420, -145, -164, -148,
- 105, -261, 114, 101, -145, -145, -145, -145, -145, -145,
- -211, -297, -302, -293, -294, -210, -211, -211, -210, -210,
- -145, -145, -145, -145, -145, -145, -145, -145, -420, -145,
- -145, -145, -145, -145, -253, -420, -210, 96, -402, 430,
- 431, 703, -304, 288, -303, 28, -211, 98, 18, -263,
- 86, -295, -235, -235, 69, 70, 65, -131, -132, -136,
- -420, -37, 28, -255, -295, 642, 642, 68, 98, -333,
- -272, 384, 385, 191, -145, -145, 96, -234, 30, 31,
- -190, -298, 182, -302, -190, -264, 288, -190, -168, -170,
- -171, -172, -193, -217, -419, -173, -31, 613, 610, 18,
- -183, -184, -192, -301, -270, -315, -269, 96, 429, 431,
- 432, 85, 134, -145, -334, 190, -362, -361, -360, -343,
- -345, -346, -347, 97, -334, -339, 391, 390, -331, -331,
- -331, -331, -331, -333, -333, -333, -333, 95, -331, 95,
- -331, -331, -331, -331, -336, 95, -336, -336, -337, -336,
- 95, -337, -338, 95, -338, -373, -145, -370, -369, -367,
- -368, 262, 110, 685, 641, 593, 634, 675, 86, -365,
- -234, 105, -420, -143, -286, 257, -371, -368, -295, -295,
- -295, -286, 100, 98, 100, 98, 100, 98, -112, -60,
- -1, 742, 743, 744, 96, 23, -344, -343, -59, 313,
- -376, -377, 288, -372, -366, -352, 150, -351, -352, -352,
- -295, 96, 32, 139, 139, 139, 139, 593, 241, 35,
- -287, 633, 156, 685, 641, -343, -59, 255, 255, -314,
- -314, -314, 98, 98, -282, 738, -183, -139, 305, 164,
- 294, 294, 252, 307, 252, 307, -190, 318, 321, 319,
- 320, 317, 322, 323, 324, 41, 41, 41, 41, 41,
- 41, 41, 306, 308, 310, 296, -190, -190, -285, 85,
- -185, -190, 29, -301, 98, 98, -190, -283, -283, -190,
- -283, -283, -190, 98, -415, 337, -295, 371, 696, 698,
- -123, 430, 96, 593, 26, -124, 26, -419, -411, 132,
- 133, -216, -216, -216, -209, -150, -153, -150, 155, 276,
+ -145, -145, -145, -145, -145, -145, -145, -145, -145, -210,
+ -210, -210, -210, -210, -145, -420, -145, -164, -148, 105,
+ -261, 114, 101, -145, -145, -145, -145, -145, -145, -211,
+ -297, -302, -293, -294, -210, -211, -211, -210, -210, -145,
+ -145, -145, -145, -145, -145, -145, -145, -420, -145, -145,
+ -145, -145, -145, -253, -420, -210, 96, -402, 433, 434,
+ 706, -304, 289, -303, 28, -211, 98, 18, -263, 86,
+ -295, -235, -235, 69, 70, 65, -131, -132, -136, -420,
+ -37, 28, -255, -295, 645, 645, 68, 98, -333, -272,
+ 387, 388, 192, -145, -145, 96, -234, 30, 31, -190,
+ -298, 183, -302, -190, -264, 289, -190, -168, -170, -171,
+ -172, -193, -217, -419, -173, -31, 616, 613, 18, -183,
+ -184, -192, -301, -270, -315, -269, 96, 432, 434, 435,
+ 85, 134, -145, -334, 191, -362, -361, -360, -343, -345,
+ -346, -347, 97, -334, -339, 394, 393, -331, -331, -331,
+ -331, -331, -333, -333, -333, -333, 95, -331, 95, -331,
+ -331, -331, -331, -336, 95, -336, -336, -337, -336, 95,
+ -337, -338, 95, -338, -373, -145, -370, -369, -367, -368,
+ 263, 110, 688, 644, 596, 637, 678, 86, -365, -234,
+ 105, -420, -143, -286, -371, -368, -295, -295, -295, -301,
+ 157, 100, 98, 100, 98, 100, 98, -112, -60, -1,
+ 745, 746, 747, 96, 23, -344, -343, -59, 314, -376,
+ -377, 289, -372, -366, -352, 151, -351, -352, -352, -295,
+ 96, 32, 139, 139, 139, 139, 596, 242, 35, -287,
+ 636, 157, 688, 644, -343, -59, 256, 256, -314, -314,
+ -314, 98, 98, -282, 741, -183, -139, 306, 165, 295,
+ 295, 253, 308, 253, 308, -190, 319, 322, 320, 321,
+ 318, 323, 324, 325, 41, 41, 41, 41, 41, 41,
+ 41, 307, 309, 311, 297, -190, -190, -285, 85, -185,
+ -190, 29, -301, 98, 98, -190, -283, -283, -190, -283,
+ -283, -190, 98, -301, -415, 338, -295, 374, 699, 701,
+ -123, 433, 96, 596, 26, -124, 26, -419, -411, 132,
+ 133, -216, -216, -216, -209, -150, -153, -150, 156, 277,
-150, -150, -419, -218, -420, -297, 28, 96, 86, -420,
- 180, 96, -420, -420, 96, 18, 96, -226, -224, 162,
+ 181, 96, -420, -420, 96, 18, 96, -226, -224, 163,
-145, -420, 96, -420, -420, -210, -145, -145, -145, -145,
-420, -420, -420, -420, -420, -420, -420, -420, -420, -420,
-210, -420, 96, 96, 18, -318, 28, -420, -420, -420,
-420, 96, -420, -420, -225, -420, 18, -420, 86, 96,
- 175, 96, -420, -420, -420, 96, 96, -420, -420, 96,
+ 176, 96, -420, -420, -420, 96, 96, -420, -420, 96,
-420, 96, -420, -420, -420, -420, -420, -420, 96, -420,
96, -420, -420, -420, 96, -420, 96, -420, -420, 96,
-420, 96, -420, 96, -420, 96, -420, 96, -420, 96,
@@ -9241,282 +9342,282 @@ var yyChk = [...]int{
96, 96, -420, 96, 96, 96, -420, 96, 96, 96,
96, -420, -420, -420, -420, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, -420, -420, -420, -420, -420,
- -420, 96, -94, 618, -420, -420, 96, -420, 96, 96,
- 96, 96, 96, -420, -419, 235, -420, -420, -420, -420,
+ -420, 96, -94, 621, -420, -420, 96, -420, 96, 96,
+ 96, 96, 96, -420, -419, 236, -420, -420, -420, -420,
-420, 96, 96, 96, 96, 96, 96, -420, -420, -420,
- 96, 96, -420, 96, -420, 96, -420, -401, 702, 431,
- -197, -196, -194, 83, 256, 84, -419, -303, -420, -158,
+ 96, 96, -420, 96, -420, 96, -420, -401, 705, 434,
+ -197, -196, -194, 83, 257, 84, -419, -303, -420, -158,
-261, -262, -261, -203, -295, 105, 114, -237, -167, 96,
-169, 18, -216, 97, 96, -333, -241, -247, -280, -295,
- 98, 191, -335, 191, -335, 384, 385, -233, 235, -198,
+ 98, 192, -335, 192, -335, 387, 388, -233, 236, -198,
19, -202, 35, 63, -29, -419, -419, 35, 96, -186,
-188, -187, -189, 75, 79, 81, 76, 77, 78, 82,
-309, 28, -31, -168, -31, -419, -190, -183, -421, 18,
- 86, -421, 96, 235, -271, -274, 433, 430, 436, -387,
- 98, -111, 96, -360, -347, -238, -140, 46, -340, 392,
- -333, 601, -333, -342, 98, -342, 105, 105, 105, 97,
+ 86, -421, 96, 236, -271, -274, 436, 433, 439, -387,
+ 98, -111, 96, -360, -347, -238, -140, 46, -340, 395,
+ -333, 604, -333, -342, 98, -342, 105, 105, 105, 97,
-49, -44, -45, 36, 90, -367, -354, 98, 45, -354,
- -354, -295, 97, -234, -139, -190, 156, 85, -371, -371,
- -371, -301, -2, 741, 747, 150, 95, 397, 22, -255,
- 96, 97, -219, 314, 97, -113, -295, 97, 95, -352,
- -352, -295, -419, 252, 34, 34, 685, 641, 633, -59,
- -219, -218, -295, -334, 740, 739, 97, 254, 312, -144,
- 450, -141, 98, 100, -190, -190, -190, -190, -190, -190,
- 244, 241, 420, -410, 325, -410, 297, 255, -183, -190,
- 96, -84, 271, 266, -306, -306, 36, -190, 430, 714,
- 712, -145, 155, 276, -162, -153, -119, -119, -150, -316,
- 191, 357, 275, 355, 351, 371, 362, 390, 353, 391,
- 348, 347, 346, -316, -314, -150, -210, -145, -145, -145,
- 163, -145, 161, -145, -95, -94, -420, -420, -420, -420,
- -420, -95, -95, -95, -95, -95, -95, -95, -95, -95,
- -95, -230, -145, -145, -145, -420, 191, 357, -95, -145,
- 18, -145, -314, -145, -145, -145, -145, -145, -145, -145,
+ -354, -295, 97, -234, -139, -190, 85, -371, -371, -371,
+ 29, -2, 744, 750, 151, 95, 400, 22, -255, 96,
+ 97, -219, 315, 97, -113, -295, 97, 95, -352, -352,
+ -295, -419, 253, 34, 34, 688, 644, 636, -59, -219,
+ -218, -295, -334, 743, 742, 97, 255, 313, -144, 453,
+ -141, 98, 100, -190, -190, -190, -190, -190, -190, 245,
+ 242, 423, -410, 326, -410, 298, 256, -183, -190, 96,
+ -84, 272, 267, -306, -306, 36, -190, 433, 717, 715,
+ -145, 156, 277, -162, -153, -119, -119, -150, -316, 192,
+ 360, 276, 358, 354, 374, 365, 393, 356, 394, 351,
+ 350, 349, -316, -314, -150, -210, -145, -145, -145, 164,
+ -145, 162, -145, -95, -94, -420, -420, -420, -420, -420,
+ -95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
+ -230, -145, -145, -145, -420, 192, 360, -95, -145, 18,
+ -145, -314, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -145, -145, -145, -145, -145, -384, -145,
- -210, -145, -210, -145, -145, -145, -145, -145, -385, -385,
- -385, -385, -385, -210, -210, -210, -210, -145, -419, -295,
- -98, -97, -96, 668, 256, -94, -164, -98, -164, 234,
- -145, 234, 234, 234, -145, -211, -297, -145, -145, -145,
- -145, -145, -145, -145, -145, -145, -145, -194, -348, 294,
- -348, 294, -348, -265, 96, -276, 26, 18, 63, 63,
- -167, -198, -132, -168, -295, -244, 695, -250, 52, -248,
- -249, 53, -245, 54, 62, -335, -335, 182, -235, -145,
- -266, 85, -267, -275, -218, -213, -215, -214, -419, -254,
- -420, -295, -265, -267, -170, -171, -171, -170, -171, 75,
- 75, 75, 80, 75, 80, 75, -187, -301, -420, -145,
- -304, 86, -168, -168, -192, -301, 182, 430, 434, 435,
- -360, -408, 130, 156, 34, 85, 388, 110, -406, 190,
- 630, 680, 685, 641, 634, 675, -407, 258, 149, 150,
- 270, 28, 47, 97, 96, 97, 96, 97, 97, 96,
- -288, -287, -45, -44, -354, -354, 105, -387, 98, 98,
- 254, 29, -190, 85, 85, 85, -114, 745, 105, 95,
- -3, 90, -145, 95, 23, -343, -218, -378, -328, -379,
- -329, -330, -5, -6, -355, -117, 63, 110, -63, 50,
- 253, 725, 726, 139, -419, 738, -370, -255, -374, -376,
- -190, -149, -419, -161, -147, -146, -148, -154, 180, 181,
- 275, 353, 354, -219, -190, -138, 303, 311, 95, -142,
- 101, -389, 86, 294, 388, 294, 388, 98, -412, 326,
- 98, -412, -190, -84, -49, -190, -283, -283, 36, -387,
- -420, -162, -153, -126, 175, 593, -319, 600, -331, -331,
- -331, -338, -331, 343, -331, 343, -331, -420, -420, -420,
- 96, -420, 26, -420, 96, -145, 96, -95, -95, -95,
- -95, -95, -122, 489, 96, 96, -420, 95, 95, -420,
- -145, -420, -420, -420, 96, -420, -420, -420, -420, -420,
- -420, -420, -420, -420, -420, -420, -420, -420, 96, -420,
- 96, -420, 96, -420, 96, -420, 96, -420, 96, -420,
+ -145, -145, -145, -145, -145, -145, -145, -384, -145, -210,
+ -145, -210, -145, -145, -145, -145, -145, -385, -385, -385,
+ -385, -385, -210, -210, -210, -210, -145, -419, -295, -98,
+ -97, -96, 671, 257, -94, -164, -98, -164, 235, -145,
+ 235, 235, 235, -145, -211, -297, -145, -145, -145, -145,
+ -145, -145, -145, -145, -145, -145, -194, -348, 295, -348,
+ 295, -348, -265, 96, -276, 26, 18, 63, 63, -167,
+ -198, -132, -168, -295, -244, 698, -250, 52, -248, -249,
+ 53, -245, 54, 62, -335, -335, 183, -235, -145, -266,
+ 85, -267, -275, -218, -213, -215, -214, -419, -254, -420,
+ -295, -265, -267, -170, -171, -171, -170, -171, 75, 75,
+ 75, 80, 75, 80, 75, -187, -301, -420, -145, -304,
+ 86, -168, -168, -192, -301, 183, 433, 437, 438, -360,
+ -408, 130, 157, 34, 85, 391, 110, -406, 191, 633,
+ 683, 688, 644, 637, 678, -407, 259, 150, 151, 271,
+ 28, 47, 97, 96, 97, 96, 97, 97, 96, -288,
+ -287, -45, -44, -354, -354, 105, -387, 98, 98, 255,
+ -190, 85, 85, 85, -114, 748, 105, 95, -3, 90,
+ -145, 95, 23, -343, -218, -378, -328, -379, -329, -330,
+ -5, -6, -355, -117, 63, 110, -63, 50, 254, 728,
+ 729, 139, -419, 741, -370, -255, -374, -376, -190, -149,
+ -419, -161, -147, -146, -148, -154, 181, 182, 276, 356,
+ 357, -219, -190, -138, 304, 312, 95, -142, 101, -389,
+ 86, 295, 391, 295, 391, 98, -412, 327, 98, -412,
+ -190, -84, -49, -190, -283, -283, 36, -387, -420, -162,
+ -153, -126, 176, 596, -319, 603, -331, -331, -331, -338,
+ -331, 346, -331, 346, -331, -420, -420, -420, 96, -420,
+ 26, -420, 96, -145, 96, -95, -95, -95, -95, -95,
+ -122, 492, 96, 96, -420, 95, 95, -420, -145, -420,
+ -420, -420, 96, -420, -420, -420, -420, -420, -420, -420,
+ -420, -420, -420, -420, -420, -420, 96, -420, 96, -420,
96, -420, 96, -420, 96, -420, 96, -420, 96, -420,
96, -420, 96, -420, 96, -420, 96, -420, 96, -420,
- -420, 96, -420, -420, -420, 96, -420, 96, -420, 96,
- -420, -420, -420, 96, -317, 686, -420, -420, -420, -420,
- -420, -420, -420, -420, -420, -420, -420, -93, -296, -94,
- 650, 650, -420, -94, -227, 96, -150, -420, -150, -150,
- -150, -420, -420, -420, 96, -420, 96, 96, -420, 96,
- -420, 96, -420, -420, -420, -420, 96, -195, 26, -419,
- -195, -419, -195, -420, -261, -190, -198, -228, 20, -241,
- 57, 363, -252, -251, 61, 53, -249, 23, 55, 23,
- 33, -266, 96, 164, -308, 96, 28, -420, -420, 96,
- 63, 235, -420, -198, -181, -180, 85, 86, -182, 85,
- -180, 75, 75, -256, 96, -264, -168, -198, -198, 235,
- 130, -419, -149, 16, 98, 98, -387, -405, 729, 730,
- 34, 105, -354, -354, 150, 150, -190, 95, -333, 98,
- -333, 105, 105, 34, 91, 92, 93, 34, 87, 88,
- 89, -190, -190, -190, -190, -375, 95, 23, -145, 95,
- 164, 97, -255, -255, 290, 175, -354, 723, 296, 296,
- -354, -354, -354, -116, -115, 745, 97, -420, 96, -341,
- 593, 596, -145, -155, -155, -256, 97, -383, 593, -388,
- -295, -295, -295, -295, 105, 107, -420, 591, 82, 594,
- -420, -333, -145, -145, -145, -145, -235, 98, -145, -145,
- 105, 105, -95, -420, -145, -145, -145, -145, -145, -145,
+ 96, -420, 96, -420, 96, -420, 96, -420, -420, 96,
+ -420, -420, -420, 96, -420, 96, -420, 96, -420, -420,
+ -420, 96, -317, 689, -420, -420, -420, -420, -420, -420,
+ -420, -420, -420, -420, -420, -93, -296, -94, 653, 653,
+ -420, -94, -227, 96, -150, -420, -150, -150, -150, -420,
+ -420, -420, 96, -420, 96, 96, -420, 96, -420, 96,
+ -420, -420, -420, -420, 96, -195, 26, -419, -195, -419,
+ -195, -420, -261, -190, -198, -228, 20, -241, 57, 366,
+ -252, -251, 61, 53, -249, 23, 55, 23, 33, -266,
+ 96, 165, -308, 96, 28, -420, -420, 96, 63, 236,
+ -420, -198, -181, -180, 85, 86, -182, 85, -180, 75,
+ 75, -256, 96, -264, -168, -198, -198, 236, 130, -419,
+ -149, 16, 98, 98, -387, -405, 732, 733, 34, 105,
+ -354, -354, 151, 151, -190, 95, -333, 98, -333, 105,
+ 105, 34, 91, 92, 93, 34, 87, 88, 89, -190,
+ -190, -190, -190, -375, 95, 23, -145, 95, 165, 97,
+ -255, -255, 291, 176, -354, 726, 297, 297, -354, -354,
+ -354, -116, -115, 748, 97, -420, 96, -341, 596, 599,
+ -145, -155, -155, -256, 97, -383, 596, -388, -295, -295,
+ -295, -295, 105, 107, -420, 594, 82, 597, -420, -333,
+ -145, -145, -145, -145, -235, 98, -145, -145, 105, 105,
+ -95, -420, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -145, -210, -145, -420, -178, -177, -179,
- 706, 130, 34, -316, -420, -212, 288, -101, -100, -99,
- 18, -420, -145, -119, -119, -119, -119, -145, -145, -145,
- -145, -145, -145, -419, 75, 22, 20, -258, -295, 258,
- -419, -258, -419, -304, -228, -229, 21, 23, -242, 59,
- -240, 58, -240, -251, 23, 23, 98, 23, 98, 150,
- -275, -145, -215, -303, 63, -29, -295, -213, -295, -230,
- -145, 95, -145, -158, -198, -198, -145, -205, 513, 515,
- 516, 517, 514, 519, 520, 521, 522, 523, 524, 525,
- 526, 527, 528, 518, 529, 490, 491, 492, 117, 119,
- 118, 127, 128, 493, 494, 495, 357, 541, 542, 536,
- 539, 540, 538, 537, 372, 373, 496, 559, 560, 564,
- 563, 561, 562, 565, 568, 569, 570, 571, 572, 573,
- 575, 574, 566, 567, 544, 543, 545, 546, 547, 548,
- 549, 550, 552, 551, 553, 554, 555, 556, 557, 558,
- 576, 577, 578, 579, 580, 582, 581, 586, 585, 583,
- 584, 588, 587, 497, 498, 120, 121, 122, 123, 124,
- 125, 126, 499, 502, 500, 503, 504, 505, 510, 511,
- 506, 507, 508, 509, 512, 383, 381, 382, 378, 377,
- 376, 437, 442, 443, 445, 530, 531, 532, 533, 534,
- 535, 687, 688, 689, 690, 691, 692, 693, 694, 98,
- 98, 95, -145, 97, 97, -256, -374, -60, 97, -257,
- -255, 105, 97, 291, -214, -419, 98, -354, -354, -354,
- 105, 105, -303, -420, 96, -295, -407, -376, 597, 597,
- -420, 28, -382, -381, -297, 95, 86, 68, 592, 595,
- -420, -420, -420, 96, -420, -420, -420, 97, 97, -420,
+ -145, -145, -210, -145, -420, -178, -177, -179, 709, 130,
+ 34, -316, -420, -212, 289, -101, -100, -99, 18, -420,
+ -145, -119, -119, -119, -119, -145, -145, -145, -145, -145,
+ -145, -419, 75, 22, 20, -258, -295, 259, -419, -258,
+ -419, -304, -228, -229, 21, 23, -242, 59, -240, 58,
+ -240, -251, 23, 23, 98, 23, 98, 151, -275, -145,
+ -215, -303, 63, -29, -295, -213, -295, -230, -145, 95,
+ -145, -158, -198, -198, -145, -205, 516, 518, 519, 520,
+ 517, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 521, 532, 493, 494, 495, 117, 119, 118, 127,
+ 128, 496, 497, 498, 360, 544, 545, 539, 542, 543,
+ 541, 540, 375, 376, 499, 562, 563, 567, 566, 564,
+ 565, 568, 571, 572, 573, 574, 575, 576, 578, 577,
+ 569, 570, 547, 546, 548, 549, 550, 551, 552, 553,
+ 555, 554, 556, 557, 558, 559, 560, 561, 579, 580,
+ 581, 582, 583, 585, 584, 589, 588, 586, 587, 591,
+ 590, 500, 501, 120, 121, 122, 123, 124, 125, 126,
+ 502, 505, 503, 506, 507, 508, 513, 514, 509, 510,
+ 511, 512, 515, 386, 384, 385, 381, 380, 379, 440,
+ 445, 446, 448, 533, 534, 535, 536, 537, 538, 690,
+ 691, 692, 693, 694, 695, 696, 697, 98, 98, 95,
+ -145, 97, 97, -256, -374, -60, 97, -257, -255, 105,
+ 97, 292, -214, -419, 98, -354, -354, -354, 105, 105,
+ -303, -420, 96, -295, -407, -376, 600, 600, -420, 28,
+ -382, -381, -297, 95, 86, 68, 595, 598, -420, -420,
+ -420, 96, -420, -420, -420, 97, 97, -420, -420, -420,
-420, -420, -420, -420, -420, -420, -420, -420, -420, -420,
- -420, -420, -420, -420, -420, -420, -420, -420, -420, -420,
- -420, 96, -420, -177, -179, -420, 85, -158, -230, 23,
- -98, 313, 315, -98, -420, -420, -420, -420, -420, 96,
- -420, -420, 96, -420, 96, -420, -420, -258, -420, 23,
- 23, 96, -420, -258, -420, -258, -197, -229, -108, -107,
- -106, 624, -145, -210, -243, 60, 85, 134, 98, 98,
- 98, 16, -419, -213, 235, -308, -235, -255, -175, 397,
- -230, -420, -255, 97, 28, 97, 747, 150, 97, -214,
- -125, -419, 287, -303, 98, 98, -115, -118, -29, 96,
- 164, -255, -190, 68, -145, -210, -420, 85, 605, 706,
- -92, -91, -88, 717, 743, -210, -94, -94, -145, -145,
- -145, -420, -295, 258, -420, -420, -108, 96, -105, -104,
- -295, -320, 593, 85, 134, -267, -255, -308, -295, 97,
- -420, -419, -235, 97, -239, -29, 95, -3, 287, -328,
- -379, -329, -330, -5, -6, -355, -82, 593, -381, -359,
- -301, -297, 98, 105, 97, 593, -420, -420, -90, 158,
- 715, 683, -155, 234, -420, 96, -420, 96, -420, 96,
- -106, 96, 28, 598, -420, -304, -176, -174, -295, 647,
- -398, -397, 589, -408, -404, 130, 156, 110, -406, 685,
- 641, 140, 141, -82, -145, 95, -420, -83, 302, 702,
- 235, -389, 594, -90, 716, 661, 636, 661, 636, -150,
- -145, -145, -145, -104, -419, -420, 96, 26, -321, -62,
- 658, -395, -396, 85, -399, 403, 657, 678, 130, 98,
- 97, -255, 263, -302, -383, 595, 155, -119, -420, 96,
- -420, 96, -420, -93, -174, 654, -334, -158, -396, 85,
- -395, 85, 17, 16, -4, 746, 97, 304, -90, 661,
- 636, -145, -145, -420, -61, 29, -175, -394, 271, 266,
- 269, 35, -394, 105, -4, -420, -420, 658, 265, 34,
- 130, -158, -178, -177, -177,
+ -420, -420, -420, -420, -420, -420, -420, -420, -420, 96,
+ -420, -177, -179, -420, 85, -158, -230, 23, -98, 314,
+ 316, -98, -420, -420, -420, -420, -420, 96, -420, -420,
+ 96, -420, 96, -420, -420, -258, -420, 23, 23, 96,
+ -420, -258, -420, -258, -197, -229, -108, -107, -106, 627,
+ -145, -210, -243, 60, 85, 134, 98, 98, 98, 16,
+ -419, -213, 236, -308, -235, -255, -175, 400, -230, -420,
+ -255, 97, 28, 97, 750, 151, 97, -214, -125, -419,
+ 288, -303, 98, 98, -115, -118, -29, 96, 165, -255,
+ -190, 68, -145, -210, -420, 85, 608, 709, -92, -91,
+ -88, 720, 746, -210, -94, -94, -145, -145, -145, -420,
+ -295, 259, -420, -420, -108, 96, -105, -104, -295, -320,
+ 596, 85, 134, -267, -255, -308, -295, 97, -420, -419,
+ -235, 97, -239, -29, 95, -3, 288, -328, -379, -329,
+ -330, -5, -6, -355, -82, 596, -381, -359, -301, -297,
+ 98, 105, 97, 596, -420, -420, -90, 159, 718, 686,
+ -155, 235, -420, 96, -420, 96, -420, 96, -106, 96,
+ 28, 601, -420, -304, -176, -174, -295, 650, -398, -397,
+ 592, -408, -404, 130, 157, 110, -406, 688, 644, 140,
+ 141, -82, -145, 95, -420, -83, 303, 705, 236, -389,
+ 597, -90, 719, 664, 639, 664, 639, -150, -145, -145,
+ -145, -104, -419, -420, 96, 26, -321, -62, 661, -395,
+ -396, 85, -399, 406, 660, 681, 130, 98, 97, -255,
+ 264, -302, -383, 598, 156, -119, -420, 96, -420, 96,
+ -420, -93, -174, 657, -334, -158, -396, 85, -395, 85,
+ 17, 16, -4, 749, 97, 305, -90, 664, 639, -145,
+ -145, -420, -61, 29, -175, -394, 272, 267, 270, 35,
+ -394, 105, -4, -420, -420, 661, 266, 34, 130, -158,
+ -178, -177, -177,
}
var yyDef = [...]int{
- 885, -2, -2, 887, 2, 4, 5, 6, 7, 8,
+ 889, -2, -2, 891, 2, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 70, 72, 73, 885, 885, 885, 0, 885, 0,
- 0, 885, -2, -2, 885, 1640, 0, 885, 0, 880,
- 0, -2, 802, 808, 0, 817, -2, 0, 0, 885,
- 885, 2277, 2277, 880, 0, 0, 0, 0, 0, 885,
- 885, 885, 885, 1645, 1498, 50, 885, 0, 85, 86,
- 835, 836, 837, 65, 0, 2275, 886, 1, 3, 71,
- 75, 0, 0, 0, 58, 1507, 0, 78, 0, 0,
- 889, 0, 0, 1623, 885, 885, 0, 126, 127, 0,
+ 39, 70, 72, 73, 889, 889, 889, 0, 889, 0,
+ 0, 889, -2, -2, 889, 1644, 0, 889, 0, 884,
+ 0, -2, 804, 810, 0, 819, -2, 0, 0, 889,
+ 889, 2284, 2284, 884, 0, 0, 0, 0, 0, 889,
+ 889, 889, 889, 1649, 1502, 50, 889, 0, 85, 86,
+ 839, 840, 841, 65, 0, 2282, 890, 1, 3, 71,
+ 75, 0, 0, 0, 58, 1511, 0, 78, 0, 0,
+ 893, 0, 0, 1627, 889, 889, 0, 126, 127, 0,
0, 0, -2, 130, -2, 159, 160, 161, 0, 166,
609, 527, 579, 525, 564, -2, 513, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 530,
- 402, 402, 0, 0, -2, 513, 513, 513, 1625, 0,
+ 402, 402, 0, 0, -2, 513, 513, 513, 1629, 0,
0, 0, 561, 464, 402, 402, 402, 0, 402, 402,
402, 402, 0, 0, 402, 402, 402, 402, 402, 402,
402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
- 402, 1525, 165, 1641, 1638, 1639, 1801, 1802, 1803, 1804,
- 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814,
- 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824,
- 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834,
- 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844,
- 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854,
- 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864,
- 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874,
- 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884,
- 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894,
- 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904,
- 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914,
- 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924,
- 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934,
- 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944,
- 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954,
- 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964,
- 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974,
- 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984,
- 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
- 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
- 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024,
- 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034,
- 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044,
- 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054,
- 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064,
- 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074,
- 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084,
- 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094,
- 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104,
- 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114,
- 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124,
- 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134,
- 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144,
- 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154,
- 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164,
- 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174,
- 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184,
- 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194,
- 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204,
- 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214,
- 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224,
- 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234,
- 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244,
- 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254,
- 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264,
- 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274,
- 0, 1617, 0, 722, 989, 0, 881, 882, 0, 791,
- 791, 0, 791, 791, 791, 791, 0, 0, 0, 736,
- 0, 0, 0, 0, 788, 0, 752, 753, 0, 788,
- 0, 759, 794, 0, 0, 766, 791, 791, 769, 2278,
- 0, 2278, 2278, 0, 1608, 0, 785, 783, 797, 798,
- 42, 801, 804, 805, 806, 807, 810, 0, 821, 824,
- 1634, 1635, 0, 826, 831, 848, 849, 0, 45, 1149,
- 0, 1013, 0, 1024, -2, 1035, 1052, 1053, 1054, 1055,
- 1056, 1058, 1059, 1060, 0, 0, 0, 0, 1065, 1066,
- 0, 0, 0, 0, 0, 1129, 0, 0, 0, 0,
- 2003, 1469, 0, 0, 1431, 1431, 1165, 1431, 1431, 1433,
- 1433, 1433, 1854, 1995, 2004, 2183, 1815, 1821, 1822, 1823,
- 2129, 2130, 2131, 2132, 2221, 2222, 2226, 1917, 1810, 2196,
- 2197, 0, 2274, 1956, 1964, 1965, 1941, 1950, 1989, 2091,
- 2206, 1833, 1984, 2054, 1914, 1936, 1937, 2072, 2073, 1960,
- 1961, 1940, 2135, 2137, 2153, 2154, 2139, 2141, 2150, 2156,
- 2161, 2140, 2152, 2157, 2170, 2174, 2177, 2178, 2179, 2147,
- 2145, 2158, 2162, 2164, 2166, 2172, 2175, 2148, 2146, 2159,
- 2163, 2165, 2167, 2173, 2176, 2134, 2138, 2142, 2151, 2169,
- 2149, 2168, 2143, 2155, 2160, 2171, 2144, 2136, 1954, 1957,
- 1944, 1945, 1947, 1949, 1955, 1962, 1968, 1946, 1967, 1966,
- 0, 1942, 1943, 1948, 1959, 1963, 1951, 1952, 1953, 1958,
- 1969, 2010, 2009, 2008, 2053, 1980, 2052, 0, 0, 0,
- 0, 0, 1804, 1859, 1860, 2180, 1353, 1354, 1355, 1356,
- 0, 0, 0, 0, 0, 0, 0, 291, 292, 1482,
- 1483, 44, 1148, 1604, 1433, 1433, 1433, 1433, 1433, 1433,
- 1087, 1088, 1089, 1090, 1091, 1117, 1118, 1124, 1125, 2067,
- 2068, 2069, 2070, 1897, 2216, 1906, 1907, 2049, 2050, 1919,
- 1920, 2248, 2249, -2, -2, -2, 232, 233, 234, 235,
- 236, 237, 238, 239, 0, 1858, 2194, 2195, 228, 0,
- 0, 296, 293, 294, 295, 1131, 1132, 249, 250, 251,
- 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
- 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 286, 287, 288, 289, 290, 298,
- 299, 2277, 0, 858, 0, 0, 0, 0, 0, 0,
- 1646, 1647, 1507, 0, 1499, 1498, 63, 0, 885, -2,
- 0, 0, 0, 0, 47, 0, 52, 946, 888, 77,
- 76, 1547, 1550, 0, 0, 0, 59, 1508, 67, 69,
- 1509, 0, 890, 891, 0, 922, 926, 0, 0, 0,
- 1624, 1623, 1623, 102, 0, 0, 103, 123, 124, 125,
- 0, 0, 109, 110, 1610, 1611, 43, 0, 0, 177,
- 178, 0, 1105, 429, 0, 173, 0, 422, 361, 0,
- 1525, 0, 0, 0, 0, 0, 885, 0, 1618, 154,
- 155, 162, 163, 164, 402, 402, 402, 576, 0, 0,
- 165, 165, 534, 535, 536, 0, 0, -2, 427, 0,
- 514, 0, 0, 416, 416, 420, 418, 419, 0, 0,
- 0, 0, 0, 0, 0, 0, 553, 0, 554, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 670, 0,
- 403, 0, 574, 575, 465, 0, 0, 0, 0, 0,
- 0, 0, 0, 1626, 1627, 0, 551, 552, 0, 0,
- 0, 402, 402, 0, 0, 0, 0, 402, 402, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 153, 1538, 0,
- 0, 0, -2, 0, 714, 0, 0, 0, 1619, 1619,
- 0, 721, 0, 0, 0, 726, 0, 0, 727, 0,
- 788, 788, 786, 787, 729, 730, 731, 732, 791, 0,
- 0, 411, 412, 413, 788, 791, 0, 791, 791, 791,
- 791, 788, 788, 788, 791, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2278, 794, 791, 0, 760, 0,
- 761, 762, 763, 764, 767, 768, 770, 2279, 2280, 1636,
- 1637, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656,
+ 402, 1529, 165, 1645, 1642, 1643, 1805, 1806, 1807, 1808,
+ 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818,
+ 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828,
+ 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838,
+ 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848,
+ 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858,
+ 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868,
+ 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878,
+ 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888,
+ 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898,
+ 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908,
+ 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918,
+ 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928,
+ 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938,
+ 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948,
+ 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958,
+ 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968,
+ 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978,
+ 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988,
+ 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+ 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018,
+ 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028,
+ 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038,
+ 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048,
+ 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058,
+ 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068,
+ 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078,
+ 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088,
+ 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098,
+ 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108,
+ 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118,
+ 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128,
+ 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138,
+ 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148,
+ 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158,
+ 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168,
+ 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178,
+ 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188,
+ 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198,
+ 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208,
+ 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218,
+ 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228,
+ 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238,
+ 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248,
+ 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258,
+ 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268,
+ 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278,
+ 2279, 2280, 2281, 0, 1621, 0, 722, 993, 0, 885,
+ 886, 0, 793, 793, 0, 793, 793, 793, 793, 0,
+ 0, 0, 736, 0, 0, 0, 0, 790, 0, 752,
+ 753, 0, 790, 0, 759, 796, 0, 0, 766, 793,
+ 793, 769, 2285, 0, 2285, 2285, 0, 0, 1612, 0,
+ 787, 785, 799, 800, 42, 803, 806, 807, 808, 809,
+ 812, 0, 823, 826, 1638, 1639, 0, 828, 833, 852,
+ 853, 0, 45, 1153, 0, 1017, 0, 1028, -2, 1039,
+ 1056, 1057, 1058, 1059, 1060, 1062, 1063, 1064, 0, 0,
+ 0, 0, 1069, 1070, 0, 0, 0, 0, 0, 1133,
+ 0, 0, 0, 0, 2007, 1473, 0, 0, 1435, 1435,
+ 1169, 1435, 1435, 1437, 1437, 1437, 1858, 1999, 2008, 2187,
+ 1819, 1825, 1826, 1827, 2133, 2134, 2135, 2136, 2228, 2229,
+ 2233, 1921, 1814, 2200, 2201, 0, 2281, 1960, 1968, 1969,
+ 1945, 1954, 1993, 2095, 2212, 1837, 1988, 2058, 1918, 1940,
+ 1941, 2076, 2077, 1964, 1965, 1944, 2139, 2141, 2157, 2158,
+ 2143, 2145, 2154, 2160, 2165, 2144, 2156, 2161, 2174, 2178,
+ 2181, 2182, 2183, 2151, 2149, 2162, 2166, 2168, 2170, 2176,
+ 2179, 2152, 2150, 2163, 2167, 2169, 2171, 2177, 2180, 2138,
+ 2142, 2146, 2155, 2173, 2153, 2172, 2147, 2159, 2164, 2175,
+ 2148, 2140, 1958, 1961, 1948, 1949, 1951, 1953, 1959, 1966,
+ 1972, 1950, 1971, 1970, 0, 1946, 1947, 1952, 1963, 1967,
+ 1955, 1956, 1957, 1962, 1973, 2014, 2013, 2012, 2057, 1984,
+ 2056, 0, 0, 0, 0, 0, 1808, 1863, 1864, 2184,
+ 1357, 1358, 1359, 1360, 0, 0, 0, 0, 0, 0,
+ 0, 291, 292, 1486, 1487, 44, 1152, 1608, 1437, 1437,
+ 1437, 1437, 1437, 1437, 1091, 1092, 1093, 1094, 1095, 1121,
+ 1122, 1128, 1129, 2071, 2072, 2073, 2074, 1901, 2223, 1910,
+ 1911, 2053, 2054, 1923, 1924, 2255, 2256, -2, -2, -2,
+ 232, 233, 234, 235, 236, 237, 238, 239, 0, 1862,
+ 2198, 2199, 228, 0, 0, 296, 293, 294, 295, 1135,
+ 1136, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 298, 299, 2284, 0, 862, 0, 0,
+ 0, 0, 0, 0, 1650, 1651, 1511, 0, 1503, 1502,
+ 63, 0, 889, -2, 0, 0, 0, 0, 47, 0,
+ 52, 950, 892, 77, 76, 1551, 1554, 0, 0, 0,
+ 59, 1512, 67, 69, 1513, 0, 894, 895, 0, 926,
+ 930, 0, 0, 0, 1628, 1627, 1627, 102, 0, 0,
+ 103, 123, 124, 125, 0, 0, 109, 110, 1614, 1615,
+ 43, 0, 0, 177, 178, 0, 1109, 429, 0, 173,
+ 0, 422, 361, 0, 1529, 0, 0, 0, 0, 0,
+ 1625, 0, 1622, 154, 155, 162, 163, 164, 402, 402,
+ 402, 576, 0, 0, 165, 165, 534, 535, 536, 0,
+ 0, -2, 427, 0, 514, 0, 0, 416, 416, 420,
+ 418, 419, 0, 0, 0, 0, 0, 0, 0, 0,
+ 553, 0, 554, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 670, 0, 403, 0, 574, 575, 465, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1630, 1631, 0,
+ 551, 552, 0, 0, 0, 402, 402, 0, 0, 0,
+ 0, 402, 402, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 153, 1542, 0, 0, 0, -2, 0, 714, 0,
+ 0, 0, 1623, 1623, 0, 721, 0, 0, 0, 726,
+ 0, 0, 727, 0, 790, 790, 788, 789, 729, 730,
+ 731, 732, 793, 0, 0, 411, 412, 413, 790, 793,
+ 0, 793, 793, 793, 793, 790, 790, 790, 793, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2285, 796,
+ 793, 0, 760, 0, 761, 762, 763, 764, 767, 768,
+ 770, 2286, 2287, 1640, 1641, 1652, 1653, 1654, 1655, 1656,
1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666,
1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676,
1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686,
@@ -9531,303 +9632,304 @@ var yyDef = [...]int{
1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776,
1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786,
1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796,
- 1797, 1798, 1799, 1800, 2278, 2278, 774, 778, 780, 1609,
- 803, 809, 811, 812, 0, 0, 822, 825, 842, 49,
- 1905, 830, 49, 832, 833, 834, 860, 861, 866, 0,
- 0, 0, 0, 872, 873, 874, 0, 0, 877, 878,
- 879, 0, 0, 0, 0, 0, 1011, 0, 0, 1137,
- 1138, 1139, 1140, 1141, 1142, 1143, 1144, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1036, 1037, 0, 0, 0,
- 1061, 1062, 1063, 1064, 1067, 0, 1078, 0, 1080, 1478,
- -2, 0, 0, 0, 1072, 1073, 0, 0, 0, 1629,
- 1629, 0, 0, 0, 1470, 0, 0, 1163, 0, 1164,
- 1166, 1167, 1168, 0, 1169, 1170, 895, 895, 895, 895,
- 895, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 895, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1629, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 141, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1629, 0, 0, 1629, 1629, 0, 0, 220, 221, 222,
- 223, 224, 225, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 240, 241,
- 242, 243, 244, 245, 300, 246, 247, 248, 1148, 0,
- 0, 0, 46, 850, 851, 0, 972, 1629, 0, 0,
- 901, 0, 1644, 57, 66, 68, 1507, 61, 1507, 0,
- 905, 0, 0, -2, -2, 906, 907, 911, 912, 913,
- 914, 915, 916, 917, 918, 919, 54, 2276, 55, 0,
- 74, 0, 48, 0, 0, 1548, 0, 1551, 0, 0,
- 0, 375, 1555, 0, 0, 1500, 1501, 1504, 0, 923,
- 2001, 927, 0, 929, 930, 0, 0, 100, 0, 988,
- 0, 0, 0, 111, 0, 113, 114, 0, 0, 0,
- 386, 1612, 1613, 1614, -2, 409, 0, 386, 370, 308,
- 309, 310, 361, 312, 361, 361, 361, 361, 375, 375,
- 375, 375, 343, 344, 345, 346, 347, 0, 361, 0,
- 329, 361, 361, 361, 361, 351, 352, 353, 354, 355,
- 356, 357, 358, 313, 314, 315, 316, 317, 318, 319,
- 320, 321, 363, 363, 363, 363, 363, 367, 367, 0,
- 1106, 0, 390, 0, 1504, 0, 0, 1538, 1621, 1631,
- 0, 0, 0, 1621, 132, 0, 0, 0, 577, 620,
- 528, 565, 578, 0, 531, 532, -2, 0, 0, 513,
- 0, 515, 0, 410, 0, -2, 0, 420, 0, 416,
- 420, 417, 420, 408, 421, 555, 556, 557, 0, 559,
- 560, 650, 958, 0, 0, 0, 0, 0, 656, 657,
- 658, 0, 660, 661, 662, 663, 664, 665, 666, 667,
- 668, 669, 566, 567, 568, 569, 570, 571, 572, 573,
- 0, 0, 0, 0, 515, 0, 562, 0, 0, 466,
- 467, 468, 0, 0, 471, 472, 473, 474, 0, 0,
- 477, 478, 479, 975, 976, 480, 481, 506, 507, 508,
- 482, 483, 484, 485, 486, 487, 488, 500, 501, 502,
- 503, 504, 505, 489, 490, 491, 492, 493, 494, 497,
- 0, 147, 1529, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1619, 0, 0, 0, 0, 904, 990, 1642, 1643, 723,
- 0, 0, 792, 793, 0, 414, 415, 791, 791, 733,
- 775, 0, 791, 737, 776, 738, 740, 739, 741, 754,
- 755, 791, 744, 789, 790, 745, 746, 747, 748, 749,
- 750, 751, 771, 756, 757, 758, 795, 0, 799, 800,
- 772, 773, 0, 781, 0, 0, 815, 816, 0, 823,
- 845, 843, 844, 846, 838, 839, 840, 841, 0, 847,
- 0, 0, 863, 96, 868, 869, 870, 871, 883, 876,
- 1150, 1008, 1009, 1010, 0, 1012, 1018, 0, 1133, 1135,
- 1016, 1017, 1020, 0, 0, 0, 1014, 1025, 1145, 1146,
- 1147, 0, 0, 0, 0, 0, 1029, 1033, 1038, 1039,
- 1040, 1041, 1042, 0, 1043, 0, 1046, 1047, 1048, 1049,
- 1050, 1051, 1057, 1446, 1447, 1448, 1076, 301, 302, 0,
- 1077, 0, 0, 0, 0, 0, 0, 0, 0, 1393,
- 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403,
- 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1149,
- 0, 1630, 0, 0, 0, 1476, 1473, 0, 0, 0,
- 1432, 1434, 0, 0, 0, 896, 897, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1413, 1414, 1415, 1416, 1417, 1418,
- 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428,
- 1429, 1430, 0, 0, 1449, 0, 0, 0, 0, 0,
- 0, 0, 1469, 0, 1082, 1083, 1084, 0, 0, 0,
- 0, 0, 0, 1211, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 142, 143, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1357,
- 1358, 1359, 1360, 41, 0, 0, 0, 0, 0, 0,
- 0, 1480, 0, -2, -2, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1382, 0,
- 0, 0, 0, 0, 0, 1602, 0, 0, 853, 854,
- 856, 0, 992, 0, 973, 0, 0, 859, 0, 900,
- 0, 903, 60, 62, 909, 910, 0, 931, 920, 908,
- 56, 51, 0, 0, 950, 1549, 1552, 1553, 375, 1575,
- 0, 384, 384, 381, 1510, 1511, 0, 1503, 1505, 1506,
- 79, 928, 924, 0, 1006, 0, 0, 987, 0, 934,
- 936, 937, 938, 970, 0, 941, 942, 0, 0, 0,
- 0, 0, 98, 989, 104, 0, 112, 0, 0, 117,
- 118, 105, 106, 107, 108, 0, 609, -2, 461, 179,
- 181, 182, 183, 174, -2, 373, 371, 372, 311, 375,
- 375, 337, 338, 339, 340, 341, 342, 0, 349, 0,
- 330, 331, 332, 333, 322, 0, 323, 324, 325, 365,
- 0, 326, 327, 0, 328, 428, 0, 1512, 391, 392,
- 394, 402, 0, 397, 398, 0, 402, 402, 0, 423,
- 424, 0, 1504, 1529, 0, 0, 0, 1632, 1631, 1631,
- 1631, 0, 167, 168, 169, 170, 171, 172, 645, 0,
- 0, 621, 643, 644, 165, 0, 0, 175, 517, 516,
- 0, 677, 0, 426, 0, 0, 420, 420, 405, 406,
- 558, 0, 0, 652, 653, 654, 655, 0, 0, 0,
- 544, 455, 0, 545, 546, 515, 517, 0, 0, 386,
- 469, 470, 475, 476, 495, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 593, 594, 596,
- 599, 601, 519, 605, 607, 595, 598, 600, 602, 519,
- 606, 608, 1526, 1527, 1528, 0, 0, 715, 0, 0,
- 452, 94, 1620, 720, 724, 725, 788, 743, 777, 788,
- 735, 742, 765, 779, 813, 814, 819, 827, 828, 829,
- 867, 0, 0, 0, 0, 875, 0, 0, 1019, 1134,
- 1136, 1021, 1022, 1023, 1026, 0, 1030, 1034, 0, 0,
- 0, 0, 0, 1081, 1079, 1480, 0, 0, 0, 1130,
- 0, 0, 1153, 1154, 0, 0, 0, 0, 1474, 0,
- 0, 1161, 0, 1435, 1111, 0, 0, 0, 0, 0,
- 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
- 1498, 1188, 0, 0, 0, 0, 0, 1193, 1194, 1195,
- 1111, 0, 1198, 1199, 0, 1201, 0, 1202, 0, 0,
- 0, 0, 1209, 1210, 1212, 0, 0, 1215, 1216, 0,
- 1218, 0, 1220, 1221, 1222, 1223, 1224, 1225, 0, 1227,
- 0, 1229, 1230, 1231, 0, 1233, 0, 1235, 1236, 0,
- 1238, 0, 1240, 0, 1243, 0, 1246, 0, 1249, 0,
- 1252, 0, 1255, 0, 1258, 0, 1261, 0, 1264, 0,
- 1267, 0, 1270, 0, 1273, 0, 1276, 0, 1279, 0,
- 1282, 0, 1285, 0, 1288, 1289, 1290, 0, 1292, 0,
- 1294, 0, 1297, 1298, 0, 1300, 0, 1303, 0, 1306,
- 0, 0, 1307, 0, 0, 0, 1311, 0, 0, 0,
- 0, 1320, 1321, 1322, 1323, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1334, 1335, 1336, 1337, 1338,
- 1339, 0, 1341, 0, 1112, 0, 0, 1112, 0, 0,
- 0, 0, 0, 1151, 1629, 0, 1436, 1437, 1438, 1439,
- 1440, 0, 0, 0, 0, 0, 0, 1380, 1381, 1383,
- 0, 0, 1386, 0, 1388, 0, 1603, 852, 855, 857,
- 944, 993, 994, 0, 0, 0, 0, 974, 1628, 898,
- 899, 902, 952, 0, 1484, 0, 0, 931, 1006, 0,
- 932, 0, 53, 947, 0, 1557, 1556, 1569, 1582, 384,
- 384, 378, 379, 385, 380, 382, 383, 1502, 0, 1507,
- 0, 1596, 0, 0, 1585, 0, 0, 0, 0, 0,
- 0, 0, 0, 977, 0, 0, 980, 0, 0, 0,
- 0, 971, 942, 0, 943, 0, -2, 0, 0, 92,
+ 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 2285, 2285,
+ 774, 778, 782, 780, 1613, 805, 811, 813, 814, 0,
+ 0, 824, 827, 846, 49, 1909, 832, 49, 834, 835,
+ 836, 837, 838, 864, 865, 870, 0, 0, 0, 0,
+ 876, 877, 878, 0, 0, 881, 882, 883, 0, 0,
+ 0, 0, 0, 1015, 0, 0, 1141, 1142, 1143, 1144,
+ 1145, 1146, 1147, 1148, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1040, 1041, 0, 0, 0, 1065, 1066, 1067,
+ 1068, 1071, 0, 1082, 0, 1084, 1482, -2, 0, 0,
+ 0, 1076, 1077, 0, 0, 0, 1633, 1633, 0, 0,
+ 0, 1474, 0, 0, 1167, 0, 1168, 1170, 1171, 1172,
+ 0, 1173, 1174, 899, 899, 899, 899, 899, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 899, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1633, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 141,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1633, 0, 0,
+ 1633, 1633, 0, 0, 220, 221, 222, 223, 224, 225,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 297, 240, 241, 242, 243, 244,
+ 245, 300, 246, 247, 248, 1152, 0, 0, 0, 46,
+ 854, 855, 0, 976, 1633, 0, 0, 905, 0, 1648,
+ 57, 66, 68, 1511, 61, 1511, 0, 909, 0, 0,
+ -2, -2, 910, 911, 915, 916, 917, 918, 919, 920,
+ 921, 922, 923, 54, 2283, 55, 0, 74, 0, 48,
+ 0, 0, 1552, 0, 1555, 0, 0, 0, 375, 1559,
+ 0, 0, 1504, 1505, 1508, 0, 927, 2005, 931, 0,
+ 933, 934, 0, 0, 100, 0, 992, 0, 0, 0,
+ 111, 0, 113, 114, 0, 0, 0, 386, 1616, 1617,
+ 1618, -2, 409, 0, 386, 370, 308, 309, 310, 361,
+ 312, 361, 361, 361, 361, 375, 375, 375, 375, 343,
+ 344, 345, 346, 347, 0, 361, 0, 329, 361, 361,
+ 361, 361, 351, 352, 353, 354, 355, 356, 357, 358,
+ 313, 314, 315, 316, 317, 318, 319, 320, 321, 363,
+ 363, 363, 363, 363, 367, 367, 0, 1110, 0, 390,
+ 0, 1508, 0, 0, 1542, 1625, 1635, 0, 0, 0,
+ 0, 0, 132, 0, 0, 0, 577, 620, 528, 565,
+ 578, 0, 531, 532, -2, 0, 0, 513, 0, 515,
+ 0, 410, 0, -2, 0, 420, 0, 416, 420, 417,
+ 420, 408, 421, 555, 556, 557, 0, 559, 560, 650,
+ 962, 0, 0, 0, 0, 0, 656, 657, 658, 0,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 669,
+ 566, 567, 568, 569, 570, 571, 572, 573, 0, 0,
+ 0, 0, 515, 0, 562, 0, 0, 466, 467, 468,
+ 0, 0, 471, 472, 473, 474, 0, 0, 477, 478,
+ 479, 979, 980, 480, 481, 506, 507, 508, 482, 483,
+ 484, 485, 486, 487, 488, 500, 501, 502, 503, 504,
+ 505, 489, 490, 491, 492, 493, 494, 497, 0, 147,
+ 1533, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1623, 0,
+ 0, 0, 0, 908, 994, 1646, 1647, 723, 0, 0,
+ 794, 795, 0, 414, 415, 793, 793, 733, 775, 0,
+ 793, 737, 776, 738, 740, 739, 741, 754, 755, 793,
+ 744, 791, 792, 745, 746, 747, 748, 749, 750, 751,
+ 771, 756, 757, 758, 797, 0, 801, 802, 772, 773,
+ 0, 783, 0, 0, 0, 817, 818, 0, 825, 849,
+ 847, 848, 850, 842, 843, 844, 845, 0, 851, 0,
+ 0, 867, 96, 872, 873, 874, 875, 887, 880, 1154,
+ 1012, 1013, 1014, 0, 1016, 1022, 0, 1137, 1139, 1020,
+ 1021, 1024, 0, 0, 0, 1018, 1029, 1149, 1150, 1151,
+ 0, 0, 0, 0, 0, 1033, 1037, 1042, 1043, 1044,
+ 1045, 1046, 0, 1047, 0, 1050, 1051, 1052, 1053, 1054,
+ 1055, 1061, 1450, 1451, 1452, 1080, 301, 302, 0, 1081,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1397, 1398,
+ 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408,
+ 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1153, 0,
+ 1634, 0, 0, 0, 1480, 1477, 0, 0, 0, 1436,
+ 1438, 0, 0, 0, 900, 901, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1417, 1418, 1419, 1420, 1421, 1422, 1423,
+ 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433,
+ 1434, 0, 0, 1453, 0, 0, 0, 0, 0, 0,
+ 0, 1473, 0, 1086, 1087, 1088, 0, 0, 0, 0,
+ 0, 0, 1215, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 142, 143, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1361, 1362,
+ 1363, 1364, 41, 0, 0, 0, 0, 0, 0, 0,
+ 1484, 0, -2, -2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1386, 0, 0,
+ 0, 0, 0, 0, 1606, 0, 0, 857, 858, 860,
+ 0, 996, 0, 977, 0, 0, 863, 0, 904, 0,
+ 907, 60, 62, 913, 914, 0, 935, 924, 912, 56,
+ 51, 0, 0, 954, 1553, 1556, 1557, 375, 1579, 0,
+ 384, 384, 381, 1514, 1515, 0, 1507, 1509, 1510, 79,
+ 932, 928, 0, 1010, 0, 0, 991, 0, 938, 940,
+ 941, 942, 974, 0, 945, 946, 0, 0, 0, 0,
+ 0, 98, 993, 104, 0, 112, 0, 0, 117, 118,
+ 105, 106, 107, 108, 0, 609, -2, 461, 179, 181,
+ 182, 183, 174, -2, 373, 371, 372, 311, 375, 375,
+ 337, 338, 339, 340, 341, 342, 0, 349, 0, 330,
+ 331, 332, 333, 322, 0, 323, 324, 325, 365, 0,
+ 326, 327, 0, 328, 428, 0, 1516, 391, 392, 394,
+ 402, 0, 397, 398, 0, 402, 402, 0, 423, 424,
+ 0, 1508, 1533, 0, 0, 1636, 1635, 1635, 1635, 152,
+ 0, 167, 168, 169, 170, 171, 172, 645, 0, 0,
+ 621, 643, 644, 165, 0, 0, 175, 517, 516, 0,
+ 677, 0, 426, 0, 0, 420, 420, 405, 406, 558,
+ 0, 0, 652, 653, 654, 655, 0, 0, 0, 544,
+ 455, 0, 545, 546, 515, 517, 0, 0, 386, 469,
+ 470, 475, 476, 495, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 593, 594, 596, 599,
+ 601, 519, 605, 607, 595, 598, 600, 602, 519, 606,
+ 608, 1530, 1531, 1532, 0, 0, 715, 0, 0, 452,
+ 94, 1624, 720, 724, 725, 790, 743, 777, 790, 735,
+ 742, 765, 779, 781, 815, 816, 821, 829, 830, 831,
+ 871, 0, 0, 0, 0, 879, 0, 0, 1023, 1138,
+ 1140, 1025, 1026, 1027, 1030, 0, 1034, 1038, 0, 0,
+ 0, 0, 0, 1085, 1083, 1484, 0, 0, 0, 1134,
+ 0, 0, 1157, 1158, 0, 0, 0, 0, 1478, 0,
+ 0, 1165, 0, 1439, 1115, 0, 0, 0, 0, 0,
+ 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
+ 1502, 1192, 0, 0, 0, 0, 0, 1197, 1198, 1199,
+ 1115, 0, 1202, 1203, 0, 1205, 0, 1206, 0, 0,
+ 0, 0, 1213, 1214, 1216, 0, 0, 1219, 1220, 0,
+ 1222, 0, 1224, 1225, 1226, 1227, 1228, 1229, 0, 1231,
+ 0, 1233, 1234, 1235, 0, 1237, 0, 1239, 1240, 0,
+ 1242, 0, 1244, 0, 1247, 0, 1250, 0, 1253, 0,
+ 1256, 0, 1259, 0, 1262, 0, 1265, 0, 1268, 0,
+ 1271, 0, 1274, 0, 1277, 0, 1280, 0, 1283, 0,
+ 1286, 0, 1289, 0, 1292, 1293, 1294, 0, 1296, 0,
+ 1298, 0, 1301, 1302, 0, 1304, 0, 1307, 0, 1310,
+ 0, 0, 1311, 0, 0, 0, 1315, 0, 0, 0,
+ 0, 1324, 1325, 1326, 1327, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1338, 1339, 1340, 1341, 1342,
+ 1343, 0, 1345, 0, 1116, 0, 0, 1116, 0, 0,
+ 0, 0, 0, 1155, 1633, 0, 1440, 1441, 1442, 1443,
+ 1444, 0, 0, 0, 0, 0, 0, 1384, 1385, 1387,
+ 0, 0, 1390, 0, 1392, 0, 1607, 856, 859, 861,
+ 948, 997, 998, 0, 0, 0, 0, 978, 1632, 902,
+ 903, 906, 956, 0, 1488, 0, 0, 935, 1010, 0,
+ 936, 0, 53, 951, 0, 1561, 1560, 1573, 1586, 384,
+ 384, 378, 379, 385, 380, 382, 383, 1506, 0, 1511,
+ 0, 1600, 0, 0, 1589, 0, 0, 0, 0, 0,
+ 0, 0, 0, 981, 0, 0, 984, 0, 0, 0,
+ 0, 975, 946, 0, 947, 0, -2, 0, 0, 92,
93, 0, 0, 0, 115, 116, 0, 0, 122, 387,
388, 156, 165, 463, 180, 436, 0, 0, 307, 374,
334, 335, 336, 0, 359, 0, 0, 0, 0, 457,
- 128, 1516, 1515, 402, 402, 393, 0, 396, 0, 0,
- 0, 1633, 362, 425, 0, 146, 0, 0, 0, 0,
- 0, 152, 615, 0, 0, 622, 0, 0, 0, 526,
- 0, 537, 538, 0, 649, -2, 711, 390, 0, 404,
- 407, 959, 0, 0, 539, 0, 542, 543, 456, 517,
- 548, 549, 563, 550, 498, 499, 496, 0, 0, 1539,
- 1540, 1545, 1543, 1544, 133, 584, 586, 590, 585, 589,
- 0, 0, 0, 521, 0, 521, 582, 0, 452, 1512,
- 0, 719, 453, 454, 791, 791, 862, 97, 0, 865,
- 0, 0, 0, 0, 1027, 1031, 1044, 1045, 1441, 1467,
- 361, 361, 1454, 361, 367, 1457, 361, 1459, 361, 1462,
- 361, 1465, 1466, 0, 0, 1074, 0, 0, 0, 0,
- 1160, 1477, 0, 0, 1171, 1110, 1111, 1111, 1111, 1111,
- 1111, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185,
- 1186, 1471, 0, 0, 0, 1192, 0, 0, 1196, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 144, 145,
- 0, 0, 0, 0, 0, 0, 1391, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1105, 1109,
- 0, 1113, 1114, 0, 0, 1343, 0, 0, 1361, 0,
- 0, 0, 0, 0, 0, 0, 1481, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 995, 1002, 0,
- 1002, 0, 1002, 0, 0, 0, 1615, 1616, 1485, 1486,
- 1006, 1487, 921, 933, 951, 1575, 0, 1568, 0, -2,
- 1577, 0, 0, 0, 1583, 376, 377, 925, 80, 1007,
- 83, 0, 1596, 1605, 0, 1593, 1598, 1600, 0, 0,
- 0, 1589, 0, 1006, 935, 966, 968, 0, 963, 978,
- 979, 981, 0, 983, 0, 985, 986, 946, 940, 0,
- 100, 0, 1006, 1006, 99, 0, 991, 119, 120, 121,
- 462, 184, 189, 0, 0, 0, 194, 0, 196, 0,
- 0, 0, 201, 202, 402, 402, 437, 0, 304, 306,
- 0, 0, 187, 375, 0, 375, 0, 366, 368, 0,
- 438, 458, 1513, 1514, 0, 0, 395, 399, 400, 401,
- 0, 1622, 148, 0, 0, 0, 618, 0, 646, 0,
- 0, 0, 0, 0, 0, 176, 518, 678, 679, 680,
- 681, 682, 683, 684, 685, 686, 0, 402, 0, 0,
- 0, 402, 402, 402, 0, 703, 389, 0, 0, 674,
- 671, 540, 0, 218, 219, 226, 227, 229, 0, 0,
- 0, 0, 0, 547, 946, 1530, 1531, 1532, 0, 1542,
- 1546, 136, 0, 0, 0, 0, 592, 597, 603, 0,
- 520, 604, 716, 717, 718, 95, 728, 734, 864, 884,
- 1015, 1028, 1032, 0, 0, 0, 0, 1468, 1452, 375,
- 1455, 1456, 1458, 1460, 1461, 1463, 1464, 1070, 1071, 1075,
- 0, 1157, 0, 1159, 0, 1475, 0, 1172, 1173, 1174,
- 1175, 1176, 1507, 0, 0, 0, 1191, 0, 0, 1111,
- 0, 1204, 1203, 1205, 0, 1207, 1208, 1213, 1214, 1217,
- 1219, 1226, 1228, 1232, 1234, 1237, 1239, 1241, 0, 1244,
- 0, 1247, 0, 1250, 0, 1253, 0, 1256, 0, 1259,
- 0, 1262, 0, 1265, 0, 1268, 0, 1271, 0, 1274,
- 0, 1277, 0, 1280, 0, 1283, 0, 1286, 0, 1291,
- 1293, 0, 1296, 1299, 1301, 0, 1304, 0, 1308, 0,
- 1310, 1312, 1313, 0, 0, 0, 1324, 1325, 1326, 1327,
- 1328, 1329, 1330, 1331, 1332, 1333, 1340, 0, 1103, 1342,
- 1115, 1116, 1121, 1345, 0, 0, 0, 1348, 0, 0,
- 0, 1352, 1152, 1363, 0, 1368, 0, 0, 1374, 0,
- 1378, 0, 1384, 1385, 1387, 1389, 0, 0, 0, 0,
- 0, 0, 0, 972, 953, 64, 1487, 1491, 0, 1562,
- 1560, 1560, 1570, 1571, 0, 0, 1578, 0, 0, 0,
- 0, 84, 0, 0, 1584, 0, 0, 1601, 0, 0,
- 0, 0, 101, 1498, 960, 967, 0, 0, 961, 0,
- 962, 982, 984, 939, 0, 1006, 1006, 90, 91, 0,
- 190, 0, 192, 0, 195, 197, 198, 199, 205, 206,
- 207, 200, 0, 0, 303, 305, 0, 0, 348, 360,
- 350, 0, 0, 1517, 1518, 1519, 1520, 1521, 1522, 1523,
- 1524, 946, 149, 150, 151, 610, 0, 620, 0, 948,
- 0, 613, 0, 529, 0, 0, 0, 402, 402, 402,
- 0, 0, 0, 0, 688, 0, 0, 651, 0, 659,
- 0, 0, 0, 230, 231, 0, 1541, 583, 0, 134,
- 135, 0, 0, 588, 522, 523, 1068, 0, 0, 0,
- 1069, 1453, 0, 0, 0, 0, 0, 1472, 0, 0,
- 0, 0, 1197, 1200, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1316, 0, 0, 0,
- 640, 641, 0, 1392, 1108, 1498, 0, 1112, 1122, 1123,
- 0, 1112, 1362, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1003, 0, 0, 0, 954, 955,
- 0, 0, 0, 992, 1491, 1496, 0, 0, 1565, 0,
- 1558, 1561, 1559, 1572, 0, 0, 1579, 0, 1581, 0,
- 1606, 1607, 1599, 1594, 0, 1588, 1591, 1593, 1590, 1507,
- 964, 0, 969, 0, 1498, 89, 0, 193, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 203,
- 204, 0, 0, 364, 369, 0, 0, 0, 611, 0,
- 949, 623, 614, 0, 701, 0, 705, 0, 0, 0,
- 708, 709, 710, 687, 0, 691, 430, 675, 672, 673,
- 541, 0, 137, 138, 0, 0, 0, 1442, 0, 1445,
- 1155, 1158, 1156, 0, 1187, 1189, 1190, 1450, 1451, 1206,
- 1242, 1245, 1248, 1251, 1254, 1257, 1260, 1263, 1266, 1269,
- 1272, 1275, 1278, 1281, 1284, 1287, 1295, 1302, 1305, 1309,
- 1314, 0, 1317, 0, 0, 1318, 0, 642, 1099, 0,
- 0, 1119, 1120, 0, 1347, 1349, 1350, 1351, 1364, 0,
- 1369, 1370, 0, 1375, 0, 1379, 1390, 0, 997, 1004,
- 1005, 0, 1000, 0, 1001, 0, 945, 1496, 82, 1497,
- 1494, 0, 1492, 1489, 1554, 0, 1563, 1564, 1573, 1574,
- 1580, 0, 0, 1593, 0, 1587, 87, 0, 0, 0,
- 1507, 191, 0, 210, 0, 619, 0, 622, 612, 699,
- 700, 0, 712, 704, 706, 707, 689, -2, 1533, 0,
- 0, 0, 591, 1443, 0, 0, 1319, 0, 638, 639,
- 1107, 1100, 0, 1085, 1086, 1104, 1344, 1346, 0, 0,
- 0, 996, 956, 957, 998, 999, 81, 0, 1493, 1127,
- 0, 1488, 0, 1566, 1567, 1597, 0, 1586, 1592, 965,
- 972, 0, 88, 443, 436, 1533, 0, 0, 0, 692,
- 693, 694, 695, 696, 697, 698, 580, 1535, 139, 140,
- 0, 510, 511, 512, 133, 0, 1162, 1315, 1101, 0,
- 0, 0, 0, 0, 1365, 0, 1371, 0, 1376, 0,
- 1495, 0, 0, 1490, 1595, 624, 0, 626, 0, -2,
- 431, 444, 0, 185, 211, 212, 0, 0, 215, 216,
- 217, 208, 209, 129, 0, 0, 713, 0, 1536, 1537,
- 0, 136, 0, 0, 1092, 1093, 1094, 1095, 1097, 0,
- 0, 0, 0, 1128, 1105, 625, 0, 0, 386, 0,
- 635, 432, 433, 0, 439, 440, 441, 442, 213, 214,
- 647, 0, 0, 509, 587, 1444, 0, 0, 1366, 0,
- 1372, 0, 1377, 0, 627, 628, 636, 0, 434, 0,
- 435, 0, 0, 0, 616, 0, 647, 1534, 1102, 1096,
- 1098, 0, 0, 1126, 0, 637, 633, 445, 447, 448,
- 0, 0, 446, 648, 617, 1367, 1373, 0, 449, 450,
- 451, 629, 630, 631, 632,
+ 128, 1520, 1519, 402, 402, 393, 0, 396, 0, 0,
+ 0, 1637, 362, 425, 0, 146, 0, 0, 0, 0,
+ 1626, 615, 0, 0, 622, 0, 0, 0, 526, 0,
+ 537, 538, 0, 649, -2, 711, 390, 0, 404, 407,
+ 963, 0, 0, 539, 0, 542, 543, 456, 517, 548,
+ 549, 563, 550, 498, 499, 496, 0, 0, 1543, 1544,
+ 1549, 1547, 1548, 133, 584, 586, 590, 585, 589, 0,
+ 0, 0, 521, 0, 521, 582, 0, 452, 1516, 0,
+ 719, 453, 454, 793, 793, 866, 97, 0, 869, 0,
+ 0, 0, 0, 1031, 1035, 1048, 1049, 1445, 1471, 361,
+ 361, 1458, 361, 367, 1461, 361, 1463, 361, 1466, 361,
+ 1469, 1470, 0, 0, 1078, 0, 0, 0, 0, 1164,
+ 1481, 0, 0, 1175, 1114, 1115, 1115, 1115, 1115, 1115,
+ 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190,
+ 1475, 0, 0, 0, 1196, 0, 0, 1200, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 144, 145, 0,
+ 0, 0, 0, 0, 0, 1395, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1109, 1113, 0,
+ 1117, 1118, 0, 0, 1347, 0, 0, 1365, 0, 0,
+ 0, 0, 0, 0, 0, 1485, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 999, 1006, 0, 1006,
+ 0, 1006, 0, 0, 0, 1619, 1620, 1489, 1490, 1010,
+ 1491, 925, 937, 955, 1579, 0, 1572, 0, -2, 1581,
+ 0, 0, 0, 1587, 376, 377, 929, 80, 1011, 83,
+ 0, 1600, 1609, 0, 1597, 1602, 1604, 0, 0, 0,
+ 1593, 0, 1010, 939, 970, 972, 0, 967, 982, 983,
+ 985, 0, 987, 0, 989, 990, 950, 944, 0, 100,
+ 0, 1010, 1010, 99, 0, 995, 119, 120, 121, 462,
+ 184, 189, 0, 0, 0, 194, 0, 196, 0, 0,
+ 0, 201, 202, 402, 402, 437, 0, 304, 306, 0,
+ 0, 187, 375, 0, 375, 0, 366, 368, 0, 438,
+ 458, 1517, 1518, 0, 0, 395, 399, 400, 401, 0,
+ 148, 0, 0, 0, 618, 0, 646, 0, 0, 0,
+ 0, 0, 0, 176, 518, 678, 679, 680, 681, 682,
+ 683, 684, 685, 686, 0, 402, 0, 0, 0, 402,
+ 402, 402, 0, 703, 389, 0, 0, 674, 671, 540,
+ 0, 218, 219, 226, 227, 229, 0, 0, 0, 0,
+ 0, 547, 950, 1534, 1535, 1536, 0, 1546, 1550, 136,
+ 0, 0, 0, 0, 592, 597, 603, 0, 520, 604,
+ 716, 717, 718, 95, 728, 734, 868, 888, 1019, 1032,
+ 1036, 0, 0, 0, 0, 1472, 1456, 375, 1459, 1460,
+ 1462, 1464, 1465, 1467, 1468, 1074, 1075, 1079, 0, 1161,
+ 0, 1163, 0, 1479, 0, 1176, 1177, 1178, 1179, 1180,
+ 1511, 0, 0, 0, 1195, 0, 0, 1115, 0, 1208,
+ 1207, 1209, 0, 1211, 1212, 1217, 1218, 1221, 1223, 1230,
+ 1232, 1236, 1238, 1241, 1243, 1245, 0, 1248, 0, 1251,
+ 0, 1254, 0, 1257, 0, 1260, 0, 1263, 0, 1266,
+ 0, 1269, 0, 1272, 0, 1275, 0, 1278, 0, 1281,
+ 0, 1284, 0, 1287, 0, 1290, 0, 1295, 1297, 0,
+ 1300, 1303, 1305, 0, 1308, 0, 1312, 0, 1314, 1316,
+ 1317, 0, 0, 0, 1328, 1329, 1330, 1331, 1332, 1333,
+ 1334, 1335, 1336, 1337, 1344, 0, 1107, 1346, 1119, 1120,
+ 1125, 1349, 0, 0, 0, 1352, 0, 0, 0, 1356,
+ 1156, 1367, 0, 1372, 0, 0, 1378, 0, 1382, 0,
+ 1388, 1389, 1391, 1393, 0, 0, 0, 0, 0, 0,
+ 0, 976, 957, 64, 1491, 1495, 0, 1566, 1564, 1564,
+ 1574, 1575, 0, 0, 1582, 0, 0, 0, 0, 84,
+ 0, 0, 1588, 0, 0, 1605, 0, 0, 0, 0,
+ 101, 1502, 964, 971, 0, 0, 965, 0, 966, 986,
+ 988, 943, 0, 1010, 1010, 90, 91, 0, 190, 0,
+ 192, 0, 195, 197, 198, 199, 205, 206, 207, 200,
+ 0, 0, 303, 305, 0, 0, 348, 360, 350, 0,
+ 0, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 950,
+ 149, 150, 151, 610, 0, 620, 0, 952, 0, 613,
+ 0, 529, 0, 0, 0, 402, 402, 402, 0, 0,
+ 0, 0, 688, 0, 0, 651, 0, 659, 0, 0,
+ 0, 230, 231, 0, 1545, 583, 0, 134, 135, 0,
+ 0, 588, 522, 523, 1072, 0, 0, 0, 1073, 1457,
+ 0, 0, 0, 0, 0, 1476, 0, 0, 0, 0,
+ 1201, 1204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1320, 0, 0, 0, 640, 641,
+ 0, 1396, 1112, 1502, 0, 1116, 1126, 1127, 0, 1116,
+ 1366, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1007, 0, 0, 0, 958, 959, 0, 0,
+ 0, 996, 1495, 1500, 0, 0, 1569, 0, 1562, 1565,
+ 1563, 1576, 0, 0, 1583, 0, 1585, 0, 1610, 1611,
+ 1603, 1598, 0, 1592, 1595, 1597, 1594, 1511, 968, 0,
+ 973, 0, 1502, 89, 0, 193, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 203, 204, 0,
+ 0, 364, 369, 0, 0, 0, 611, 0, 953, 623,
+ 614, 0, 701, 0, 705, 0, 0, 0, 708, 709,
+ 710, 687, 0, 691, 430, 675, 672, 673, 541, 0,
+ 137, 138, 0, 0, 0, 1446, 0, 1449, 1159, 1162,
+ 1160, 0, 1191, 1193, 1194, 1454, 1455, 1210, 1246, 1249,
+ 1252, 1255, 1258, 1261, 1264, 1267, 1270, 1273, 1276, 1279,
+ 1282, 1285, 1288, 1291, 1299, 1306, 1309, 1313, 1318, 0,
+ 1321, 0, 0, 1322, 0, 642, 1103, 0, 0, 1123,
+ 1124, 0, 1351, 1353, 1354, 1355, 1368, 0, 1373, 1374,
+ 0, 1379, 0, 1383, 1394, 0, 1001, 1008, 1009, 0,
+ 1004, 0, 1005, 0, 949, 1500, 82, 1501, 1498, 0,
+ 1496, 1493, 1558, 0, 1567, 1568, 1577, 1578, 1584, 0,
+ 0, 1597, 0, 1591, 87, 0, 0, 0, 1511, 191,
+ 0, 210, 0, 619, 0, 622, 612, 699, 700, 0,
+ 712, 704, 706, 707, 689, -2, 1537, 0, 0, 0,
+ 591, 1447, 0, 0, 1323, 0, 638, 639, 1111, 1104,
+ 0, 1089, 1090, 1108, 1348, 1350, 0, 0, 0, 1000,
+ 960, 961, 1002, 1003, 81, 0, 1497, 1131, 0, 1492,
+ 0, 1570, 1571, 1601, 0, 1590, 1596, 969, 976, 0,
+ 88, 443, 436, 1537, 0, 0, 0, 692, 693, 694,
+ 695, 696, 697, 698, 580, 1539, 139, 140, 0, 510,
+ 511, 512, 133, 0, 1166, 1319, 1105, 0, 0, 0,
+ 0, 0, 1369, 0, 1375, 0, 1380, 0, 1499, 0,
+ 0, 1494, 1599, 624, 0, 626, 0, -2, 431, 444,
+ 0, 185, 211, 212, 0, 0, 215, 216, 217, 208,
+ 209, 129, 0, 0, 713, 0, 1540, 1541, 0, 136,
+ 0, 0, 1096, 1097, 1098, 1099, 1101, 0, 0, 0,
+ 0, 1132, 1109, 625, 0, 0, 386, 0, 635, 432,
+ 433, 0, 439, 440, 441, 442, 213, 214, 647, 0,
+ 0, 509, 587, 1448, 0, 0, 1370, 0, 1376, 0,
+ 1381, 0, 627, 628, 636, 0, 434, 0, 435, 0,
+ 0, 0, 616, 0, 647, 1538, 1106, 1100, 1102, 0,
+ 0, 1130, 0, 637, 633, 445, 447, 448, 0, 0,
+ 446, 648, 617, 1371, 1377, 0, 449, 450, 451, 629,
+ 630, 631, 632,
}
var yyTok1 = [...]int{
1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 157, 3, 3, 3, 185, 177, 3,
- 95, 97, 182, 180, 96, 181, 235, 183, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 748,
- 165, 164, 166, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 158, 3, 3, 3, 186, 178, 3,
+ 95, 97, 183, 181, 96, 182, 236, 184, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 751,
+ 166, 165, 167, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 187, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 188, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 153, 3, 188,
+ 3, 3, 3, 3, 154, 3, 189,
}
var yyTok2 = [...]int{
@@ -9845,14 +9947,14 @@ var yyTok2 = [...]int{
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 154, 155,
- 156, 158, 159, 160, 161, 162, 163, 167, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 178, 179, 184,
- 186, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 155,
+ 156, 157, 159, 160, 161, 162, 163, 164, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 179, 180,
+ 185, 187, 190, 191, 192, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 230, 231, 232, 233, 234, 236, 237, 238,
+ 228, 229, 230, 231, 232, 233, 234, 235, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
@@ -9954,7 +10056,8 @@ var yyTok3 = [...]int{
58055, 730, 58056, 731, 58057, 732, 58058, 733, 58059, 734,
58060, 735, 58061, 736, 58062, 737, 58063, 738, 58064, 739,
58065, 740, 58066, 741, 58067, 742, 58068, 743, 58069, 744,
- 58070, 745, 58071, 746, 58072, 747, 0,
+ 58070, 745, 58071, 746, 58072, 747, 58073, 748, 58074, 749,
+ 58075, 750, 0,
}
var yyErrorMessages = [...]struct {
@@ -10304,7 +10407,7 @@ yydefault:
case 1:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:630
+//line sql.y:631
{
stmt := yyDollar[2].statementUnion()
// If the statement is empty and we have comments
@@ -10318,46 +10421,46 @@ yydefault:
}
case 2:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:643
+//line sql.y:644
{
}
case 3:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:644
+//line sql.y:645
{
}
case 4:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:648
+//line sql.y:649
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
yyVAL.union = yyLOCAL
case 40:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:687
+//line sql.y:688
{
setParseTree(yylex, nil)
}
case 41:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:693
+//line sql.y:694
{
yyLOCAL = NewVariableExpression(yyDollar[1].str, SingleAt)
}
yyVAL.union = yyLOCAL
case 42:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:699
+//line sql.y:700
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
case 43:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:705
+//line sql.y:706
{
yyLOCAL = NewVariableExpression(string(yyDollar[1].str), SingleAt)
}
@@ -10365,7 +10468,7 @@ yydefault:
case 44:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:709
+//line sql.y:710
{
yyLOCAL = NewVariableExpression(string(yyDollar[1].str), DoubleAt)
}
@@ -10373,7 +10476,7 @@ yydefault:
case 45:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:715
+//line sql.y:716
{
yyLOCAL = &OtherAdmin{}
}
@@ -10381,7 +10484,7 @@ yydefault:
case 46:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:721
+//line sql.y:722
{
yyLOCAL = &Load{}
}
@@ -10389,7 +10492,7 @@ yydefault:
case 47:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *With
-//line sql.y:727
+//line sql.y:728
{
yyLOCAL = &With{CTEs: yyDollar[2].ctesUnion(), Recursive: false}
}
@@ -10397,7 +10500,7 @@ yydefault:
case 48:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *With
-//line sql.y:731
+//line sql.y:732
{
yyLOCAL = &With{CTEs: yyDollar[3].ctesUnion(), Recursive: true}
}
@@ -10405,7 +10508,7 @@ yydefault:
case 49:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *With
-//line sql.y:736
+//line sql.y:737
{
yyLOCAL = nil
}
@@ -10413,14 +10516,14 @@ yydefault:
case 50:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *With
-//line sql.y:740
+//line sql.y:741
{
yyLOCAL = yyDollar[1].withUnion()
}
yyVAL.union = yyLOCAL
case 51:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:746
+//line sql.y:747
{
yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].cteUnion())
@@ -10428,7 +10531,7 @@ yydefault:
case 52:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*CommonTableExpr
-//line sql.y:750
+//line sql.y:751
{
yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()}
}
@@ -10436,15 +10539,15 @@ yydefault:
case 53:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *CommonTableExpr
-//line sql.y:756
+//line sql.y:757
{
- yyLOCAL = &CommonTableExpr{ID: yyDollar[1].identifierCS, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()}
+ yyLOCAL = &CommonTableExpr{ID: yyDollar[1].identifierCS, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion().Select}
}
yyVAL.union = yyLOCAL
case 54:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:762
+//line sql.y:763
{
yyLOCAL = yyDollar[2].selStmtUnion()
}
@@ -10452,7 +10555,7 @@ yydefault:
case 55:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:766
+//line sql.y:767
{
yyLOCAL = yyDollar[2].selStmtUnion()
}
@@ -10460,7 +10563,7 @@ yydefault:
case 56:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:770
+//line sql.y:771
{
setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion())
yyLOCAL = yyDollar[2].selStmtUnion()
@@ -10469,7 +10572,7 @@ yydefault:
case 57:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:793
+//line sql.y:794
{
yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion())
yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
@@ -10479,7 +10582,7 @@ yydefault:
case 58:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:799
+//line sql.y:800
{
yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion())
yyLOCAL = yyDollar[1].selStmtUnion()
@@ -10488,7 +10591,7 @@ yydefault:
case 59:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:804
+//line sql.y:805
{
yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion())
yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
@@ -10498,7 +10601,7 @@ yydefault:
case 60:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:810
+//line sql.y:811
{
yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion())
@@ -10509,7 +10612,7 @@ yydefault:
case 61:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:817
+//line sql.y:818
{
yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
@@ -10519,7 +10622,7 @@ yydefault:
case 62:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:823
+//line sql.y:824
{
yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion())
@@ -10529,14 +10632,14 @@ yydefault:
yyVAL.union = yyLOCAL
case 63:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:830
+//line sql.y:831
{
yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
}
case 64:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:834
+//line sql.y:835
{
yyLOCAL = NewSelect(Comments(yyDollar[2].strs), SelectExprs{&Nextval{Expr: yyDollar[5].exprUnion()}}, []string{yyDollar[3].str} /*options*/, nil, TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}, nil /*where*/, nil /*groupBy*/, nil /*having*/, nil)
}
@@ -10544,7 +10647,7 @@ yydefault:
case 65:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:840
+//line sql.y:841
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
@@ -10552,7 +10655,7 @@ yydefault:
case 66:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:844
+//line sql.y:845
{
yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
}
@@ -10560,7 +10663,7 @@ yydefault:
case 67:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:848
+//line sql.y:849
{
yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
}
@@ -10568,7 +10671,7 @@ yydefault:
case 68:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:852
+//line sql.y:853
{
yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
}
@@ -10576,7 +10679,7 @@ yydefault:
case 69:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:856
+//line sql.y:857
{
yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
}
@@ -10584,7 +10687,7 @@ yydefault:
case 70:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:862
+//line sql.y:863
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
@@ -10592,7 +10695,7 @@ yydefault:
case 71:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:866
+//line sql.y:867
{
setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion())
yyLOCAL = yyDollar[1].selStmtUnion()
@@ -10601,7 +10704,7 @@ yydefault:
case 72:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:871
+//line sql.y:872
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
@@ -10609,7 +10712,7 @@ yydefault:
case 73:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:875
+//line sql.y:876
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
@@ -10617,7 +10720,7 @@ yydefault:
case 74:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:881
+//line sql.y:882
{
yyLOCAL = yyDollar[2].selStmtUnion()
}
@@ -10625,7 +10728,7 @@ yydefault:
case 75:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:885
+//line sql.y:886
{
yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
yyLOCAL = yyDollar[1].selStmtUnion()
@@ -10634,7 +10737,7 @@ yydefault:
case 76:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:890
+//line sql.y:891
{
yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion())
@@ -10644,7 +10747,7 @@ yydefault:
case 77:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:896
+//line sql.y:897
{
yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion())
yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion())
@@ -10654,7 +10757,7 @@ yydefault:
case 78:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:902
+//line sql.y:903
{
yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
yyLOCAL = yyDollar[1].selStmtUnion()
@@ -10663,7 +10766,7 @@ yydefault:
case 79:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:909
+//line sql.y:910
{
yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName}
}
@@ -10671,7 +10774,7 @@ yydefault:
case 80:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:915
+//line sql.y:916
{
yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()}
}
@@ -10679,7 +10782,7 @@ yydefault:
case 81:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:923
+//line sql.y:924
{
yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, yyDollar[5].selectIntoUnion() /*into*/, yyDollar[6].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[7].exprUnion()), yyDollar[8].groupByUnion(), NewWhere(HavingClause, yyDollar[9].exprUnion()), yyDollar[10].namedWindowsUnion())
}
@@ -10687,7 +10790,7 @@ yydefault:
case 82:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:927
+//line sql.y:928
{
yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, nil, yyDollar[5].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[6].exprUnion()), yyDollar[7].groupByUnion(), NewWhere(HavingClause, yyDollar[8].exprUnion()), yyDollar[9].namedWindowsUnion())
}
@@ -10695,7 +10798,7 @@ yydefault:
case 83:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:933
+//line sql.y:934
{
// insert_data returns a *Insert pre-filled with Columns & Values
ins := yyDollar[6].insUnion()
@@ -10711,7 +10814,7 @@ yydefault:
case 84:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Statement
-//line sql.y:945
+//line sql.y:946
{
cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion()))
vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion()))
@@ -10725,7 +10828,7 @@ yydefault:
case 85:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL InsertAction
-//line sql.y:957
+//line sql.y:958
{
yyLOCAL = InsertAct
}
@@ -10733,7 +10836,7 @@ yydefault:
case 86:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL InsertAction
-//line sql.y:961
+//line sql.y:962
{
yyLOCAL = ReplaceAct
}
@@ -10741,7 +10844,7 @@ yydefault:
case 87:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Statement
-//line sql.y:967
+//line sql.y:968
{
yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: yyDollar[5].tableExprsUnion(), Exprs: yyDollar[7].updateExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion()), OrderBy: yyDollar[9].orderByUnion(), Limit: yyDollar[10].limitUnion()}
}
@@ -10749,7 +10852,7 @@ yydefault:
case 88:
yyDollar = yyS[yypt-11 : yypt+1]
var yyLOCAL Statement
-//line sql.y:973
+//line sql.y:974
{
yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[6].tableName, As: yyDollar[7].identifierCS}}, Partitions: yyDollar[8].partitionsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion()), OrderBy: yyDollar[10].orderByUnion(), Limit: yyDollar[11].limitUnion()}
}
@@ -10757,7 +10860,7 @@ yydefault:
case 89:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Statement
-//line sql.y:977
+//line sql.y:978
{
yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())}
}
@@ -10765,7 +10868,7 @@ yydefault:
case 90:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Statement
-//line sql.y:981
+//line sql.y:982
{
yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())}
}
@@ -10773,32 +10876,32 @@ yydefault:
case 91:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Statement
-//line sql.y:985
+//line sql.y:986
{
yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())}
}
yyVAL.union = yyLOCAL
case 92:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:990
+//line sql.y:991
{
}
case 93:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:991
+//line sql.y:992
{
}
case 94:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableNames
-//line sql.y:995
+//line sql.y:996
{
yyLOCAL = TableNames{yyDollar[1].tableName}
}
yyVAL.union = yyLOCAL
case 95:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:999
+//line sql.y:1000
{
yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableName)
@@ -10806,14 +10909,14 @@ yydefault:
case 96:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableNames
-//line sql.y:1005
+//line sql.y:1006
{
yyLOCAL = TableNames{yyDollar[1].tableName}
}
yyVAL.union = yyLOCAL
case 97:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1009
+//line sql.y:1010
{
yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableName)
@@ -10821,14 +10924,14 @@ yydefault:
case 98:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableNames
-//line sql.y:1015
+//line sql.y:1016
{
yyLOCAL = TableNames{yyDollar[1].tableName}
}
yyVAL.union = yyLOCAL
case 99:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1019
+//line sql.y:1020
{
yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableName)
@@ -10836,7 +10939,7 @@ yydefault:
case 100:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Partitions
-//line sql.y:1024
+//line sql.y:1025
{
yyLOCAL = nil
}
@@ -10844,7 +10947,7 @@ yydefault:
case 101:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Partitions
-//line sql.y:1028
+//line sql.y:1029
{
yyLOCAL = yyDollar[3].partitionsUnion()
}
@@ -10852,7 +10955,7 @@ yydefault:
case 102:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1034
+//line sql.y:1035
{
yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[3].setExprsUnion())
}
@@ -10860,14 +10963,14 @@ yydefault:
case 103:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SetExprs
-//line sql.y:1040
+//line sql.y:1041
{
yyLOCAL = SetExprs{yyDollar[1].setExprUnion()}
}
yyVAL.union = yyLOCAL
case 104:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1044
+//line sql.y:1045
{
yySLICE := (*SetExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].setExprUnion())
@@ -10875,7 +10978,7 @@ yydefault:
case 105:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1050
+//line sql.y:1051
{
yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("on")}
}
@@ -10883,7 +10986,7 @@ yydefault:
case 106:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1054
+//line sql.y:1055
{
yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("off")}
}
@@ -10891,7 +10994,7 @@ yydefault:
case 107:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1058
+//line sql.y:1059
{
yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: yyDollar[3].exprUnion()}
}
@@ -10899,7 +11002,7 @@ yydefault:
case 108:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1062
+//line sql.y:1063
{
yyLOCAL = &SetExpr{Var: NewSetVariable(string(yyDollar[1].str), SessionScope), Expr: yyDollar[2].exprUnion()}
}
@@ -10907,7 +11010,7 @@ yydefault:
case 109:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:1068
+//line sql.y:1069
{
yyLOCAL = NewSetVariable(string(yyDollar[1].str), SessionScope)
}
@@ -10915,7 +11018,7 @@ yydefault:
case 110:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:1072
+//line sql.y:1073
{
yyLOCAL = yyDollar[1].variableUnion()
}
@@ -10923,7 +11026,7 @@ yydefault:
case 111:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:1076
+//line sql.y:1077
{
yyLOCAL = NewSetVariable(string(yyDollar[2].str), yyDollar[1].scopeUnion())
}
@@ -10931,7 +11034,7 @@ yydefault:
case 112:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1082
+//line sql.y:1083
{
yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), UpdateSetExprsScope(yyDollar[5].setExprsUnion(), yyDollar[3].scopeUnion()))
}
@@ -10939,7 +11042,7 @@ yydefault:
case 113:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1086
+//line sql.y:1087
{
yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[4].setExprsUnion())
}
@@ -10947,14 +11050,14 @@ yydefault:
case 114:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SetExprs
-//line sql.y:1092
+//line sql.y:1093
{
yyLOCAL = SetExprs{yyDollar[1].setExprUnion()}
}
yyVAL.union = yyLOCAL
case 115:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1096
+//line sql.y:1097
{
yySLICE := (*SetExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].setExprUnion())
@@ -10962,7 +11065,7 @@ yydefault:
case 116:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1102
+//line sql.y:1103
{
yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionIsolationStr, NextTxScope), Expr: NewStrLiteral(yyDollar[3].str)}
}
@@ -10970,7 +11073,7 @@ yydefault:
case 117:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1106
+//line sql.y:1107
{
yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("off")}
}
@@ -10978,39 +11081,39 @@ yydefault:
case 118:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1110
+//line sql.y:1111
{
yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("on")}
}
yyVAL.union = yyLOCAL
case 119:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1116
+//line sql.y:1117
{
yyVAL.str = RepeatableReadStr
}
case 120:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1120
+//line sql.y:1121
{
yyVAL.str = ReadCommittedStr
}
case 121:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1124
+//line sql.y:1125
{
yyVAL.str = ReadUncommittedStr
}
case 122:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1128
+//line sql.y:1129
{
yyVAL.str = SerializableStr
}
case 123:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Scope
-//line sql.y:1134
+//line sql.y:1135
{
yyLOCAL = SessionScope
}
@@ -11018,7 +11121,7 @@ yydefault:
case 124:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Scope
-//line sql.y:1138
+//line sql.y:1139
{
yyLOCAL = SessionScope
}
@@ -11026,7 +11129,7 @@ yydefault:
case 125:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Scope
-//line sql.y:1142
+//line sql.y:1143
{
yyLOCAL = GlobalScope
}
@@ -11034,7 +11137,7 @@ yydefault:
case 126:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1148
+//line sql.y:1149
{
yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion()
yyDollar[1].createTableUnion().FullyParsed = true
@@ -11044,7 +11147,7 @@ yydefault:
case 127:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1154
+//line sql.y:1155
{
// Create table [name] like [name]
yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion()
@@ -11055,7 +11158,7 @@ yydefault:
case 128:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1161
+//line sql.y:1162
{
indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition
indexDef.Columns = yyDollar[3].indexColumnsUnion()
@@ -11068,7 +11171,7 @@ yydefault:
case 129:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1170
+//line sql.y:1171
{
yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName, Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str}
}
@@ -11076,7 +11179,7 @@ yydefault:
case 130:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1174
+//line sql.y:1175
{
yyDollar[1].createDatabaseUnion().FullyParsed = true
yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion()
@@ -11086,7 +11189,7 @@ yydefault:
case 131:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:1181
+//line sql.y:1182
{
yyLOCAL = false
}
@@ -11094,33 +11197,33 @@ yydefault:
case 132:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:1185
+//line sql.y:1186
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
case 133:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:1190
+//line sql.y:1191
{
yyVAL.identifierCI = NewIdentifierCI("")
}
case 134:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1194
+//line sql.y:1195
{
yyVAL.identifierCI = yyDollar[2].identifierCI
}
case 135:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1200
+//line sql.y:1201
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
case 136:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []VindexParam
-//line sql.y:1205
+//line sql.y:1206
{
var v []VindexParam
yyLOCAL = v
@@ -11129,7 +11232,7 @@ yydefault:
case 137:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []VindexParam
-//line sql.y:1210
+//line sql.y:1211
{
yyLOCAL = yyDollar[2].vindexParamsUnion()
}
@@ -11137,7 +11240,7 @@ yydefault:
case 138:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []VindexParam
-//line sql.y:1216
+//line sql.y:1217
{
yyLOCAL = make([]VindexParam, 0, 4)
yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam)
@@ -11145,21 +11248,21 @@ yydefault:
yyVAL.union = yyLOCAL
case 139:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1221
+//line sql.y:1222
{
yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].vindexParam)
}
case 140:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1227
+//line sql.y:1228
{
yyVAL.vindexParam = VindexParam{Key: yyDollar[1].identifierCI, Val: yyDollar[3].str}
}
case 141:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*JSONObjectParam
-//line sql.y:1232
+//line sql.y:1233
{
yyLOCAL = nil
}
@@ -11167,7 +11270,7 @@ yydefault:
case 142:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*JSONObjectParam
-//line sql.y:1236
+//line sql.y:1237
{
yyLOCAL = yyDollar[1].jsonObjectParamsUnion()
}
@@ -11175,28 +11278,28 @@ yydefault:
case 143:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*JSONObjectParam
-//line sql.y:1242
+//line sql.y:1243
{
yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam}
}
yyVAL.union = yyLOCAL
case 144:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1246
+//line sql.y:1247
{
yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam)
}
case 145:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1252
+//line sql.y:1253
{
yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()}
}
case 146:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *CreateTable
-//line sql.y:1258
+//line sql.y:1259
{
yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()}
setDDL(yylex, yyLOCAL)
@@ -11205,7 +11308,7 @@ yydefault:
case 147:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *AlterTable
-//line sql.y:1265
+//line sql.y:1266
{
yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName}
setDDL(yylex, yyLOCAL)
@@ -11214,61 +11317,61 @@ yydefault:
case 148:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *AlterTable
-//line sql.y:1272
+//line sql.y:1273
{
- yyLOCAL = &AlterTable{Table: yyDollar[7].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[4].identifierCI}, Options: yyDollar[5].indexOptionsUnion()}}}}
+ yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[7].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[4].identifierCI}, Options: yyDollar[5].indexOptionsUnion()}}}}
setDDL(yylex, yyLOCAL)
}
yyVAL.union = yyLOCAL
case 149:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *AlterTable
-//line sql.y:1277
+//line sql.y:1278
{
- yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeFullText}, Options: yyDollar[6].indexOptionsUnion()}}}}
+ yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeFullText}, Options: yyDollar[6].indexOptionsUnion()}}}}
setDDL(yylex, yyLOCAL)
}
yyVAL.union = yyLOCAL
case 150:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *AlterTable
-//line sql.y:1282
+//line sql.y:1283
{
- yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeSpatial}, Options: yyDollar[6].indexOptionsUnion()}}}}
+ yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeSpatial}, Options: yyDollar[6].indexOptionsUnion()}}}}
setDDL(yylex, yyLOCAL)
}
yyVAL.union = yyLOCAL
case 151:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *AlterTable
-//line sql.y:1287
+//line sql.y:1288
{
- yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeUnique}, Options: yyDollar[6].indexOptionsUnion()}}}}
+ yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeUnique}, Options: yyDollar[6].indexOptionsUnion()}}}}
setDDL(yylex, yyLOCAL)
}
yyVAL.union = yyLOCAL
case 152:
- yyDollar = yyS[yypt-6 : yypt+1]
+ yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *CreateDatabase
-//line sql.y:1294
+//line sql.y:1295
{
- yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].identifierCS, IfNotExists: yyDollar[5].booleanUnion()}
+ yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].identifierCS, IfNotExists: yyDollar[4].booleanUnion()}
setDDL(yylex, yyLOCAL)
}
yyVAL.union = yyLOCAL
case 153:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *AlterDatabase
-//line sql.y:1301
+//line sql.y:1302
{
- yyLOCAL = &AlterDatabase{}
+ yyLOCAL = &AlterDatabase{Comments: Comments(yyDollar[2].strs).Parsed()}
setDDL(yylex, yyLOCAL)
}
yyVAL.union = yyLOCAL
case 156:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *TableSpec
-//line sql.y:1312
+//line sql.y:1313
{
yyLOCAL = yyDollar[2].tableSpecUnion()
yyLOCAL.Options = yyDollar[4].tableOptionsUnion()
@@ -11278,7 +11381,7 @@ yydefault:
case 157:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []DatabaseOption
-//line sql.y:1319
+//line sql.y:1320
{
yyLOCAL = nil
}
@@ -11286,7 +11389,7 @@ yydefault:
case 158:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []DatabaseOption
-//line sql.y:1323
+//line sql.y:1324
{
yyLOCAL = yyDollar[1].databaseOptionsUnion()
}
@@ -11294,7 +11397,7 @@ yydefault:
case 159:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []DatabaseOption
-//line sql.y:1329
+//line sql.y:1330
{
yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
}
@@ -11302,7 +11405,7 @@ yydefault:
case 160:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []DatabaseOption
-//line sql.y:1333
+//line sql.y:1334
{
yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
}
@@ -11310,28 +11413,28 @@ yydefault:
case 161:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []DatabaseOption
-//line sql.y:1337
+//line sql.y:1338
{
yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
}
yyVAL.union = yyLOCAL
case 162:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1341
+//line sql.y:1342
{
yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
}
case 163:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1345
+//line sql.y:1346
{
yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
}
case 164:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1349
+//line sql.y:1350
{
yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
@@ -11339,7 +11442,7 @@ yydefault:
case 165:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:1355
+//line sql.y:1356
{
yyLOCAL = false
}
@@ -11347,51 +11450,51 @@ yydefault:
case 166:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:1359
+//line sql.y:1360
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
case 167:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1365
+//line sql.y:1366
{
yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 168:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1369
+//line sql.y:1370
{
yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 169:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1375
+//line sql.y:1376
{
yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 170:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1379
+//line sql.y:1380
{
yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 171:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1385
+//line sql.y:1386
{
yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 172:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1389
+//line sql.y:1390
{
yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 173:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *OptLike
-//line sql.y:1395
+//line sql.y:1396
{
yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName}
}
@@ -11399,7 +11502,7 @@ yydefault:
case 174:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *OptLike
-//line sql.y:1399
+//line sql.y:1400
{
yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName}
}
@@ -11407,14 +11510,14 @@ yydefault:
case 175:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*ColumnDefinition
-//line sql.y:1405
+//line sql.y:1406
{
yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()}
}
yyVAL.union = yyLOCAL
case 176:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1409
+//line sql.y:1410
{
yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion())
@@ -11422,7 +11525,7 @@ yydefault:
case 177:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *TableSpec
-//line sql.y:1415
+//line sql.y:1416
{
yyLOCAL = &TableSpec{}
yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion())
@@ -11431,7 +11534,7 @@ yydefault:
case 178:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *TableSpec
-//line sql.y:1420
+//line sql.y:1421
{
yyLOCAL = &TableSpec{}
yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion())
@@ -11439,39 +11542,39 @@ yydefault:
yyVAL.union = yyLOCAL
case 179:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1425
+//line sql.y:1426
{
yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion())
}
case 180:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1429
+//line sql.y:1430
{
yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion())
yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion())
}
case 181:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1434
+//line sql.y:1435
{
yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion())
}
case 182:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1438
+//line sql.y:1439
{
yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion())
}
case 183:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1442
+//line sql.y:1443
{
yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion())
}
case 184:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ColumnDefinition
-//line sql.y:1453
+//line sql.y:1454
{
yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion()
if yyDollar[2].columnType.Options.Collate == "" {
@@ -11484,7 +11587,7 @@ yydefault:
case 185:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL *ColumnDefinition
-//line sql.y:1462
+//line sql.y:1463
{
yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion()
yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion()
@@ -11495,20 +11598,20 @@ yydefault:
yyVAL.union = yyLOCAL
case 186:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:1471
+//line sql.y:1472
{
yyVAL.str = ""
}
case 187:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1475
+//line sql.y:1476
{
yyVAL.str = ""
}
case 188:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1484
+//line sql.y:1485
{
yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: ColKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil}
}
@@ -11516,7 +11619,7 @@ yydefault:
case 189:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1488
+//line sql.y:1489
{
yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(true)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11525,7 +11628,7 @@ yydefault:
case 190:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1493
+//line sql.y:1494
{
yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(false)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11534,7 +11637,7 @@ yydefault:
case 191:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1498
+//line sql.y:1499
{
yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion()
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11543,7 +11646,7 @@ yydefault:
case 192:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1503
+//line sql.y:1504
{
yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion()
yyDollar[1].columnTypeOptionsUnion().DefaultLiteral = true
@@ -11553,7 +11656,7 @@ yydefault:
case 193:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1509
+//line sql.y:1510
{
yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion()
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11562,7 +11665,7 @@ yydefault:
case 194:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1514
+//line sql.y:1515
{
yyDollar[1].columnTypeOptionsUnion().Autoincrement = true
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11571,7 +11674,7 @@ yydefault:
case 195:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1519
+//line sql.y:1520
{
yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11580,7 +11683,7 @@ yydefault:
case 196:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1524
+//line sql.y:1525
{
yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion()
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11588,14 +11691,14 @@ yydefault:
yyVAL.union = yyLOCAL
case 197:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1529
+//line sql.y:1530
{
yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str)
}
case 198:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1533
+//line sql.y:1534
{
yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].identifierCI.String())
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11603,14 +11706,14 @@ yydefault:
yyVAL.union = yyLOCAL
case 199:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1538
+//line sql.y:1539
{
yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion()
}
case 200:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1542
+//line sql.y:1543
{
yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11619,7 +11722,7 @@ yydefault:
case 201:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1547
+//line sql.y:1548
{
yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(false)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11628,7 +11731,7 @@ yydefault:
case 202:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1552
+//line sql.y:1553
{
yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(true)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11636,20 +11739,20 @@ yydefault:
yyVAL.union = yyLOCAL
case 203:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1557
+//line sql.y:1558
{
yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str)
}
case 204:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1561
+//line sql.y:1562
{
yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str)
}
case 205:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnFormat
-//line sql.y:1567
+//line sql.y:1568
{
yyLOCAL = FixedFormat
}
@@ -11657,7 +11760,7 @@ yydefault:
case 206:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnFormat
-//line sql.y:1571
+//line sql.y:1572
{
yyLOCAL = DynamicFormat
}
@@ -11665,7 +11768,7 @@ yydefault:
case 207:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnFormat
-//line sql.y:1575
+//line sql.y:1576
{
yyLOCAL = DefaultFormat
}
@@ -11673,7 +11776,7 @@ yydefault:
case 208:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnStorage
-//line sql.y:1581
+//line sql.y:1582
{
yyLOCAL = VirtualStorage
}
@@ -11681,7 +11784,7 @@ yydefault:
case 209:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnStorage
-//line sql.y:1585
+//line sql.y:1586
{
yyLOCAL = StoredStorage
}
@@ -11689,7 +11792,7 @@ yydefault:
case 210:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1590
+//line sql.y:1591
{
yyLOCAL = &ColumnTypeOptions{}
}
@@ -11697,7 +11800,7 @@ yydefault:
case 211:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1594
+//line sql.y:1595
{
yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion()
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11706,7 +11809,7 @@ yydefault:
case 212:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1599
+//line sql.y:1600
{
yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(true)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11715,7 +11818,7 @@ yydefault:
case 213:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1604
+//line sql.y:1605
{
yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(false)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11724,7 +11827,7 @@ yydefault:
case 214:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1609
+//line sql.y:1610
{
yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11733,7 +11836,7 @@ yydefault:
case 215:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1614
+//line sql.y:1615
{
yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion()
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11742,7 +11845,7 @@ yydefault:
case 216:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1619
+//line sql.y:1620
{
yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(false)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11751,7 +11854,7 @@ yydefault:
case 217:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1624
+//line sql.y:1625
{
yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(true)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11760,7 +11863,7 @@ yydefault:
case 218:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1631
+//line sql.y:1632
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -11768,7 +11871,7 @@ yydefault:
case 220:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1638
+//line sql.y:1639
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_timestamp"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11776,7 +11879,7 @@ yydefault:
case 221:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1642
+//line sql.y:1643
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtime"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11784,7 +11887,7 @@ yydefault:
case 222:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1646
+//line sql.y:1647
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtimestamp"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11792,7 +11895,7 @@ yydefault:
case 223:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1650
+//line sql.y:1651
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_timestamp"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11800,7 +11903,7 @@ yydefault:
case 224:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1654
+//line sql.y:1655
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("now"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11808,7 +11911,7 @@ yydefault:
case 225:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1658
+//line sql.y:1659
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("sysdate"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11816,7 +11919,7 @@ yydefault:
case 228:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1668
+//line sql.y:1669
{
yyLOCAL = &NullVal{}
}
@@ -11824,7 +11927,7 @@ yydefault:
case 230:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1675
+//line sql.y:1676
{
yyLOCAL = yyDollar[2].exprUnion()
}
@@ -11832,7 +11935,7 @@ yydefault:
case 231:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1679
+//line sql.y:1680
{
yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
}
@@ -11840,7 +11943,7 @@ yydefault:
case 232:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1685
+//line sql.y:1686
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -11848,7 +11951,7 @@ yydefault:
case 233:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1689
+//line sql.y:1690
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -11856,7 +11959,7 @@ yydefault:
case 234:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1693
+//line sql.y:1694
{
yyLOCAL = yyDollar[1].boolValUnion()
}
@@ -11864,7 +11967,7 @@ yydefault:
case 235:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1697
+//line sql.y:1698
{
yyLOCAL = NewHexLiteral(yyDollar[1].str)
}
@@ -11872,7 +11975,7 @@ yydefault:
case 236:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1701
+//line sql.y:1702
{
yyLOCAL = NewHexNumLiteral(yyDollar[1].str)
}
@@ -11880,7 +11983,7 @@ yydefault:
case 237:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1705
+//line sql.y:1706
{
yyLOCAL = NewBitLiteral(yyDollar[1].str)
}
@@ -11888,7 +11991,7 @@ yydefault:
case 238:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1709
+//line sql.y:1710
{
yyLOCAL = NewBitLiteral("0b" + yyDollar[1].str)
}
@@ -11896,7 +11999,7 @@ yydefault:
case 239:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1713
+//line sql.y:1714
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
@@ -11904,7 +12007,7 @@ yydefault:
case 240:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1717
+//line sql.y:1718
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral("0b" + yyDollar[2].str)}
}
@@ -11912,7 +12015,7 @@ yydefault:
case 241:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1721
+//line sql.y:1722
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)}
}
@@ -11920,7 +12023,7 @@ yydefault:
case 242:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1725
+//line sql.y:1726
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)}
}
@@ -11928,7 +12031,7 @@ yydefault:
case 243:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1729
+//line sql.y:1730
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)}
}
@@ -11936,7 +12039,7 @@ yydefault:
case 244:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1733
+//line sql.y:1734
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].exprUnion()}
}
@@ -11944,7 +12047,7 @@ yydefault:
case 245:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1737
+//line sql.y:1738
{
arg := parseBindVariable(yylex, yyDollar[2].str[1:])
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: arg}
@@ -11953,7 +12056,7 @@ yydefault:
case 246:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1742
+//line sql.y:1743
{
yyLOCAL = NewDateLiteral(yyDollar[2].str)
}
@@ -11961,7 +12064,7 @@ yydefault:
case 247:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1746
+//line sql.y:1747
{
yyLOCAL = NewTimeLiteral(yyDollar[2].str)
}
@@ -11969,267 +12072,267 @@ yydefault:
case 248:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1750
+//line sql.y:1751
{
yyLOCAL = NewTimestampLiteral(yyDollar[2].str)
}
yyVAL.union = yyLOCAL
case 249:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1756
+//line sql.y:1757
{
yyVAL.str = Armscii8Str
}
case 250:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1760
+//line sql.y:1761
{
yyVAL.str = ASCIIStr
}
case 251:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1764
+//line sql.y:1765
{
yyVAL.str = Big5Str
}
case 252:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1768
+//line sql.y:1769
{
yyVAL.str = UBinaryStr
}
case 253:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1772
+//line sql.y:1773
{
yyVAL.str = Cp1250Str
}
case 254:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1776
+//line sql.y:1777
{
yyVAL.str = Cp1251Str
}
case 255:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1780
+//line sql.y:1781
{
yyVAL.str = Cp1256Str
}
case 256:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1784
+//line sql.y:1785
{
yyVAL.str = Cp1257Str
}
case 257:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1788
+//line sql.y:1789
{
yyVAL.str = Cp850Str
}
case 258:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1792
+//line sql.y:1793
{
yyVAL.str = Cp852Str
}
case 259:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1796
+//line sql.y:1797
{
yyVAL.str = Cp866Str
}
case 260:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1800
+//line sql.y:1801
{
yyVAL.str = Cp932Str
}
case 261:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1804
+//line sql.y:1805
{
yyVAL.str = Dec8Str
}
case 262:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1808
+//line sql.y:1809
{
yyVAL.str = EucjpmsStr
}
case 263:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1812
+//line sql.y:1813
{
yyVAL.str = EuckrStr
}
case 264:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1816
+//line sql.y:1817
{
yyVAL.str = Gb18030Str
}
case 265:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1820
+//line sql.y:1821
{
yyVAL.str = Gb2312Str
}
case 266:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1824
+//line sql.y:1825
{
yyVAL.str = GbkStr
}
case 267:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1828
+//line sql.y:1829
{
yyVAL.str = Geostd8Str
}
case 268:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1832
+//line sql.y:1833
{
yyVAL.str = GreekStr
}
case 269:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1836
+//line sql.y:1837
{
yyVAL.str = HebrewStr
}
case 270:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1840
+//line sql.y:1841
{
yyVAL.str = Hp8Str
}
case 271:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1844
+//line sql.y:1845
{
yyVAL.str = Keybcs2Str
}
case 272:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1848
+//line sql.y:1849
{
yyVAL.str = Koi8rStr
}
case 273:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1852
+//line sql.y:1853
{
yyVAL.str = Koi8uStr
}
case 274:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1856
+//line sql.y:1857
{
yyVAL.str = Latin1Str
}
case 275:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1860
+//line sql.y:1861
{
yyVAL.str = Latin2Str
}
case 276:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1864
+//line sql.y:1865
{
yyVAL.str = Latin5Str
}
case 277:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1868
+//line sql.y:1869
{
yyVAL.str = Latin7Str
}
case 278:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1872
+//line sql.y:1873
{
yyVAL.str = MacceStr
}
case 279:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1876
+//line sql.y:1877
{
yyVAL.str = MacromanStr
}
case 280:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1880
+//line sql.y:1881
{
yyVAL.str = SjisStr
}
case 281:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1884
+//line sql.y:1885
{
yyVAL.str = Swe7Str
}
case 282:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1888
+//line sql.y:1889
{
yyVAL.str = Tis620Str
}
case 283:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1892
+//line sql.y:1893
{
yyVAL.str = Ucs2Str
}
case 284:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1896
+//line sql.y:1897
{
yyVAL.str = UjisStr
}
case 285:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1900
+//line sql.y:1901
{
yyVAL.str = Utf16Str
}
case 286:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1904
+//line sql.y:1905
{
yyVAL.str = Utf16leStr
}
case 287:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1908
+//line sql.y:1909
{
yyVAL.str = Utf32Str
}
case 288:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1912
+//line sql.y:1913
{
yyVAL.str = Utf8mb3Str
}
case 289:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1916
+//line sql.y:1917
{
yyVAL.str = Utf8mb4Str
}
case 290:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1920
+//line sql.y:1921
{
yyVAL.str = Utf8mb3Str
}
case 293:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1930
+//line sql.y:1931
{
yyLOCAL = NewIntLiteral(yyDollar[1].str)
}
@@ -12237,7 +12340,7 @@ yydefault:
case 294:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1934
+//line sql.y:1935
{
yyLOCAL = NewFloatLiteral(yyDollar[1].str)
}
@@ -12245,7 +12348,7 @@ yydefault:
case 295:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1938
+//line sql.y:1939
{
yyLOCAL = NewDecimalLiteral(yyDollar[1].str)
}
@@ -12253,7 +12356,7 @@ yydefault:
case 296:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1944
+//line sql.y:1945
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -12261,7 +12364,7 @@ yydefault:
case 297:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1948
+//line sql.y:1949
{
yyLOCAL = AppendString(yyDollar[1].exprUnion(), yyDollar[2].str)
}
@@ -12269,7 +12372,7 @@ yydefault:
case 298:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1954
+//line sql.y:1955
{
yyLOCAL = NewStrLiteral(yyDollar[1].str)
}
@@ -12277,7 +12380,7 @@ yydefault:
case 299:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1958
+//line sql.y:1959
{
yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)}
}
@@ -12285,7 +12388,7 @@ yydefault:
case 300:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1962
+//line sql.y:1963
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)}
}
@@ -12293,7 +12396,7 @@ yydefault:
case 301:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1968
+//line sql.y:1969
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -12301,7 +12404,7 @@ yydefault:
case 302:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1972
+//line sql.y:1973
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
@@ -12309,7 +12412,7 @@ yydefault:
case 303:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ColumnKeyOption
-//line sql.y:1978
+//line sql.y:1979
{
yyLOCAL = ColKeyPrimary
}
@@ -12317,7 +12420,7 @@ yydefault:
case 304:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnKeyOption
-//line sql.y:1982
+//line sql.y:1983
{
yyLOCAL = ColKeyUnique
}
@@ -12325,7 +12428,7 @@ yydefault:
case 305:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ColumnKeyOption
-//line sql.y:1986
+//line sql.y:1987
{
yyLOCAL = ColKeyUniqueKey
}
@@ -12333,14 +12436,14 @@ yydefault:
case 306:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnKeyOption
-//line sql.y:1990
+//line sql.y:1991
{
yyLOCAL = ColKey
}
yyVAL.union = yyLOCAL
case 307:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1996
+//line sql.y:1997
{
yyVAL.columnType = yyDollar[1].columnType
yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion()
@@ -12348,74 +12451,74 @@ yydefault:
}
case 311:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2007
+//line sql.y:2008
{
yyVAL.columnType = yyDollar[1].columnType
yyVAL.columnType.Length = yyDollar[2].intPtrUnion()
}
case 312:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2012
+//line sql.y:2013
{
yyVAL.columnType = yyDollar[1].columnType
}
case 313:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2018
+//line sql.y:2019
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 314:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2022
+//line sql.y:2023
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 315:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2026
+//line sql.y:2027
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 316:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2030
+//line sql.y:2031
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 317:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2034
+//line sql.y:2035
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 318:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2038
+//line sql.y:2039
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 319:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2042
+//line sql.y:2043
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 320:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2046
+//line sql.y:2047
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 321:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2050
+//line sql.y:2051
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 322:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2056
+//line sql.y:2057
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12423,7 +12526,7 @@ yydefault:
}
case 323:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2062
+//line sql.y:2063
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12431,7 +12534,7 @@ yydefault:
}
case 324:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2068
+//line sql.y:2069
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12439,7 +12542,7 @@ yydefault:
}
case 325:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2074
+//line sql.y:2075
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12447,7 +12550,7 @@ yydefault:
}
case 326:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2080
+//line sql.y:2081
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12455,7 +12558,7 @@ yydefault:
}
case 327:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2086
+//line sql.y:2087
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12463,7 +12566,7 @@ yydefault:
}
case 328:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2092
+//line sql.y:2093
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12471,43 +12574,43 @@ yydefault:
}
case 329:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2100
+//line sql.y:2101
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 330:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2104
+//line sql.y:2105
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 331:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2108
+//line sql.y:2109
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 332:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2112
+//line sql.y:2113
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 333:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2116
+//line sql.y:2117
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 334:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2122
+//line sql.y:2123
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion(), Charset: yyDollar[3].columnCharset}
}
case 335:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2126
+//line sql.y:2127
{
// CHAR BYTE is an alias for binary. See also:
// https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html
@@ -12515,159 +12618,159 @@ yydefault:
}
case 336:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2132
+//line sql.y:2133
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion(), Charset: yyDollar[3].columnCharset}
}
case 337:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2136
+//line sql.y:2137
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 338:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2140
+//line sql.y:2141
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 339:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2144
+//line sql.y:2145
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
}
case 340:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2148
+//line sql.y:2149
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
}
case 341:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2152
+//line sql.y:2153
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
}
case 342:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2156
+//line sql.y:2157
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
}
case 343:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2160
+//line sql.y:2161
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 344:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2164
+//line sql.y:2165
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 345:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2168
+//line sql.y:2169
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 346:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2172
+//line sql.y:2173
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 347:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2176
+//line sql.y:2177
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 348:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:2180
+//line sql.y:2181
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset}
}
case 349:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2184
+//line sql.y:2185
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 350:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:2189
+//line sql.y:2190
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset}
}
case 351:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2195
+//line sql.y:2196
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 352:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2199
+//line sql.y:2200
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 353:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2203
+//line sql.y:2204
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 354:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2207
+//line sql.y:2208
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 355:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2211
+//line sql.y:2212
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 356:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2215
+//line sql.y:2216
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 357:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2219
+//line sql.y:2220
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 358:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2223
+//line sql.y:2224
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 359:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2229
+//line sql.y:2230
{
yyVAL.strs = make([]string, 0, 4)
yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str))
}
case 360:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2234
+//line sql.y:2235
{
yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str))
}
case 361:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *int
-//line sql.y:2239
+//line sql.y:2240
{
yyLOCAL = nil
}
@@ -12675,20 +12778,20 @@ yydefault:
case 362:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *int
-//line sql.y:2243
+//line sql.y:2244
{
yyLOCAL = ptr.Of(convertStringToInt(yyDollar[2].str))
}
yyVAL.union = yyLOCAL
case 363:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2248
+//line sql.y:2249
{
yyVAL.LengthScaleOption = LengthScaleOption{}
}
case 364:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:2252
+//line sql.y:2253
{
yyVAL.LengthScaleOption = LengthScaleOption{
Length: ptr.Of(convertStringToInt(yyDollar[2].str)),
@@ -12697,13 +12800,13 @@ yydefault:
}
case 365:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2261
+//line sql.y:2262
{
yyVAL.LengthScaleOption = yyDollar[1].LengthScaleOption
}
case 366:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2265
+//line sql.y:2266
{
yyVAL.LengthScaleOption = LengthScaleOption{
Length: ptr.Of(convertStringToInt(yyDollar[2].str)),
@@ -12711,13 +12814,13 @@ yydefault:
}
case 367:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2272
+//line sql.y:2273
{
yyVAL.LengthScaleOption = LengthScaleOption{}
}
case 368:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2276
+//line sql.y:2277
{
yyVAL.LengthScaleOption = LengthScaleOption{
Length: ptr.Of(convertStringToInt(yyDollar[2].str)),
@@ -12725,7 +12828,7 @@ yydefault:
}
case 369:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:2282
+//line sql.y:2283
{
yyVAL.LengthScaleOption = LengthScaleOption{
Length: ptr.Of(convertStringToInt(yyDollar[2].str)),
@@ -12735,7 +12838,7 @@ yydefault:
case 370:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:2290
+//line sql.y:2291
{
yyLOCAL = false
}
@@ -12743,7 +12846,7 @@ yydefault:
case 371:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2294
+//line sql.y:2295
{
yyLOCAL = true
}
@@ -12751,7 +12854,7 @@ yydefault:
case 372:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2298
+//line sql.y:2299
{
yyLOCAL = false
}
@@ -12759,7 +12862,7 @@ yydefault:
case 373:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:2303
+//line sql.y:2304
{
yyLOCAL = false
}
@@ -12767,66 +12870,66 @@ yydefault:
case 374:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2307
+//line sql.y:2308
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
case 375:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2312
+//line sql.y:2313
{
yyVAL.columnCharset = ColumnCharset{}
}
case 376:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2316
+//line sql.y:2317
{
yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].identifierCI.String()), Binary: yyDollar[3].booleanUnion()}
}
case 377:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2320
+//line sql.y:2321
{
yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()}
}
case 378:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2324
+//line sql.y:2325
{
yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)}
}
case 379:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2328
+//line sql.y:2329
{
// ASCII: Shorthand for CHARACTER SET latin1.
yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()}
}
case 380:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2333
+//line sql.y:2334
{
// UNICODE: Shorthand for CHARACTER SET ucs2.
yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()}
}
case 381:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2338
+//line sql.y:2339
{
// BINARY: Shorthand for default CHARACTER SET but with binary collation
yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true}
}
case 382:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2343
+//line sql.y:2344
{
// BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation
yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true}
}
case 383:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2348
+//line sql.y:2349
{
// BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation
yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true}
@@ -12834,7 +12937,7 @@ yydefault:
case 384:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:2354
+//line sql.y:2355
{
yyLOCAL = false
}
@@ -12842,33 +12945,33 @@ yydefault:
case 385:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2358
+//line sql.y:2359
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
case 386:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2363
+//line sql.y:2364
{
yyVAL.str = ""
}
case 387:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2367
+//line sql.y:2368
{
yyVAL.str = string(yyDollar[2].identifierCI.String())
}
case 388:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2371
+//line sql.y:2372
{
yyVAL.str = encodeSQLString(yyDollar[2].str)
}
case 389:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *IndexDefinition
-//line sql.y:2377
+//line sql.y:2378
{
yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()}
}
@@ -12876,7 +12979,7 @@ yydefault:
case 390:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:2382
+//line sql.y:2383
{
yyLOCAL = nil
}
@@ -12884,7 +12987,7 @@ yydefault:
case 391:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:2386
+//line sql.y:2387
{
yyLOCAL = yyDollar[1].indexOptionsUnion()
}
@@ -12892,14 +12995,14 @@ yydefault:
case 392:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:2392
+//line sql.y:2393
{
yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
}
yyVAL.union = yyLOCAL
case 393:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2396
+//line sql.y:2397
{
yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion())
@@ -12907,7 +13010,7 @@ yydefault:
case 394:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2402
+//line sql.y:2403
{
yyLOCAL = yyDollar[1].indexOptionUnion()
}
@@ -12915,7 +13018,7 @@ yydefault:
case 395:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2406
+//line sql.y:2407
{
// should not be string
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
@@ -12924,7 +13027,7 @@ yydefault:
case 396:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2411
+//line sql.y:2412
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)}
}
@@ -12932,7 +13035,7 @@ yydefault:
case 397:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2415
+//line sql.y:2416
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)}
}
@@ -12940,7 +13043,7 @@ yydefault:
case 398:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2419
+//line sql.y:2420
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)}
}
@@ -12948,7 +13051,7 @@ yydefault:
case 399:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2423
+//line sql.y:2424
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].identifierCI.String()}
}
@@ -12956,7 +13059,7 @@ yydefault:
case 400:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2427
+//line sql.y:2428
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
@@ -12964,27 +13067,27 @@ yydefault:
case 401:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2431
+//line sql.y:2432
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
case 402:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2437
+//line sql.y:2438
{
yyVAL.str = ""
}
case 403:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2441
+//line sql.y:2442
{
yyVAL.str = string(yyDollar[1].str)
}
case 404:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *IndexInfo
-//line sql.y:2447
+//line sql.y:2448
{
yyLOCAL = &IndexInfo{Type: IndexTypePrimary, ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI("PRIMARY")}
}
@@ -12992,7 +13095,7 @@ yydefault:
case 405:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexInfo
-//line sql.y:2451
+//line sql.y:2452
{
yyLOCAL = &IndexInfo{Type: IndexTypeSpatial, Name: NewIdentifierCI(yyDollar[3].str)}
}
@@ -13000,7 +13103,7 @@ yydefault:
case 406:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexInfo
-//line sql.y:2455
+//line sql.y:2456
{
yyLOCAL = &IndexInfo{Type: IndexTypeFullText, Name: NewIdentifierCI(yyDollar[3].str)}
}
@@ -13008,7 +13111,7 @@ yydefault:
case 407:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *IndexInfo
-//line sql.y:2459
+//line sql.y:2460
{
yyLOCAL = &IndexInfo{Type: IndexTypeUnique, ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI(yyDollar[4].str)}
}
@@ -13016,100 +13119,100 @@ yydefault:
case 408:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *IndexInfo
-//line sql.y:2463
+//line sql.y:2464
{
yyLOCAL = &IndexInfo{Type: IndexTypeDefault, Name: NewIdentifierCI(yyDollar[2].str)}
}
yyVAL.union = yyLOCAL
case 409:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2468
+//line sql.y:2469
{
yyVAL.str = ""
}
case 410:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2472
+//line sql.y:2473
{
yyVAL.str = yyDollar[2].str
}
case 411:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2478
+//line sql.y:2479
{
yyVAL.str = string(yyDollar[1].str)
}
case 412:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2482
+//line sql.y:2483
{
yyVAL.str = string(yyDollar[1].str)
}
case 413:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2486
+//line sql.y:2487
{
yyVAL.str = string(yyDollar[1].str)
}
case 414:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2492
+//line sql.y:2493
{
yyVAL.str = string(yyDollar[1].str)
}
case 415:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2496
+//line sql.y:2497
{
yyVAL.str = string(yyDollar[1].str)
}
case 416:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2501
+//line sql.y:2502
{
yyVAL.str = ""
}
case 417:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2505
+//line sql.y:2506
{
yyVAL.str = yyDollar[1].str
}
case 418:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2511
+//line sql.y:2512
{
yyVAL.str = string(yyDollar[1].str)
}
case 419:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2515
+//line sql.y:2516
{
yyVAL.str = string(yyDollar[1].str)
}
case 420:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2520
+//line sql.y:2521
{
yyVAL.str = ""
}
case 421:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2524
+//line sql.y:2525
{
yyVAL.str = string(yyDollar[1].identifierCI.String())
}
case 422:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*IndexColumn
-//line sql.y:2530
+//line sql.y:2531
{
yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()}
}
yyVAL.union = yyLOCAL
case 423:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2534
+//line sql.y:2535
{
yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion())
@@ -13117,7 +13220,7 @@ yydefault:
case 424:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexColumn
-//line sql.y:2540
+//line sql.y:2541
{
yyLOCAL = &IndexColumn{Column: yyDollar[1].identifierCI, Length: yyDollar[2].intPtrUnion(), Direction: yyDollar[3].orderDirectionUnion()}
}
@@ -13125,7 +13228,7 @@ yydefault:
case 425:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *IndexColumn
-//line sql.y:2544
+//line sql.y:2545
{
yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()}
}
@@ -13133,7 +13236,7 @@ yydefault:
case 426:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ConstraintDefinition
-//line sql.y:2550
+//line sql.y:2551
{
yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()}
}
@@ -13141,7 +13244,7 @@ yydefault:
case 427:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConstraintDefinition
-//line sql.y:2554
+//line sql.y:2555
{
yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()}
}
@@ -13149,7 +13252,7 @@ yydefault:
case 428:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ConstraintDefinition
-//line sql.y:2560
+//line sql.y:2561
{
yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()}
}
@@ -13157,7 +13260,7 @@ yydefault:
case 429:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConstraintDefinition
-//line sql.y:2564
+//line sql.y:2565
{
yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()}
}
@@ -13165,7 +13268,7 @@ yydefault:
case 430:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL ConstraintInfo
-//line sql.y:2570
+//line sql.y:2571
{
yyLOCAL = &ForeignKeyDefinition{IndexName: NewIdentifierCI(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()}
}
@@ -13173,7 +13276,7 @@ yydefault:
case 431:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2576
+//line sql.y:2577
{
yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()}
}
@@ -13181,7 +13284,7 @@ yydefault:
case 432:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2580
+//line sql.y:2581
{
yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()}
}
@@ -13189,7 +13292,7 @@ yydefault:
case 433:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2584
+//line sql.y:2585
{
yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()}
}
@@ -13197,7 +13300,7 @@ yydefault:
case 434:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2588
+//line sql.y:2589
{
yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()}
}
@@ -13205,7 +13308,7 @@ yydefault:
case 435:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2592
+//line sql.y:2593
{
yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()}
}
@@ -13213,7 +13316,7 @@ yydefault:
case 436:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2597
+//line sql.y:2598
{
yyLOCAL = nil
}
@@ -13221,7 +13324,7 @@ yydefault:
case 437:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2601
+//line sql.y:2602
{
yyLOCAL = yyDollar[1].referenceDefinitionUnion()
}
@@ -13229,7 +13332,7 @@ yydefault:
case 438:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL ConstraintInfo
-//line sql.y:2607
+//line sql.y:2608
{
yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()}
}
@@ -13237,7 +13340,7 @@ yydefault:
case 439:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2613
+//line sql.y:2614
{
yyLOCAL = yyDollar[2].matchActionUnion()
}
@@ -13245,7 +13348,7 @@ yydefault:
case 440:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2619
+//line sql.y:2620
{
yyLOCAL = Full
}
@@ -13253,7 +13356,7 @@ yydefault:
case 441:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2623
+//line sql.y:2624
{
yyLOCAL = Partial
}
@@ -13261,7 +13364,7 @@ yydefault:
case 442:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2627
+//line sql.y:2628
{
yyLOCAL = Simple
}
@@ -13269,7 +13372,7 @@ yydefault:
case 443:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2632
+//line sql.y:2633
{
yyLOCAL = DefaultMatch
}
@@ -13277,7 +13380,7 @@ yydefault:
case 444:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2636
+//line sql.y:2637
{
yyLOCAL = yyDollar[1].matchActionUnion()
}
@@ -13285,7 +13388,7 @@ yydefault:
case 445:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2642
+//line sql.y:2643
{
yyLOCAL = yyDollar[3].referenceActionUnion()
}
@@ -13293,7 +13396,7 @@ yydefault:
case 446:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2648
+//line sql.y:2649
{
yyLOCAL = yyDollar[3].referenceActionUnion()
}
@@ -13301,7 +13404,7 @@ yydefault:
case 447:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2654
+//line sql.y:2655
{
yyLOCAL = Restrict
}
@@ -13309,7 +13412,7 @@ yydefault:
case 448:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2658
+//line sql.y:2659
{
yyLOCAL = Cascade
}
@@ -13317,7 +13420,7 @@ yydefault:
case 449:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2662
+//line sql.y:2663
{
yyLOCAL = NoAction
}
@@ -13325,7 +13428,7 @@ yydefault:
case 450:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2666
+//line sql.y:2667
{
yyLOCAL = SetDefault
}
@@ -13333,33 +13436,33 @@ yydefault:
case 451:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2670
+//line sql.y:2671
{
yyLOCAL = SetNull
}
yyVAL.union = yyLOCAL
case 452:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2675
+//line sql.y:2676
{
yyVAL.str = ""
}
case 453:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2679
+//line sql.y:2680
{
yyVAL.str = string(yyDollar[1].str)
}
case 454:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2683
+//line sql.y:2684
{
yyVAL.str = string(yyDollar[1].str)
}
case 455:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2689
+//line sql.y:2690
{
yyLOCAL = true
}
@@ -13367,7 +13470,7 @@ yydefault:
case 456:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:2693
+//line sql.y:2694
{
yyLOCAL = false
}
@@ -13375,7 +13478,7 @@ yydefault:
case 457:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:2698
+//line sql.y:2699
{
yyLOCAL = true
}
@@ -13383,7 +13486,7 @@ yydefault:
case 458:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2702
+//line sql.y:2703
{
yyLOCAL = yyDollar[1].booleanUnion()
}
@@ -13391,7 +13494,7 @@ yydefault:
case 459:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL TableOptions
-//line sql.y:2707
+//line sql.y:2708
{
yyLOCAL = nil
}
@@ -13399,7 +13502,7 @@ yydefault:
case 460:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableOptions
-//line sql.y:2711
+//line sql.y:2712
{
yyLOCAL = yyDollar[1].tableOptionsUnion()
}
@@ -13407,21 +13510,21 @@ yydefault:
case 461:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableOptions
-//line sql.y:2717
+//line sql.y:2718
{
yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()}
}
yyVAL.union = yyLOCAL
case 462:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2721
+//line sql.y:2722
{
yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion())
}
case 463:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2725
+//line sql.y:2726
{
yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion())
@@ -13429,14 +13532,14 @@ yydefault:
case 464:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableOptions
-//line sql.y:2731
+//line sql.y:2732
{
yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()}
}
yyVAL.union = yyLOCAL
case 465:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2735
+//line sql.y:2736
{
yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion())
@@ -13444,7 +13547,7 @@ yydefault:
case 466:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2741
+//line sql.y:2742
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13452,7 +13555,7 @@ yydefault:
case 467:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2745
+//line sql.y:2746
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13460,7 +13563,7 @@ yydefault:
case 468:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2749
+//line sql.y:2750
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13468,7 +13571,7 @@ yydefault:
case 469:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2753
+//line sql.y:2754
{
yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true}
}
@@ -13476,7 +13579,7 @@ yydefault:
case 470:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2757
+//line sql.y:2758
{
yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true}
}
@@ -13484,7 +13587,7 @@ yydefault:
case 471:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2761
+//line sql.y:2762
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13492,7 +13595,7 @@ yydefault:
case 472:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2765
+//line sql.y:2766
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
@@ -13500,7 +13603,7 @@ yydefault:
case 473:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2769
+//line sql.y:2770
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
@@ -13508,7 +13611,7 @@ yydefault:
case 474:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2773
+//line sql.y:2774
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
@@ -13516,7 +13619,7 @@ yydefault:
case 475:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2777
+//line sql.y:2778
{
yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)}
}
@@ -13524,7 +13627,7 @@ yydefault:
case 476:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2781
+//line sql.y:2782
{
yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)}
}
@@ -13532,7 +13635,7 @@ yydefault:
case 477:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2785
+//line sql.y:2786
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13540,7 +13643,7 @@ yydefault:
case 478:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2789
+//line sql.y:2790
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
@@ -13548,7 +13651,7 @@ yydefault:
case 479:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2793
+//line sql.y:2794
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].identifierCS.String(), CaseSensitive: true}
}
@@ -13556,7 +13659,7 @@ yydefault:
case 480:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2797
+//line sql.y:2798
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
@@ -13564,7 +13667,7 @@ yydefault:
case 481:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2801
+//line sql.y:2802
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
}
@@ -13572,7 +13675,7 @@ yydefault:
case 482:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2805
+//line sql.y:2806
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13580,7 +13683,7 @@ yydefault:
case 483:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2809
+//line sql.y:2810
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13588,7 +13691,7 @@ yydefault:
case 484:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2813
+//line sql.y:2814
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13596,7 +13699,7 @@ yydefault:
case 485:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2817
+//line sql.y:2818
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13604,7 +13707,7 @@ yydefault:
case 486:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2821
+//line sql.y:2822
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
}
@@ -13612,7 +13715,7 @@ yydefault:
case 487:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2825
+//line sql.y:2826
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
@@ -13620,7 +13723,7 @@ yydefault:
case 488:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2829
+//line sql.y:2830
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
}
@@ -13628,7 +13731,7 @@ yydefault:
case 489:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2833
+//line sql.y:2834
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
@@ -13636,7 +13739,7 @@ yydefault:
case 490:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2837
+//line sql.y:2838
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13644,7 +13747,7 @@ yydefault:
case 491:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2841
+//line sql.y:2842
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
}
@@ -13652,7 +13755,7 @@ yydefault:
case 492:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2845
+//line sql.y:2846
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13660,7 +13763,7 @@ yydefault:
case 493:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2849
+//line sql.y:2850
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
}
@@ -13668,7 +13771,7 @@ yydefault:
case 494:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2853
+//line sql.y:2854
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
@@ -13676,7 +13779,7 @@ yydefault:
case 495:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2857
+//line sql.y:2858
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].identifierCI.String() + yyDollar[4].str), CaseSensitive: true}
}
@@ -13684,63 +13787,63 @@ yydefault:
case 496:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2861
+//line sql.y:2862
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()}
}
yyVAL.union = yyLOCAL
case 497:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2866
+//line sql.y:2867
{
yyVAL.str = ""
}
case 498:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2870
+//line sql.y:2871
{
yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
case 499:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2874
+//line sql.y:2875
{
yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
case 509:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2893
+//line sql.y:2894
{
yyVAL.str = String(TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS})
}
case 510:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2897
+//line sql.y:2898
{
yyVAL.str = yyDollar[1].identifierCI.String()
}
case 511:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2901
+//line sql.y:2902
{
yyVAL.str = encodeSQLString(yyDollar[1].str)
}
case 512:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2905
+//line sql.y:2906
{
yyVAL.str = string(yyDollar[1].str)
}
case 513:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2910
+//line sql.y:2911
{
yyVAL.str = ""
}
case 515:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:2916
+//line sql.y:2917
{
yyLOCAL = false
}
@@ -13748,7 +13851,7 @@ yydefault:
case 516:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2920
+//line sql.y:2921
{
yyLOCAL = true
}
@@ -13756,7 +13859,7 @@ yydefault:
case 517:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:2925
+//line sql.y:2926
{
yyLOCAL = nil
}
@@ -13764,27 +13867,27 @@ yydefault:
case 518:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:2929
+//line sql.y:2930
{
yyLOCAL = yyDollar[2].colNameUnion()
}
yyVAL.union = yyLOCAL
case 519:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2934
+//line sql.y:2935
{
yyVAL.str = ""
}
case 520:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2938
+//line sql.y:2939
{
yyVAL.str = string(yyDollar[2].str)
}
case 521:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:2943
+//line sql.y:2944
{
yyLOCAL = nil
}
@@ -13792,7 +13895,7 @@ yydefault:
case 522:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:2947
+//line sql.y:2948
{
yyLOCAL = NewIntLiteral(yyDollar[2].str)
}
@@ -13800,7 +13903,7 @@ yydefault:
case 523:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:2951
+//line sql.y:2952
{
yyLOCAL = NewDecimalLiteral(yyDollar[2].str)
}
@@ -13808,7 +13911,7 @@ yydefault:
case 524:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:2956
+//line sql.y:2957
{
yyLOCAL = nil
}
@@ -13816,14 +13919,14 @@ yydefault:
case 525:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:2960
+//line sql.y:2961
{
yyLOCAL = yyDollar[1].alterOptionsUnion()
}
yyVAL.union = yyLOCAL
case 526:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:2964
+//line sql.y:2965
{
yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()})
@@ -13831,14 +13934,14 @@ yydefault:
case 527:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:2968
+//line sql.y:2969
{
yyLOCAL = yyDollar[1].alterOptionsUnion()
}
yyVAL.union = yyLOCAL
case 528:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2972
+//line sql.y:2973
{
yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...)
@@ -13846,7 +13949,7 @@ yydefault:
case 529:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:2976
+//line sql.y:2977
{
yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()})
}
@@ -13854,21 +13957,21 @@ yydefault:
case 530:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:2982
+//line sql.y:2983
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
case 531:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2986
+//line sql.y:2987
{
yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
}
case 532:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2990
+//line sql.y:2991
{
yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
@@ -13876,7 +13979,7 @@ yydefault:
case 533:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:2996
+//line sql.y:2997
{
yyLOCAL = yyDollar[1].tableOptionsUnion()
}
@@ -13884,7 +13987,7 @@ yydefault:
case 534:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3000
+//line sql.y:3001
{
yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()}
}
@@ -13892,7 +13995,7 @@ yydefault:
case 535:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3004
+//line sql.y:3005
{
yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()}
}
@@ -13900,7 +14003,7 @@ yydefault:
case 536:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3008
+//line sql.y:3009
{
yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()}
}
@@ -13908,7 +14011,7 @@ yydefault:
case 537:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3012
+//line sql.y:3013
{
yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()}
}
@@ -13916,7 +14019,7 @@ yydefault:
case 538:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3016
+//line sql.y:3017
{
yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()}
}
@@ -13924,7 +14027,7 @@ yydefault:
case 539:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3020
+//line sql.y:3021
{
yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true}
}
@@ -13932,7 +14035,7 @@ yydefault:
case 540:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3024
+//line sql.y:3025
{
yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion(), DefaultLiteral: true}
}
@@ -13940,7 +14043,7 @@ yydefault:
case 541:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3028
+//line sql.y:3029
{
yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()}
}
@@ -13948,7 +14051,7 @@ yydefault:
case 542:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3032
+//line sql.y:3033
{
yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: ptr.Of(false)}
}
@@ -13956,7 +14059,7 @@ yydefault:
case 543:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3036
+//line sql.y:3037
{
yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: ptr.Of(true)}
}
@@ -13964,7 +14067,7 @@ yydefault:
case 544:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3040
+//line sql.y:3041
{
yyLOCAL = &AlterCheck{Name: yyDollar[3].identifierCI, Enforced: yyDollar[4].booleanUnion()}
}
@@ -13972,7 +14075,7 @@ yydefault:
case 545:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3044
+//line sql.y:3045
{
yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: false}
}
@@ -13980,7 +14083,7 @@ yydefault:
case 546:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3048
+//line sql.y:3049
{
yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: true}
}
@@ -13988,7 +14091,7 @@ yydefault:
case 547:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3052
+//line sql.y:3053
{
yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()}
}
@@ -13996,7 +14099,7 @@ yydefault:
case 548:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3056
+//line sql.y:3057
{
yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()}
}
@@ -14004,7 +14107,7 @@ yydefault:
case 549:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3060
+//line sql.y:3061
{
yyLOCAL = &RenameColumn{OldName: yyDollar[3].colNameUnion(), NewName: yyDollar[5].colNameUnion()}
}
@@ -14012,7 +14115,7 @@ yydefault:
case 550:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3064
+//line sql.y:3065
{
yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str}
}
@@ -14020,7 +14123,7 @@ yydefault:
case 551:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3068
+//line sql.y:3069
{
yyLOCAL = &KeyState{Enable: false}
}
@@ -14028,7 +14131,7 @@ yydefault:
case 552:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3072
+//line sql.y:3073
{
yyLOCAL = &KeyState{Enable: true}
}
@@ -14036,7 +14139,7 @@ yydefault:
case 553:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3076
+//line sql.y:3077
{
yyLOCAL = &TablespaceOperation{Import: false}
}
@@ -14044,7 +14147,7 @@ yydefault:
case 554:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3080
+//line sql.y:3081
{
yyLOCAL = &TablespaceOperation{Import: true}
}
@@ -14052,7 +14155,7 @@ yydefault:
case 555:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3084
+//line sql.y:3085
{
yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()}
}
@@ -14060,7 +14163,7 @@ yydefault:
case 556:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3088
+//line sql.y:3089
{
yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].identifierCI}
}
@@ -14068,7 +14171,7 @@ yydefault:
case 557:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3092
+//line sql.y:3093
{
yyLOCAL = &DropKey{Type: PrimaryKeyType}
}
@@ -14076,7 +14179,7 @@ yydefault:
case 558:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3096
+//line sql.y:3097
{
yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].identifierCI}
}
@@ -14084,7 +14187,7 @@ yydefault:
case 559:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3100
+//line sql.y:3101
{
yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI}
}
@@ -14092,7 +14195,7 @@ yydefault:
case 560:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3104
+//line sql.y:3105
{
yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI}
}
@@ -14100,7 +14203,7 @@ yydefault:
case 561:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3108
+//line sql.y:3109
{
yyLOCAL = &Force{}
}
@@ -14108,7 +14211,7 @@ yydefault:
case 562:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3112
+//line sql.y:3113
{
yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName}
}
@@ -14116,7 +14219,7 @@ yydefault:
case 563:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3116
+//line sql.y:3117
{
yyLOCAL = &RenameIndex{OldName: yyDollar[3].identifierCI, NewName: yyDollar[5].identifierCI}
}
@@ -14124,14 +14227,14 @@ yydefault:
case 564:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:3122
+//line sql.y:3123
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
case 565:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3126
+//line sql.y:3127
{
yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
@@ -14139,7 +14242,7 @@ yydefault:
case 566:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3132
+//line sql.y:3133
{
yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
}
@@ -14147,7 +14250,7 @@ yydefault:
case 567:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3136
+//line sql.y:3137
{
yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
}
@@ -14155,7 +14258,7 @@ yydefault:
case 568:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3140
+//line sql.y:3141
{
yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
}
@@ -14163,7 +14266,7 @@ yydefault:
case 569:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3144
+//line sql.y:3145
{
yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
}
@@ -14171,7 +14274,7 @@ yydefault:
case 570:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3148
+//line sql.y:3149
{
yyLOCAL = &LockOption{Type: DefaultType}
}
@@ -14179,7 +14282,7 @@ yydefault:
case 571:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3152
+//line sql.y:3153
{
yyLOCAL = &LockOption{Type: NoneType}
}
@@ -14187,7 +14290,7 @@ yydefault:
case 572:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3156
+//line sql.y:3157
{
yyLOCAL = &LockOption{Type: SharedType}
}
@@ -14195,7 +14298,7 @@ yydefault:
case 573:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3160
+//line sql.y:3161
{
yyLOCAL = &LockOption{Type: ExclusiveType}
}
@@ -14203,7 +14306,7 @@ yydefault:
case 574:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3164
+//line sql.y:3165
{
yyLOCAL = &Validation{With: true}
}
@@ -14211,7 +14314,7 @@ yydefault:
case 575:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3168
+//line sql.y:3169
{
yyLOCAL = &Validation{With: false}
}
@@ -14219,7 +14322,7 @@ yydefault:
case 576:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3174
+//line sql.y:3175
{
yyDollar[1].alterTableUnion().FullyParsed = true
yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
@@ -14230,7 +14333,7 @@ yydefault:
case 577:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3181
+//line sql.y:3182
{
yyDollar[1].alterTableUnion().FullyParsed = true
yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
@@ -14241,7 +14344,7 @@ yydefault:
case 578:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3188
+//line sql.y:3189
{
yyDollar[1].alterTableUnion().FullyParsed = true
yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
@@ -14252,7 +14355,7 @@ yydefault:
case 579:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3195
+//line sql.y:3196
{
yyDollar[1].alterTableUnion().FullyParsed = true
yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion()
@@ -14262,7 +14365,7 @@ yydefault:
case 580:
yyDollar = yyS[yypt-11 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3201
+//line sql.y:3202
{
yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName, Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str}
}
@@ -14270,7 +14373,7 @@ yydefault:
case 581:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3211
+//line sql.y:3212
{
yyDollar[1].alterDatabaseUnion().FullyParsed = true
yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS
@@ -14281,7 +14384,7 @@ yydefault:
case 582:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3218
+//line sql.y:3219
{
yyDollar[1].alterDatabaseUnion().FullyParsed = true
yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS
@@ -14292,7 +14395,7 @@ yydefault:
case 583:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3225
+//line sql.y:3226
{
yyLOCAL = &AlterVschema{
Action: CreateVindexDDLAction,
@@ -14308,7 +14411,7 @@ yydefault:
case 584:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3237
+//line sql.y:3238
{
yyLOCAL = &AlterVschema{
Action: DropVindexDDLAction,
@@ -14322,7 +14425,7 @@ yydefault:
case 585:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3247
+//line sql.y:3248
{
yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName}
}
@@ -14330,7 +14433,7 @@ yydefault:
case 586:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3251
+//line sql.y:3252
{
yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName}
}
@@ -14338,7 +14441,7 @@ yydefault:
case 587:
yyDollar = yyS[yypt-13 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3255
+//line sql.y:3256
{
yyLOCAL = &AlterVschema{
Action: AddColVindexDDLAction,
@@ -14355,7 +14458,7 @@ yydefault:
case 588:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3268
+//line sql.y:3269
{
yyLOCAL = &AlterVschema{
Action: DropColVindexDDLAction,
@@ -14369,7 +14472,7 @@ yydefault:
case 589:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3278
+//line sql.y:3279
{
yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName}
}
@@ -14377,7 +14480,7 @@ yydefault:
case 590:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3282
+//line sql.y:3283
{
yyLOCAL = &AlterVschema{Action: DropSequenceDDLAction, Table: yyDollar[6].tableName}
}
@@ -14385,7 +14488,7 @@ yydefault:
case 591:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3286
+//line sql.y:3287
{
yyLOCAL = &AlterVschema{
Action: AddAutoIncDDLAction,
@@ -14400,7 +14503,7 @@ yydefault:
case 592:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3297
+//line sql.y:3298
{
yyLOCAL = &AlterVschema{
Action: DropAutoIncDDLAction,
@@ -14411,7 +14514,7 @@ yydefault:
case 593:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3304
+//line sql.y:3305
{
yyLOCAL = &AlterMigration{
Type: RetryMigrationType,
@@ -14422,7 +14525,7 @@ yydefault:
case 594:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3311
+//line sql.y:3312
{
yyLOCAL = &AlterMigration{
Type: CleanupMigrationType,
@@ -14433,7 +14536,7 @@ yydefault:
case 595:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3318
+//line sql.y:3319
{
yyLOCAL = &AlterMigration{
Type: CleanupAllMigrationType,
@@ -14443,7 +14546,7 @@ yydefault:
case 596:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3324
+//line sql.y:3325
{
yyLOCAL = &AlterMigration{
Type: LaunchMigrationType,
@@ -14454,7 +14557,7 @@ yydefault:
case 597:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3331
+//line sql.y:3332
{
yyLOCAL = &AlterMigration{
Type: LaunchMigrationType,
@@ -14466,7 +14569,7 @@ yydefault:
case 598:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3339
+//line sql.y:3340
{
yyLOCAL = &AlterMigration{
Type: LaunchAllMigrationType,
@@ -14476,7 +14579,7 @@ yydefault:
case 599:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3345
+//line sql.y:3346
{
yyLOCAL = &AlterMigration{
Type: CompleteMigrationType,
@@ -14487,7 +14590,7 @@ yydefault:
case 600:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3352
+//line sql.y:3353
{
yyLOCAL = &AlterMigration{
Type: CompleteAllMigrationType,
@@ -14497,7 +14600,7 @@ yydefault:
case 601:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3358
+//line sql.y:3359
{
yyLOCAL = &AlterMigration{
Type: CancelMigrationType,
@@ -14508,7 +14611,7 @@ yydefault:
case 602:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3365
+//line sql.y:3366
{
yyLOCAL = &AlterMigration{
Type: CancelAllMigrationType,
@@ -14518,7 +14621,7 @@ yydefault:
case 603:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3371
+//line sql.y:3372
{
yyLOCAL = &AlterMigration{
Type: ThrottleMigrationType,
@@ -14531,7 +14634,7 @@ yydefault:
case 604:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3380
+//line sql.y:3381
{
yyLOCAL = &AlterMigration{
Type: ThrottleAllMigrationType,
@@ -14543,7 +14646,7 @@ yydefault:
case 605:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3388
+//line sql.y:3389
{
yyLOCAL = &AlterMigration{
Type: UnthrottleMigrationType,
@@ -14554,7 +14657,7 @@ yydefault:
case 606:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3395
+//line sql.y:3396
{
yyLOCAL = &AlterMigration{
Type: UnthrottleAllMigrationType,
@@ -14564,7 +14667,7 @@ yydefault:
case 607:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3401
+//line sql.y:3402
{
yyLOCAL = &AlterMigration{
Type: ForceCutOverMigrationType,
@@ -14575,7 +14678,7 @@ yydefault:
case 608:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3408
+//line sql.y:3409
{
yyLOCAL = &AlterMigration{
Type: ForceCutOverAllMigrationType,
@@ -14585,7 +14688,7 @@ yydefault:
case 609:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3415
+//line sql.y:3416
{
yyLOCAL = nil
}
@@ -14593,7 +14696,7 @@ yydefault:
case 610:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3419
+//line sql.y:3420
{
yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion()
yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion()
@@ -14604,7 +14707,7 @@ yydefault:
case 611:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3428
+//line sql.y:3429
{
yyLOCAL = &PartitionOption{
IsLinear: yyDollar[1].booleanUnion(),
@@ -14616,7 +14719,7 @@ yydefault:
case 612:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3436
+//line sql.y:3437
{
yyLOCAL = &PartitionOption{
IsLinear: yyDollar[1].booleanUnion(),
@@ -14629,7 +14732,7 @@ yydefault:
case 613:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3445
+//line sql.y:3446
{
yyLOCAL = &PartitionOption{
Type: yyDollar[1].partitionByTypeUnion(),
@@ -14640,7 +14743,7 @@ yydefault:
case 614:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3452
+//line sql.y:3453
{
yyLOCAL = &PartitionOption{
Type: yyDollar[1].partitionByTypeUnion(),
@@ -14651,7 +14754,7 @@ yydefault:
case 615:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *SubPartition
-//line sql.y:3460
+//line sql.y:3461
{
yyLOCAL = nil
}
@@ -14659,7 +14762,7 @@ yydefault:
case 616:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *SubPartition
-//line sql.y:3464
+//line sql.y:3465
{
yyLOCAL = &SubPartition{
IsLinear: yyDollar[3].booleanUnion(),
@@ -14672,7 +14775,7 @@ yydefault:
case 617:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL *SubPartition
-//line sql.y:3473
+//line sql.y:3474
{
yyLOCAL = &SubPartition{
IsLinear: yyDollar[3].booleanUnion(),
@@ -14686,7 +14789,7 @@ yydefault:
case 618:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*PartitionDefinition
-//line sql.y:3484
+//line sql.y:3485
{
yyLOCAL = nil
}
@@ -14694,7 +14797,7 @@ yydefault:
case 619:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL []*PartitionDefinition
-//line sql.y:3488
+//line sql.y:3489
{
yyLOCAL = yyDollar[2].partDefsUnion()
}
@@ -14702,7 +14805,7 @@ yydefault:
case 620:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:3493
+//line sql.y:3494
{
yyLOCAL = false
}
@@ -14710,7 +14813,7 @@ yydefault:
case 621:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:3497
+//line sql.y:3498
{
yyLOCAL = true
}
@@ -14718,7 +14821,7 @@ yydefault:
case 622:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL int
-//line sql.y:3502
+//line sql.y:3503
{
yyLOCAL = 0
}
@@ -14726,7 +14829,7 @@ yydefault:
case 623:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL int
-//line sql.y:3506
+//line sql.y:3507
{
yyLOCAL = convertStringToInt(yyDollar[3].str)
}
@@ -14734,7 +14837,7 @@ yydefault:
case 624:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:3512
+//line sql.y:3513
{
yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].identifierCS}
}
@@ -14742,7 +14845,7 @@ yydefault:
case 625:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL []*JtColumnDefinition
-//line sql.y:3518
+//line sql.y:3519
{
yyLOCAL = yyDollar[3].jtColumnListUnion()
}
@@ -14750,14 +14853,14 @@ yydefault:
case 626:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*JtColumnDefinition
-//line sql.y:3524
+//line sql.y:3525
{
yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()}
}
yyVAL.union = yyLOCAL
case 627:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3528
+//line sql.y:3529
{
yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion())
@@ -14765,7 +14868,7 @@ yydefault:
case 628:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3534
+//line sql.y:3535
{
yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].identifierCI}}
}
@@ -14773,7 +14876,7 @@ yydefault:
case 629:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3538
+//line sql.y:3539
{
yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()}
@@ -14783,7 +14886,7 @@ yydefault:
case 630:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3544
+//line sql.y:3545
{
yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()}
@@ -14793,7 +14896,7 @@ yydefault:
case 631:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3550
+//line sql.y:3551
{
yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()}
@@ -14803,7 +14906,7 @@ yydefault:
case 632:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3556
+//line sql.y:3557
{
yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()}
@@ -14813,7 +14916,7 @@ yydefault:
case 633:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3562
+//line sql.y:3563
{
jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()}
yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath}
@@ -14822,7 +14925,7 @@ yydefault:
case 634:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:3568
+//line sql.y:3569
{
yyLOCAL = false
}
@@ -14830,7 +14933,7 @@ yydefault:
case 635:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:3572
+//line sql.y:3573
{
yyLOCAL = true
}
@@ -14838,7 +14941,7 @@ yydefault:
case 636:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:3576
+//line sql.y:3577
{
yyLOCAL = false
}
@@ -14846,7 +14949,7 @@ yydefault:
case 637:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:3580
+//line sql.y:3581
{
yyLOCAL = true
}
@@ -14854,7 +14957,7 @@ yydefault:
case 638:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *JtOnResponse
-//line sql.y:3586
+//line sql.y:3587
{
yyLOCAL = yyDollar[1].jtOnResponseUnion()
}
@@ -14862,7 +14965,7 @@ yydefault:
case 639:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *JtOnResponse
-//line sql.y:3592
+//line sql.y:3593
{
yyLOCAL = yyDollar[1].jtOnResponseUnion()
}
@@ -14870,7 +14973,7 @@ yydefault:
case 640:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *JtOnResponse
-//line sql.y:3598
+//line sql.y:3599
{
yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType}
}
@@ -14878,7 +14981,7 @@ yydefault:
case 641:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *JtOnResponse
-//line sql.y:3602
+//line sql.y:3603
{
yyLOCAL = &JtOnResponse{ResponseType: NullJSONType}
}
@@ -14886,7 +14989,7 @@ yydefault:
case 642:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *JtOnResponse
-//line sql.y:3606
+//line sql.y:3607
{
yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()}
}
@@ -14894,7 +14997,7 @@ yydefault:
case 643:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL PartitionByType
-//line sql.y:3612
+//line sql.y:3613
{
yyLOCAL = RangeType
}
@@ -14902,7 +15005,7 @@ yydefault:
case 644:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL PartitionByType
-//line sql.y:3616
+//line sql.y:3617
{
yyLOCAL = ListType
}
@@ -14910,7 +15013,7 @@ yydefault:
case 645:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL int
-//line sql.y:3621
+//line sql.y:3622
{
yyLOCAL = -1
}
@@ -14918,7 +15021,7 @@ yydefault:
case 646:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL int
-//line sql.y:3625
+//line sql.y:3626
{
yyLOCAL = convertStringToInt(yyDollar[2].str)
}
@@ -14926,7 +15029,7 @@ yydefault:
case 647:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL int
-//line sql.y:3630
+//line sql.y:3631
{
yyLOCAL = -1
}
@@ -14934,7 +15037,7 @@ yydefault:
case 648:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL int
-//line sql.y:3634
+//line sql.y:3635
{
yyLOCAL = convertStringToInt(yyDollar[2].str)
}
@@ -14942,7 +15045,7 @@ yydefault:
case 649:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3640
+//line sql.y:3641
{
yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}}
}
@@ -14950,7 +15053,7 @@ yydefault:
case 650:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3644
+//line sql.y:3645
{
yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()}
}
@@ -14958,7 +15061,7 @@ yydefault:
case 651:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3648
+//line sql.y:3649
{
yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()}
}
@@ -14966,7 +15069,7 @@ yydefault:
case 652:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3652
+//line sql.y:3653
{
yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()}
}
@@ -14974,7 +15077,7 @@ yydefault:
case 653:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3656
+//line sql.y:3657
{
yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true}
}
@@ -14982,7 +15085,7 @@ yydefault:
case 654:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3660
+//line sql.y:3661
{
yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()}
}
@@ -14990,7 +15093,7 @@ yydefault:
case 655:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3664
+//line sql.y:3665
{
yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true}
}
@@ -14998,7 +15101,7 @@ yydefault:
case 656:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3668
+//line sql.y:3669
{
yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()}
}
@@ -15006,7 +15109,7 @@ yydefault:
case 657:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3672
+//line sql.y:3673
{
yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true}
}
@@ -15014,7 +15117,7 @@ yydefault:
case 658:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3676
+//line sql.y:3677
{
yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)}
}
@@ -15022,7 +15125,7 @@ yydefault:
case 659:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3680
+//line sql.y:3681
{
yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].identifierCI}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()}
}
@@ -15030,7 +15133,7 @@ yydefault:
case 660:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3684
+//line sql.y:3685
{
yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()}
}
@@ -15038,7 +15141,7 @@ yydefault:
case 661:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3688
+//line sql.y:3689
{
yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true}
}
@@ -15046,7 +15149,7 @@ yydefault:
case 662:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3692
+//line sql.y:3693
{
yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()}
}
@@ -15054,7 +15157,7 @@ yydefault:
case 663:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3696
+//line sql.y:3697
{
yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true}
}
@@ -15062,7 +15165,7 @@ yydefault:
case 664:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3700
+//line sql.y:3701
{
yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()}
}
@@ -15070,7 +15173,7 @@ yydefault:
case 665:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3704
+//line sql.y:3705
{
yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true}
}
@@ -15078,7 +15181,7 @@ yydefault:
case 666:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3708
+//line sql.y:3709
{
yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()}
}
@@ -15086,7 +15189,7 @@ yydefault:
case 667:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3712
+//line sql.y:3713
{
yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true}
}
@@ -15094,7 +15197,7 @@ yydefault:
case 668:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3716
+//line sql.y:3717
{
yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()}
}
@@ -15102,7 +15205,7 @@ yydefault:
case 669:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3720
+//line sql.y:3721
{
yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true}
}
@@ -15110,7 +15213,7 @@ yydefault:
case 670:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3724
+//line sql.y:3725
{
yyLOCAL = &PartitionSpec{Action: UpgradeAction}
}
@@ -15118,7 +15221,7 @@ yydefault:
case 671:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:3729
+//line sql.y:3730
{
yyLOCAL = false
}
@@ -15126,7 +15229,7 @@ yydefault:
case 672:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:3733
+//line sql.y:3734
{
yyLOCAL = false
}
@@ -15134,7 +15237,7 @@ yydefault:
case 673:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:3737
+//line sql.y:3738
{
yyLOCAL = true
}
@@ -15142,28 +15245,28 @@ yydefault:
case 674:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*PartitionDefinition
-//line sql.y:3743
+//line sql.y:3744
{
yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()}
}
yyVAL.union = yyLOCAL
case 675:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3747
+//line sql.y:3748
{
yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].partDefUnion())
}
case 676:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:3753
+//line sql.y:3754
{
yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion()
}
case 677:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3758
+//line sql.y:3759
{
yyLOCAL = &PartitionDefinitionOptions{}
}
@@ -15171,7 +15274,7 @@ yydefault:
case 678:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3762
+//line sql.y:3763
{
yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
@@ -15180,7 +15283,7 @@ yydefault:
case 679:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3767
+//line sql.y:3768
{
yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
@@ -15189,7 +15292,7 @@ yydefault:
case 680:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3772
+//line sql.y:3773
{
yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
@@ -15198,7 +15301,7 @@ yydefault:
case 681:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3777
+//line sql.y:3778
{
yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
@@ -15207,7 +15310,7 @@ yydefault:
case 682:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3782
+//line sql.y:3783
{
yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
@@ -15216,7 +15319,7 @@ yydefault:
case 683:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3787
+//line sql.y:3788
{
yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = ptr.Of(yyDollar[2].integerUnion())
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
@@ -15225,7 +15328,7 @@ yydefault:
case 684:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3792
+//line sql.y:3793
{
yyDollar[1].partitionDefinitionOptionsUnion().MinRows = ptr.Of(yyDollar[2].integerUnion())
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
@@ -15234,7 +15337,7 @@ yydefault:
case 685:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3797
+//line sql.y:3798
{
yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
@@ -15243,7 +15346,7 @@ yydefault:
case 686:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3802
+//line sql.y:3803
{
yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
@@ -15252,7 +15355,7 @@ yydefault:
case 687:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SubPartitionDefinitions
-//line sql.y:3808
+//line sql.y:3809
{
yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion()
}
@@ -15260,14 +15363,14 @@ yydefault:
case 688:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SubPartitionDefinitions
-//line sql.y:3814
+//line sql.y:3815
{
yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()}
}
yyVAL.union = yyLOCAL
case 689:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3818
+//line sql.y:3819
{
yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion())
@@ -15275,7 +15378,7 @@ yydefault:
case 690:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SubPartitionDefinition
-//line sql.y:3824
+//line sql.y:3825
{
yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].identifierCI, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()}
}
@@ -15283,7 +15386,7 @@ yydefault:
case 691:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3829
+//line sql.y:3830
{
yyLOCAL = &SubPartitionDefinitionOptions{}
}
@@ -15291,7 +15394,7 @@ yydefault:
case 692:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3833
+//line sql.y:3834
{
yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
@@ -15300,7 +15403,7 @@ yydefault:
case 693:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3838
+//line sql.y:3839
{
yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion()
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
@@ -15309,7 +15412,7 @@ yydefault:
case 694:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3843
+//line sql.y:3844
{
yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
@@ -15318,7 +15421,7 @@ yydefault:
case 695:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3848
+//line sql.y:3849
{
yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
@@ -15327,7 +15430,7 @@ yydefault:
case 696:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3853
+//line sql.y:3854
{
yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = ptr.Of(yyDollar[2].integerUnion())
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
@@ -15336,7 +15439,7 @@ yydefault:
case 697:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3858
+//line sql.y:3859
{
yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = ptr.Of(yyDollar[2].integerUnion())
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
@@ -15345,7 +15448,7 @@ yydefault:
case 698:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3863
+//line sql.y:3864
{
yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
@@ -15354,7 +15457,7 @@ yydefault:
case 699:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionValueRange
-//line sql.y:3870
+//line sql.y:3871
{
yyLOCAL = &PartitionValueRange{
Type: LessThanType,
@@ -15365,7 +15468,7 @@ yydefault:
case 700:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionValueRange
-//line sql.y:3877
+//line sql.y:3878
{
yyLOCAL = &PartitionValueRange{
Type: LessThanType,
@@ -15376,7 +15479,7 @@ yydefault:
case 701:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionValueRange
-//line sql.y:3884
+//line sql.y:3885
{
yyLOCAL = &PartitionValueRange{
Type: InType,
@@ -15387,7 +15490,7 @@ yydefault:
case 702:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:3892
+//line sql.y:3893
{
yyLOCAL = false
}
@@ -15395,7 +15498,7 @@ yydefault:
case 703:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:3896
+//line sql.y:3897
{
yyLOCAL = true
}
@@ -15403,7 +15506,7 @@ yydefault:
case 704:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionEngine
-//line sql.y:3902
+//line sql.y:3903
{
yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].identifierCS.String()}
}
@@ -15411,7 +15514,7 @@ yydefault:
case 705:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:3908
+//line sql.y:3909
{
yyLOCAL = NewStrLiteral(yyDollar[3].str)
}
@@ -15419,7 +15522,7 @@ yydefault:
case 706:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:3914
+//line sql.y:3915
{
yyLOCAL = NewStrLiteral(yyDollar[4].str)
}
@@ -15427,7 +15530,7 @@ yydefault:
case 707:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:3920
+//line sql.y:3921
{
yyLOCAL = NewStrLiteral(yyDollar[4].str)
}
@@ -15435,7 +15538,7 @@ yydefault:
case 708:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL int
-//line sql.y:3926
+//line sql.y:3927
{
yyLOCAL = convertStringToInt(yyDollar[3].str)
}
@@ -15443,41 +15546,41 @@ yydefault:
case 709:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL int
-//line sql.y:3932
+//line sql.y:3933
{
yyLOCAL = convertStringToInt(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
case 710:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3938
+//line sql.y:3939
{
yyVAL.str = yyDollar[3].identifierCS.String()
}
case 711:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinition
-//line sql.y:3944
+//line sql.y:3945
{
yyLOCAL = &PartitionDefinition{Name: yyDollar[2].identifierCI}
}
yyVAL.union = yyLOCAL
case 712:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:3950
+//line sql.y:3951
{
yyVAL.str = ""
}
case 713:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3954
+//line sql.y:3955
{
yyVAL.str = ""
}
case 714:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3960
+//line sql.y:3961
{
yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()}
}
@@ -15485,14 +15588,14 @@ yydefault:
case 715:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL []*RenameTablePair
-//line sql.y:3966
+//line sql.y:3967
{
yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}}
}
yyVAL.union = yyLOCAL
case 716:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:3970
+//line sql.y:3971
{
yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName})
@@ -15500,7 +15603,7 @@ yydefault:
case 717:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3976
+//line sql.y:3977
{
yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()}
}
@@ -15508,20 +15611,20 @@ yydefault:
case 718:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3980
+//line sql.y:3981
{
// Change this to an alter statement
if yyDollar[4].identifierCI.Lowered() == "primary" {
- yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: PrimaryKeyType}}, yyDollar[7].alterOptionsUnion()...)}
+ yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: PrimaryKeyType}}, yyDollar[7].alterOptionsUnion()...)}
} else {
- yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: NormalKeyType, Name: yyDollar[4].identifierCI}}, yyDollar[7].alterOptionsUnion()...)}
+ yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: NormalKeyType, Name: yyDollar[4].identifierCI}}, yyDollar[7].alterOptionsUnion()...)}
}
}
yyVAL.union = yyLOCAL
case 719:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3989
+//line sql.y:3990
{
yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()}
}
@@ -15529,7 +15632,7 @@ yydefault:
case 720:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3993
+//line sql.y:3994
{
yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].identifierCS, IfExists: yyDollar[4].booleanUnion()}
}
@@ -15537,7 +15640,7 @@ yydefault:
case 721:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3999
+//line sql.y:4000
{
yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName}
}
@@ -15545,7 +15648,7 @@ yydefault:
case 722:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4003
+//line sql.y:4004
{
yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName}
}
@@ -15553,7 +15656,7 @@ yydefault:
case 723:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4009
+//line sql.y:4010
{
yyLOCAL = &Analyze{IsLocal: yyDollar[2].booleanUnion(), Table: yyDollar[4].tableName}
}
@@ -15561,7 +15664,7 @@ yydefault:
case 724:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4015
+//line sql.y:4016
{
yyLOCAL = &PurgeBinaryLogs{To: string(yyDollar[5].str)}
}
@@ -15569,7 +15672,7 @@ yydefault:
case 725:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4019
+//line sql.y:4020
{
yyLOCAL = &PurgeBinaryLogs{Before: string(yyDollar[5].str)}
}
@@ -15577,7 +15680,7 @@ yydefault:
case 726:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4025
+//line sql.y:4026
{
yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}}
}
@@ -15585,7 +15688,7 @@ yydefault:
case 727:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4029
+//line sql.y:4030
{
yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}}
}
@@ -15593,7 +15696,7 @@ yydefault:
case 728:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4033
+//line sql.y:4034
{
yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}}
}
@@ -15601,7 +15704,7 @@ yydefault:
case 729:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4037
+//line sql.y:4038
{
yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}}
}
@@ -15609,7 +15712,7 @@ yydefault:
case 730:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4041
+//line sql.y:4042
{
yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}}
}
@@ -15617,7 +15720,7 @@ yydefault:
case 731:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4045
+//line sql.y:4046
{
yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}}
}
@@ -15625,7 +15728,7 @@ yydefault:
case 732:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4049
+//line sql.y:4050
{
yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}}
}
@@ -15633,7 +15736,7 @@ yydefault:
case 733:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4053
+//line sql.y:4054
{
yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}}
}
@@ -15641,7 +15744,7 @@ yydefault:
case 734:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4057
+//line sql.y:4058
{
yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}}
}
@@ -15649,7 +15752,7 @@ yydefault:
case 735:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4061
+//line sql.y:4062
{
yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
}
@@ -15657,7 +15760,7 @@ yydefault:
case 736:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4065
+//line sql.y:4066
{
yyLOCAL = &Show{&ShowBasic{Command: Privilege}}
}
@@ -15665,7 +15768,7 @@ yydefault:
case 737:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4069
+//line sql.y:4070
{
yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}}
}
@@ -15673,7 +15776,7 @@ yydefault:
case 738:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4073
+//line sql.y:4074
{
yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}}
}
@@ -15681,7 +15784,7 @@ yydefault:
case 739:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4077
+//line sql.y:4078
{
yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}}
}
@@ -15689,7 +15792,7 @@ yydefault:
case 740:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4081
+//line sql.y:4082
{
yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}}
}
@@ -15697,7 +15800,7 @@ yydefault:
case 741:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4085
+//line sql.y:4086
{
yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}}
}
@@ -15705,7 +15808,7 @@ yydefault:
case 742:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4089
+//line sql.y:4090
{
yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
}
@@ -15713,7 +15816,7 @@ yydefault:
case 743:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4093
+//line sql.y:4094
{
yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
}
@@ -15721,7 +15824,7 @@ yydefault:
case 744:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4097
+//line sql.y:4098
{
yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].identifierCS, Filter: yyDollar[4].showFilterUnion()}}
}
@@ -15729,7 +15832,7 @@ yydefault:
case 745:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4101
+//line sql.y:4102
{
yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}}
}
@@ -15737,7 +15840,7 @@ yydefault:
case 746:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4105
+//line sql.y:4106
{
yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}}
}
@@ -15745,7 +15848,7 @@ yydefault:
case 747:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4109
+//line sql.y:4110
{
yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}}
}
@@ -15753,7 +15856,7 @@ yydefault:
case 748:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4113
+//line sql.y:4114
{
yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}}
}
@@ -15761,7 +15864,7 @@ yydefault:
case 749:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4117
+//line sql.y:4118
{
yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}}
}
@@ -15769,7 +15872,7 @@ yydefault:
case 750:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4121
+//line sql.y:4122
{
yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}}
}
@@ -15777,7 +15880,7 @@ yydefault:
case 751:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4125
+//line sql.y:4126
{
yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}}
}
@@ -15785,7 +15888,7 @@ yydefault:
case 752:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4129
+//line sql.y:4130
{
yyLOCAL = &Show{&ShowBasic{Command: Engines}}
}
@@ -15793,7 +15896,7 @@ yydefault:
case 753:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4133
+//line sql.y:4134
{
yyLOCAL = &Show{&ShowBasic{Command: Plugins}}
}
@@ -15801,7 +15904,7 @@ yydefault:
case 754:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4137
+//line sql.y:4138
{
yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].identifierCS}}
}
@@ -15809,7 +15912,7 @@ yydefault:
case 755:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4141
+//line sql.y:4142
{
yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].identifierCS}}
}
@@ -15817,7 +15920,7 @@ yydefault:
case 756:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4145
+//line sql.y:4146
{
yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}}
}
@@ -15825,7 +15928,7 @@ yydefault:
case 757:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4149
+//line sql.y:4150
{
yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].identifierCS}}
}
@@ -15833,7 +15936,7 @@ yydefault:
case 758:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4153
+//line sql.y:4154
{
yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)}
}
@@ -15841,7 +15944,7 @@ yydefault:
case 759:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4157
+//line sql.y:4158
{
yyLOCAL = &ShowThrottledApps{}
}
@@ -15849,7 +15952,7 @@ yydefault:
case 760:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4161
+//line sql.y:4162
{
yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}}
}
@@ -15857,7 +15960,7 @@ yydefault:
case 761:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4165
+//line sql.y:4166
{
yyLOCAL = &ShowThrottlerStatus{}
}
@@ -15865,7 +15968,7 @@ yydefault:
case 762:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4169
+//line sql.y:4170
{
yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}}
}
@@ -15873,7 +15976,7 @@ yydefault:
case 763:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4173
+//line sql.y:4174
{
yyLOCAL = &Show{&ShowBasic{Command: VschemaKeyspaces}}
}
@@ -15881,7 +15984,7 @@ yydefault:
case 764:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4177
+//line sql.y:4178
{
yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}}
}
@@ -15889,7 +15992,7 @@ yydefault:
case 765:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4181
+//line sql.y:4182
{
yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}}
}
@@ -15897,7 +16000,7 @@ yydefault:
case 766:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4185
+//line sql.y:4186
{
yyLOCAL = &Show{&ShowBasic{Command: Warnings}}
}
@@ -15905,7 +16008,7 @@ yydefault:
case 767:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4189
+//line sql.y:4190
{
yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}}
}
@@ -15913,7 +16016,7 @@ yydefault:
case 768:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4193
+//line sql.y:4194
{
yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}}
}
@@ -15921,7 +16024,7 @@ yydefault:
case 769:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4197
+//line sql.y:4198
{
yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}}
}
@@ -15929,7 +16032,7 @@ yydefault:
case 770:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4204
+//line sql.y:4205
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].identifierCI.String())}}
}
@@ -15937,7 +16040,7 @@ yydefault:
case 771:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4208
+//line sql.y:4209
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}}
}
@@ -15945,7 +16048,7 @@ yydefault:
case 772:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4212
+//line sql.y:4213
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String()}}
}
@@ -15953,7 +16056,7 @@ yydefault:
case 773:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4216
+//line sql.y:4217
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}}
}
@@ -15961,7 +16064,7 @@ yydefault:
case 774:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4220
+//line sql.y:4221
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}}
}
@@ -15969,7 +16072,7 @@ yydefault:
case 775:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4224
+//line sql.y:4225
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}}
}
@@ -15977,7 +16080,7 @@ yydefault:
case 776:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4228
+//line sql.y:4229
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}}
}
@@ -15985,7 +16088,7 @@ yydefault:
case 777:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4232
+//line sql.y:4233
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}}
}
@@ -15993,7 +16096,7 @@ yydefault:
case 778:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4236
+//line sql.y:4237
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}}
}
@@ -16001,862 +16104,894 @@ yydefault:
case 779:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4240
+//line sql.y:4241
{
yyLOCAL = &Show{&ShowTransactionStatus{TransactionID: string(yyDollar[5].str)}}
}
yyVAL.union = yyLOCAL
case 780:
- yyDollar = yyS[yypt-0 : yypt+1]
+ yyDollar = yyS[yypt-3 : yypt+1]
+ var yyLOCAL Statement
//line sql.y:4245
{
+ yyLOCAL = &Show{&ShowTransactionStatus{}}
}
+ yyVAL.union = yyLOCAL
case 781:
- yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4247
+ yyDollar = yyS[yypt-5 : yypt+1]
+ var yyLOCAL Statement
+//line sql.y:4249
{
+ yyLOCAL = &Show{&ShowTransactionStatus{Keyspace: yyDollar[5].identifierCS.String()}}
}
+ yyVAL.union = yyLOCAL
case 782:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4251
+//line sql.y:4254
{
- yyVAL.str = ""
}
case 783:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4255
+//line sql.y:4256
{
- yyVAL.str = "extended "
}
case 784:
yyDollar = yyS[yypt-0 : yypt+1]
+//line sql.y:4260
+ {
+ yyVAL.str = ""
+ }
+ case 785:
+ yyDollar = yyS[yypt-1 : yypt+1]
+//line sql.y:4264
+ {
+ yyVAL.str = "extended "
+ }
+ case 786:
+ yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:4261
+//line sql.y:4270
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 785:
+ case 787:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4265
+//line sql.y:4274
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 786:
+ case 788:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4271
+//line sql.y:4280
{
yyVAL.str = string(yyDollar[1].str)
}
- case 787:
+ case 789:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4275
+//line sql.y:4284
{
yyVAL.str = string(yyDollar[1].str)
}
- case 788:
+ case 790:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4281
+//line sql.y:4290
{
yyVAL.identifierCS = NewIdentifierCS("")
}
- case 789:
+ case 791:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4285
+//line sql.y:4294
{
yyVAL.identifierCS = yyDollar[2].identifierCS
}
- case 790:
+ case 792:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4289
+//line sql.y:4298
{
yyVAL.identifierCS = yyDollar[2].identifierCS
}
- case 791:
+ case 793:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ShowFilter
-//line sql.y:4295
+//line sql.y:4304
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 792:
+ case 794:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ShowFilter
-//line sql.y:4299
+//line sql.y:4308
{
yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)}
}
yyVAL.union = yyLOCAL
- case 793:
+ case 795:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ShowFilter
-//line sql.y:4303
+//line sql.y:4312
{
yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 794:
+ case 796:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ShowFilter
-//line sql.y:4309
+//line sql.y:4318
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 795:
+ case 797:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ShowFilter
-//line sql.y:4313
+//line sql.y:4322
{
yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)}
}
yyVAL.union = yyLOCAL
- case 796:
+ case 798:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4319
+//line sql.y:4328
{
yyVAL.empty = struct{}{}
}
- case 797:
+ case 799:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4323
+//line sql.y:4332
{
yyVAL.empty = struct{}{}
}
- case 798:
+ case 800:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4327
+//line sql.y:4336
{
yyVAL.empty = struct{}{}
}
- case 799:
+ case 801:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4333
+//line sql.y:4342
{
yyVAL.str = string(yyDollar[1].str)
}
- case 800:
+ case 802:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4337
+//line sql.y:4346
{
yyVAL.str = string(yyDollar[1].str)
}
- case 801:
+ case 803:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4343
+//line sql.y:4352
{
yyLOCAL = &Use{DBName: yyDollar[2].identifierCS}
}
yyVAL.union = yyLOCAL
- case 802:
+ case 804:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4347
+//line sql.y:4356
{
yyLOCAL = &Use{DBName: IdentifierCS{v: ""}}
}
yyVAL.union = yyLOCAL
- case 803:
+ case 805:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4351
+//line sql.y:4360
{
yyLOCAL = &Use{DBName: NewIdentifierCS(yyDollar[2].identifierCS.String() + "@" + string(yyDollar[3].str))}
}
yyVAL.union = yyLOCAL
- case 804:
+ case 806:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4358
+//line sql.y:4367
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 805:
+ case 807:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4362
+//line sql.y:4371
{
yyVAL.identifierCS = NewIdentifierCS("@" + string(yyDollar[1].str))
}
- case 806:
+ case 808:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4366
+//line sql.y:4375
{
yyVAL.identifierCS = NewIdentifierCS("@@" + string(yyDollar[1].str))
}
- case 807:
+ case 809:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4370
+//line sql.y:4379
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 808:
+ case 810:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4377
+//line sql.y:4386
{
yyLOCAL = &Begin{}
}
yyVAL.union = yyLOCAL
- case 809:
+ case 811:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4381
+//line sql.y:4390
{
yyLOCAL = &Begin{TxAccessModes: yyDollar[3].txAccessModesUnion()}
}
yyVAL.union = yyLOCAL
- case 810:
+ case 812:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []TxAccessMode
-//line sql.y:4386
+//line sql.y:4395
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 811:
+ case 813:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []TxAccessMode
-//line sql.y:4390
+//line sql.y:4399
{
yyLOCAL = yyDollar[1].txAccessModesUnion()
}
yyVAL.union = yyLOCAL
- case 812:
+ case 814:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []TxAccessMode
-//line sql.y:4396
+//line sql.y:4405
{
yyLOCAL = []TxAccessMode{yyDollar[1].txAccessModeUnion()}
}
yyVAL.union = yyLOCAL
- case 813:
+ case 815:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4400
+//line sql.y:4409
{
yySLICE := (*[]TxAccessMode)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].txAccessModeUnion())
}
- case 814:
+ case 816:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL TxAccessMode
-//line sql.y:4406
+//line sql.y:4415
{
yyLOCAL = WithConsistentSnapshot
}
yyVAL.union = yyLOCAL
- case 815:
+ case 817:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL TxAccessMode
-//line sql.y:4410
+//line sql.y:4419
{
yyLOCAL = ReadWrite
}
yyVAL.union = yyLOCAL
- case 816:
+ case 818:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL TxAccessMode
-//line sql.y:4414
+//line sql.y:4423
{
yyLOCAL = ReadOnly
}
yyVAL.union = yyLOCAL
- case 817:
+ case 819:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4421
+//line sql.y:4430
{
yyLOCAL = &Commit{}
}
yyVAL.union = yyLOCAL
- case 818:
+ case 820:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4427
+//line sql.y:4436
{
yyLOCAL = &Rollback{}
}
yyVAL.union = yyLOCAL
- case 819:
+ case 821:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4431
+//line sql.y:4440
{
yyLOCAL = &SRollback{Name: yyDollar[5].identifierCI}
}
yyVAL.union = yyLOCAL
- case 820:
+ case 822:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4436
+//line sql.y:4445
{
yyVAL.empty = struct{}{}
}
- case 821:
+ case 823:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4438
+//line sql.y:4447
{
yyVAL.empty = struct{}{}
}
- case 822:
+ case 824:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4441
+//line sql.y:4450
{
yyVAL.empty = struct{}{}
}
- case 823:
+ case 825:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4443
+//line sql.y:4452
{
yyVAL.empty = struct{}{}
}
- case 824:
+ case 826:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4447
+//line sql.y:4456
{
yyLOCAL = &Savepoint{Name: yyDollar[2].identifierCI}
}
yyVAL.union = yyLOCAL
- case 825:
+ case 827:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4453
+//line sql.y:4462
{
yyLOCAL = &Release{Name: yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
- case 826:
+ case 828:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL ExplainType
-//line sql.y:4458
+//line sql.y:4467
{
yyLOCAL = EmptyType
}
yyVAL.union = yyLOCAL
- case 827:
+ case 829:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ExplainType
-//line sql.y:4462
+//line sql.y:4471
{
yyLOCAL = JSONType
}
yyVAL.union = yyLOCAL
- case 828:
+ case 830:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ExplainType
-//line sql.y:4466
+//line sql.y:4475
{
yyLOCAL = TreeType
}
yyVAL.union = yyLOCAL
- case 829:
+ case 831:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ExplainType
-//line sql.y:4470
+//line sql.y:4479
{
yyLOCAL = TraditionalType
}
yyVAL.union = yyLOCAL
- case 830:
+ case 832:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ExplainType
-//line sql.y:4474
+//line sql.y:4483
{
yyLOCAL = AnalyzeType
}
yyVAL.union = yyLOCAL
- case 831:
+ case 833:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL VExplainType
-//line sql.y:4479
+//line sql.y:4488
{
yyLOCAL = PlanVExplainType
}
yyVAL.union = yyLOCAL
- case 832:
+ case 834:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL VExplainType
-//line sql.y:4483
+//line sql.y:4492
{
yyLOCAL = PlanVExplainType
}
yyVAL.union = yyLOCAL
- case 833:
+ case 835:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL VExplainType
-//line sql.y:4487
+//line sql.y:4496
{
yyLOCAL = AllVExplainType
}
yyVAL.union = yyLOCAL
- case 834:
+ case 836:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL VExplainType
-//line sql.y:4491
+//line sql.y:4500
{
yyLOCAL = QueriesVExplainType
}
yyVAL.union = yyLOCAL
- case 835:
+ case 837:
+ yyDollar = yyS[yypt-1 : yypt+1]
+ var yyLOCAL VExplainType
+//line sql.y:4504
+ {
+ yyLOCAL = TraceVExplainType
+ }
+ yyVAL.union = yyLOCAL
+ case 838:
+ yyDollar = yyS[yypt-1 : yypt+1]
+ var yyLOCAL VExplainType
+//line sql.y:4508
+ {
+ yyLOCAL = KeysVExplainType
+ }
+ yyVAL.union = yyLOCAL
+ case 839:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4497
+//line sql.y:4514
{
yyVAL.str = yyDollar[1].str
}
- case 836:
+ case 840:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4501
+//line sql.y:4518
{
yyVAL.str = yyDollar[1].str
}
- case 837:
+ case 841:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4505
+//line sql.y:4522
{
yyVAL.str = yyDollar[1].str
}
- case 838:
+ case 842:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4511
+//line sql.y:4528
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
yyVAL.union = yyLOCAL
- case 839:
+ case 843:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4515
+//line sql.y:4532
{
yyLOCAL = yyDollar[1].statementUnion()
}
yyVAL.union = yyLOCAL
- case 840:
+ case 844:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4519
+//line sql.y:4536
{
yyLOCAL = yyDollar[1].statementUnion()
}
yyVAL.union = yyLOCAL
- case 841:
+ case 845:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4523
+//line sql.y:4540
{
yyLOCAL = yyDollar[1].statementUnion()
}
yyVAL.union = yyLOCAL
- case 842:
+ case 846:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4528
+//line sql.y:4545
{
yyVAL.str = ""
}
- case 843:
+ case 847:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4532
+//line sql.y:4549
{
yyVAL.str = yyDollar[1].identifierCI.val
}
- case 844:
+ case 848:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4536
+//line sql.y:4553
{
yyVAL.str = encodeSQLString(yyDollar[1].str)
}
- case 845:
+ case 849:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4542
+//line sql.y:4559
{
yyLOCAL = &ExplainTab{Table: yyDollar[3].tableName, Wild: yyDollar[4].str}
}
yyVAL.union = yyLOCAL
- case 846:
+ case 850:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4546
+//line sql.y:4563
{
yyLOCAL = &ExplainStmt{Type: yyDollar[3].explainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()}
}
yyVAL.union = yyLOCAL
- case 847:
+ case 851:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4552
+//line sql.y:4569
{
yyLOCAL = &VExplainStmt{Type: yyDollar[3].vexplainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()}
}
yyVAL.union = yyLOCAL
- case 848:
+ case 852:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4558
+//line sql.y:4575
{
yyLOCAL = &OtherAdmin{}
}
yyVAL.union = yyLOCAL
- case 849:
+ case 853:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4562
+//line sql.y:4579
{
yyLOCAL = &OtherAdmin{}
}
yyVAL.union = yyLOCAL
- case 850:
+ case 854:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4568
+//line sql.y:4585
{
yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()}
}
yyVAL.union = yyLOCAL
- case 851:
+ case 855:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableAndLockTypes
-//line sql.y:4574
+//line sql.y:4591
{
yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 852:
+ case 856:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4578
+//line sql.y:4595
{
yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion())
}
- case 853:
+ case 857:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *TableAndLockType
-//line sql.y:4584
+//line sql.y:4601
{
yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 854:
+ case 858:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LockType
-//line sql.y:4590
+//line sql.y:4607
{
yyLOCAL = Read
}
yyVAL.union = yyLOCAL
- case 855:
+ case 859:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL LockType
-//line sql.y:4594
+//line sql.y:4611
{
yyLOCAL = ReadLocal
}
yyVAL.union = yyLOCAL
- case 856:
+ case 860:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LockType
-//line sql.y:4598
+//line sql.y:4615
{
yyLOCAL = Write
}
yyVAL.union = yyLOCAL
- case 857:
+ case 861:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL LockType
-//line sql.y:4602
+//line sql.y:4619
{
yyLOCAL = LowPriorityWrite
}
yyVAL.union = yyLOCAL
- case 858:
+ case 862:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4608
+//line sql.y:4625
{
yyLOCAL = &UnlockTables{}
}
yyVAL.union = yyLOCAL
- case 859:
+ case 863:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4614
+//line sql.y:4631
{
yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)}
}
yyVAL.union = yyLOCAL
- case 860:
+ case 864:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4620
+//line sql.y:4637
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs}
}
yyVAL.union = yyLOCAL
- case 861:
+ case 865:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4624
+//line sql.y:4641
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 862:
+ case 866:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4628
+//line sql.y:4645
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true}
}
yyVAL.union = yyLOCAL
- case 863:
+ case 867:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4632
+//line sql.y:4649
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()}
}
yyVAL.union = yyLOCAL
- case 864:
+ case 868:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4636
+//line sql.y:4653
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true}
}
yyVAL.union = yyLOCAL
- case 865:
+ case 869:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4640
+//line sql.y:4657
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true}
}
yyVAL.union = yyLOCAL
- case 866:
+ case 870:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4646
+//line sql.y:4663
{
yyVAL.strs = []string{yyDollar[1].str}
}
- case 867:
+ case 871:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4650
+//line sql.y:4667
{
yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str)
}
- case 868:
+ case 872:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4656
+//line sql.y:4673
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 869:
+ case 873:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4660
+//line sql.y:4677
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 870:
+ case 874:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4664
+//line sql.y:4681
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 871:
+ case 875:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4668
+//line sql.y:4685
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 872:
+ case 876:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4672
+//line sql.y:4689
{
yyVAL.str = string(yyDollar[1].str)
}
- case 873:
+ case 877:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4676
+//line sql.y:4693
{
yyVAL.str = string(yyDollar[1].str)
}
- case 874:
+ case 878:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4680
+//line sql.y:4697
{
yyVAL.str = string(yyDollar[1].str)
}
- case 875:
+ case 879:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4684
+//line sql.y:4701
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str
}
- case 876:
+ case 880:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4688
+//line sql.y:4705
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 877:
+ case 881:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4692
+//line sql.y:4709
{
yyVAL.str = string(yyDollar[1].str)
}
- case 878:
+ case 882:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4696
+//line sql.y:4713
{
yyVAL.str = string(yyDollar[1].str)
}
- case 879:
+ case 883:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4700
+//line sql.y:4717
{
yyVAL.str = string(yyDollar[1].str)
}
- case 880:
+ case 884:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:4705
+//line sql.y:4722
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 881:
+ case 885:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4709
+//line sql.y:4726
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 882:
+ case 886:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4713
+//line sql.y:4730
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 883:
+ case 887:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4718
+//line sql.y:4735
{
yyVAL.str = ""
}
- case 884:
+ case 888:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4722
+//line sql.y:4739
{
yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String()
}
- case 885:
+ case 889:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4727
+//line sql.y:4744
{
setAllowComments(yylex, true)
}
- case 886:
+ case 890:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4731
+//line sql.y:4748
{
yyVAL.strs = yyDollar[2].strs
setAllowComments(yylex, false)
}
- case 887:
+ case 891:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4737
+//line sql.y:4754
{
yyVAL.strs = nil
}
- case 888:
+ case 892:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4741
+//line sql.y:4758
{
yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str)
}
- case 889:
+ case 893:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4747
+//line sql.y:4764
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 890:
+ case 894:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:4751
+//line sql.y:4768
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 891:
+ case 895:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:4755
+//line sql.y:4772
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 892:
+ case 896:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4760
+//line sql.y:4777
{
yyVAL.str = ""
}
- case 893:
+ case 897:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4764
+//line sql.y:4781
{
yyVAL.str = SQLNoCacheStr
}
- case 894:
+ case 898:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4768
+//line sql.y:4785
{
yyVAL.str = SQLCacheStr
}
- case 895:
+ case 899:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:4773
+//line sql.y:4790
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 896:
+ case 900:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4777
+//line sql.y:4794
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 897:
+ case 901:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4781
+//line sql.y:4798
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 898:
+ case 902:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4787
+//line sql.y:4804
{
yyLOCAL = &PrepareStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 899:
+ case 903:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4791
+//line sql.y:4808
{
yyLOCAL = &PrepareStmt{
Name: yyDollar[3].identifierCI,
@@ -16865,597 +17000,597 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 900:
+ case 904:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4801
+//line sql.y:4818
{
yyLOCAL = &ExecuteStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].variablesUnion()}
}
yyVAL.union = yyLOCAL
- case 901:
+ case 905:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*Variable
-//line sql.y:4806
+//line sql.y:4823
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 902:
+ case 906:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []*Variable
-//line sql.y:4810
+//line sql.y:4827
{
yyLOCAL = yyDollar[2].variablesUnion()
}
yyVAL.union = yyLOCAL
- case 903:
+ case 907:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4816
+//line sql.y:4833
{
yyLOCAL = &DeallocateStmt{Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI}
}
yyVAL.union = yyLOCAL
- case 904:
+ case 908:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4820
+//line sql.y:4837
{
yyLOCAL = &DeallocateStmt{Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI}
}
yyVAL.union = yyLOCAL
- case 905:
+ case 909:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4825
+//line sql.y:4842
{
yyVAL.strs = nil
}
- case 906:
+ case 910:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4829
+//line sql.y:4846
{
yyVAL.strs = yyDollar[1].strs
}
- case 907:
+ case 911:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4835
+//line sql.y:4852
{
yyVAL.strs = []string{yyDollar[1].str}
}
- case 908:
+ case 912:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4839
+//line sql.y:4856
{
yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str)
}
- case 909:
+ case 913:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4845
+//line sql.y:4862
{
yyVAL.str = SQLNoCacheStr
}
- case 910:
+ case 914:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4849
+//line sql.y:4866
{
yyVAL.str = SQLCacheStr
}
- case 911:
+ case 915:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4853
+//line sql.y:4870
{
yyVAL.str = DistinctStr
}
- case 912:
+ case 916:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4857
+//line sql.y:4874
{
yyVAL.str = DistinctStr
}
- case 913:
+ case 917:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4861
+//line sql.y:4878
{
yyVAL.str = HighPriorityStr
}
- case 914:
+ case 918:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4865
+//line sql.y:4882
{
yyVAL.str = StraightJoinHint
}
- case 915:
+ case 919:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4869
+//line sql.y:4886
{
yyVAL.str = SQLBufferResultStr
}
- case 916:
+ case 920:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4873
+//line sql.y:4890
{
yyVAL.str = SQLSmallResultStr
}
- case 917:
+ case 921:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4877
+//line sql.y:4894
{
yyVAL.str = SQLBigResultStr
}
- case 918:
+ case 922:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4881
+//line sql.y:4898
{
yyVAL.str = SQLCalcFoundRowsStr
}
- case 919:
+ case 923:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4885
+//line sql.y:4902
{
yyVAL.str = AllStr // These are not picked up by NewSelect, and so ALL will be dropped. But this is OK, since it's redundant anyway
}
- case 920:
+ case 924:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectExprs
-//line sql.y:4891
+//line sql.y:4908
{
yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()}
}
yyVAL.union = yyLOCAL
- case 921:
+ case 925:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4895
+//line sql.y:4912
{
yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion())
}
- case 922:
+ case 926:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectExpr
-//line sql.y:4901
+//line sql.y:4918
{
yyLOCAL = &StarExpr{}
}
yyVAL.union = yyLOCAL
- case 923:
+ case 927:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL SelectExpr
-//line sql.y:4905
+//line sql.y:4922
{
yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].identifierCI}
}
yyVAL.union = yyLOCAL
- case 924:
+ case 928:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectExpr
-//line sql.y:4909
+//line sql.y:4926
{
yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].identifierCS}}
}
yyVAL.union = yyLOCAL
- case 925:
+ case 929:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL SelectExpr
-//line sql.y:4913
+//line sql.y:4930
{
yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}}
}
yyVAL.union = yyLOCAL
- case 926:
+ case 930:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4918
+//line sql.y:4935
{
yyVAL.identifierCI = IdentifierCI{}
}
- case 927:
+ case 931:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4922
+//line sql.y:4939
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
- case 928:
+ case 932:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4926
+//line sql.y:4943
{
yyVAL.identifierCI = yyDollar[2].identifierCI
}
- case 930:
+ case 934:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4933
+//line sql.y:4950
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
- case 931:
+ case 935:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL TableExprs
-//line sql.y:4938
+//line sql.y:4955
{
yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewIdentifierCS("dual")}}}
}
yyVAL.union = yyLOCAL
- case 932:
+ case 936:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableExprs
-//line sql.y:4942
+//line sql.y:4959
{
yyLOCAL = yyDollar[1].tableExprsUnion()
}
yyVAL.union = yyLOCAL
- case 933:
+ case 937:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL TableExprs
-//line sql.y:4948
+//line sql.y:4965
{
yyLOCAL = yyDollar[2].tableExprsUnion()
}
yyVAL.union = yyLOCAL
- case 934:
+ case 938:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableExprs
-//line sql.y:4954
+//line sql.y:4971
{
yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()}
}
yyVAL.union = yyLOCAL
- case 935:
+ case 939:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4958
+//line sql.y:4975
{
yySLICE := (*TableExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion())
}
- case 938:
+ case 942:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:4968
+//line sql.y:4985
{
yyLOCAL = yyDollar[1].aliasedTableNameUnion()
}
yyVAL.union = yyLOCAL
- case 939:
+ case 943:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:4972
+//line sql.y:4989
{
yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].identifierCS, Columns: yyDollar[4].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 940:
+ case 944:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:4976
+//line sql.y:4993
{
yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()}
}
yyVAL.union = yyLOCAL
- case 941:
+ case 945:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:4980
+//line sql.y:4997
{
yyLOCAL = yyDollar[1].tableExprUnion()
}
yyVAL.union = yyLOCAL
- case 942:
+ case 946:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *DerivedTable
-//line sql.y:4986
+//line sql.y:5003
{
yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[1].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 943:
+ case 947:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *DerivedTable
-//line sql.y:4990
+//line sql.y:5007
{
yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[2].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 944:
+ case 948:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *AliasedTableExpr
-//line sql.y:4996
+//line sql.y:5013
{
yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].identifierCS, Hints: yyDollar[3].indexHintsUnion()}
}
yyVAL.union = yyLOCAL
- case 945:
+ case 949:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *AliasedTableExpr
-//line sql.y:5000
+//line sql.y:5017
{
yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].identifierCS, Hints: yyDollar[7].indexHintsUnion()}
}
yyVAL.union = yyLOCAL
- case 946:
+ case 950:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5005
+//line sql.y:5022
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 947:
+ case 951:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5009
+//line sql.y:5026
{
yyLOCAL = yyDollar[2].columnsUnion()
}
yyVAL.union = yyLOCAL
- case 948:
+ case 952:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5014
+//line sql.y:5031
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 949:
+ case 953:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5018
+//line sql.y:5035
{
yyLOCAL = yyDollar[1].columnsUnion()
}
yyVAL.union = yyLOCAL
- case 950:
+ case 954:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5024
+//line sql.y:5041
{
yyLOCAL = Columns{yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 951:
+ case 955:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5028
+//line sql.y:5045
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
}
- case 952:
+ case 956:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*Variable
-//line sql.y:5034
+//line sql.y:5051
{
yyLOCAL = []*Variable{yyDollar[1].variableUnion()}
}
yyVAL.union = yyLOCAL
- case 953:
+ case 957:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5038
+//line sql.y:5055
{
yySLICE := (*[]*Variable)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].variableUnion())
}
- case 954:
+ case 958:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5044
+//line sql.y:5061
{
yyLOCAL = Columns{yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 955:
+ case 959:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5048
+//line sql.y:5065
{
yyLOCAL = Columns{NewIdentifierCI(string(yyDollar[1].str))}
}
yyVAL.union = yyLOCAL
- case 956:
+ case 960:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5052
+//line sql.y:5069
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
}
- case 957:
+ case 961:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5056
+//line sql.y:5073
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, NewIdentifierCI(string(yyDollar[3].str)))
}
- case 958:
+ case 962:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Partitions
-//line sql.y:5062
+//line sql.y:5079
{
yyLOCAL = Partitions{yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 959:
+ case 963:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5066
+//line sql.y:5083
{
yySLICE := (*Partitions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
}
- case 960:
+ case 964:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:5079
+//line sql.y:5096
{
yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
}
yyVAL.union = yyLOCAL
- case 961:
+ case 965:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:5083
+//line sql.y:5100
{
yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
}
yyVAL.union = yyLOCAL
- case 962:
+ case 966:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:5087
+//line sql.y:5104
{
yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
}
yyVAL.union = yyLOCAL
- case 963:
+ case 967:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:5091
+//line sql.y:5108
{
yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()}
}
yyVAL.union = yyLOCAL
- case 964:
+ case 968:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:5097
+//line sql.y:5114
{
yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()}
}
- case 965:
+ case 969:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:5099
+//line sql.y:5116
{
yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()}
}
- case 966:
+ case 970:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5103
+//line sql.y:5120
{
yyVAL.joinCondition = &JoinCondition{}
}
- case 967:
+ case 971:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5105
+//line sql.y:5122
{
yyVAL.joinCondition = yyDollar[1].joinCondition
}
- case 968:
+ case 972:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5109
+//line sql.y:5126
{
yyVAL.joinCondition = &JoinCondition{}
}
- case 969:
+ case 973:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:5111
+//line sql.y:5128
{
yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()}
}
- case 970:
+ case 974:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5114
+//line sql.y:5131
{
yyVAL.empty = struct{}{}
}
- case 971:
+ case 975:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5116
+//line sql.y:5133
{
yyVAL.empty = struct{}{}
}
- case 972:
+ case 976:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5119
+//line sql.y:5136
{
yyVAL.identifierCS = NewIdentifierCS("")
}
- case 973:
+ case 977:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5123
+//line sql.y:5140
{
yyVAL.identifierCS = yyDollar[1].identifierCS
}
- case 974:
+ case 978:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:5127
+//line sql.y:5144
{
yyVAL.identifierCS = yyDollar[2].identifierCS
}
- case 976:
+ case 980:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5134
+//line sql.y:5151
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 977:
+ case 981:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5140
+//line sql.y:5157
{
yyLOCAL = NormalJoinType
}
yyVAL.union = yyLOCAL
- case 978:
+ case 982:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5144
+//line sql.y:5161
{
yyLOCAL = NormalJoinType
}
yyVAL.union = yyLOCAL
- case 979:
+ case 983:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5148
+//line sql.y:5165
{
yyLOCAL = NormalJoinType
}
yyVAL.union = yyLOCAL
- case 980:
+ case 984:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5154
+//line sql.y:5171
{
yyLOCAL = StraightJoinType
}
yyVAL.union = yyLOCAL
- case 981:
+ case 985:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5160
+//line sql.y:5177
{
yyLOCAL = LeftJoinType
}
yyVAL.union = yyLOCAL
- case 982:
+ case 986:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5164
+//line sql.y:5181
{
yyLOCAL = LeftJoinType
}
yyVAL.union = yyLOCAL
- case 983:
+ case 987:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5168
+//line sql.y:5185
{
yyLOCAL = RightJoinType
}
yyVAL.union = yyLOCAL
- case 984:
+ case 988:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5172
+//line sql.y:5189
{
yyLOCAL = RightJoinType
}
yyVAL.union = yyLOCAL
- case 985:
+ case 989:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5178
+//line sql.y:5195
{
yyLOCAL = NaturalJoinType
}
yyVAL.union = yyLOCAL
- case 986:
+ case 990:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5182
+//line sql.y:5199
{
if yyDollar[2].joinTypeUnion() == LeftJoinType {
yyLOCAL = NaturalLeftJoinType
@@ -17464,667 +17599,667 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 987:
+ case 991:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:5192
+//line sql.y:5209
{
yyVAL.tableName = yyDollar[2].tableName
}
- case 988:
+ case 992:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5196
+//line sql.y:5213
{
yyVAL.tableName = yyDollar[1].tableName
}
- case 989:
+ case 993:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5202
+//line sql.y:5219
{
yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS}
}
- case 990:
+ case 994:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5206
+//line sql.y:5223
{
yyVAL.tableName = TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}
}
- case 991:
+ case 995:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5212
+//line sql.y:5229
{
yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS}
}
- case 992:
+ case 996:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL IndexHints
-//line sql.y:5217
+//line sql.y:5234
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 993:
+ case 997:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IndexHints
-//line sql.y:5221
+//line sql.y:5238
{
yyLOCAL = yyDollar[1].indexHintsUnion()
}
yyVAL.union = yyLOCAL
- case 994:
+ case 998:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IndexHints
-//line sql.y:5227
+//line sql.y:5244
{
yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()}
}
yyVAL.union = yyLOCAL
- case 995:
+ case 999:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:5231
+//line sql.y:5248
{
yySLICE := (*IndexHints)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion())
}
- case 996:
+ case 1000:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5237
+//line sql.y:5254
{
yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 997:
+ case 1001:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5241
+//line sql.y:5258
{
yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 998:
+ case 1002:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5245
+//line sql.y:5262
{
yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 999:
+ case 1003:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5249
+//line sql.y:5266
{
yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 1000:
+ case 1004:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5253
+//line sql.y:5270
{
yyLOCAL = &IndexHint{Type: UseVindexOp, Indexes: yyDollar[4].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 1001:
+ case 1005:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5257
+//line sql.y:5274
{
yyLOCAL = &IndexHint{Type: IgnoreVindexOp, Indexes: yyDollar[4].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 1002:
+ case 1006:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL IndexHintForType
-//line sql.y:5262
+//line sql.y:5279
{
yyLOCAL = NoForType
}
yyVAL.union = yyLOCAL
- case 1003:
+ case 1007:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL IndexHintForType
-//line sql.y:5266
+//line sql.y:5283
{
yyLOCAL = JoinForType
}
yyVAL.union = yyLOCAL
- case 1004:
+ case 1008:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL IndexHintForType
-//line sql.y:5270
+//line sql.y:5287
{
yyLOCAL = OrderByForType
}
yyVAL.union = yyLOCAL
- case 1005:
+ case 1009:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL IndexHintForType
-//line sql.y:5274
+//line sql.y:5291
{
yyLOCAL = GroupByForType
}
yyVAL.union = yyLOCAL
- case 1006:
+ case 1010:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5280
+//line sql.y:5297
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1007:
+ case 1011:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5284
+//line sql.y:5301
{
yyLOCAL = yyDollar[2].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1008:
+ case 1012:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5291
+//line sql.y:5308
{
yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1009:
+ case 1013:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5295
+//line sql.y:5312
{
yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1010:
+ case 1014:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5299
+//line sql.y:5316
{
yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1011:
+ case 1015:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5303
+//line sql.y:5320
{
yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1012:
+ case 1016:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5307
+//line sql.y:5324
{
yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()}
}
yyVAL.union = yyLOCAL
- case 1013:
+ case 1017:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5311
+//line sql.y:5328
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1014:
+ case 1018:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5315
+//line sql.y:5332
{
yyLOCAL = &AssignmentExpr{Left: yyDollar[1].variableUnion(), Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1015:
+ case 1019:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5319
+//line sql.y:5336
{
yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1016:
+ case 1020:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5325
+//line sql.y:5342
{
}
- case 1017:
+ case 1021:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5328
+//line sql.y:5345
{
}
- case 1018:
+ case 1022:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5333
+//line sql.y:5350
{
yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp}
}
yyVAL.union = yyLOCAL
- case 1019:
+ case 1023:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5337
+//line sql.y:5354
{
yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp}
}
yyVAL.union = yyLOCAL
- case 1020:
+ case 1024:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5341
+//line sql.y:5358
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1021:
+ case 1025:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5345
+//line sql.y:5362
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Modifier: Any, Right: yyDollar[4].subqueryUnion()}
}
yyVAL.union = yyLOCAL
- case 1022:
+ case 1026:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5349
+//line sql.y:5366
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Modifier: Any, Right: yyDollar[4].subqueryUnion()}
}
yyVAL.union = yyLOCAL
- case 1023:
+ case 1027:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5353
+//line sql.y:5370
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Modifier: All, Right: yyDollar[4].subqueryUnion()}
}
yyVAL.union = yyLOCAL
- case 1024:
+ case 1028:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5357
+//line sql.y:5374
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1025:
+ case 1029:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5363
+//line sql.y:5380
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()}
}
yyVAL.union = yyLOCAL
- case 1026:
+ case 1030:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5367
+//line sql.y:5384
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()}
}
yyVAL.union = yyLOCAL
- case 1027:
+ case 1031:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5371
+//line sql.y:5388
{
yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1028:
+ case 1032:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5375
+//line sql.y:5392
{
yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1029:
+ case 1033:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5379
+//line sql.y:5396
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1030:
+ case 1034:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5383
+//line sql.y:5400
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1031:
+ case 1035:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5387
+//line sql.y:5404
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1032:
+ case 1036:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5391
+//line sql.y:5408
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1033:
+ case 1037:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5395
+//line sql.y:5412
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1034:
+ case 1038:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5399
+//line sql.y:5416
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1035:
+ case 1039:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5403
+//line sql.y:5420
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1036:
+ case 1040:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5409
+//line sql.y:5426
{
}
- case 1037:
+ case 1041:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5412
+//line sql.y:5429
{
}
- case 1038:
+ case 1042:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5418
+//line sql.y:5435
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1039:
+ case 1043:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5422
+//line sql.y:5439
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1040:
+ case 1044:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5426
+//line sql.y:5443
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1041:
+ case 1045:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5430
+//line sql.y:5447
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1042:
+ case 1046:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5434
+//line sql.y:5451
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1043:
+ case 1047:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5438
+//line sql.y:5455
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1044:
+ case 1048:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5442
+//line sql.y:5459
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAdd, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1045:
+ case 1049:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5446
+//line sql.y:5463
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinarySub, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1046:
+ case 1050:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5450
+//line sql.y:5467
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1047:
+ case 1051:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5454
+//line sql.y:5471
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1048:
+ case 1052:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5458
+//line sql.y:5475
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1049:
+ case 1053:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5462
+//line sql.y:5479
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1050:
+ case 1054:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5466
+//line sql.y:5483
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1051:
+ case 1055:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5470
+//line sql.y:5487
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1052:
+ case 1056:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5474
+//line sql.y:5491
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1053:
+ case 1057:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5480
+//line sql.y:5497
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1054:
+ case 1058:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5484
+//line sql.y:5501
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1055:
+ case 1059:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5488
+//line sql.y:5505
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1056:
+ case 1060:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5492
+//line sql.y:5509
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1057:
+ case 1061:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5496
+//line sql.y:5513
{
yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str}
}
yyVAL.union = yyLOCAL
- case 1058:
+ case 1062:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5500
+//line sql.y:5517
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1059:
+ case 1063:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5504
+//line sql.y:5521
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1060:
+ case 1064:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5508
+//line sql.y:5525
{
yyLOCAL = yyDollar[1].variableUnion()
}
yyVAL.union = yyLOCAL
- case 1061:
+ case 1065:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5512
+//line sql.y:5529
{
yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals?
}
yyVAL.union = yyLOCAL
- case 1062:
+ case 1066:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5516
+//line sql.y:5533
{
yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1063:
+ case 1067:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5520
+//line sql.y:5537
{
yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1064:
+ case 1068:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5524
+//line sql.y:5541
{
yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1065:
+ case 1069:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5528
+//line sql.y:5545
{
yyLOCAL = yyDollar[1].subqueryUnion()
}
yyVAL.union = yyLOCAL
- case 1066:
+ case 1070:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5532
+//line sql.y:5549
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1067:
+ case 1071:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5536
+//line sql.y:5553
{
yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()}
}
yyVAL.union = yyLOCAL
- case 1068:
+ case 1072:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5540
+//line sql.y:5557
{
yyLOCAL = &MatchExpr{Columns: yyDollar[2].colNamesUnion(), Expr: yyDollar[5].exprUnion(), Option: yyDollar[6].matchExprOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1069:
+ case 1073:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5544
+//line sql.y:5561
{
yyLOCAL = &CastExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion(), Array: yyDollar[6].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 1070:
+ case 1074:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5548
+//line sql.y:5565
{
yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1071:
+ case 1075:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5552
+//line sql.y:5569
{
yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str}
}
yyVAL.union = yyLOCAL
- case 1072:
+ case 1076:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5556
+//line sql.y:5573
{
// From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary
// To convert a string expression to a binary string, these constructs are equivalent:
@@ -18133,3218 +18268,3218 @@ yydefault:
yyLOCAL = &ConvertExpr{Expr: yyDollar[2].exprUnion(), Type: &ConvertType{Type: yyDollar[1].str}}
}
yyVAL.union = yyLOCAL
- case 1073:
+ case 1077:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5564
+//line sql.y:5581
{
yyLOCAL = &Default{ColName: yyDollar[2].str}
}
yyVAL.union = yyLOCAL
- case 1074:
+ case 1078:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5568
+//line sql.y:5585
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAddLeft, Date: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion(), Interval: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1075:
+ case 1079:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5572
+//line sql.y:5589
{
yyLOCAL = &IntervalFuncExpr{Expr: yyDollar[3].exprUnion(), Exprs: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1076:
+ case 1080:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5576
+//line sql.y:5593
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1077:
+ case 1081:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5580
+//line sql.y:5597
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1078:
+ case 1082:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*ColName
-//line sql.y:5586
+//line sql.y:5603
{
yyLOCAL = yyDollar[1].colNamesUnion()
}
yyVAL.union = yyLOCAL
- case 1079:
+ case 1083:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL []*ColName
-//line sql.y:5590
+//line sql.y:5607
{
yyLOCAL = yyDollar[2].colNamesUnion()
}
yyVAL.union = yyLOCAL
- case 1080:
+ case 1084:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*ColName
-//line sql.y:5596
+//line sql.y:5613
{
yyLOCAL = []*ColName{yyDollar[1].colNameUnion()}
}
yyVAL.union = yyLOCAL
- case 1081:
+ case 1085:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5600
+//line sql.y:5617
{
yySLICE := (*[]*ColName)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].colNameUnion())
}
- case 1082:
+ case 1086:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TrimType
-//line sql.y:5606
+//line sql.y:5623
{
yyLOCAL = BothTrimType
}
yyVAL.union = yyLOCAL
- case 1083:
+ case 1087:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TrimType
-//line sql.y:5610
+//line sql.y:5627
{
yyLOCAL = LeadingTrimType
}
yyVAL.union = yyLOCAL
- case 1084:
+ case 1088:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TrimType
-//line sql.y:5614
+//line sql.y:5631
{
yyLOCAL = TrailingTrimType
}
yyVAL.union = yyLOCAL
- case 1085:
+ case 1089:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FrameUnitType
-//line sql.y:5620
+//line sql.y:5637
{
yyLOCAL = FrameRowsType
}
yyVAL.union = yyLOCAL
- case 1086:
+ case 1090:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FrameUnitType
-//line sql.y:5624
+//line sql.y:5641
{
yyLOCAL = FrameRangeType
}
yyVAL.union = yyLOCAL
- case 1087:
+ case 1091:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5631
+//line sql.y:5648
{
yyLOCAL = CumeDistExprType
}
yyVAL.union = yyLOCAL
- case 1088:
+ case 1092:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5635
+//line sql.y:5652
{
yyLOCAL = DenseRankExprType
}
yyVAL.union = yyLOCAL
- case 1089:
+ case 1093:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5639
+//line sql.y:5656
{
yyLOCAL = PercentRankExprType
}
yyVAL.union = yyLOCAL
- case 1090:
+ case 1094:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5643
+//line sql.y:5660
{
yyLOCAL = RankExprType
}
yyVAL.union = yyLOCAL
- case 1091:
+ case 1095:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5647
+//line sql.y:5664
{
yyLOCAL = RowNumberExprType
}
yyVAL.union = yyLOCAL
- case 1092:
+ case 1096:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5653
+//line sql.y:5670
{
yyLOCAL = &FramePoint{Type: CurrentRowType}
}
yyVAL.union = yyLOCAL
- case 1093:
+ case 1097:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5657
+//line sql.y:5674
{
yyLOCAL = &FramePoint{Type: UnboundedPrecedingType}
}
yyVAL.union = yyLOCAL
- case 1094:
+ case 1098:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5661
+//line sql.y:5678
{
yyLOCAL = &FramePoint{Type: UnboundedFollowingType}
}
yyVAL.union = yyLOCAL
- case 1095:
+ case 1099:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5665
+//line sql.y:5682
{
yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[1].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1096:
+ case 1100:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5669
+//line sql.y:5686
{
yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1097:
+ case 1101:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5673
+//line sql.y:5690
{
yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[1].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1098:
+ case 1102:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5677
+//line sql.y:5694
{
yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1099:
+ case 1103:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5682
+//line sql.y:5699
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1100:
+ case 1104:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5686
+//line sql.y:5703
{
yyLOCAL = yyDollar[1].frameClauseUnion()
}
yyVAL.union = yyLOCAL
- case 1101:
+ case 1105:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5692
+//line sql.y:5709
{
yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[2].framePointUnion()}
}
yyVAL.union = yyLOCAL
- case 1102:
+ case 1106:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5696
+//line sql.y:5713
{
yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[3].framePointUnion(), End: yyDollar[5].framePointUnion()}
}
yyVAL.union = yyLOCAL
- case 1103:
+ case 1107:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:5701
+//line sql.y:5718
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1104:
+ case 1108:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:5705
+//line sql.y:5722
{
yyLOCAL = yyDollar[3].exprsUnion()
}
yyVAL.union = yyLOCAL
- case 1105:
+ case 1109:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5710
+//line sql.y:5727
{
yyVAL.identifierCI = IdentifierCI{}
}
- case 1106:
+ case 1110:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5714
+//line sql.y:5731
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
- case 1107:
+ case 1111:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *WindowSpecification
-//line sql.y:5720
+//line sql.y:5737
{
yyLOCAL = &WindowSpecification{Name: yyDollar[1].identifierCI, PartitionClause: yyDollar[2].exprsUnion(), OrderClause: yyDollar[3].orderByUnion(), FrameClause: yyDollar[4].frameClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1108:
+ case 1112:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5726
+//line sql.y:5743
{
yyLOCAL = &OverClause{WindowSpec: yyDollar[3].windowSpecificationUnion()}
}
yyVAL.union = yyLOCAL
- case 1109:
+ case 1113:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5730
+//line sql.y:5747
{
yyLOCAL = &OverClause{WindowName: yyDollar[2].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1110:
+ case 1114:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5736
+//line sql.y:5753
{
yyLOCAL = yyDollar[1].overClauseUnion()
}
yyVAL.union = yyLOCAL
- case 1111:
+ case 1115:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5740
+//line sql.y:5757
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1112:
+ case 1116:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *NullTreatmentClause
-//line sql.y:5745
+//line sql.y:5762
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1114:
+ case 1118:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *NullTreatmentClause
-//line sql.y:5752
+//line sql.y:5769
{
yyLOCAL = &NullTreatmentClause{yyDollar[1].nullTreatmentTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1115:
+ case 1119:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL NullTreatmentType
-//line sql.y:5758
+//line sql.y:5775
{
yyLOCAL = RespectNullsType
}
yyVAL.union = yyLOCAL
- case 1116:
+ case 1120:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL NullTreatmentType
-//line sql.y:5762
+//line sql.y:5779
{
yyLOCAL = IgnoreNullsType
}
yyVAL.union = yyLOCAL
- case 1117:
+ case 1121:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FirstOrLastValueExprType
-//line sql.y:5768
+//line sql.y:5785
{
yyLOCAL = FirstValueExprType
}
yyVAL.union = yyLOCAL
- case 1118:
+ case 1122:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FirstOrLastValueExprType
-//line sql.y:5772
+//line sql.y:5789
{
yyLOCAL = LastValueExprType
}
yyVAL.union = yyLOCAL
- case 1119:
+ case 1123:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL FromFirstLastType
-//line sql.y:5778
+//line sql.y:5795
{
yyLOCAL = FromFirstType
}
yyVAL.union = yyLOCAL
- case 1120:
+ case 1124:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL FromFirstLastType
-//line sql.y:5782
+//line sql.y:5799
{
yyLOCAL = FromLastType
}
yyVAL.union = yyLOCAL
- case 1121:
+ case 1125:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *FromFirstLastClause
-//line sql.y:5787
+//line sql.y:5804
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1123:
+ case 1127:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *FromFirstLastClause
-//line sql.y:5794
+//line sql.y:5811
{
yyLOCAL = &FromFirstLastClause{yyDollar[1].fromFirstLastTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1124:
+ case 1128:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LagLeadExprType
-//line sql.y:5800
+//line sql.y:5817
{
yyLOCAL = LagExprType
}
yyVAL.union = yyLOCAL
- case 1125:
+ case 1129:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LagLeadExprType
-//line sql.y:5804
+//line sql.y:5821
{
yyLOCAL = LeadExprType
}
yyVAL.union = yyLOCAL
- case 1126:
+ case 1130:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *WindowDefinition
-//line sql.y:5810
+//line sql.y:5827
{
yyLOCAL = &WindowDefinition{Name: yyDollar[1].identifierCI, WindowSpec: yyDollar[4].windowSpecificationUnion()}
}
yyVAL.union = yyLOCAL
- case 1127:
+ case 1131:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL WindowDefinitions
-//line sql.y:5816
+//line sql.y:5833
{
yyLOCAL = WindowDefinitions{yyDollar[1].windowDefinitionUnion()}
}
yyVAL.union = yyLOCAL
- case 1128:
+ case 1132:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5820
+//line sql.y:5837
{
yySLICE := (*WindowDefinitions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].windowDefinitionUnion())
}
- case 1129:
+ case 1133:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5826
+//line sql.y:5843
{
yyVAL.str = ""
}
- case 1130:
+ case 1134:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5830
+//line sql.y:5847
{
yyVAL.str = string(yyDollar[2].identifierCI.String())
}
- case 1131:
+ case 1135:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL BoolVal
-//line sql.y:5836
+//line sql.y:5853
{
yyLOCAL = BoolVal(true)
}
yyVAL.union = yyLOCAL
- case 1132:
+ case 1136:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL BoolVal
-//line sql.y:5840
+//line sql.y:5857
{
yyLOCAL = BoolVal(false)
}
yyVAL.union = yyLOCAL
- case 1133:
+ case 1137:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5847
+//line sql.y:5864
{
yyLOCAL = IsTrueOp
}
yyVAL.union = yyLOCAL
- case 1134:
+ case 1138:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5851
+//line sql.y:5868
{
yyLOCAL = IsNotTrueOp
}
yyVAL.union = yyLOCAL
- case 1135:
+ case 1139:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5855
+//line sql.y:5872
{
yyLOCAL = IsFalseOp
}
yyVAL.union = yyLOCAL
- case 1136:
+ case 1140:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5859
+//line sql.y:5876
{
yyLOCAL = IsNotFalseOp
}
yyVAL.union = yyLOCAL
- case 1137:
+ case 1141:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5865
+//line sql.y:5882
{
yyLOCAL = yyDollar[1].comparisonExprOperatorUnion()
}
yyVAL.union = yyLOCAL
- case 1138:
+ case 1142:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5869
+//line sql.y:5886
{
yyLOCAL = NullSafeEqualOp
}
yyVAL.union = yyLOCAL
- case 1139:
+ case 1143:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5875
+//line sql.y:5892
{
yyLOCAL = EqualOp
}
yyVAL.union = yyLOCAL
- case 1140:
+ case 1144:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5879
+//line sql.y:5896
{
yyLOCAL = LessThanOp
}
yyVAL.union = yyLOCAL
- case 1141:
+ case 1145:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5883
+//line sql.y:5900
{
yyLOCAL = GreaterThanOp
}
yyVAL.union = yyLOCAL
- case 1142:
+ case 1146:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5887
+//line sql.y:5904
{
yyLOCAL = LessEqualOp
}
yyVAL.union = yyLOCAL
- case 1143:
+ case 1147:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5891
+//line sql.y:5908
{
yyLOCAL = GreaterEqualOp
}
yyVAL.union = yyLOCAL
- case 1144:
+ case 1148:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5895
+//line sql.y:5912
{
yyLOCAL = NotEqualOp
}
yyVAL.union = yyLOCAL
- case 1145:
+ case 1149:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5901
+//line sql.y:5918
{
yyLOCAL = yyDollar[1].valTupleUnion()
}
yyVAL.union = yyLOCAL
- case 1146:
+ case 1150:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5905
+//line sql.y:5922
{
yyLOCAL = yyDollar[1].subqueryUnion()
}
yyVAL.union = yyLOCAL
- case 1147:
+ case 1151:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5909
+//line sql.y:5926
{
yyLOCAL = ListArg(yyDollar[1].str[2:])
markBindVariable(yylex, yyDollar[1].str[2:])
}
yyVAL.union = yyLOCAL
- case 1148:
+ case 1152:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Subquery
-//line sql.y:5916
+//line sql.y:5933
{
yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 1149:
+ case 1153:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:5922
+//line sql.y:5939
{
yyLOCAL = Exprs{yyDollar[1].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1150:
+ case 1154:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5926
+//line sql.y:5943
{
yySLICE := (*Exprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].exprUnion())
}
- case 1151:
+ case 1155:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5936
+//line sql.y:5953
{
yyLOCAL = &FuncExpr{Name: yyDollar[1].identifierCI, Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1152:
+ case 1156:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5940
+//line sql.y:5957
{
yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCI, Exprs: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1153:
+ case 1157:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5950
+//line sql.y:5967
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("left"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1154:
+ case 1158:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5954
+//line sql.y:5971
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("right"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1155:
+ case 1159:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5958
+//line sql.y:5975
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1156:
+ case 1160:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5962
+//line sql.y:5979
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1157:
+ case 1161:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5966
+//line sql.y:5983
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1158:
+ case 1162:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5970
+//line sql.y:5987
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1159:
+ case 1163:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5974
+//line sql.y:5991
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1160:
+ case 1164:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5978
+//line sql.y:5995
{
yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1161:
+ case 1165:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5982
+//line sql.y:5999
{
yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()}
}
yyVAL.union = yyLOCAL
- case 1162:
+ case 1166:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5986
+//line sql.y:6003
{
yyLOCAL = &InsertExpr{Str: yyDollar[3].exprUnion(), Pos: yyDollar[5].exprUnion(), Len: yyDollar[7].exprUnion(), NewStr: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1163:
+ case 1167:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5990
+//line sql.y:6007
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1164:
+ case 1168:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6001
+//line sql.y:6018
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("utc_date")}
}
yyVAL.union = yyLOCAL
- case 1165:
+ case 1169:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6005
+//line sql.y:6022
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1166:
+ case 1170:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6011
+//line sql.y:6028
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("current_date")}
}
yyVAL.union = yyLOCAL
- case 1167:
+ case 1171:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6015
+//line sql.y:6032
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("curdate")}
}
yyVAL.union = yyLOCAL
- case 1168:
+ case 1172:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6019
+//line sql.y:6036
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_time"), Fsp: yyDollar[2].integerUnion()}
}
yyVAL.union = yyLOCAL
- case 1169:
+ case 1173:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6024
+//line sql.y:6041
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("curtime"), Fsp: yyDollar[2].integerUnion()}
}
yyVAL.union = yyLOCAL
- case 1170:
+ case 1174:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6029
+//line sql.y:6046
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_time"), Fsp: yyDollar[2].integerUnion()}
}
yyVAL.union = yyLOCAL
- case 1171:
+ case 1175:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6033
+//line sql.y:6050
{
yyLOCAL = &CountStar{OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1172:
+ case 1176:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6037
+//line sql.y:6054
{
yyLOCAL = &Count{Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1173:
+ case 1177:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6041
+//line sql.y:6058
{
yyLOCAL = &Max{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1174:
+ case 1178:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6045
+//line sql.y:6062
{
yyLOCAL = &Min{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1175:
+ case 1179:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6049
+//line sql.y:6066
{
yyLOCAL = &Sum{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1176:
+ case 1180:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6053
+//line sql.y:6070
{
yyLOCAL = &Avg{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1177:
+ case 1181:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6057
+//line sql.y:6074
{
yyLOCAL = &BitAnd{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1178:
+ case 1182:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6061
+//line sql.y:6078
{
yyLOCAL = &BitOr{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1179:
+ case 1183:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6065
+//line sql.y:6082
{
yyLOCAL = &BitXor{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1180:
+ case 1184:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6069
+//line sql.y:6086
{
yyLOCAL = &Std{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1181:
+ case 1185:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6073
+//line sql.y:6090
{
yyLOCAL = &StdDev{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1182:
+ case 1186:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6077
+//line sql.y:6094
{
yyLOCAL = &StdPop{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1183:
+ case 1187:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6081
+//line sql.y:6098
{
yyLOCAL = &StdSamp{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1184:
+ case 1188:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6085
+//line sql.y:6102
{
yyLOCAL = &VarPop{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1185:
+ case 1189:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6089
+//line sql.y:6106
{
yyLOCAL = &VarSamp{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1186:
+ case 1190:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6093
+//line sql.y:6110
{
yyLOCAL = &Variance{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1187:
+ case 1191:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6097
+//line sql.y:6114
{
yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()}
}
yyVAL.union = yyLOCAL
- case 1188:
+ case 1192:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6101
+//line sql.y:6118
{
yyLOCAL = &AnyValue{Arg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1189:
+ case 1193:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6105
+//line sql.y:6122
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprTimestampadd, Date: yyDollar[7].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1190:
+ case 1194:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6109
+//line sql.y:6126
{
yyLOCAL = &TimestampDiffExpr{Unit: yyDollar[3].intervalTypeUnion(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1191:
+ case 1195:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6113
+//line sql.y:6130
{
yyLOCAL = &ExtractFuncExpr{IntervalType: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1192:
+ case 1196:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6117
+//line sql.y:6134
{
yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1193:
+ case 1197:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6121
+//line sql.y:6138
{
yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1194:
+ case 1198:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6125
+//line sql.y:6142
{
yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1195:
+ case 1199:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6129
+//line sql.y:6146
{
yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1196:
+ case 1200:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6133
+//line sql.y:6150
{
yyLOCAL = &JSONArrayAgg{Expr: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1197:
+ case 1201:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6137
+//line sql.y:6154
{
yyLOCAL = &JSONObjectAgg{Key: yyDollar[3].exprUnion(), Value: yyDollar[5].exprUnion(), OverClause: yyDollar[7].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1198:
+ case 1202:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6141
+//line sql.y:6158
{
yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, Type: LeadingTrimType, StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1199:
+ case 1203:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6145
+//line sql.y:6162
{
yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, Type: TrailingTrimType, StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1200:
+ case 1204:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6149
+//line sql.y:6166
{
yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1201:
+ case 1205:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6153
+//line sql.y:6170
{
yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1202:
+ case 1206:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6157
+//line sql.y:6174
{
yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1203:
+ case 1207:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6161
+//line sql.y:6178
{
yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion(), Charset: yyDollar[5].str}
}
yyVAL.union = yyLOCAL
- case 1204:
+ case 1208:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6165
+//line sql.y:6182
{
yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1205:
+ case 1209:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6169
+//line sql.y:6186
{
yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1206:
+ case 1210:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6173
+//line sql.y:6190
{
yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion(), Pos: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1207:
+ case 1211:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6177
+//line sql.y:6194
{
yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1208:
+ case 1212:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6181
+//line sql.y:6198
{
yyLOCAL = &LockingFunc{Type: GetLock, Name: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1209:
+ case 1213:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6185
+//line sql.y:6202
{
yyLOCAL = &LockingFunc{Type: IsFreeLock, Name: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1210:
+ case 1214:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6189
+//line sql.y:6206
{
yyLOCAL = &LockingFunc{Type: IsUsedLock, Name: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1211:
+ case 1215:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6193
+//line sql.y:6210
{
yyLOCAL = &LockingFunc{Type: ReleaseAllLocks}
}
yyVAL.union = yyLOCAL
- case 1212:
+ case 1216:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6197
+//line sql.y:6214
{
yyLOCAL = &LockingFunc{Type: ReleaseLock, Name: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1213:
+ case 1217:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6201
+//line sql.y:6218
{
yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1214:
+ case 1218:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6205
+//line sql.y:6222
{
yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1215:
+ case 1219:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6209
+//line sql.y:6226
{
yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1216:
+ case 1220:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6213
+//line sql.y:6230
{
yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1217:
+ case 1221:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6217
+//line sql.y:6234
{
yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1218:
+ case 1222:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6221
+//line sql.y:6238
{
yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1219:
+ case 1223:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6225
+//line sql.y:6242
{
yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1220:
+ case 1224:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6229
+//line sql.y:6246
{
yyLOCAL = &GeomPropertyFuncExpr{Property: IsEmpty, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1221:
+ case 1225:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6233
+//line sql.y:6250
{
yyLOCAL = &GeomPropertyFuncExpr{Property: IsSimple, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1222:
+ case 1226:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6237
+//line sql.y:6254
{
yyLOCAL = &GeomPropertyFuncExpr{Property: Dimension, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1223:
+ case 1227:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6241
+//line sql.y:6258
{
yyLOCAL = &GeomPropertyFuncExpr{Property: Envelope, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1224:
+ case 1228:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6245
+//line sql.y:6262
{
yyLOCAL = &GeomPropertyFuncExpr{Property: GeometryType, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1225:
+ case 1229:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6249
+//line sql.y:6266
{
yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1226:
+ case 1230:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6253
+//line sql.y:6270
{
yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1227:
+ case 1231:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6257
+//line sql.y:6274
{
yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1228:
+ case 1232:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6261
+//line sql.y:6278
{
yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1229:
+ case 1233:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6265
+//line sql.y:6282
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: EndPoint, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1230:
+ case 1234:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6269
+//line sql.y:6286
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: IsClosed, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1231:
+ case 1235:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6273
+//line sql.y:6290
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1232:
+ case 1236:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6277
+//line sql.y:6294
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1233:
+ case 1237:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6281
+//line sql.y:6298
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: NumPoints, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1234:
+ case 1238:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6285
+//line sql.y:6302
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: PointN, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1235:
+ case 1239:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6289
+//line sql.y:6306
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: StartPoint, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1236:
+ case 1240:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6293
+//line sql.y:6310
{
yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1237:
+ case 1241:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6297
+//line sql.y:6314
{
yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1238:
+ case 1242:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6301
+//line sql.y:6318
{
yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1239:
+ case 1243:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6305
+//line sql.y:6322
{
yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1240:
+ case 1244:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6309
+//line sql.y:6326
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1241:
+ case 1245:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6313
+//line sql.y:6330
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1242:
+ case 1246:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6317
+//line sql.y:6334
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1243:
+ case 1247:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6321
+//line sql.y:6338
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1244:
+ case 1248:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6325
+//line sql.y:6342
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1245:
+ case 1249:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6329
+//line sql.y:6346
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1246:
+ case 1250:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6333
+//line sql.y:6350
{
yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1247:
+ case 1251:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6337
+//line sql.y:6354
{
yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1248:
+ case 1252:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6341
+//line sql.y:6358
{
yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1249:
+ case 1253:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6345
+//line sql.y:6362
{
yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1250:
+ case 1254:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6349
+//line sql.y:6366
{
yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1251:
+ case 1255:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6353
+//line sql.y:6370
{
yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1252:
+ case 1256:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6357
+//line sql.y:6374
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1253:
+ case 1257:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6361
+//line sql.y:6378
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1254:
+ case 1258:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6365
+//line sql.y:6382
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1255:
+ case 1259:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6369
+//line sql.y:6386
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1256:
+ case 1260:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6373
+//line sql.y:6390
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1257:
+ case 1261:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6377
+//line sql.y:6394
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1258:
+ case 1262:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6381
+//line sql.y:6398
{
yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1259:
+ case 1263:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6385
+//line sql.y:6402
{
yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1260:
+ case 1264:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6389
+//line sql.y:6406
{
yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1261:
+ case 1265:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6393
+//line sql.y:6410
{
yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1262:
+ case 1266:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6397
+//line sql.y:6414
{
yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1263:
+ case 1267:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6401
+//line sql.y:6418
{
yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1264:
+ case 1268:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6405
+//line sql.y:6422
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1265:
+ case 1269:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6409
+//line sql.y:6426
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1266:
+ case 1270:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6413
+//line sql.y:6430
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1267:
+ case 1271:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6417
+//line sql.y:6434
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1268:
+ case 1272:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6421
+//line sql.y:6438
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1269:
+ case 1273:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6425
+//line sql.y:6442
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1270:
+ case 1274:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6429
+//line sql.y:6446
{
yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1271:
+ case 1275:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6433
+//line sql.y:6450
{
yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1272:
+ case 1276:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6437
+//line sql.y:6454
{
yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1273:
+ case 1277:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6441
+//line sql.y:6458
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1274:
+ case 1278:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6445
+//line sql.y:6462
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1275:
+ case 1279:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6449
+//line sql.y:6466
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1276:
+ case 1280:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6453
+//line sql.y:6470
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1277:
+ case 1281:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6457
+//line sql.y:6474
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1278:
+ case 1282:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6461
+//line sql.y:6478
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1279:
+ case 1283:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6465
+//line sql.y:6482
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1280:
+ case 1284:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6469
+//line sql.y:6486
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1281:
+ case 1285:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6473
+//line sql.y:6490
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1282:
+ case 1286:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6477
+//line sql.y:6494
{
yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1283:
+ case 1287:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6481
+//line sql.y:6498
{
yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1284:
+ case 1288:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6485
+//line sql.y:6502
{
yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1285:
+ case 1289:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6489
+//line sql.y:6506
{
yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1286:
+ case 1290:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6493
+//line sql.y:6510
{
yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1287:
+ case 1291:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6497
+//line sql.y:6514
{
yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1288:
+ case 1292:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6501
+//line sql.y:6518
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: Area, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1289:
+ case 1293:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6505
+//line sql.y:6522
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: Centroid, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1290:
+ case 1294:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6509
+//line sql.y:6526
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: ExteriorRing, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1291:
+ case 1295:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6513
+//line sql.y:6530
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: InteriorRingN, Polygon: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1292:
+ case 1296:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6517
+//line sql.y:6534
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: NumInteriorRings, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1293:
+ case 1297:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6521
+//line sql.y:6538
{
yyLOCAL = &GeomCollPropertyFuncExpr{Property: GeometryN, GeomColl: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1294:
+ case 1298:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6525
+//line sql.y:6542
{
yyLOCAL = &GeomCollPropertyFuncExpr{Property: NumGeometries, GeomColl: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1295:
+ case 1299:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6529
+//line sql.y:6546
{
yyLOCAL = &GeoHashFromLatLongExpr{Longitude: yyDollar[3].exprUnion(), Latitude: yyDollar[5].exprUnion(), MaxLength: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1296:
+ case 1300:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6533
+//line sql.y:6550
{
yyLOCAL = &GeoHashFromPointExpr{Point: yyDollar[3].exprUnion(), MaxLength: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1297:
+ case 1301:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6537
+//line sql.y:6554
{
yyLOCAL = &GeomFromGeoHashExpr{GeomType: LatitudeFromHash, GeoHash: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1298:
+ case 1302:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6541
+//line sql.y:6558
{
yyLOCAL = &GeomFromGeoHashExpr{GeomType: LongitudeFromHash, GeoHash: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1299:
+ case 1303:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6545
+//line sql.y:6562
{
yyLOCAL = &GeomFromGeoHashExpr{GeomType: PointFromHash, GeoHash: yyDollar[3].exprUnion(), SridOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1300:
+ case 1304:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6549
+//line sql.y:6566
{
yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1301:
+ case 1305:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6553
+//line sql.y:6570
{
yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1302:
+ case 1306:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6557
+//line sql.y:6574
{
yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion(), Srid: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1303:
+ case 1307:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6561
+//line sql.y:6578
{
yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1304:
+ case 1308:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6565
+//line sql.y:6582
{
yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1305:
+ case 1309:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6569
+//line sql.y:6586
{
yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion(), Bitmask: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1306:
+ case 1310:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6573
+//line sql.y:6590
{
yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1307:
+ case 1311:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6577
+//line sql.y:6594
{
yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1308:
+ case 1312:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6581
+//line sql.y:6598
{
yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprsUnion()[0], PathList: yyDollar[5].exprsUnion()[1:]}
}
yyVAL.union = yyLOCAL
- case 1309:
+ case 1313:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6585
+//line sql.y:6602
{
yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1310:
+ case 1314:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6589
+//line sql.y:6606
{
yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1311:
+ case 1315:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6593
+//line sql.y:6610
{
yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1312:
+ case 1316:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6597
+//line sql.y:6614
{
yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1313:
+ case 1317:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6601
+//line sql.y:6618
{
yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1314:
+ case 1318:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6605
+//line sql.y:6622
{
yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1315:
+ case 1319:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6609
+//line sql.y:6626
{
yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprsUnion()[0], PathList: yyDollar[9].exprsUnion()[1:]}
}
yyVAL.union = yyLOCAL
- case 1316:
+ case 1320:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6613
+//line sql.y:6630
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1317:
+ case 1321:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6617
+//line sql.y:6634
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()}
}
yyVAL.union = yyLOCAL
- case 1318:
+ case 1322:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6621
+//line sql.y:6638
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()}
}
yyVAL.union = yyLOCAL
- case 1319:
+ case 1323:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6625
+//line sql.y:6642
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()}
}
yyVAL.union = yyLOCAL
- case 1320:
+ case 1324:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6629
+//line sql.y:6646
{
yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1321:
+ case 1325:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6633
+//line sql.y:6650
{
yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1322:
+ case 1326:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6637
+//line sql.y:6654
{
yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1323:
+ case 1327:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6641
+//line sql.y:6658
{
yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1324:
+ case 1328:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6645
+//line sql.y:6662
{
yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1325:
+ case 1329:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6649
+//line sql.y:6666
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1326:
+ case 1330:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6653
+//line sql.y:6670
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1327:
+ case 1331:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6657
+//line sql.y:6674
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1328:
+ case 1332:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6661
+//line sql.y:6678
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1329:
+ case 1333:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6665
+//line sql.y:6682
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1330:
+ case 1334:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6669
+//line sql.y:6686
{
yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1331:
+ case 1335:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6673
+//line sql.y:6690
{
yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1332:
+ case 1336:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6677
+//line sql.y:6694
{
yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1333:
+ case 1337:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6681
+//line sql.y:6698
{
yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1334:
+ case 1338:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6685
+//line sql.y:6702
{
yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1335:
+ case 1339:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6689
+//line sql.y:6706
{
yyLOCAL = &MultiPolygonExpr{PolygonParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1336:
+ case 1340:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6693
+//line sql.y:6710
{
yyLOCAL = &MultiPointExpr{PointParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1337:
+ case 1341:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6697
+//line sql.y:6714
{
yyLOCAL = &MultiLinestringExpr{LinestringParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1338:
+ case 1342:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6701
+//line sql.y:6718
{
yyLOCAL = &PolygonExpr{LinestringParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1339:
+ case 1343:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6705
+//line sql.y:6722
{
yyLOCAL = &LineStringExpr{PointParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1340:
+ case 1344:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6709
+//line sql.y:6726
{
yyLOCAL = &PointExpr{XCordinate: yyDollar[3].exprUnion(), YCordinate: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1341:
+ case 1345:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6713
+//line sql.y:6730
{
yyLOCAL = &ArgumentLessWindowExpr{Type: yyDollar[1].argumentLessWindowExprTypeUnion(), OverClause: yyDollar[4].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1342:
+ case 1346:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6717
+//line sql.y:6734
{
yyLOCAL = &FirstOrLastValueExpr{Type: yyDollar[1].firstOrLastValueExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1343:
+ case 1347:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6721
+//line sql.y:6738
{
yyLOCAL = &NtileExpr{N: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1344:
+ case 1348:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6725
+//line sql.y:6742
{
yyLOCAL = &NTHValueExpr{Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), FromFirstLastClause: yyDollar[7].fromFirstLastClauseUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1345:
+ case 1349:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6729
+//line sql.y:6746
{
yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1346:
+ case 1350:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6733
+//line sql.y:6750
{
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()}
}
yyVAL.union = yyLOCAL
- case 1347:
+ case 1351:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6737
+//line sql.y:6754
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1348:
+ case 1352:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6741
+//line sql.y:6758
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone}
}
yyVAL.union = yyLOCAL
- case 1349:
+ case 1353:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6745
+//line sql.y:6762
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateAdd, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1350:
+ case 1354:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6749
+//line sql.y:6766
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateSub, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1351:
+ case 1355:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6753
+//line sql.y:6770
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1352:
+ case 1356:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6757
+//line sql.y:6774
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone}
}
yyVAL.union = yyLOCAL
- case 1357:
+ case 1361:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6767
+//line sql.y:6784
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1358:
+ case 1362:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6771
+//line sql.y:6788
{
yyLOCAL = NewIntLiteral(yyDollar[1].str)
}
yyVAL.union = yyLOCAL
- case 1359:
+ case 1363:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6775
+//line sql.y:6792
{
yyLOCAL = yyDollar[1].variableUnion()
}
yyVAL.union = yyLOCAL
- case 1360:
+ case 1364:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6779
+//line sql.y:6796
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
yyVAL.union = yyLOCAL
- case 1361:
+ case 1365:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6784
+//line sql.y:6801
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1362:
+ case 1366:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6788
+//line sql.y:6805
{
yyLOCAL = yyDollar[2].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1363:
+ case 1367:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6794
+//line sql.y:6811
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1364:
+ case 1368:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6798
+//line sql.y:6815
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1365:
+ case 1369:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6802
+//line sql.y:6819
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1366:
+ case 1370:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6806
+//line sql.y:6823
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1367:
+ case 1371:
yyDollar = yyS[yypt-14 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6810
+//line sql.y:6827
{
// 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()}
}
yyVAL.union = yyLOCAL
- case 1368:
+ case 1372:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6815
+//line sql.y:6832
{
yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1369:
+ case 1373:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6819
+//line sql.y:6836
{
yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), MatchType: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1370:
+ case 1374:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6823
+//line sql.y:6840
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1371:
+ case 1375:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6827
+//line sql.y:6844
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1372:
+ case 1376:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6831
+//line sql.y:6848
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1373:
+ case 1377:
yyDollar = yyS[yypt-14 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6835
+//line sql.y:6852
{
// 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()}
}
yyVAL.union = yyLOCAL
- case 1374:
+ case 1378:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6840
+//line sql.y:6857
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1375:
+ case 1379:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6844
+//line sql.y:6861
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1376:
+ case 1380:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6848
+//line sql.y:6865
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1377:
+ case 1381:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6852
+//line sql.y:6869
{
// 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()}
}
yyVAL.union = yyLOCAL
- case 1378:
+ case 1382:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6859
+//line sql.y:6876
{
yyLOCAL = &ExtractValueExpr{Fragment: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1379:
+ case 1383:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6863
+//line sql.y:6880
{
yyLOCAL = &UpdateXMLExpr{Target: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion(), NewXML: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1380:
+ case 1384:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6869
+//line sql.y:6886
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatBytesType, Argument: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1381:
+ case 1385:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6873
+//line sql.y:6890
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatPicoTimeType, Argument: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1382:
+ case 1386:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6877
+//line sql.y:6894
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsCurrentThreadIDType}
}
yyVAL.union = yyLOCAL
- case 1383:
+ case 1387:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6881
+//line sql.y:6898
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsThreadIDType, Argument: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1384:
+ case 1388:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6887
+//line sql.y:6904
{
yyLOCAL = >IDFuncExpr{Type: GTIDSubsetType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1385:
+ case 1389:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6891
+//line sql.y:6908
{
yyLOCAL = >IDFuncExpr{Type: GTIDSubtractType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1386:
+ case 1390:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6895
+//line sql.y:6912
{
yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1387:
+ case 1391:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6899
+//line sql.y:6916
{
yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1388:
+ case 1392:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6903
+//line sql.y:6920
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1389:
+ case 1393:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6907
+//line sql.y:6924
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1390:
+ case 1394:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6911
+//line sql.y:6928
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion(), Channel: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1391:
+ case 1395:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6916
+//line sql.y:6933
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1392:
+ case 1396:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6920
+//line sql.y:6937
{
yyLOCAL = yyDollar[2].convertTypeUnion()
}
yyVAL.union = yyLOCAL
- case 1393:
+ case 1397:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6926
+//line sql.y:6943
{
yyLOCAL = IntervalDayHour
}
yyVAL.union = yyLOCAL
- case 1394:
+ case 1398:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6930
+//line sql.y:6947
{
yyLOCAL = IntervalDayMicrosecond
}
yyVAL.union = yyLOCAL
- case 1395:
+ case 1399:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6934
+//line sql.y:6951
{
yyLOCAL = IntervalDayMinute
}
yyVAL.union = yyLOCAL
- case 1396:
+ case 1400:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6938
+//line sql.y:6955
{
yyLOCAL = IntervalDaySecond
}
yyVAL.union = yyLOCAL
- case 1397:
+ case 1401:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6942
+//line sql.y:6959
{
yyLOCAL = IntervalHourMicrosecond
}
yyVAL.union = yyLOCAL
- case 1398:
+ case 1402:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6946
+//line sql.y:6963
{
yyLOCAL = IntervalHourMinute
}
yyVAL.union = yyLOCAL
- case 1399:
+ case 1403:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6950
+//line sql.y:6967
{
yyLOCAL = IntervalHourSecond
}
yyVAL.union = yyLOCAL
- case 1400:
+ case 1404:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6954
+//line sql.y:6971
{
yyLOCAL = IntervalMinuteMicrosecond
}
yyVAL.union = yyLOCAL
- case 1401:
+ case 1405:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6958
+//line sql.y:6975
{
yyLOCAL = IntervalMinuteSecond
}
yyVAL.union = yyLOCAL
- case 1402:
+ case 1406:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6962
+//line sql.y:6979
{
yyLOCAL = IntervalSecondMicrosecond
}
yyVAL.union = yyLOCAL
- case 1403:
+ case 1407:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6966
+//line sql.y:6983
{
yyLOCAL = IntervalYearMonth
}
yyVAL.union = yyLOCAL
- case 1404:
+ case 1408:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6970
+//line sql.y:6987
{
yyLOCAL = IntervalDay
}
yyVAL.union = yyLOCAL
- case 1405:
+ case 1409:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6974
+//line sql.y:6991
{
yyLOCAL = IntervalWeek
}
yyVAL.union = yyLOCAL
- case 1406:
+ case 1410:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6978
+//line sql.y:6995
{
yyLOCAL = IntervalHour
}
yyVAL.union = yyLOCAL
- case 1407:
+ case 1411:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6982
+//line sql.y:6999
{
yyLOCAL = IntervalMinute
}
yyVAL.union = yyLOCAL
- case 1408:
+ case 1412:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6986
+//line sql.y:7003
{
yyLOCAL = IntervalMonth
}
yyVAL.union = yyLOCAL
- case 1409:
+ case 1413:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6990
+//line sql.y:7007
{
yyLOCAL = IntervalQuarter
}
yyVAL.union = yyLOCAL
- case 1410:
+ case 1414:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6994
+//line sql.y:7011
{
yyLOCAL = IntervalSecond
}
yyVAL.union = yyLOCAL
- case 1411:
+ case 1415:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6998
+//line sql.y:7015
{
yyLOCAL = IntervalMicrosecond
}
yyVAL.union = yyLOCAL
- case 1412:
+ case 1416:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7002
+//line sql.y:7019
{
yyLOCAL = IntervalYear
}
yyVAL.union = yyLOCAL
- case 1413:
+ case 1417:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7008
+//line sql.y:7025
{
yyLOCAL = IntervalDay
}
yyVAL.union = yyLOCAL
- case 1414:
+ case 1418:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7012
+//line sql.y:7029
{
yyLOCAL = IntervalWeek
}
yyVAL.union = yyLOCAL
- case 1415:
+ case 1419:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7016
+//line sql.y:7033
{
yyLOCAL = IntervalHour
}
yyVAL.union = yyLOCAL
- case 1416:
+ case 1420:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7020
+//line sql.y:7037
{
yyLOCAL = IntervalMinute
}
yyVAL.union = yyLOCAL
- case 1417:
+ case 1421:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7024
+//line sql.y:7041
{
yyLOCAL = IntervalMonth
}
yyVAL.union = yyLOCAL
- case 1418:
+ case 1422:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7028
+//line sql.y:7045
{
yyLOCAL = IntervalQuarter
}
yyVAL.union = yyLOCAL
- case 1419:
+ case 1423:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7032
+//line sql.y:7049
{
yyLOCAL = IntervalSecond
}
yyVAL.union = yyLOCAL
- case 1420:
+ case 1424:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7036
+//line sql.y:7053
{
yyLOCAL = IntervalMicrosecond
}
yyVAL.union = yyLOCAL
- case 1421:
+ case 1425:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7040
+//line sql.y:7057
{
yyLOCAL = IntervalYear
}
yyVAL.union = yyLOCAL
- case 1422:
+ case 1426:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7044
+//line sql.y:7061
{
yyLOCAL = IntervalDay
}
yyVAL.union = yyLOCAL
- case 1423:
+ case 1427:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7048
+//line sql.y:7065
{
yyLOCAL = IntervalWeek
}
yyVAL.union = yyLOCAL
- case 1424:
+ case 1428:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7052
+//line sql.y:7069
{
yyLOCAL = IntervalHour
}
yyVAL.union = yyLOCAL
- case 1425:
+ case 1429:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7056
+//line sql.y:7073
{
yyLOCAL = IntervalMinute
}
yyVAL.union = yyLOCAL
- case 1426:
+ case 1430:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7060
+//line sql.y:7077
{
yyLOCAL = IntervalMonth
}
yyVAL.union = yyLOCAL
- case 1427:
+ case 1431:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7064
+//line sql.y:7081
{
yyLOCAL = IntervalQuarter
}
yyVAL.union = yyLOCAL
- case 1428:
+ case 1432:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7068
+//line sql.y:7085
{
yyLOCAL = IntervalSecond
}
yyVAL.union = yyLOCAL
- case 1429:
+ case 1433:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7072
+//line sql.y:7089
{
yyLOCAL = IntervalMicrosecond
}
yyVAL.union = yyLOCAL
- case 1430:
+ case 1434:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7076
+//line sql.y:7093
{
yyLOCAL = IntervalYear
}
yyVAL.union = yyLOCAL
- case 1433:
+ case 1437:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL int
-//line sql.y:7086
+//line sql.y:7103
{
yyLOCAL = 0
}
yyVAL.union = yyLOCAL
- case 1434:
+ case 1438:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL int
-//line sql.y:7090
+//line sql.y:7107
{
yyLOCAL = 0
}
yyVAL.union = yyLOCAL
- case 1435:
+ case 1439:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL int
-//line sql.y:7094
+//line sql.y:7111
{
yyLOCAL = convertStringToInt(yyDollar[2].str)
}
yyVAL.union = yyLOCAL
- case 1436:
+ case 1440:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7104
+//line sql.y:7121
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("if"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1437:
+ case 1441:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7108
+//line sql.y:7125
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("database"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1438:
+ case 1442:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7112
+//line sql.y:7129
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("schema"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1439:
+ case 1443:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7116
+//line sql.y:7133
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("mod"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1440:
+ case 1444:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7120
+//line sql.y:7137
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("replace"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1441:
+ case 1445:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7126
+//line sql.y:7143
{
yyLOCAL = NoOption
}
yyVAL.union = yyLOCAL
- case 1442:
+ case 1446:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7130
+//line sql.y:7147
{
yyLOCAL = BooleanModeOpt
}
yyVAL.union = yyLOCAL
- case 1443:
+ case 1447:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7134
+//line sql.y:7151
{
yyLOCAL = NaturalLanguageModeOpt
}
yyVAL.union = yyLOCAL
- case 1444:
+ case 1448:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7138
+//line sql.y:7155
{
yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt
}
yyVAL.union = yyLOCAL
- case 1445:
+ case 1449:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7142
+//line sql.y:7159
{
yyLOCAL = QueryExpansionOpt
}
yyVAL.union = yyLOCAL
- case 1446:
+ case 1450:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7148
+//line sql.y:7165
{
yyVAL.str = string(yyDollar[1].identifierCI.String())
}
- case 1447:
+ case 1451:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7152
+//line sql.y:7169
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1448:
+ case 1452:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7156
+//line sql.y:7173
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1449:
+ case 1453:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7162
+//line sql.y:7179
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1450:
+ case 1454:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7166
+//line sql.y:7183
{
yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: ptr.Of(convertStringToInt(yyDollar[4].str))}
}
yyVAL.union = yyLOCAL
- case 1451:
+ case 1455:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7170
+//line sql.y:7187
{
yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: ptr.Of(convertStringToInt(yyDollar[4].str))}
}
yyVAL.union = yyLOCAL
- case 1452:
+ case 1456:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7176
+//line sql.y:7193
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1453:
+ case 1457:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7180
+//line sql.y:7197
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion(), Charset: yyDollar[3].columnCharset}
}
yyVAL.union = yyLOCAL
- case 1454:
+ case 1458:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7184
+//line sql.y:7201
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1455:
+ case 1459:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7188
+//line sql.y:7205
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1456:
+ case 1460:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7192
+//line sql.y:7209
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length
yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale
}
yyVAL.union = yyLOCAL
- case 1457:
+ case 1461:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7198
+//line sql.y:7215
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1458:
+ case 1462:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7202
+//line sql.y:7219
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1459:
+ case 1463:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7206
+//line sql.y:7223
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1460:
+ case 1464:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7210
+//line sql.y:7227
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1461:
+ case 1465:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7214
+//line sql.y:7231
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1462:
+ case 1466:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7218
+//line sql.y:7235
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1463:
+ case 1467:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7222
+//line sql.y:7239
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1464:
+ case 1468:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7226
+//line sql.y:7243
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1465:
+ case 1469:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7230
+//line sql.y:7247
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1466:
+ case 1470:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7234
+//line sql.y:7251
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1467:
+ case 1471:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7240
+//line sql.y:7257
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1468:
+ case 1472:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:7244
+//line sql.y:7261
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1469:
+ case 1473:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7249
+//line sql.y:7266
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1470:
+ case 1474:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7253
+//line sql.y:7270
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1471:
+ case 1475:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7258
+//line sql.y:7275
{
yyVAL.str = string("")
}
- case 1472:
+ case 1476:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7262
+//line sql.y:7279
{
yyVAL.str = encodeSQLString(yyDollar[2].str)
}
- case 1473:
+ case 1477:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*When
-//line sql.y:7268
+//line sql.y:7285
{
yyLOCAL = []*When{yyDollar[1].whenUnion()}
}
yyVAL.union = yyLOCAL
- case 1474:
+ case 1478:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7272
+//line sql.y:7289
{
yySLICE := (*[]*When)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].whenUnion())
}
- case 1475:
+ case 1479:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *When
-//line sql.y:7278
+//line sql.y:7295
{
yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1476:
+ case 1480:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7283
+//line sql.y:7300
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1477:
+ case 1481:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7287
+//line sql.y:7304
{
yyLOCAL = yyDollar[2].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1478:
+ case 1482:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7293
+//line sql.y:7310
{
yyLOCAL = &ColName{Name: yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1479:
+ case 1483:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7297
+//line sql.y:7314
{
yyLOCAL = &ColName{Name: NewIdentifierCI(string(yyDollar[1].str))}
}
yyVAL.union = yyLOCAL
- case 1480:
+ case 1484:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7301
+//line sql.y:7318
{
yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].identifierCS}, Name: yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1481:
+ case 1485:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7305
+//line sql.y:7322
{
yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}, Name: yyDollar[5].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1482:
+ case 1486:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7311
+//line sql.y:7328
{
yyLOCAL = yyDollar[1].colNameUnion()
}
yyVAL.union = yyLOCAL
- case 1483:
+ case 1487:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7315
+//line sql.y:7332
{
yyLOCAL = &Offset{V: convertStringToInt(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1484:
+ case 1488:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7321
+//line sql.y:7338
{
// TODO(sougou): Deprecate this construct.
if yyDollar[1].identifierCI.Lowered() != "value" {
@@ -21354,442 +21489,442 @@ yydefault:
yyLOCAL = NewIntLiteral("1")
}
yyVAL.union = yyLOCAL
- case 1485:
+ case 1489:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7330
+//line sql.y:7347
{
yyLOCAL = NewIntLiteral(yyDollar[1].str)
}
yyVAL.union = yyLOCAL
- case 1486:
+ case 1490:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7334
+//line sql.y:7351
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
yyVAL.union = yyLOCAL
- case 1487:
+ case 1491:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *GroupBy
-//line sql.y:7339
+//line sql.y:7356
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1488:
+ case 1492:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *GroupBy
-//line sql.y:7343
+//line sql.y:7360
{
yyLOCAL = &GroupBy{Exprs: yyDollar[3].exprsUnion(), WithRollup: yyDollar[4].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 1489:
+ case 1493:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7348
+//line sql.y:7365
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1490:
+ case 1494:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:7352
+//line sql.y:7369
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1491:
+ case 1495:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7358
+//line sql.y:7375
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1492:
+ case 1496:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7362
+//line sql.y:7379
{
yyLOCAL = yyDollar[2].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1493:
+ case 1497:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *NamedWindow
-//line sql.y:7368
+//line sql.y:7385
{
yyLOCAL = &NamedWindow{yyDollar[2].windowDefinitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 1494:
+ case 1498:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7374
+//line sql.y:7391
{
yyLOCAL = NamedWindows{yyDollar[1].namedWindowUnion()}
}
yyVAL.union = yyLOCAL
- case 1495:
+ case 1499:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7378
+//line sql.y:7395
{
yySLICE := (*NamedWindows)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].namedWindowUnion())
}
- case 1496:
+ case 1500:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7383
+//line sql.y:7400
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1497:
+ case 1501:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7387
+//line sql.y:7404
{
yyLOCAL = yyDollar[1].namedWindowsUnion()
}
yyVAL.union = yyLOCAL
- case 1498:
+ case 1502:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7392
+//line sql.y:7409
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1499:
+ case 1503:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7396
+//line sql.y:7413
{
yyLOCAL = yyDollar[1].orderByUnion()
}
yyVAL.union = yyLOCAL
- case 1500:
+ case 1504:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7402
+//line sql.y:7419
{
yyLOCAL = yyDollar[3].orderByUnion()
}
yyVAL.union = yyLOCAL
- case 1501:
+ case 1505:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7408
+//line sql.y:7425
{
yyLOCAL = OrderBy{yyDollar[1].orderUnion()}
}
yyVAL.union = yyLOCAL
- case 1502:
+ case 1506:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7412
+//line sql.y:7429
{
yySLICE := (*OrderBy)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].orderUnion())
}
- case 1503:
+ case 1507:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Order
-//line sql.y:7418
+//line sql.y:7435
{
yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()}
}
yyVAL.union = yyLOCAL
- case 1504:
+ case 1508:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7423
+//line sql.y:7440
{
yyLOCAL = AscOrder
}
yyVAL.union = yyLOCAL
- case 1505:
+ case 1509:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7427
+//line sql.y:7444
{
yyLOCAL = AscOrder
}
yyVAL.union = yyLOCAL
- case 1506:
+ case 1510:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7431
+//line sql.y:7448
{
yyLOCAL = DescOrder
}
yyVAL.union = yyLOCAL
- case 1507:
+ case 1511:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7436
+//line sql.y:7453
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1508:
+ case 1512:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7440
+//line sql.y:7457
{
yyLOCAL = yyDollar[1].limitUnion()
}
yyVAL.union = yyLOCAL
- case 1509:
+ case 1513:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7446
+//line sql.y:7463
{
yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1510:
+ case 1514:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7450
+//line sql.y:7467
{
yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1511:
+ case 1515:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7454
+//line sql.y:7471
{
yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1512:
+ case 1516:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7459
+//line sql.y:7476
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1513:
+ case 1517:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7463
+//line sql.y:7480
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1514:
+ case 1518:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7467
+//line sql.y:7484
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1515:
+ case 1519:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7471
+//line sql.y:7488
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1516:
+ case 1520:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7475
+//line sql.y:7492
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1517:
+ case 1521:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7482
+//line sql.y:7499
{
yyLOCAL = &LockOption{Type: DefaultType}
}
yyVAL.union = yyLOCAL
- case 1518:
+ case 1522:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7486
+//line sql.y:7503
{
yyLOCAL = &LockOption{Type: NoneType}
}
yyVAL.union = yyLOCAL
- case 1519:
+ case 1523:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7490
+//line sql.y:7507
{
yyLOCAL = &LockOption{Type: SharedType}
}
yyVAL.union = yyLOCAL
- case 1520:
+ case 1524:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7494
+//line sql.y:7511
{
yyLOCAL = &LockOption{Type: ExclusiveType}
}
yyVAL.union = yyLOCAL
- case 1521:
+ case 1525:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7500
+//line sql.y:7517
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1522:
+ case 1526:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7504
+//line sql.y:7521
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1523:
+ case 1527:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7508
+//line sql.y:7525
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1524:
+ case 1528:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7512
+//line sql.y:7529
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1525:
+ case 1529:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7517
+//line sql.y:7534
{
yyVAL.str = ""
}
- case 1526:
+ case 1530:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7521
+//line sql.y:7538
{
yyVAL.str = string(yyDollar[3].str)
}
- case 1527:
+ case 1531:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7525
+//line sql.y:7542
{
yyVAL.str = string(yyDollar[3].str)
}
- case 1528:
+ case 1532:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7529
+//line sql.y:7546
{
yyVAL.str = string(yyDollar[3].str)
}
- case 1529:
+ case 1533:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7534
+//line sql.y:7551
{
yyVAL.str = ""
}
- case 1530:
+ case 1534:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7538
+//line sql.y:7555
{
yyVAL.str = yyDollar[3].str
}
- case 1531:
+ case 1535:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7544
+//line sql.y:7561
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1532:
+ case 1536:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7548
+//line sql.y:7565
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1533:
+ case 1537:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7553
+//line sql.y:7570
{
yyVAL.str = ""
}
- case 1534:
+ case 1538:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:7557
+//line sql.y:7574
{
yyVAL.str = yyDollar[2].str
}
- case 1535:
+ case 1539:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7562
+//line sql.y:7579
{
yyVAL.str = "cascaded"
}
- case 1536:
+ case 1540:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7566
+//line sql.y:7583
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1537:
+ case 1541:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7570
+//line sql.y:7587
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1538:
+ case 1542:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7575
+//line sql.y:7592
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1539:
+ case 1543:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7579
+//line sql.y:7596
{
yyLOCAL = yyDollar[3].definerUnion()
}
yyVAL.union = yyLOCAL
- case 1540:
+ case 1544:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7585
+//line sql.y:7602
{
yyLOCAL = &Definer{
Name: string(yyDollar[1].str),
}
}
yyVAL.union = yyLOCAL
- case 1541:
+ case 1545:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7591
+//line sql.y:7608
{
yyLOCAL = &Definer{
Name: string(yyDollar[1].str),
}
}
yyVAL.union = yyLOCAL
- case 1542:
+ case 1546:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7597
+//line sql.y:7614
{
yyLOCAL = &Definer{
Name: yyDollar[1].str,
@@ -21797,433 +21932,433 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 1543:
+ case 1547:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7606
+//line sql.y:7623
{
yyVAL.str = encodeSQLString(yyDollar[1].str)
}
- case 1544:
+ case 1548:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7610
+//line sql.y:7627
{
yyVAL.str = formatIdentifier(yyDollar[1].str)
}
- case 1545:
+ case 1549:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7615
+//line sql.y:7632
{
yyVAL.str = ""
}
- case 1546:
+ case 1550:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7619
+//line sql.y:7636
{
yyVAL.str = formatAddress(yyDollar[1].str)
}
- case 1547:
+ case 1551:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7625
+//line sql.y:7642
{
yyLOCAL = ForUpdateLock
}
yyVAL.union = yyLOCAL
- case 1548:
+ case 1552:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7629
+//line sql.y:7646
{
yyLOCAL = ForUpdateLockNoWait
}
yyVAL.union = yyLOCAL
- case 1549:
+ case 1553:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7633
+//line sql.y:7650
{
yyLOCAL = ForUpdateLockSkipLocked
}
yyVAL.union = yyLOCAL
- case 1550:
+ case 1554:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7637
+//line sql.y:7654
{
yyLOCAL = ForShareLock
}
yyVAL.union = yyLOCAL
- case 1551:
+ case 1555:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7641
+//line sql.y:7658
{
yyLOCAL = ForShareLockNoWait
}
yyVAL.union = yyLOCAL
- case 1552:
+ case 1556:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7645
+//line sql.y:7662
{
yyLOCAL = ForShareLockSkipLocked
}
yyVAL.union = yyLOCAL
- case 1553:
+ case 1557:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7649
+//line sql.y:7666
{
yyLOCAL = ShareModeLock
}
yyVAL.union = yyLOCAL
- case 1554:
+ case 1558:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7655
+//line sql.y:7672
{
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}
}
yyVAL.union = yyLOCAL
- case 1555:
+ case 1559:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7659
+//line sql.y:7676
{
yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""}
}
yyVAL.union = yyLOCAL
- case 1556:
+ case 1560:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7663
+//line sql.y:7680
{
yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""}
}
yyVAL.union = yyLOCAL
- case 1557:
+ case 1561:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7668
+//line sql.y:7685
{
yyVAL.str = ""
}
- case 1558:
+ case 1562:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7672
+//line sql.y:7689
{
yyVAL.str = " format csv" + yyDollar[3].str
}
- case 1559:
+ case 1563:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7676
+//line sql.y:7693
{
yyVAL.str = " format text" + yyDollar[3].str
}
- case 1560:
+ case 1564:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7681
+//line sql.y:7698
{
yyVAL.str = ""
}
- case 1561:
+ case 1565:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7685
+//line sql.y:7702
{
yyVAL.str = " header"
}
- case 1562:
+ case 1566:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7690
+//line sql.y:7707
{
yyVAL.str = ""
}
- case 1563:
+ case 1567:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7694
+//line sql.y:7711
{
yyVAL.str = " manifest on"
}
- case 1564:
+ case 1568:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7698
+//line sql.y:7715
{
yyVAL.str = " manifest off"
}
- case 1565:
+ case 1569:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7703
+//line sql.y:7720
{
yyVAL.str = ""
}
- case 1566:
+ case 1570:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7707
+//line sql.y:7724
{
yyVAL.str = " overwrite on"
}
- case 1567:
+ case 1571:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7711
+//line sql.y:7728
{
yyVAL.str = " overwrite off"
}
- case 1568:
+ case 1572:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7717
+//line sql.y:7734
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
- case 1569:
+ case 1573:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7722
+//line sql.y:7739
{
yyVAL.str = ""
}
- case 1570:
+ case 1574:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7726
+//line sql.y:7743
{
yyVAL.str = " lines" + yyDollar[2].str
}
- case 1571:
+ case 1575:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7732
+//line sql.y:7749
{
yyVAL.str = yyDollar[1].str
}
- case 1572:
+ case 1576:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7736
+//line sql.y:7753
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
- case 1573:
+ case 1577:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7742
+//line sql.y:7759
{
yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str)
}
- case 1574:
+ case 1578:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7746
+//line sql.y:7763
{
yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
}
- case 1575:
+ case 1579:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7751
+//line sql.y:7768
{
yyVAL.str = ""
}
- case 1576:
+ case 1580:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7755
+//line sql.y:7772
{
yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str
}
- case 1577:
+ case 1581:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7761
+//line sql.y:7778
{
yyVAL.str = yyDollar[1].str
}
- case 1578:
+ case 1582:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7765
+//line sql.y:7782
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
- case 1579:
+ case 1583:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7771
+//line sql.y:7788
{
yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
}
- case 1580:
+ case 1584:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:7775
+//line sql.y:7792
{
yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str)
}
- case 1581:
+ case 1585:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7779
+//line sql.y:7796
{
yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str)
}
- case 1582:
+ case 1586:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7784
+//line sql.y:7801
{
yyVAL.str = ""
}
- case 1583:
+ case 1587:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7788
+//line sql.y:7805
{
yyVAL.str = " optionally"
}
- case 1584:
+ case 1588:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7801
+//line sql.y:7818
{
yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion(), RowAlias: yyDollar[3].rowAliasUnion()}
}
yyVAL.union = yyLOCAL
- case 1585:
+ case 1589:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7805
+//line sql.y:7822
{
yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 1586:
+ case 1590:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7809
+//line sql.y:7826
{
yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion(), RowAlias: yyDollar[6].rowAliasUnion()}
}
yyVAL.union = yyLOCAL
- case 1587:
+ case 1591:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7813
+//line sql.y:7830
{
yyLOCAL = &Insert{Columns: []IdentifierCI{}, Rows: yyDollar[4].valuesUnion(), RowAlias: yyDollar[5].rowAliasUnion()}
}
yyVAL.union = yyLOCAL
- case 1588:
+ case 1592:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7817
+//line sql.y:7834
{
yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 1589:
+ case 1593:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:7823
+//line sql.y:7840
{
yyLOCAL = Columns{yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1590:
+ case 1594:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Columns
-//line sql.y:7827
+//line sql.y:7844
{
yyLOCAL = Columns{yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1591:
+ case 1595:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7831
+//line sql.y:7848
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
}
- case 1592:
+ case 1596:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:7835
+//line sql.y:7852
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[5].identifierCI)
}
- case 1593:
+ case 1597:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *RowAlias
-//line sql.y:7840
+//line sql.y:7857
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1594:
+ case 1598:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *RowAlias
-//line sql.y:7844
+//line sql.y:7861
{
yyLOCAL = &RowAlias{TableName: yyDollar[2].identifierCS}
}
yyVAL.union = yyLOCAL
- case 1595:
+ case 1599:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *RowAlias
-//line sql.y:7848
+//line sql.y:7865
{
yyLOCAL = &RowAlias{TableName: yyDollar[2].identifierCS, Columns: yyDollar[4].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 1596:
+ case 1600:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7853
+//line sql.y:7870
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1597:
+ case 1601:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7857
+//line sql.y:7874
{
yyLOCAL = yyDollar[5].updateExprsUnion()
}
yyVAL.union = yyLOCAL
- case 1598:
+ case 1602:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Values
-//line sql.y:7863
+//line sql.y:7880
{
yyLOCAL = Values{yyDollar[1].valTupleUnion()}
}
yyVAL.union = yyLOCAL
- case 1599:
+ case 1603:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7867
+//line sql.y:7884
{
yySLICE := (*Values)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion())
}
- case 1600:
+ case 1604:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7873
+//line sql.y:7890
{
yyLOCAL = yyDollar[1].valTupleUnion()
}
yyVAL.union = yyLOCAL
- case 1601:
+ case 1605:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7877
+//line sql.y:7894
{
yyLOCAL = ValTuple{}
}
yyVAL.union = yyLOCAL
- case 1602:
+ case 1606:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7883
+//line sql.y:7900
{
yyLOCAL = ValTuple(yyDollar[2].exprsUnion())
}
yyVAL.union = yyLOCAL
- case 1603:
+ case 1607:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7887
+//line sql.y:7904
{
yyLOCAL = ValTuple(yyDollar[3].exprsUnion())
}
yyVAL.union = yyLOCAL
- case 1604:
+ case 1608:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7892
+//line sql.y:7909
{
if len(yyDollar[1].valTupleUnion()) == 1 {
yyLOCAL = yyDollar[1].valTupleUnion()[0]
@@ -22232,300 +22367,300 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 1605:
+ case 1609:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7902
+//line sql.y:7919
{
yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()}
}
yyVAL.union = yyLOCAL
- case 1606:
+ case 1610:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7906
+//line sql.y:7923
{
yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion())
}
- case 1607:
+ case 1611:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *UpdateExpr
-//line sql.y:7912
+//line sql.y:7929
{
yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1609:
+ case 1613:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7919
+//line sql.y:7936
{
yyVAL.str = "charset"
}
- case 1612:
+ case 1616:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7929
+//line sql.y:7946
{
yyLOCAL = NewStrLiteral(yyDollar[1].identifierCI.String())
}
yyVAL.union = yyLOCAL
- case 1613:
+ case 1617:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7933
+//line sql.y:7950
{
yyLOCAL = NewStrLiteral(yyDollar[1].str)
}
yyVAL.union = yyLOCAL
- case 1614:
+ case 1618:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7937
+//line sql.y:7954
{
yyLOCAL = &Default{}
}
yyVAL.union = yyLOCAL
- case 1617:
+ case 1621:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7946
+//line sql.y:7963
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1618:
+ case 1622:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:7948
+//line sql.y:7965
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1619:
+ case 1623:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7951
+//line sql.y:7968
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1620:
+ case 1624:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:7953
+//line sql.y:7970
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1621:
+ case 1625:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7956
+//line sql.y:7973
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1622:
+ case 1626:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL bool
-//line sql.y:7958
+//line sql.y:7975
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1623:
+ case 1627:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Ignore
-//line sql.y:7961
+//line sql.y:7978
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1624:
+ case 1628:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Ignore
-//line sql.y:7963
+//line sql.y:7980
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1625:
+ case 1629:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7966
+//line sql.y:7983
{
yyVAL.empty = struct{}{}
}
- case 1626:
+ case 1630:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7968
+//line sql.y:7985
{
yyVAL.empty = struct{}{}
}
- case 1627:
+ case 1631:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7970
+//line sql.y:7987
{
yyVAL.empty = struct{}{}
}
- case 1628:
+ case 1632:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:7974
+//line sql.y:7991
{
yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1629:
+ case 1633:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7979
+//line sql.y:7996
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1630:
+ case 1634:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7983
+//line sql.y:8000
{
yyLOCAL = yyDollar[1].exprsUnion()
}
yyVAL.union = yyLOCAL
- case 1631:
+ case 1635:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:7988
+//line sql.y:8005
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1632:
+ case 1636:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:7990
+//line sql.y:8007
{
yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1633:
+ case 1637:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:7994
+//line sql.y:8011
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].identifierCI.String())}
}
yyVAL.union = yyLOCAL
- case 1634:
+ case 1638:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8000
+//line sql.y:8017
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
- case 1635:
+ case 1639:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8004
+//line sql.y:8021
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
- case 1637:
+ case 1641:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8011
+//line sql.y:8028
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
- case 1638:
+ case 1642:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8017
+//line sql.y:8034
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 1639:
+ case 1643:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8021
+//line sql.y:8038
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 1640:
+ case 1644:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:8027
+//line sql.y:8044
{
yyVAL.identifierCS = NewIdentifierCS("")
}
- case 1641:
+ case 1645:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8031
+//line sql.y:8048
{
yyVAL.identifierCS = yyDollar[1].identifierCS
}
- case 1643:
+ case 1647:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8038
+//line sql.y:8055
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 1644:
+ case 1648:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:8044
+//line sql.y:8061
{
yyLOCAL = &Kill{Type: yyDollar[2].killTypeUnion(), ProcesslistID: convertStringToUInt64(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 1645:
+ case 1649:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL KillType
-//line sql.y:8050
+//line sql.y:8067
{
yyLOCAL = ConnectionType
}
yyVAL.union = yyLOCAL
- case 1646:
+ case 1650:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL KillType
-//line sql.y:8054
+//line sql.y:8071
{
yyLOCAL = ConnectionType
}
yyVAL.union = yyLOCAL
- case 1647:
+ case 1651:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL KillType
-//line sql.y:8058
+//line sql.y:8075
{
yyLOCAL = QueryType
}
yyVAL.union = yyLOCAL
- case 2275:
+ case 2282:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8714
+//line sql.y:8734
{
}
- case 2276:
+ case 2283:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8719
+//line sql.y:8739
{
}
- case 2277:
+ case 2284:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:8723
+//line sql.y:8743
{
skipToEnd(yylex)
}
- case 2278:
+ case 2285:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:8728
+//line sql.y:8748
{
skipToEnd(yylex)
}
- case 2279:
+ case 2286:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8732
+//line sql.y:8752
{
skipToEnd(yylex)
}
- case 2280:
+ case 2287:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8736
+//line sql.y:8756
{
skipToEnd(yylex)
}
diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y
index dfbeffed71a..faa7a09db1a 100644
--- a/go/vt/sqlparser/sql.y
+++ b/go/vt/sqlparser/sql.y
@@ -274,7 +274,7 @@ func markBindVariable(yylex yyLexer, bvar string) {
%token DISCARD IMPORT ENABLE DISABLE TABLESPACE
%token VIRTUAL STORED
%token BOTH LEADING TRAILING
-%token KILL
+%token KILL TRACE
%left EMPTY_FROM_CLAUSE
%right INTO
@@ -336,6 +336,7 @@ func markBindVariable(yylex yyLexer, bvar string) {
// Transaction Tokens
%token BEGIN START TRANSACTION COMMIT ROLLBACK SAVEPOINT RELEASE WORK
%token CONSISTENT SNAPSHOT
+%token UNRESOLVED TRANSACTIONS
// Type Tokens
%token BIT TINYINT SMALLINT MEDIUMINT INT INTEGER BIGINT INTNUM
@@ -754,7 +755,7 @@ with_list:
common_table_expr:
table_id column_list_opt AS subquery
{
- $$ = &CommonTableExpr{ID: $1, Columns: $2, Subquery: $4}
+ $$ = &CommonTableExpr{ID: $1, Columns: $2, Subquery: $4.Select}
}
query_expression_parens:
@@ -1270,36 +1271,36 @@ alter_table_prefix:
create_index_prefix:
CREATE comment_opt INDEX sql_id using_opt ON table_name
{
- $$ = &AlterTable{Table: $7, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition:&IndexDefinition{Info: &IndexInfo{Name:$4}, Options:$5}}}}
+ $$ = &AlterTable{Comments: Comments($2).Parsed(), Table: $7, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition:&IndexDefinition{Info: &IndexInfo{Name:$4}, Options:$5}}}}
setDDL(yylex, $$)
}
| CREATE comment_opt FULLTEXT INDEX sql_id using_opt ON table_name
{
- $$ = &AlterTable{Table: $8, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition:&IndexDefinition{Info: &IndexInfo{Name:$5, Type: IndexTypeFullText}, Options:$6}}}}
+ $$ = &AlterTable{Comments: Comments($2).Parsed(), Table: $8, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition:&IndexDefinition{Info: &IndexInfo{Name:$5, Type: IndexTypeFullText}, Options:$6}}}}
setDDL(yylex, $$)
}
| CREATE comment_opt SPATIAL INDEX sql_id using_opt ON table_name
{
- $$ = &AlterTable{Table: $8, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition:&IndexDefinition{Info: &IndexInfo{Name:$5, Type: IndexTypeSpatial}, Options:$6}}}}
+ $$ = &AlterTable{Comments: Comments($2).Parsed(), Table: $8, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition:&IndexDefinition{Info: &IndexInfo{Name:$5, Type: IndexTypeSpatial}, Options:$6}}}}
setDDL(yylex, $$)
}
| CREATE comment_opt UNIQUE INDEX sql_id using_opt ON table_name
{
- $$ = &AlterTable{Table: $8, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition:&IndexDefinition{Info: &IndexInfo{Name:$5, Type: IndexTypeUnique}, Options:$6}}}}
+ $$ = &AlterTable{Comments: Comments($2).Parsed(), Table: $8, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition:&IndexDefinition{Info: &IndexInfo{Name:$5, Type: IndexTypeUnique}, Options:$6}}}}
setDDL(yylex, $$)
}
create_database_prefix:
- CREATE comment_opt database_or_schema comment_opt not_exists_opt table_id
+ CREATE comment_opt database_or_schema not_exists_opt table_id
{
- $$ = &CreateDatabase{Comments: Comments($4).Parsed(), DBName: $6, IfNotExists: $5}
+ $$ = &CreateDatabase{Comments: Comments($2).Parsed(), DBName: $5, IfNotExists: $4}
setDDL(yylex,$$)
}
alter_database_prefix:
ALTER comment_opt database_or_schema
{
- $$ = &AlterDatabase{}
+ $$ = &AlterDatabase{Comments: Comments($2).Parsed()}
setDDL(yylex,$$)
}
@@ -3980,9 +3981,9 @@ drop_statement:
{
// Change this to an alter statement
if $4.Lowered() == "primary" {
- $$ = &AlterTable{FullyParsed:true, Table: $6,AlterOptions: append([]AlterOption{&DropKey{Type:PrimaryKeyType}},$7...)}
+ $$ = &AlterTable{Comments: Comments($2).Parsed(), FullyParsed:true, Table: $6,AlterOptions: append([]AlterOption{&DropKey{Type:PrimaryKeyType}},$7...)}
} else {
- $$ = &AlterTable{FullyParsed: true, Table: $6,AlterOptions: append([]AlterOption{&DropKey{Type:NormalKeyType, Name:$4}},$7...)}
+ $$ = &AlterTable{Comments: Comments($2).Parsed(), FullyParsed: true, Table: $6,AlterOptions: append([]AlterOption{&DropKey{Type:NormalKeyType, Name:$4}},$7...)}
}
}
| DROP comment_opt VIEW exists_opt view_name_list restrict_or_cascade_opt
@@ -4240,6 +4241,14 @@ show_statement:
{
$$ = &Show{&ShowTransactionStatus{TransactionID: string($5)}}
}
+| SHOW UNRESOLVED TRANSACTIONS
+ {
+ $$ = &Show{&ShowTransactionStatus{}}
+ }
+| SHOW UNRESOLVED TRANSACTIONS FOR table_id
+ {
+ $$ = &Show{&ShowTransactionStatus{Keyspace: $5.String()}}
+ }
for_opt:
{}
@@ -4491,6 +4500,14 @@ vexplain_type_opt:
{
$$ = QueriesVExplainType
}
+| TRACE
+ {
+ $$ = TraceVExplainType
+ }
+| KEYS
+ {
+ $$ = KeysVExplainType
+ }
explain_synonyms:
EXPLAIN
@@ -8632,8 +8649,10 @@ non_reserved_keyword:
| TINYBLOB
| TINYINT
| TINYTEXT
+| TRACE
| TRADITIONAL
| TRANSACTION
+| TRANSACTIONS
| TREE
| TRIGGER
| TRIGGERS
@@ -8644,6 +8663,7 @@ non_reserved_keyword:
| UNDEFINED
| UNICODE
| UNKNOWN
+| UNRESOLVED
| UNSIGNED
| UNTHROTTLE
| UNUSED
diff --git a/go/vt/sqlparser/testdata/select_cases.txt b/go/vt/sqlparser/testdata/select_cases.txt
index 157b2ebfe99..453bc54381a 100644
--- a/go/vt/sqlparser/testdata/select_cases.txt
+++ b/go/vt/sqlparser/testdata/select_cases.txt
@@ -7238,7 +7238,7 @@ INPUT
select trace from information_schema.optimizer_trace;
END
OUTPUT
-select trace from information_schema.optimizer_trace
+select `trace` from information_schema.optimizer_trace
END
INPUT
select collation(group_concat(a,_koi8r 0xC1C2)) from t1;
diff --git a/go/vt/sqlparser/tracked_buffer.go b/go/vt/sqlparser/tracked_buffer.go
index aec206f3b3d..48efe9547af 100644
--- a/go/vt/sqlparser/tracked_buffer.go
+++ b/go/vt/sqlparser/tracked_buffer.go
@@ -18,6 +18,7 @@ package sqlparser
import (
"fmt"
+ "strconv"
"strings"
)
@@ -211,7 +212,32 @@ func (buf *TrackedBuffer) astPrintf(currentNode SQLNode, format string, values .
}
}
case 'd':
- buf.WriteString(fmt.Sprintf("%d", values[fieldnum]))
+ switch v := values[fieldnum].(type) {
+ case int:
+ buf.WriteInt(int64(v))
+ case int8:
+ buf.WriteInt(int64(v))
+ case int16:
+ buf.WriteInt(int64(v))
+ case int32:
+ buf.WriteInt(int64(v))
+ case int64:
+ buf.WriteInt(v)
+ case uint:
+ buf.WriteUint(uint64(v))
+ case uint8:
+ buf.WriteUint(uint64(v))
+ case uint16:
+ buf.WriteUint(uint64(v))
+ case uint32:
+ buf.WriteUint(uint64(v))
+ case uint64:
+ buf.WriteUint(v)
+ case uintptr:
+ buf.WriteUint(uint64(v))
+ default:
+ panic(fmt.Sprintf("unexepcted TrackedBuffer type %T", v))
+ }
case 'a':
buf.WriteArg("", values[fieldnum].(string))
default:
@@ -288,14 +314,26 @@ func areBothISExpr(op Expr, val Expr) bool {
// WriteArg writes a value argument into the buffer along with
// tracking information for future substitutions.
func (buf *TrackedBuffer) WriteArg(prefix, arg string) {
+ length := len(prefix) + len(arg)
buf.bindLocations = append(buf.bindLocations, BindLocation{
Offset: buf.Len(),
- Length: len(prefix) + len(arg),
+ Length: length,
})
+ buf.Grow(length)
buf.WriteString(prefix)
buf.WriteString(arg)
}
+// WriteInt writes a signed integer into the buffer.
+func (buf *TrackedBuffer) WriteInt(v int64) {
+ buf.WriteString(strconv.FormatInt(v, 10))
+}
+
+// WriteUint writes an unsigned integer into the buffer.
+func (buf *TrackedBuffer) WriteUint(v uint64) {
+ buf.WriteString(strconv.FormatUint(v, 10))
+}
+
// ParsedQuery returns a ParsedQuery that contains bind
// locations for easy substitution.
func (buf *TrackedBuffer) ParsedQuery() *ParsedQuery {
@@ -335,7 +373,6 @@ func UnescapedString(node SQLNode) string {
buf.SetEscapeNoIdentifier()
node.Format(buf)
return buf.String()
-
}
// CanonicalString returns a canonical string representation of an SQLNode where all identifiers
diff --git a/go/vt/sqlparser/tracked_buffer_test.go b/go/vt/sqlparser/tracked_buffer_test.go
index 4dff65634e8..96f2174481e 100644
--- a/go/vt/sqlparser/tracked_buffer_test.go
+++ b/go/vt/sqlparser/tracked_buffer_test.go
@@ -295,3 +295,35 @@ func TestCanonicalOutput(t *testing.T) {
})
}
}
+
+func TestTrackedBufferMyprintf(t *testing.T) {
+ testcases := []struct {
+ input string
+ output string
+ args []any
+ }{
+ {
+ input: "nothing",
+ output: "nothing",
+ args: []any{},
+ },
+ {
+ input: "my name is %s",
+ output: "my name is Homer",
+ args: []any{"Homer"},
+ },
+ {
+ input: "%d %d %d %d %d %d %d %d %d %d %d",
+ output: "1 2 3 4 5 6 7 8 9 10 11",
+ args: []any{int(1), int8(2), int16(3), int32(4), int64(5), uint(6), uint8(7), uint16(8), uint32(9), uint64(10), uintptr(11)},
+ },
+ }
+ for _, tc := range testcases {
+ t.Run(tc.input, func(t *testing.T) {
+ buf := NewTrackedBuffer(nil)
+ buf.Myprintf(tc.input, tc.args...)
+ got := buf.String()
+ assert.Equal(t, tc.output, got)
+ })
+ }
+}
diff --git a/go/vt/srvtopo/discover.go b/go/vt/srvtopo/discover.go
index 2997dc42e21..2b020e89887 100644
--- a/go/vt/srvtopo/discover.go
+++ b/go/vt/srvtopo/discover.go
@@ -17,9 +17,8 @@ limitations under the License.
package srvtopo
import (
- "sync"
-
"context"
+ "sync"
"vitess.io/vitess/go/vt/concurrency"
"vitess.io/vitess/go/vt/log"
@@ -29,15 +28,16 @@ import (
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
)
-// FindAllTargets goes through all serving shards in the topology for the provided keyspaces
+// FindAllTargetsAndKeyspaces goes through all serving shards in the topology for the provided keyspaces
// and tablet types. If no keyspaces are provided all available keyspaces in the topo are
// fetched. It returns one Target object per keyspace/shard/matching TabletType.
-func FindAllTargets(ctx context.Context, ts Server, cell string, keyspaces []string, tabletTypes []topodatapb.TabletType) ([]*querypb.Target, error) {
+// It also returns all the keyspaces that it found.
+func FindAllTargetsAndKeyspaces(ctx context.Context, ts Server, cell string, keyspaces []string, tabletTypes []topodatapb.TabletType) ([]*querypb.Target, []string, error) {
var err error
if len(keyspaces) == 0 {
keyspaces, err = ts.GetSrvKeyspaceNames(ctx, cell, true)
if err != nil {
- return nil, err
+ return nil, nil, err
}
}
@@ -95,8 +95,8 @@ func FindAllTargets(ctx context.Context, ts Server, cell string, keyspaces []str
}
wg.Wait()
if errRecorder.HasErrors() {
- return nil, errRecorder.Error()
+ return nil, nil, errRecorder.Error()
}
- return targets, nil
+ return targets, keyspaces, nil
}
diff --git a/go/vt/srvtopo/discover_test.go b/go/vt/srvtopo/discover_test.go
index 75c5f25cc6e..90929586702 100644
--- a/go/vt/srvtopo/discover_test.go
+++ b/go/vt/srvtopo/discover_test.go
@@ -49,7 +49,7 @@ func (a TargetArray) Less(i, j int) bool {
return a[i].TabletType < a[j].TabletType
}
-func TestFindAllTargets(t *testing.T) {
+func TestFindAllTargetsAndKeyspaces(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1", "cell2")
@@ -65,9 +65,10 @@ func TestFindAllTargets(t *testing.T) {
rs := NewResilientServer(ctx, ts, counts)
// No keyspace / shards.
- ks, err := FindAllTargets(ctx, rs, "cell1", []string{"test_keyspace"}, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY})
+ targets, ksList, err := FindAllTargetsAndKeyspaces(ctx, rs, "cell1", []string{"test_keyspace"}, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY})
assert.NoError(t, err)
- assert.Len(t, ks, 0)
+ assert.Len(t, targets, 0)
+ assert.EqualValues(t, []string{"test_keyspace"}, ksList)
// Add one.
assert.NoError(t, ts.UpdateSrvKeyspace(ctx, "cell1", "test_keyspace", &topodatapb.SrvKeyspace{
@@ -84,7 +85,7 @@ func TestFindAllTargets(t *testing.T) {
}))
// Get it.
- ks, err = FindAllTargets(ctx, rs, "cell1", []string{"test_keyspace"}, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY})
+ targets, ksList, err = FindAllTargetsAndKeyspaces(ctx, rs, "cell1", []string{"test_keyspace"}, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY})
assert.NoError(t, err)
assert.EqualValues(t, []*querypb.Target{
{
@@ -93,10 +94,11 @@ func TestFindAllTargets(t *testing.T) {
Shard: "test_shard0",
TabletType: topodatapb.TabletType_PRIMARY,
},
- }, ks)
+ }, targets)
+ assert.EqualValues(t, []string{"test_keyspace"}, ksList)
// Get any keyspace.
- ks, err = FindAllTargets(ctx, rs, "cell1", nil, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY})
+ targets, ksList, err = FindAllTargetsAndKeyspaces(ctx, rs, "cell1", nil, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY})
assert.NoError(t, err)
assert.EqualValues(t, []*querypb.Target{
{
@@ -105,7 +107,8 @@ func TestFindAllTargets(t *testing.T) {
Shard: "test_shard0",
TabletType: topodatapb.TabletType_PRIMARY,
},
- }, ks)
+ }, targets)
+ assert.EqualValues(t, []string{"test_keyspace"}, ksList)
// Add another one.
assert.NoError(t, ts.UpdateSrvKeyspace(ctx, "cell1", "test_keyspace2", &topodatapb.SrvKeyspace{
@@ -130,9 +133,9 @@ func TestFindAllTargets(t *testing.T) {
}))
// Get it for any keyspace, all types.
- ks, err = FindAllTargets(ctx, rs, "cell1", nil, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY, topodatapb.TabletType_REPLICA})
+ targets, ksList, err = FindAllTargetsAndKeyspaces(ctx, rs, "cell1", nil, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY, topodatapb.TabletType_REPLICA})
assert.NoError(t, err)
- sort.Sort(TargetArray(ks))
+ sort.Sort(TargetArray(targets))
assert.EqualValues(t, []*querypb.Target{
{
Cell: "cell1",
@@ -152,10 +155,12 @@ func TestFindAllTargets(t *testing.T) {
Shard: "test_shard2",
TabletType: topodatapb.TabletType_REPLICA,
},
- }, ks)
+ }, targets)
+ sort.Strings(ksList)
+ assert.EqualValues(t, []string{"test_keyspace", "test_keyspace2"}, ksList)
// Only get 1 keyspace for all types.
- ks, err = FindAllTargets(ctx, rs, "cell1", []string{"test_keyspace2"}, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY, topodatapb.TabletType_REPLICA})
+ targets, ksList, err = FindAllTargetsAndKeyspaces(ctx, rs, "cell1", []string{"test_keyspace2"}, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY, topodatapb.TabletType_REPLICA})
assert.NoError(t, err)
assert.EqualValues(t, []*querypb.Target{
{
@@ -170,10 +175,11 @@ func TestFindAllTargets(t *testing.T) {
Shard: "test_shard2",
TabletType: topodatapb.TabletType_REPLICA,
},
- }, ks)
+ }, targets)
+ assert.EqualValues(t, []string{"test_keyspace2"}, ksList)
// Only get the REPLICA targets for any keyspace.
- ks, err = FindAllTargets(ctx, rs, "cell1", []string{}, []topodatapb.TabletType{topodatapb.TabletType_REPLICA})
+ targets, ksList, err = FindAllTargetsAndKeyspaces(ctx, rs, "cell1", []string{}, []topodatapb.TabletType{topodatapb.TabletType_REPLICA})
assert.NoError(t, err)
assert.Equal(t, []*querypb.Target{
{
@@ -182,10 +188,13 @@ func TestFindAllTargets(t *testing.T) {
Shard: "test_shard2",
TabletType: topodatapb.TabletType_REPLICA,
},
- }, ks)
+ }, targets)
+ sort.Strings(ksList)
+ assert.EqualValues(t, []string{"test_keyspace", "test_keyspace2"}, ksList)
// Get non-existent keyspace.
- ks, err = FindAllTargets(ctx, rs, "cell1", []string{"doesnt-exist"}, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY, topodatapb.TabletType_REPLICA})
+ targets, ksList, err = FindAllTargetsAndKeyspaces(ctx, rs, "cell1", []string{"doesnt-exist"}, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY, topodatapb.TabletType_REPLICA})
assert.NoError(t, err)
- assert.Len(t, ks, 0)
+ assert.Len(t, targets, 0)
+ assert.EqualValues(t, []string{"doesnt-exist"}, ksList)
}
diff --git a/go/vt/throttler/demo/throttler_demo.go b/go/vt/throttler/demo/throttler_demo.go
index 032b1fae3ca..13927f90c12 100644
--- a/go/vt/throttler/demo/throttler_demo.go
+++ b/go/vt/throttler/demo/throttler_demo.go
@@ -239,7 +239,7 @@ func newClient(ctx context.Context, primary *primary, replica *replica, ts *topo
log.Fatal(err)
}
- healthCheck := discovery.NewHealthCheck(ctx, 5*time.Second, 1*time.Minute, ts, "cell1", "")
+ healthCheck := discovery.NewHealthCheck(ctx, 5*time.Second, 1*time.Minute, ts, "cell1", "", nil)
c := &client{
primary: primary,
healthCheck: healthCheck,
diff --git a/go/vt/topo/shard.go b/go/vt/topo/shard.go
index 77983f20d2d..ba3a02a68ca 100644
--- a/go/vt/topo/shard.go
+++ b/go/vt/topo/shard.go
@@ -19,6 +19,7 @@ package topo
import (
"context"
"encoding/hex"
+ "errors"
"fmt"
"path"
"slices"
@@ -393,7 +394,7 @@ func (si *ShardInfo) UpdateDeniedTables(ctx context.Context, tabletType topodata
return err
}
if tabletType == topodatapb.TabletType_PRIMARY && len(cells) > 0 {
- return fmt.Errorf(dlNoCellsForPrimary)
+ return errors.New(dlNoCellsForPrimary)
}
tc := si.GetTabletControl(tabletType)
if tc == nil {
diff --git a/go/vt/vtadmin/api.go b/go/vt/vtadmin/api.go
index 1e83875de35..2dc83b6e233 100644
--- a/go/vt/vtadmin/api.go
+++ b/go/vt/vtadmin/api.go
@@ -32,10 +32,10 @@ import (
"github.com/gorilla/mux"
"github.com/patrickmn/go-cache"
- "vitess.io/vitess/go/stats"
- "vitess.io/vitess/go/vt/vtenv"
-
+ vreplcommon "vitess.io/vitess/go/cmd/vtctldclient/command/vreplication/common"
+ "vitess.io/vitess/go/ptr"
"vitess.io/vitess/go/sets"
+ "vitess.io/vitess/go/stats"
"vitess.io/vitess/go/trace"
"vitess.io/vitess/go/vt/concurrency"
"vitess.io/vitess/go/vt/log"
@@ -53,9 +53,12 @@ import (
"vitess.io/vitess/go/vt/vtadmin/rbac"
"vitess.io/vitess/go/vt/vtadmin/sort"
"vitess.io/vitess/go/vt/vtadmin/vtadminproto"
+ "vitess.io/vitess/go/vt/vtenv"
"vitess.io/vitess/go/vt/vterrors"
"vitess.io/vitess/go/vt/vtexplain"
+ binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
+ tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
vtadminpb "vitess.io/vitess/go/vt/proto/vtadmin"
vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
@@ -411,12 +414,17 @@ func (api *API) Handler() http.Handler {
router.HandleFunc("/tablet/{tablet}/start_replication", httpAPI.Adapt(vtadminhttp.StartReplication)).Name("API.StartReplication").Methods("PUT", "OPTIONS")
router.HandleFunc("/tablet/{tablet}/stop_replication", httpAPI.Adapt(vtadminhttp.StopReplication)).Name("API.StopReplication").Methods("PUT", "OPTIONS")
router.HandleFunc("/tablet/{tablet}/externally_promoted", httpAPI.Adapt(vtadminhttp.TabletExternallyPromoted)).Name("API.TabletExternallyPromoted").Methods("POST")
+ router.HandleFunc("/transactions/{cluster_id}/{keyspace}", httpAPI.Adapt(vtadminhttp.GetUnresolvedTransactions)).Name("API.GetUnresolvedTransactions").Methods("GET")
router.HandleFunc("/vschema/{cluster_id}/{keyspace}", httpAPI.Adapt(vtadminhttp.GetVSchema)).Name("API.GetVSchema")
router.HandleFunc("/vschemas", httpAPI.Adapt(vtadminhttp.GetVSchemas)).Name("API.GetVSchemas")
router.HandleFunc("/vtctlds", httpAPI.Adapt(vtadminhttp.GetVtctlds)).Name("API.GetVtctlds")
router.HandleFunc("/vtexplain", httpAPI.Adapt(vtadminhttp.VTExplain)).Name("API.VTExplain")
router.HandleFunc("/workflow/{cluster_id}/{keyspace}/{name}", httpAPI.Adapt(vtadminhttp.GetWorkflow)).Name("API.GetWorkflow")
router.HandleFunc("/workflows", httpAPI.Adapt(vtadminhttp.GetWorkflows)).Name("API.GetWorkflows")
+ router.HandleFunc("/workflow/{cluster_id}/{keyspace}/{name}/status", httpAPI.Adapt(vtadminhttp.GetWorkflowStatus)).Name("API.GetWorkflowStatus")
+ router.HandleFunc("/workflow/{cluster_id}/{keyspace}/{name}/start", httpAPI.Adapt(vtadminhttp.StartWorkflow)).Name("API.StartWorkflow")
+ router.HandleFunc("/workflow/{cluster_id}/{keyspace}/{name}/stop", httpAPI.Adapt(vtadminhttp.StopWorkflow)).Name("API.StopWorkflow")
+ router.HandleFunc("/workflow/{cluster_id}/movetables", httpAPI.Adapt(vtadminhttp.MoveTablesCreate)).Name("API.MoveTablesCreate").Methods("POST")
experimentalRouter := router.PathPrefix("/experimental").Subrouter()
experimentalRouter.HandleFunc("/tablet/{tablet}/debug/vars", httpAPI.Adapt(experimental.TabletDebugVarsPassthrough)).Name("API.TabletDebugVarsPassthrough")
@@ -1476,6 +1484,27 @@ func (api *API) GetTopologyPath(ctx context.Context, req *vtadminpb.GetTopologyP
return c.Vtctld.GetTopologyPath(ctx, &vtctldatapb.GetTopologyPathRequest{Path: req.Path})
}
+// GetUnresolvedTransactions is part of the vtadminpb.VTAdminServer interface.
+func (api *API) GetUnresolvedTransactions(ctx context.Context, req *vtadminpb.GetUnresolvedTransactionsRequest) (*vtctldatapb.GetUnresolvedTransactionsResponse, error) {
+ span, ctx := trace.NewSpan(ctx, "API.GetUnresolvedTransactions")
+ defer span.Finish()
+
+ c, err := api.getClusterForRequest(req.ClusterId)
+ if err != nil {
+ return nil, err
+ }
+
+ cluster.AnnotateSpan(c, span)
+
+ if !api.authz.IsAuthorized(ctx, c.ID, rbac.KeyspaceResource, rbac.GetAction) {
+ return nil, nil
+ }
+
+ return c.Vtctld.GetUnresolvedTransactions(ctx, &vtctldatapb.GetUnresolvedTransactionsRequest{
+ Keyspace: req.Keyspace,
+ })
+}
+
// GetVSchema is part of the vtadminpb.VTAdminServer interface.
func (api *API) GetVSchema(ctx context.Context, req *vtadminpb.GetVSchemaRequest) (*vtadminpb.VSchema, error) {
span, ctx := trace.NewSpan(ctx, "API.GetVSchema")
@@ -1662,6 +1691,91 @@ func (api *API) GetWorkflow(ctx context.Context, req *vtadminpb.GetWorkflowReque
})
}
+// GetWorkflowStatus is part of the vtadminpb.VTAdminServer interface.
+func (api *API) GetWorkflowStatus(ctx context.Context, req *vtadminpb.GetWorkflowStatusRequest) (*vtctldatapb.WorkflowStatusResponse, error) {
+ span, ctx := trace.NewSpan(ctx, "API.GetWorkflowStatus")
+ defer span.Finish()
+
+ c, err := api.getClusterForRequest(req.ClusterId)
+ if err != nil {
+ return nil, err
+ }
+
+ cluster.AnnotateSpan(c, span)
+ span.Annotate("keyspace", req.Keyspace)
+ span.Annotate("workflow_name", req.Name)
+
+ if !api.authz.IsAuthorized(ctx, c.ID, rbac.WorkflowResource, rbac.GetAction) {
+ return nil, nil
+ }
+
+ return c.Vtctld.WorkflowStatus(ctx, &vtctldatapb.WorkflowStatusRequest{
+ Keyspace: req.Keyspace,
+ Workflow: req.Name,
+ })
+}
+
+// StartWorkflow is part of the vtadminpb.VTAdminServer interface.
+func (api *API) StartWorkflow(ctx context.Context, req *vtadminpb.StartWorkflowRequest) (*vtctldatapb.WorkflowUpdateResponse, error) {
+ span, ctx := trace.NewSpan(ctx, "API.StartWorkflow")
+ defer span.Finish()
+
+ c, err := api.getClusterForRequest(req.ClusterId)
+ if err != nil {
+ return nil, err
+ }
+
+ cluster.AnnotateSpan(c, span)
+ span.Annotate("keyspace", req.Keyspace)
+ span.Annotate("workflow_name", req.Workflow)
+
+ if !api.authz.IsAuthorized(ctx, c.ID, rbac.WorkflowResource, rbac.PutAction) {
+ return nil, nil
+ }
+
+ vreplcommon.SetClient(c.Vtctld)
+ vreplcommon.SetCommandCtx(ctx)
+
+ if err := vreplcommon.CanRestartWorkflow(req.Keyspace, req.Workflow); err != nil {
+ return nil, err
+ }
+
+ return c.Vtctld.WorkflowUpdate(ctx, &vtctldatapb.WorkflowUpdateRequest{
+ Keyspace: req.Keyspace,
+ TabletRequest: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
+ Workflow: req.Workflow,
+ State: ptr.Of(binlogdatapb.VReplicationWorkflowState_Running),
+ },
+ })
+}
+
+// StopWorkflow is part of the vtadminpb.VTAdminServer interface.
+func (api *API) StopWorkflow(ctx context.Context, req *vtadminpb.StopWorkflowRequest) (*vtctldatapb.WorkflowUpdateResponse, error) {
+ span, ctx := trace.NewSpan(ctx, "API.StopWorkflow")
+ defer span.Finish()
+
+ c, err := api.getClusterForRequest(req.ClusterId)
+ if err != nil {
+ return nil, err
+ }
+
+ cluster.AnnotateSpan(c, span)
+ span.Annotate("keyspace", req.Keyspace)
+ span.Annotate("workflow_name", req.Workflow)
+
+ if !api.authz.IsAuthorized(ctx, c.ID, rbac.WorkflowResource, rbac.PutAction) {
+ return nil, nil
+ }
+
+ return c.Vtctld.WorkflowUpdate(ctx, &vtctldatapb.WorkflowUpdateRequest{
+ Keyspace: req.Keyspace,
+ TabletRequest: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
+ Workflow: req.Workflow,
+ State: ptr.Of(binlogdatapb.VReplicationWorkflowState_Stopped),
+ },
+ })
+}
+
// GetWorkflows is part of the vtadminpb.VTAdminServer interface.
func (api *API) GetWorkflows(ctx context.Context, req *vtadminpb.GetWorkflowsRequest) (*vtadminpb.GetWorkflowsResponse, error) {
span, ctx := trace.NewSpan(ctx, "API.GetWorkflows")
@@ -1732,6 +1846,25 @@ func (api *API) LaunchSchemaMigration(ctx context.Context, req *vtadminpb.Launch
return c.LaunchSchemaMigration(ctx, req.Request)
}
+// MoveTablesCreate is part of the vtadminpb.VTAdminServer interface.
+func (api *API) MoveTablesCreate(ctx context.Context, req *vtadminpb.MoveTablesCreateRequest) (*vtctldatapb.WorkflowStatusResponse, error) {
+ span, ctx := trace.NewSpan(ctx, "API.MoveTablesCreate")
+ defer span.Finish()
+
+ span.Annotate("cluster_id", req.ClusterId)
+
+ if !api.authz.IsAuthorized(ctx, req.ClusterId, rbac.WorkflowResource, rbac.CreateAction) {
+ return nil, fmt.Errorf("%w: cannot create workflow in %s", errors.ErrUnauthorized, req.ClusterId)
+ }
+
+ c, err := api.getClusterForRequest(req.ClusterId)
+ if err != nil {
+ return nil, err
+ }
+
+ return c.Vtctld.MoveTablesCreate(ctx, req.Request)
+}
+
// PingTablet is part of the vtadminpb.VTAdminServer interface.
func (api *API) PingTablet(ctx context.Context, req *vtadminpb.PingTabletRequest) (*vtadminpb.PingTabletResponse, error) {
span, ctx := trace.NewSpan(ctx, "API.PingTablet")
diff --git a/go/vt/vtadmin/http/transactions.go b/go/vt/vtadmin/http/transactions.go
new file mode 100644
index 00000000000..2bcf4ee7e2c
--- /dev/null
+++ b/go/vt/vtadmin/http/transactions.go
@@ -0,0 +1,36 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package http
+
+import (
+ "context"
+
+ vtadminpb "vitess.io/vitess/go/vt/proto/vtadmin"
+)
+
+// GetUnresolvedTransactions implements the http wrapper for the
+// /transactions/{cluster_id}/{keyspace} route.
+func GetUnresolvedTransactions(ctx context.Context, r Request, api *API) *JSONResponse {
+ vars := r.Vars()
+
+ res, err := api.server.GetUnresolvedTransactions(ctx, &vtadminpb.GetUnresolvedTransactionsRequest{
+ ClusterId: vars["cluster_id"],
+ Keyspace: vars["keyspace"],
+ })
+
+ return NewJSONResponse(res, err)
+}
diff --git a/go/vt/vtadmin/http/workflows.go b/go/vt/vtadmin/http/workflows.go
index 80c6dff775b..5300962e248 100644
--- a/go/vt/vtadmin/http/workflows.go
+++ b/go/vt/vtadmin/http/workflows.go
@@ -18,8 +18,12 @@ package http
import (
"context"
+ "encoding/json"
+
+ "vitess.io/vitess/go/vt/vtadmin/errors"
vtadminpb "vitess.io/vitess/go/vt/proto/vtadmin"
+ vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
)
// GetWorkflow implements the http wrapper for the VTAdminServer.GetWorkflow
@@ -69,3 +73,75 @@ func GetWorkflows(ctx context.Context, r Request, api *API) *JSONResponse {
return NewJSONResponse(workflows, err)
}
+
+// GetWorkflowStatus implements the http wrapper for the VTAdminServer.GetWorkflowStatus
+// method.
+//
+// Its route is /workflow/{cluster_id}/{keyspace}/{name}/status
+func GetWorkflowStatus(ctx context.Context, r Request, api *API) *JSONResponse {
+ vars := r.Vars()
+
+ workflowStatus, err := api.server.GetWorkflowStatus(ctx, &vtadminpb.GetWorkflowStatusRequest{
+ ClusterId: vars["cluster_id"],
+ Keyspace: vars["keyspace"],
+ Name: vars["name"],
+ })
+
+ return NewJSONResponse(workflowStatus, err)
+}
+
+// StartWorkflow implements the http wrapper for the VTAdminServer.StartWorkflow
+// method.
+//
+// Its route is /workflow/{cluster_id}/{keyspace}/{name}/start
+func StartWorkflow(ctx context.Context, r Request, api *API) *JSONResponse {
+ vars := r.Vars()
+
+ res, err := api.server.StartWorkflow(ctx, &vtadminpb.StartWorkflowRequest{
+ ClusterId: vars["cluster_id"],
+ Keyspace: vars["keyspace"],
+ Workflow: vars["name"],
+ })
+
+ return NewJSONResponse(res, err)
+}
+
+// StopWorkflow implements the http wrapper for the VTAdminServer.StopWorkflow
+// method.
+//
+// Its route is /workflow/{cluster_id}/{keyspace}/{name}/stop
+func StopWorkflow(ctx context.Context, r Request, api *API) *JSONResponse {
+ vars := r.Vars()
+
+ res, err := api.server.StopWorkflow(ctx, &vtadminpb.StopWorkflowRequest{
+ ClusterId: vars["cluster_id"],
+ Keyspace: vars["keyspace"],
+ Workflow: vars["name"],
+ })
+
+ return NewJSONResponse(res, err)
+}
+
+// MoveTablesCreate implements the http wrapper for the VTAdminServer.MoveTablesCreate
+// method.
+//
+// Its route is /workflow/{cluster_id}/movetables
+func MoveTablesCreate(ctx context.Context, r Request, api *API) *JSONResponse {
+ vars := r.Vars()
+ decoder := json.NewDecoder(r.Body)
+ defer r.Body.Close()
+
+ var req vtctldatapb.MoveTablesCreateRequest
+ if err := decoder.Decode(&req); err != nil {
+ return NewJSONResponse(nil, &errors.BadRequest{
+ Err: err,
+ })
+ }
+
+ res, err := api.server.MoveTablesCreate(ctx, &vtadminpb.MoveTablesCreateRequest{
+ ClusterId: vars["cluster_id"],
+ Request: &req,
+ })
+
+ return NewJSONResponse(res, err)
+}
diff --git a/go/vt/vtcombo/tablet_map.go b/go/vt/vtcombo/tablet_map.go
index 77b7446fc1d..ee90a4f6319 100644
--- a/go/vt/vtcombo/tablet_map.go
+++ b/go/vt/vtcombo/tablet_map.go
@@ -254,7 +254,11 @@ func DeleteKs(
tablet.tm.Stop()
tablet.tm.Close()
tablet.qsc.SchemaEngine().Close()
- err := ts.DeleteTablet(ctx, tablet.alias)
+ err := tablet.qsc.QueryService().Close(ctx)
+ if err != nil {
+ return err
+ }
+ err = ts.DeleteTablet(ctx, tablet.alias)
if err != nil {
return err
}
@@ -559,8 +563,8 @@ func (itc *internalTabletConn) ReadTransaction(ctx context.Context, target *quer
}
// UnresolvedTransactions is part of queryservice.QueryService
-func (itc *internalTabletConn) UnresolvedTransactions(ctx context.Context, target *querypb.Target) (transactions []*querypb.TransactionMetadata, err error) {
- transactions, err = itc.tablet.qsc.QueryService().UnresolvedTransactions(ctx, target)
+func (itc *internalTabletConn) UnresolvedTransactions(ctx context.Context, target *querypb.Target, abandonAgeSeconds int64) (transactions []*querypb.TransactionMetadata, err error) {
+ transactions, err = itc.tablet.qsc.QueryService().UnresolvedTransactions(ctx, target, abandonAgeSeconds)
return transactions, tabletconn.ErrorFromGRPC(vterrors.ToGRPC(err))
}
@@ -890,6 +894,18 @@ func (itmc *internalTabletManagerClient) ExecuteFetchAsApp(context.Context, *top
return nil, fmt.Errorf("not implemented in vtcombo")
}
+func (itmc *internalTabletManagerClient) GetUnresolvedTransactions(ctx context.Context, tablet *topodatapb.Tablet) ([]*querypb.TransactionMetadata, error) {
+ return nil, fmt.Errorf("not implemented in vtcombo")
+}
+
+func (itmc *internalTabletManagerClient) ConcludeTransaction(ctx context.Context, tablet *topodatapb.Tablet, dtid string, mm bool) error {
+ return fmt.Errorf("not implemented in vtcombo")
+}
+
+func (itmc *internalTabletManagerClient) ReadTransaction(ctx context.Context, tablet *topodatapb.Tablet, dtid string) (*querypb.TransactionMetadata, error) {
+ return nil, fmt.Errorf("not implemented in vtcombo")
+}
+
func (itmc *internalTabletManagerClient) PrimaryStatus(context.Context, *topodatapb.Tablet) (*replicationdatapb.PrimaryStatus, error) {
return nil, fmt.Errorf("not implemented in vtcombo")
}
@@ -926,6 +942,10 @@ func (itmc *internalTabletManagerClient) ReadVReplicationWorkflow(context.Contex
return nil, fmt.Errorf("not implemented in vtcombo")
}
+func (itmc *internalTabletManagerClient) ValidateVReplicationPermissions(context.Context, *topodatapb.Tablet, *tabletmanagerdatapb.ValidateVReplicationPermissionsRequest) (*tabletmanagerdatapb.ValidateVReplicationPermissionsResponse, error) {
+ return nil, fmt.Errorf("not implemented in vtcombo")
+}
+
func (itmc *internalTabletManagerClient) VReplicationExec(context.Context, *topodatapb.Tablet, string) (*querypb.QueryResult, error) {
return nil, fmt.Errorf("not implemented in vtcombo")
}
diff --git a/go/vt/vtctl/grpcvtctldclient/client_gen.go b/go/vt/vtctl/grpcvtctldclient/client_gen.go
index 2153d2c94f4..45db87a582d 100644
--- a/go/vt/vtctl/grpcvtctldclient/client_gen.go
+++ b/go/vt/vtctl/grpcvtctldclient/client_gen.go
@@ -155,6 +155,15 @@ func (client *gRPCVtctldClient) CompleteSchemaMigration(ctx context.Context, in
return client.c.CompleteSchemaMigration(ctx, in, opts...)
}
+// ConcludeTransaction is part of the vtctlservicepb.VtctldClient interface.
+func (client *gRPCVtctldClient) ConcludeTransaction(ctx context.Context, in *vtctldatapb.ConcludeTransactionRequest, opts ...grpc.CallOption) (*vtctldatapb.ConcludeTransactionResponse, error) {
+ if client.c == nil {
+ return nil, status.Error(codes.Unavailable, connClosedMsg)
+ }
+
+ return client.c.ConcludeTransaction(ctx, in, opts...)
+}
+
// CreateKeyspace is part of the vtctlservicepb.VtctldClient interface.
func (client *gRPCVtctldClient) CreateKeyspace(ctx context.Context, in *vtctldatapb.CreateKeyspaceRequest, opts ...grpc.CallOption) (*vtctldatapb.CreateKeyspaceResponse, error) {
if client.c == nil {
@@ -506,6 +515,15 @@ func (client *gRPCVtctldClient) GetTopologyPath(ctx context.Context, in *vtctlda
return client.c.GetTopologyPath(ctx, in, opts...)
}
+// GetUnresolvedTransactions is part of the vtctlservicepb.VtctldClient interface.
+func (client *gRPCVtctldClient) GetUnresolvedTransactions(ctx context.Context, in *vtctldatapb.GetUnresolvedTransactionsRequest, opts ...grpc.CallOption) (*vtctldatapb.GetUnresolvedTransactionsResponse, error) {
+ if client.c == nil {
+ return nil, status.Error(codes.Unavailable, connClosedMsg)
+ }
+
+ return client.c.GetUnresolvedTransactions(ctx, in, opts...)
+}
+
// GetVSchema is part of the vtctlservicepb.VtctldClient interface.
func (client *gRPCVtctldClient) GetVSchema(ctx context.Context, in *vtctldatapb.GetVSchemaRequest, opts ...grpc.CallOption) (*vtctldatapb.GetVSchemaResponse, error) {
if client.c == nil {
diff --git a/go/vt/vtctl/grpcvtctldserver/server.go b/go/vt/vtctl/grpcvtctldserver/server.go
index d036cb0e8dd..305a8b7888f 100644
--- a/go/vt/vtctl/grpcvtctldserver/server.go
+++ b/go/vt/vtctl/grpcvtctldserver/server.go
@@ -31,6 +31,7 @@ import (
"sync"
"time"
+ "golang.org/x/sync/errgroup"
"golang.org/x/sync/semaphore"
"google.golang.org/grpc"
@@ -43,6 +44,7 @@ import (
"vitess.io/vitess/go/trace"
"vitess.io/vitess/go/vt/callerid"
"vitess.io/vitess/go/vt/concurrency"
+ "vitess.io/vitess/go/vt/dtids"
hk "vitess.io/vitess/go/vt/hook"
"vitess.io/vitess/go/vt/key"
"vitess.io/vitess/go/vt/log"
@@ -51,6 +53,16 @@ import (
"vitess.io/vitess/go/vt/mysqlctl/backupstorage"
"vitess.io/vitess/go/vt/mysqlctl/mysqlctlproto"
"vitess.io/vitess/go/vt/mysqlctl/tmutils"
+ logutilpb "vitess.io/vitess/go/vt/proto/logutil"
+ mysqlctlpb "vitess.io/vitess/go/vt/proto/mysqlctl"
+ querypb "vitess.io/vitess/go/vt/proto/query"
+ replicationdatapb "vitess.io/vitess/go/vt/proto/replicationdata"
+ tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
+ topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+ vschemapb "vitess.io/vitess/go/vt/proto/vschema"
+ vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
+ vtctlservicepb "vitess.io/vitess/go/vt/proto/vtctlservice"
+ vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
"vitess.io/vitess/go/vt/schema"
"vitess.io/vitess/go/vt/schemamanager"
"vitess.io/vitess/go/vt/sqlparser"
@@ -66,17 +78,6 @@ import (
"vitess.io/vitess/go/vt/vtgate/vindexes"
"vitess.io/vitess/go/vt/vttablet/tabletserver/throttle/base"
"vitess.io/vitess/go/vt/vttablet/tmclient"
-
- logutilpb "vitess.io/vitess/go/vt/proto/logutil"
- mysqlctlpb "vitess.io/vitess/go/vt/proto/mysqlctl"
- querypb "vitess.io/vitess/go/vt/proto/query"
- replicationdatapb "vitess.io/vitess/go/vt/proto/replicationdata"
- tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
- topodatapb "vitess.io/vitess/go/vt/proto/topodata"
- vschemapb "vitess.io/vitess/go/vt/proto/vschema"
- vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
- vtctlservicepb "vitess.io/vitess/go/vt/proto/vtctlservice"
- vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
)
const (
@@ -2393,6 +2394,115 @@ func (s *VtctldServer) GetTopologyPath(ctx context.Context, req *vtctldatapb.Get
}, nil
}
+// GetUnresolvedTransactions is part of the vtctlservicepb.VtctldServer interface.
+// It returns the unresolved distributed transactions list for the provided keyspace.
+func (s *VtctldServer) GetUnresolvedTransactions(ctx context.Context, req *vtctldatapb.GetUnresolvedTransactionsRequest) (*vtctldatapb.GetUnresolvedTransactionsResponse, error) {
+ span, ctx := trace.NewSpan(ctx, "VtctldServer.GetUnresolvedTransactions")
+ defer span.Finish()
+
+ span.Annotate("keyspace", req.Keyspace)
+
+ shards, err := s.ts.GetShardNames(ctx, req.Keyspace)
+ if err != nil {
+ return nil, err
+ }
+ var mu sync.Mutex
+ var transactions []*querypb.TransactionMetadata
+
+ eg, newCtx := errgroup.WithContext(ctx)
+ eg.SetLimit(10)
+ for _, shard := range shards {
+ eg.Go(func() error {
+ si, err := s.ts.GetShard(newCtx, req.Keyspace, shard)
+ if err != nil {
+ return err
+ }
+ primary, err := s.ts.GetTablet(newCtx, si.PrimaryAlias)
+ if err != nil {
+ return err
+ }
+ shardTrnxs, err := s.tmc.GetUnresolvedTransactions(newCtx, primary.Tablet)
+ if err != nil {
+ return err
+ }
+ mu.Lock()
+ defer mu.Unlock()
+ transactions = append(transactions, shardTrnxs...)
+ return nil
+ })
+ }
+ if err = eg.Wait(); err != nil {
+ return nil, err
+ }
+
+ return &vtctldatapb.GetUnresolvedTransactionsResponse{
+ Transactions: transactions,
+ }, nil
+}
+
+// ConcludeTransaction is part of the vtctlservicepb.VtctldServer interface.
+// It concludes the unresolved distributed transaction.
+func (s *VtctldServer) ConcludeTransaction(ctx context.Context, req *vtctldatapb.ConcludeTransactionRequest) (resp *vtctldatapb.ConcludeTransactionResponse, err error) {
+ span, ctx := trace.NewSpan(ctx, "VtctldServer.ConcludeTransaction")
+ defer span.Finish()
+
+ span.Annotate("dtid", req.Dtid)
+ span.Annotate("participants", req.Participants)
+
+ ss, err := dtids.ShardSession(req.Dtid)
+ if err != nil {
+ return nil, err
+ }
+ primary, err := s.getPrimaryTablet(ctx, ss.Target)
+ if err != nil {
+ return nil, err
+ }
+
+ participants := req.Participants
+ if len(participants) == 0 {
+ // Read the transaction metadata if participating resource manager list is not provided in the request.
+ transaction, err := s.tmc.ReadTransaction(ctx, primary.Tablet, req.Dtid)
+ if transaction == nil || err != nil {
+ // no transaction record for the given ID. It is already concluded or does not exist.
+ return nil, err
+ }
+ participants = transaction.Participants
+ }
+
+ eg, newCtx := errgroup.WithContext(ctx)
+ eg.SetLimit(10)
+ for _, rm := range participants {
+ eg.Go(func() error {
+ primary, err := s.getPrimaryTablet(newCtx, rm)
+ if err != nil {
+ return err
+ }
+ return s.tmc.ConcludeTransaction(newCtx, primary.Tablet, req.Dtid, false)
+ })
+ }
+ if err = eg.Wait(); err != nil {
+ return nil, err
+ }
+
+ if err = s.tmc.ConcludeTransaction(ctx, primary.Tablet, req.Dtid, true); err != nil {
+ return nil, err
+ }
+
+ return &vtctldatapb.ConcludeTransactionResponse{}, nil
+}
+
+func (s *VtctldServer) getPrimaryTablet(newCtx context.Context, rm *querypb.Target) (*topo.TabletInfo, error) {
+ si, err := s.ts.GetShard(newCtx, rm.Keyspace, rm.Shard)
+ if err != nil {
+ return nil, err
+ }
+ primary, err := s.ts.GetTablet(newCtx, si.PrimaryAlias)
+ if err != nil {
+ return nil, err
+ }
+ return primary, nil
+}
+
// GetVersion returns the version of a tablet from its debug vars
func (s *VtctldServer) GetVersion(ctx context.Context, req *vtctldatapb.GetVersionRequest) (resp *vtctldatapb.GetVersionResponse, err error) {
span, ctx := trace.NewSpan(ctx, "VtctldServer.GetVersion")
@@ -5034,6 +5144,7 @@ func (s *VtctldServer) VDiffCreate(ctx context.Context, req *vtctldatapb.VDiffCr
span.Annotate("target_cells", req.TargetCells)
span.Annotate("tablet_types", req.TabletTypes)
span.Annotate("tables", req.Tables)
+ span.Annotate("auto_start", req.AutoStart)
span.Annotate("auto_retry", req.AutoRetry)
span.Annotate("max_diff_duration", req.MaxDiffDuration)
@@ -5066,6 +5177,7 @@ func (s *VtctldServer) VDiffResume(ctx context.Context, req *vtctldatapb.VDiffRe
span.Annotate("keyspace", req.TargetKeyspace)
span.Annotate("workflow", req.Workflow)
span.Annotate("uuid", req.Uuid)
+ span.Annotate("shards", req.TargetShards)
resp, err = s.ws.VDiffResume(ctx, req)
return resp, err
@@ -5096,6 +5208,7 @@ func (s *VtctldServer) VDiffStop(ctx context.Context, req *vtctldatapb.VDiffStop
span.Annotate("keyspace", req.TargetKeyspace)
span.Annotate("workflow", req.Workflow)
span.Annotate("uuid", req.Uuid)
+ span.Annotate("shards", req.TargetShards)
resp, err = s.ws.VDiffStop(ctx, req)
return resp, err
@@ -5110,6 +5223,9 @@ func (s *VtctldServer) WorkflowDelete(ctx context.Context, req *vtctldatapb.Work
span.Annotate("keyspace", req.Keyspace)
span.Annotate("workflow", req.Workflow)
+ span.Annotate("keep_data", req.KeepData)
+ span.Annotate("keep_routing_rules", req.KeepRoutingRules)
+ span.Annotate("shards", req.Shards)
resp, err = s.ws.WorkflowDelete(ctx, req)
return resp, err
@@ -5141,6 +5257,7 @@ func (s *VtctldServer) WorkflowSwitchTraffic(ctx context.Context, req *vtctldata
span.Annotate("tablet-types", req.TabletTypes)
span.Annotate("direction", req.Direction)
span.Annotate("enable-reverse-replication", req.EnableReverseReplication)
+ span.Annotate("force", req.Force)
resp, err = s.ws.WorkflowSwitchTraffic(ctx, req)
return resp, err
diff --git a/go/vt/vtctl/grpcvtctldserver/server_test.go b/go/vt/vtctl/grpcvtctldserver/server_test.go
index b98087d0560..adc4095fd06 100644
--- a/go/vt/vtctl/grpcvtctldserver/server_test.go
+++ b/go/vt/vtctl/grpcvtctldserver/server_test.go
@@ -5168,6 +5168,171 @@ func TestExecuteHook(t *testing.T) {
}
}
+func TestGetUnresolvedTransactions(t *testing.T) {
+ ks := "testkeyspace"
+
+ tests := []struct {
+ name string
+ tmc *testutil.TabletManagerClient
+ keyspace string
+ expected []*querypb.TransactionMetadata
+ shouldErr bool
+ }{
+ {
+ name: "unresolved transaction on both shards",
+ tmc: &testutil.TabletManagerClient{
+ GetUnresolvedTransactionsResults: map[string][]*querypb.TransactionMetadata{
+ "-80": {{Dtid: "aa"}},
+ "80-": {{Dtid: "bb"}},
+ },
+ },
+ keyspace: "testkeyspace",
+ expected: []*querypb.TransactionMetadata{
+ {Dtid: "aa"}, {Dtid: "bb"},
+ },
+ }, {
+ name: "unresolved transaction on one sharda",
+ tmc: &testutil.TabletManagerClient{
+ GetUnresolvedTransactionsResults: map[string][]*querypb.TransactionMetadata{
+ "80-": {{Dtid: "bb"}},
+ },
+ },
+ keyspace: "testkeyspace",
+ expected: []*querypb.TransactionMetadata{
+ {Dtid: "bb"},
+ },
+ },
+ {
+ name: "keyspace not found",
+ tmc: &testutil.TabletManagerClient{},
+ keyspace: "unknown",
+ shouldErr: true,
+ },
+ }
+
+ tablets := []*topodatapb.Tablet{{
+ Alias: &topodatapb.TabletAlias{Cell: "zone1", Uid: 100},
+ Keyspace: ks,
+ Shard: "-80",
+ Type: topodatapb.TabletType_PRIMARY,
+ }, {
+ Alias: &topodatapb.TabletAlias{Cell: "zone1", Uid: 200},
+ Keyspace: ks,
+ Shard: "80-",
+ Type: topodatapb.TabletType_PRIMARY,
+ }}
+ ts := memorytopo.NewServer(context.Background(), "zone1")
+ testutil.AddTablets(context.Background(), t, ts, &testutil.AddTabletOptions{AlsoSetShardPrimary: true}, tablets...)
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ vtctld := testutil.NewVtctldServerWithTabletManagerClient(t, ts, tt.tmc, func(ts *topo.Server) vtctlservicepb.VtctldServer {
+ return NewVtctldServer(vtenv.NewTestEnv(), ts)
+ })
+ req := &vtctldatapb.GetUnresolvedTransactionsRequest{Keyspace: tt.keyspace}
+ resp, err := vtctld.GetUnresolvedTransactions(ctx, req)
+ if tt.shouldErr {
+ assert.Error(t, err)
+ return
+ }
+
+ require.NoError(t, err)
+ slices.SortFunc(resp.Transactions, func(a, b *querypb.TransactionMetadata) int {
+ return strings.Compare(a.Dtid, b.Dtid)
+ })
+ utils.MustMatch(t, tt.expected, resp.Transactions)
+ })
+ }
+}
+
+func TestConcludeTransaction(t *testing.T) {
+ ks := "testkeyspace"
+
+ tests := []struct {
+ name string
+ tmc *testutil.TabletManagerClient
+ dtid string
+ expErr string
+ participant []*querypb.Target
+ }{{
+ name: "invalid dtid",
+ tmc: &testutil.TabletManagerClient{},
+ dtid: "dtid01",
+ expErr: "invalid parts in dtid: dtid01",
+ }, {
+ name: "invalid transaction id",
+ tmc: &testutil.TabletManagerClient{},
+ dtid: "ks:80-:013c",
+ expErr: "invalid transaction id in dtid: ks:80-:013c",
+ }, {
+ name: "only dtid",
+ tmc: &testutil.TabletManagerClient{
+ ReadTransactionResult: map[string]*querypb.TransactionMetadata{
+ "80-": {Dtid: "bb"},
+ },
+ },
+ dtid: "testkeyspace:80-:1234",
+ }, {
+ name: "only dtid - empty metadata",
+ tmc: &testutil.TabletManagerClient{
+ ReadTransactionResult: map[string]*querypb.TransactionMetadata{},
+ },
+ dtid: "testkeyspace:80-:1234",
+ }, {
+ name: "only dtid - fail",
+ tmc: &testutil.TabletManagerClient{},
+ dtid: "testkeyspace:80-:1234",
+ expErr: "no ReadTransaction result on fake TabletManagerClient",
+ }, {
+ name: "with participant",
+ tmc: &testutil.TabletManagerClient{},
+ dtid: "testkeyspace:80-:1234",
+ participant: []*querypb.Target{{Keyspace: ks, Shard: "-80"}},
+ }, {
+ name: "call error",
+ tmc: &testutil.TabletManagerClient{CallError: true},
+ dtid: "testkeyspace:80-:1234",
+ participant: []*querypb.Target{{Keyspace: ks, Shard: "-80"}},
+ expErr: "blocked call for ConcludeTransaction on fake TabletManagerClient",
+ }}
+
+ tablets := []*topodatapb.Tablet{{
+ Alias: &topodatapb.TabletAlias{Cell: "zone1", Uid: 100},
+ Keyspace: ks,
+ Shard: "-80",
+ Type: topodatapb.TabletType_PRIMARY,
+ }, {
+ Alias: &topodatapb.TabletAlias{Cell: "zone1", Uid: 200},
+ Keyspace: ks,
+ Shard: "80-",
+ Type: topodatapb.TabletType_PRIMARY,
+ }}
+ ts := memorytopo.NewServer(context.Background(), "zone1")
+ testutil.AddTablets(context.Background(), t, ts, &testutil.AddTabletOptions{AlsoSetShardPrimary: true}, tablets...)
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ vtctld := testutil.NewVtctldServerWithTabletManagerClient(t, ts, tt.tmc, func(ts *topo.Server) vtctlservicepb.VtctldServer {
+ return NewVtctldServer(vtenv.NewTestEnv(), ts)
+ })
+ req := &vtctldatapb.ConcludeTransactionRequest{Dtid: tt.dtid, Participants: tt.participant}
+ _, err := vtctld.ConcludeTransaction(ctx, req)
+ if tt.expErr != "" {
+ require.ErrorContains(t, err, tt.expErr)
+ return
+ }
+
+ require.NoError(t, err)
+ })
+ }
+}
+
func TestFindAllShardsInKeyspace(t *testing.T) {
t.Parallel()
diff --git a/go/vt/vtctl/grpcvtctldserver/testutil/test_tmclient.go b/go/vt/vtctl/grpcvtctldserver/testutil/test_tmclient.go
index a17ad376e0b..76297851f14 100644
--- a/go/vt/vtctl/grpcvtctldserver/testutil/test_tmclient.go
+++ b/go/vt/vtctl/grpcvtctldserver/testutil/test_tmclient.go
@@ -174,6 +174,10 @@ func init() {
// with mock delays and response values, for use in unit tests.
type TabletManagerClient struct {
tmclient.TabletManagerClient
+
+ // If true, the call will return an error.
+ CallError bool
+
// TopoServer is used for certain TabletManagerClient rpcs that update topo
// information, e.g. ChangeType. To force an error result for those rpcs in
// a test, set tmc.TopoServer = nil.
@@ -255,6 +259,8 @@ type TabletManagerClient struct {
Statuses map[string]string
Error error
}
+ GetUnresolvedTransactionsResults map[string][]*querypb.TransactionMetadata
+ ReadTransactionResult map[string]*querypb.TransactionMetadata
// keyed by tablet alias.
InitPrimaryDelays map[string]time.Duration
// keyed by tablet alias. injects a sleep to the end of the function
@@ -649,6 +655,35 @@ func (fake *TabletManagerClient) ExecuteQuery(ctx context.Context, tablet *topod
return nil, fmt.Errorf("%w: no ExecuteQuery result set for tablet %s", assert.AnError, key)
}
+// GetUnresolvedTransactions is part of the tmclient.TabletManagerClient interface.
+func (fake *TabletManagerClient) GetUnresolvedTransactions(ctx context.Context, tablet *topodatapb.Tablet) ([]*querypb.TransactionMetadata, error) {
+ if len(fake.GetUnresolvedTransactionsResults) == 0 {
+ return nil, fmt.Errorf("%w: no GetUnresolvedTransactions results on fake TabletManagerClient", assert.AnError)
+ }
+
+ return fake.GetUnresolvedTransactionsResults[tablet.Shard], nil
+}
+
+// ReadTransaction is part of the tmclient.TabletManagerClient interface.
+func (fake *TabletManagerClient) ReadTransaction(ctx context.Context, tablet *topodatapb.Tablet, dtid string) (*querypb.TransactionMetadata, error) {
+ if fake.CallError {
+ return nil, fmt.Errorf("%w: blocked call for ReadTransaction on fake TabletManagerClient", assert.AnError)
+ }
+ if fake.ReadTransactionResult == nil {
+ return nil, fmt.Errorf("%w: no ReadTransaction result on fake TabletManagerClient", assert.AnError)
+ }
+
+ return fake.ReadTransactionResult[tablet.Shard], nil
+}
+
+// ConcludeTransaction is part of the tmclient.TabletManagerClient interface.
+func (fake *TabletManagerClient) ConcludeTransaction(ctx context.Context, tablet *topodatapb.Tablet, dtid string, mm bool) error {
+ if fake.CallError {
+ return fmt.Errorf("%w: blocked call for ConcludeTransaction on fake TabletManagerClient", assert.AnError)
+ }
+ return nil
+}
+
// FullStatus is part of the tmclient.TabletManagerClient interface.
func (fake *TabletManagerClient) FullStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.FullStatus, error) {
if fake.FullStatusResult != nil {
diff --git a/go/vt/vtctl/localvtctldclient/client_gen.go b/go/vt/vtctl/localvtctldclient/client_gen.go
index 2738c771be3..b8fdca174e6 100644
--- a/go/vt/vtctl/localvtctldclient/client_gen.go
+++ b/go/vt/vtctl/localvtctldclient/client_gen.go
@@ -191,6 +191,11 @@ func (client *localVtctldClient) CompleteSchemaMigration(ctx context.Context, in
return client.s.CompleteSchemaMigration(ctx, in)
}
+// ConcludeTransaction is part of the vtctlservicepb.VtctldClient interface.
+func (client *localVtctldClient) ConcludeTransaction(ctx context.Context, in *vtctldatapb.ConcludeTransactionRequest, opts ...grpc.CallOption) (*vtctldatapb.ConcludeTransactionResponse, error) {
+ return client.s.ConcludeTransaction(ctx, in)
+}
+
// CreateKeyspace is part of the vtctlservicepb.VtctldClient interface.
func (client *localVtctldClient) CreateKeyspace(ctx context.Context, in *vtctldatapb.CreateKeyspaceRequest, opts ...grpc.CallOption) (*vtctldatapb.CreateKeyspaceResponse, error) {
return client.s.CreateKeyspace(ctx, in)
@@ -386,6 +391,11 @@ func (client *localVtctldClient) GetTopologyPath(ctx context.Context, in *vtctld
return client.s.GetTopologyPath(ctx, in)
}
+// GetUnresolvedTransactions is part of the vtctlservicepb.VtctldClient interface.
+func (client *localVtctldClient) GetUnresolvedTransactions(ctx context.Context, in *vtctldatapb.GetUnresolvedTransactionsRequest, opts ...grpc.CallOption) (*vtctldatapb.GetUnresolvedTransactionsResponse, error) {
+ return client.s.GetUnresolvedTransactions(ctx, in)
+}
+
// GetVSchema is part of the vtctlservicepb.VtctldClient interface.
func (client *localVtctldClient) GetVSchema(ctx context.Context, in *vtctldatapb.GetVSchemaRequest, opts ...grpc.CallOption) (*vtctldatapb.GetVSchemaResponse, error) {
return client.s.GetVSchema(ctx, in)
diff --git a/go/vt/vtctl/reparentutil/replication.go b/go/vt/vtctl/reparentutil/replication.go
index da67e735882..d04a1992d2e 100644
--- a/go/vt/vtctl/reparentutil/replication.go
+++ b/go/vt/vtctl/reparentutil/replication.go
@@ -123,7 +123,7 @@ func FindValidEmergencyReparentCandidates(
case len(errantGTIDs) != 0:
// This tablet has errant GTIDs. It's not a valid candidate for
// reparent, so don't insert it into the final mapping.
- log.Errorf("skipping %v because we detected errant GTIDs - %v", alias, errantGTIDs)
+ log.Errorf("skipping %v with GTIDSet:%v because we detected errant GTIDs - %v", alias, relayLogGTIDSet, errantGTIDs)
continue
}
diff --git a/go/vt/vtctl/reparentutil/replication_test.go b/go/vt/vtctl/reparentutil/replication_test.go
index 922dc6bc2da..666b41859cf 100644
--- a/go/vt/vtctl/reparentutil/replication_test.go
+++ b/go/vt/vtctl/reparentutil/replication_test.go
@@ -161,7 +161,7 @@ func TestFindValidEmergencyReparentCandidates(t *testing.T) {
shouldErr: false,
},
{
- name: "tablet with errant GTIDs is excluded",
+ name: "tablet with superset GTIDs is included",
statusMap: map[string]*replicationdatapb.StopReplicationStatus{
"r1": {
After: &replicationdatapb.Status{
@@ -169,19 +169,33 @@ func TestFindValidEmergencyReparentCandidates(t *testing.T) {
RelayLogPosition: "MySQL56/3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5",
},
},
- "errant": {
+ "r2": {
After: &replicationdatapb.Status{
SourceUuid: "3E11FA47-71CA-11E1-9E33-C80AA9429562",
RelayLogPosition: "MySQL56/3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5,AAAAAAAA-71CA-11E1-9E33-C80AA9429562:1",
},
},
},
- primaryStatusMap: map[string]*replicationdatapb.PrimaryStatus{
- "p1": {
- Position: "MySQL56/3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5",
+ expected: []string{"r1", "r2"},
+ shouldErr: false,
+ },
+ {
+ name: "tablets with errant GTIDs are excluded",
+ statusMap: map[string]*replicationdatapb.StopReplicationStatus{
+ "r1": {
+ After: &replicationdatapb.Status{
+ SourceUuid: "3E11FA47-71CA-11E1-9E33-C80AA9429562",
+ RelayLogPosition: "MySQL56/3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5,AAAAAAAA-71CA-11E1-9E33-C80AA9429562:1",
+ },
+ },
+ "r2": {
+ After: &replicationdatapb.Status{
+ SourceUuid: "3E11FA47-71CA-11E1-9E33-C80AA9429562",
+ RelayLogPosition: "MySQL56/3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5,AAAAAAAA-71CA-11E1-9E33-C80AA9429562:2-3",
+ },
},
},
- expected: []string{"r1", "p1"},
+ expected: []string{},
shouldErr: false,
},
{
diff --git a/go/vt/vtctl/vtctl.go b/go/vt/vtctl/vtctl.go
index 03b9e3d7077..1a4735b1c82 100644
--- a/go/vt/vtctl/vtctl.go
+++ b/go/vt/vtctl/vtctl.go
@@ -99,6 +99,7 @@ import (
"vitess.io/vitess/go/constants/sidecar"
"vitess.io/vitess/go/mysql/collations"
+ "vitess.io/vitess/go/ptr"
"vitess.io/vitess/go/cmd/vtctldclient/cli"
"vitess.io/vitess/go/flagutil"
@@ -2242,24 +2243,24 @@ func commandVReplicationWorkflow(ctx context.Context, wr *wrangler.Wrangler, sub
}
if *atomicCopy {
- var errors []string
+ var errs []string
if !*allTables {
- errors = append(errors, "atomic copy requires --all.")
+ errs = append(errs, "atomic copy requires --all.")
}
if *tables != "" {
- errors = append(errors, "atomic copy does not support specifying tables.")
+ errs = append(errs, "atomic copy does not support specifying tables.")
}
if *excludes != "" {
- errors = append(errors, "atomic copy does not support specifying excludes.")
+ errs = append(errs, "atomic copy does not support specifying excludes.")
}
- if len(errors) > 0 {
- errors = append(errors, "Found options incompatible with atomic copy:")
- return fmt.Errorf(strings.Join(errors, " "))
+ if len(errs) > 0 {
+ errs = append(errs, "Found options incompatible with atomic copy:")
+ return errors.New(strings.Join(errs, " "))
}
}
if !*allTables && *tables == "" {
- return fmt.Errorf("no tables specified to move")
+ return errors.New("no tables specified to move")
}
vrwp.SourceKeyspace = *sourceKeyspace
vrwp.Tables = *tables
@@ -3740,7 +3741,7 @@ func commandWorkflow(ctx context.Context, wr *wrangler.Wrangler, subFlags *pflag
return err
}
if subFlags.NArg() < 2 {
- return fmt.Errorf(usage)
+ return errors.New(usage)
}
if len(*shards) > 0 {
log.Infof("Subset of shards specified: %d, %v", len(*shards), strings.Join(*shards, ","))
@@ -3775,7 +3776,7 @@ func commandWorkflow(ctx context.Context, wr *wrangler.Wrangler, subFlags *pflag
}
} else {
if subFlags.NArg() != 2 {
- return fmt.Errorf(usage)
+ return errors.New(usage)
}
var rpcReq any = nil
if action == "update" {
@@ -3805,7 +3806,7 @@ func commandWorkflow(ctx context.Context, wr *wrangler.Wrangler, subFlags *pflag
}
}
} else {
- tabletTypes = []topodatapb.TabletType{topodatapb.TabletType(textutil.SimulatedNullInt)}
+ tabletTypes = textutil.SimulatedNullTabletTypeSlice
}
onddl := int32(textutil.SimulatedNullInt) // To signify no value has been provided
if subFlags.Lookup("on-ddl").Changed { // Validate the provided value
@@ -3817,7 +3818,7 @@ func commandWorkflow(ctx context.Context, wr *wrangler.Wrangler, subFlags *pflag
onddl = ival
}
if !changes {
- return fmt.Errorf(errWorkflowUpdateWithoutChanges)
+ return errors.New(errWorkflowUpdateWithoutChanges)
}
tsp := tabletmanagerdatapb.TabletSelectionPreference_UNKNOWN
if inorder {
@@ -3827,9 +3828,10 @@ func commandWorkflow(ctx context.Context, wr *wrangler.Wrangler, subFlags *pflag
Workflow: workflow,
Cells: *cells,
TabletTypes: tabletTypes,
- TabletSelectionPreference: tsp,
- OnDdl: binlogdatapb.OnDDLAction(onddl),
- State: binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt), // We don't allow changing this in the client command
+ TabletSelectionPreference: &tsp,
+ }
+ if onddl != int32(textutil.SimulatedNullInt) {
+ rpcReq.(*tabletmanagerdatapb.UpdateVReplicationWorkflowRequest).OnDdl = ptr.Of(binlogdatapb.OnDDLAction(onddl))
}
}
results, err = wr.WorkflowAction(ctx, workflow, keyspace, action, *dryRun, rpcReq, *shards) // Only update currently uses the new RPC path
diff --git a/go/vt/vtctl/workflow/framework_test.go b/go/vt/vtctl/workflow/framework_test.go
index 56feeee0860..8a8e369ba32 100644
--- a/go/vt/vtctl/workflow/framework_test.go
+++ b/go/vt/vtctl/workflow/framework_test.go
@@ -58,6 +58,12 @@ const (
tabletUIDStep = 10
)
+var defaultTabletTypes = []topodatapb.TabletType{
+ topodatapb.TabletType_PRIMARY,
+ topodatapb.TabletType_REPLICA,
+ topodatapb.TabletType_RDONLY,
+}
+
type testKeyspace struct {
KeyspaceName string
ShardNames []string
@@ -141,7 +147,7 @@ func initSrvKeyspace(t *testing.T, topo *topo.Server, keyspace string, sources,
for _, shard := range shards {
keyRange, err := key.ParseShardingSpec(shard)
require.NoError(t, err)
- require.Equal(t, 1, len(keyRange))
+ require.Len(t, keyRange, 1)
partition.ShardReferences = append(partition.ShardReferences, &topodatapb.ShardReference{
Name: shard,
KeyRange: keyRange[0],
@@ -177,6 +183,7 @@ func (env *testEnv) addTablet(t *testing.T, ctx context.Context, id int, keyspac
Shard: shard,
KeyRange: &topodatapb.KeyRange{},
Type: tabletType,
+ Hostname: "localhost", // Without a hostname the RefreshState call is skipped
PortMap: map[string]int32{
"test": int32(id),
},
@@ -198,30 +205,38 @@ func (env *testEnv) addTablet(t *testing.T, ctx context.Context, id int, keyspac
return tablet
}
-// addTableRoutingRules adds routing rules from the test env's source keyspace to
-// its target keyspace for the given tablet types and tables.
-func (env *testEnv) addTableRoutingRules(t *testing.T, ctx context.Context, tabletTypes []topodatapb.TabletType, tables []string) {
- ks := env.targetKeyspace.KeyspaceName
- rules := make(map[string][]string, len(tables)*(len(tabletTypes)*3))
+func (env *testEnv) saveRoutingRules(t *testing.T, rules map[string][]string) {
+ err := topotools.SaveRoutingRules(context.Background(), env.ts, rules)
+ require.NoError(t, err)
+ err = env.ts.RebuildSrvVSchema(context.Background(), nil)
+ require.NoError(t, err)
+}
+
+func (env *testEnv) updateTableRoutingRules(t *testing.T, ctx context.Context,
+ tabletTypes []topodatapb.TabletType, tables []string, sourceKeyspace, targetKeyspace, toKeyspace string) {
+
+ if len(tabletTypes) == 0 {
+ tabletTypes = defaultTabletTypes
+ }
+ rr, err := env.ts.GetRoutingRules(ctx)
+ require.NoError(t, err)
+ rules := topotools.GetRoutingRulesMap(rr)
for _, tabletType := range tabletTypes {
for _, tableName := range tables {
- toTarget := []string{ks + "." + tableName}
+ toTarget := []string{toKeyspace + "." + tableName}
tt := strings.ToLower(tabletType.String())
if tabletType == topodatapb.TabletType_PRIMARY {
rules[tableName] = toTarget
- rules[ks+"."+tableName] = toTarget
- rules[env.sourceKeyspace.KeyspaceName+"."+tableName] = toTarget
+ rules[targetKeyspace+"."+tableName] = toTarget
+ rules[sourceKeyspace+"."+tableName] = toTarget
} else {
rules[tableName+"@"+tt] = toTarget
- rules[ks+"."+tableName+"@"+tt] = toTarget
- rules[env.sourceKeyspace.KeyspaceName+"."+tableName+"@"+tt] = toTarget
+ rules[targetKeyspace+"."+tableName+"@"+tt] = toTarget
+ rules[sourceKeyspace+"."+tableName+"@"+tt] = toTarget
}
}
}
- err := topotools.SaveRoutingRules(ctx, env.ts, rules)
- require.NoError(t, err)
- err = env.ts.RebuildSrvVSchema(ctx, nil)
- require.NoError(t, err)
+ env.saveRoutingRules(t, rules)
}
func (env *testEnv) deleteTablet(tablet *topodatapb.Tablet) {
@@ -229,6 +244,23 @@ func (env *testEnv) deleteTablet(tablet *topodatapb.Tablet) {
delete(env.tablets[tablet.Keyspace], int(tablet.Alias.Uid))
}
+func (env *testEnv) confirmRoutingAllTablesToTarget(t *testing.T) {
+ t.Helper()
+ env.tmc.mu.Lock()
+ defer env.tmc.mu.Unlock()
+ wantRR := make(map[string][]string)
+ for _, sd := range env.tmc.schema {
+ for _, td := range sd.TableDefinitions {
+ for _, tt := range []string{"", "@rdonly", "@replica"} {
+ wantRR[td.Name+tt] = []string{fmt.Sprintf("%s.%s", env.targetKeyspace.KeyspaceName, td.Name)}
+ wantRR[fmt.Sprintf("%s.%s", env.sourceKeyspace.KeyspaceName, td.Name+tt)] = []string{fmt.Sprintf("%s.%s", env.targetKeyspace.KeyspaceName, td.Name)}
+ wantRR[fmt.Sprintf("%s.%s", env.targetKeyspace.KeyspaceName, td.Name+tt)] = []string{fmt.Sprintf("%s.%s", env.targetKeyspace.KeyspaceName, td.Name)}
+ }
+ }
+ }
+ checkRouting(t, env.ws, wantRR)
+}
+
type testTMClient struct {
tmclient.TabletManagerClient
schema map[string]*tabletmanagerdatapb.SchemaDefinition
@@ -237,9 +269,20 @@ type testTMClient struct {
vrQueries map[int][]*queryResult
createVReplicationWorkflowRequests map[uint32]*tabletmanagerdatapb.CreateVReplicationWorkflowRequest
readVReplicationWorkflowRequests map[uint32]*tabletmanagerdatapb.ReadVReplicationWorkflowRequest
+ primaryPositions map[uint32]string
+ vdiffRequests map[uint32]*vdiffRequestResponse
+ refreshStateErrors map[uint32]error
+
+ // Stack of ReadVReplicationWorkflowsResponse to return, in order, for each shard
+ readVReplicationWorkflowsResponses map[string][]*tabletmanagerdatapb.ReadVReplicationWorkflowsResponse
env *testEnv // For access to the env config from tmc methods.
reverse atomic.Bool // Are we reversing traffic?
+ frozen atomic.Bool // Are the workflows frozen?
+
+ // Can be used to return an error if an unexpected request is made or
+ // an expected request is NOT made.
+ strict bool
}
func newTestTMClient(env *testEnv) *testTMClient {
@@ -248,6 +291,10 @@ func newTestTMClient(env *testEnv) *testTMClient {
vrQueries: make(map[int][]*queryResult),
createVReplicationWorkflowRequests: make(map[uint32]*tabletmanagerdatapb.CreateVReplicationWorkflowRequest),
readVReplicationWorkflowRequests: make(map[uint32]*tabletmanagerdatapb.ReadVReplicationWorkflowRequest),
+ readVReplicationWorkflowsResponses: make(map[string][]*tabletmanagerdatapb.ReadVReplicationWorkflowsResponse),
+ primaryPositions: make(map[uint32]string),
+ vdiffRequests: make(map[uint32]*vdiffRequestResponse),
+ refreshStateErrors: make(map[uint32]error),
env: env,
}
}
@@ -265,10 +312,13 @@ func (tmc *testTMClient) CreateVReplicationWorkflow(ctx context.Context, tablet
return &tabletmanagerdatapb.CreateVReplicationWorkflowResponse{Result: sqltypes.ResultToProto3(res)}, nil
}
+func (tmc *testTMClient) GetWorkflowKey(keyspace, shard string) string {
+ return fmt.Sprintf("%s/%s", keyspace, shard)
+}
+
func (tmc *testTMClient) ReadVReplicationWorkflow(ctx context.Context, tablet *topodatapb.Tablet, req *tabletmanagerdatapb.ReadVReplicationWorkflowRequest) (*tabletmanagerdatapb.ReadVReplicationWorkflowResponse, error) {
tmc.mu.Lock()
defer tmc.mu.Unlock()
-
if expect := tmc.readVReplicationWorkflowRequests[tablet.Alias.Uid]; expect != nil {
if !proto.Equal(expect, req) {
return nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "unexpected ReadVReplicationWorkflow request: got %+v, want %+v", req, expect)
@@ -306,6 +356,9 @@ func (tmc *testTMClient) ReadVReplicationWorkflow(ctx context.Context, tablet *t
},
},
}
+ if tmc.frozen.Load() {
+ stream.Message = Frozen
+ }
res.Streams = append(res.Streams, stream)
}
@@ -420,7 +473,38 @@ func (tmc *testTMClient) ApplySchema(ctx context.Context, tablet *topodatapb.Tab
return nil, nil
}
+type vdiffRequestResponse struct {
+ req *tabletmanagerdatapb.VDiffRequest
+ res *tabletmanagerdatapb.VDiffResponse
+ err error
+}
+
+func (tmc *testTMClient) expectVDiffRequest(tablet *topodatapb.Tablet, vrr *vdiffRequestResponse) {
+ tmc.mu.Lock()
+ defer tmc.mu.Unlock()
+
+ if tmc.vdiffRequests == nil {
+ tmc.vdiffRequests = make(map[uint32]*vdiffRequestResponse)
+ }
+ tmc.vdiffRequests[tablet.Alias.Uid] = vrr
+}
+
func (tmc *testTMClient) VDiff(ctx context.Context, tablet *topodatapb.Tablet, req *tabletmanagerdatapb.VDiffRequest) (*tabletmanagerdatapb.VDiffResponse, error) {
+ tmc.mu.Lock()
+ defer tmc.mu.Unlock()
+
+ if vrr, ok := tmc.vdiffRequests[tablet.Alias.Uid]; ok {
+ if !proto.Equal(vrr.req, req) {
+ return nil, fmt.Errorf("unexpected VDiff request on tablet: %+v; got %+v, want %+v",
+ tablet, req, vrr.req)
+ }
+ delete(tmc.vdiffRequests, tablet.Alias.Uid)
+ return vrr.res, vrr.err
+ }
+ if tmc.strict {
+ return nil, fmt.Errorf("unexpected VDiff request on tablet %+v: %+v", tablet, req)
+ }
+
return &tabletmanagerdatapb.VDiffResponse{
Id: 1,
VdiffUuid: req.VdiffUuid,
@@ -430,6 +514,21 @@ func (tmc *testTMClient) VDiff(ctx context.Context, tablet *topodatapb.Tablet, r
}, nil
}
+func (tmc *testTMClient) confirmVDiffRequests(t *testing.T) {
+ tmc.mu.Lock()
+ defer tmc.mu.Unlock()
+
+ reqString := func([]*vdiffRequestResponse) string {
+ str := strings.Builder{}
+ for _, vrr := range tmc.vdiffRequests {
+ str.WriteString(fmt.Sprintf("\n%+v", vrr.req))
+ }
+ return str.String()
+ }
+
+ require.Len(t, tmc.vdiffRequests, 0, "expected VDiff requests not made: %s", reqString(maps.Values(tmc.vdiffRequests)))
+}
+
func (tmc *testTMClient) HasVReplicationWorkflows(ctx context.Context, tablet *topodatapb.Tablet, req *tabletmanagerdatapb.HasVReplicationWorkflowsRequest) (*tabletmanagerdatapb.HasVReplicationWorkflowsResponse, error) {
return &tabletmanagerdatapb.HasVReplicationWorkflowsResponse{
Has: false,
@@ -440,6 +539,10 @@ func (tmc *testTMClient) ReadVReplicationWorkflows(ctx context.Context, tablet *
tmc.mu.Lock()
defer tmc.mu.Unlock()
+ workflowKey := tmc.GetWorkflowKey(tablet.Keyspace, tablet.Shard)
+ if resp := tmc.getVReplicationWorkflowsResponse(workflowKey); resp != nil {
+ return resp, nil
+ }
workflowType := binlogdatapb.VReplicationWorkflowType_MoveTables
if len(req.IncludeWorkflows) > 0 {
for _, wf := range req.IncludeWorkflows {
@@ -471,7 +574,7 @@ func (tmc *testTMClient) ReadVReplicationWorkflows(ctx context.Context, tablet *
},
},
},
- Pos: "MySQL56/" + position,
+ Pos: position,
TimeUpdated: protoutil.TimeToProto(time.Now()),
TimeHeartbeat: protoutil.TimeToProto(time.Now()),
},
@@ -492,7 +595,28 @@ func (tmc *testTMClient) UpdateVReplicationWorkflow(ctx context.Context, tablet
}, nil
}
+func (tmc *testTMClient) ValidateVReplicationPermissions(ctx context.Context, tablet *topodatapb.Tablet, req *tabletmanagerdatapb.ValidateVReplicationPermissionsRequest) (*tabletmanagerdatapb.ValidateVReplicationPermissionsResponse, error) {
+ return &tabletmanagerdatapb.ValidateVReplicationPermissionsResponse{
+ User: "vt_filtered",
+ Ok: true,
+ }, nil
+}
+
+func (tmc *testTMClient) setPrimaryPosition(tablet *topodatapb.Tablet, position string) {
+ tmc.mu.Lock()
+ defer tmc.mu.Unlock()
+ if tmc.primaryPositions == nil {
+ tmc.primaryPositions = make(map[uint32]string)
+ }
+ tmc.primaryPositions[tablet.Alias.Uid] = position
+}
+
func (tmc *testTMClient) PrimaryPosition(ctx context.Context, tablet *topodatapb.Tablet) (string, error) {
+ tmc.mu.Lock()
+ defer tmc.mu.Unlock()
+ if tmc.primaryPositions != nil && tmc.primaryPositions[tablet.Alias.Uid] != "" {
+ return tmc.primaryPositions[tablet.Alias.Uid], nil
+ }
return position, nil
}
@@ -503,3 +627,129 @@ func (tmc *testTMClient) WaitForPosition(ctx context.Context, tablet *topodatapb
func (tmc *testTMClient) VReplicationWaitForPos(ctx context.Context, tablet *topodatapb.Tablet, id int32, pos string) error {
return nil
}
+
+func (tmc *testTMClient) SetRefreshStateError(tablet *topodatapb.Tablet, err error) {
+ tmc.mu.Lock()
+ defer tmc.mu.Unlock()
+
+ if tmc.refreshStateErrors == nil {
+ tmc.refreshStateErrors = make(map[uint32]error)
+ }
+ tmc.refreshStateErrors[tablet.Alias.Uid] = err
+}
+
+func (tmc *testTMClient) RefreshState(ctx context.Context, tablet *topodatapb.Tablet) error {
+ tmc.mu.Lock()
+ defer tmc.mu.Unlock()
+
+ if tmc.refreshStateErrors == nil {
+ tmc.refreshStateErrors = make(map[uint32]error)
+ }
+ return tmc.refreshStateErrors[tablet.Alias.Uid]
+}
+
+func (tmc *testTMClient) AddVReplicationWorkflowsResponse(key string, resp *tabletmanagerdatapb.ReadVReplicationWorkflowsResponse) {
+ tmc.mu.Lock()
+ defer tmc.mu.Unlock()
+ tmc.readVReplicationWorkflowsResponses[key] = append(tmc.readVReplicationWorkflowsResponses[key], resp)
+}
+
+func (tmc *testTMClient) getVReplicationWorkflowsResponse(key string) *tabletmanagerdatapb.ReadVReplicationWorkflowsResponse {
+ if len(tmc.readVReplicationWorkflowsResponses) == 0 {
+ return nil
+ }
+ responses, ok := tmc.readVReplicationWorkflowsResponses[key]
+ if !ok || len(responses) == 0 {
+ return nil
+ }
+ resp := tmc.readVReplicationWorkflowsResponses[key][0]
+ tmc.readVReplicationWorkflowsResponses[key] = tmc.readVReplicationWorkflowsResponses[key][1:]
+ return resp
+}
+
+//
+// Utility / helper functions.
+//
+
+func checkRouting(t *testing.T, ws *Server, want map[string][]string) {
+ t.Helper()
+ ctx := context.Background()
+ got, err := topotools.GetRoutingRules(ctx, ws.ts)
+ require.NoError(t, err)
+ require.EqualValues(t, got, want, "routing rules don't match: got: %v, want: %v", got, want)
+ cells, err := ws.ts.GetCellInfoNames(ctx)
+ require.NoError(t, err)
+ for _, cell := range cells {
+ checkCellRouting(t, ws, cell, want)
+ }
+}
+
+func checkCellRouting(t *testing.T, ws *Server, cell string, want map[string][]string) {
+ t.Helper()
+ ctx := context.Background()
+ svs, err := ws.ts.GetSrvVSchema(ctx, cell)
+ require.NoError(t, err)
+ got := make(map[string][]string, len(svs.RoutingRules.Rules))
+ for _, rr := range svs.RoutingRules.Rules {
+ got[rr.FromTable] = append(got[rr.FromTable], rr.ToTables...)
+ }
+ require.EqualValues(t, got, want, "routing rules don't match for cell %s: got: %v, want: %v", cell, got, want)
+}
+
+func checkDenyList(t *testing.T, ts *topo.Server, keyspace, shard string, want []string) {
+ t.Helper()
+ ctx := context.Background()
+ si, err := ts.GetShard(ctx, keyspace, shard)
+ require.NoError(t, err)
+ tc := si.GetTabletControl(topodatapb.TabletType_PRIMARY)
+ var got []string
+ if tc != nil {
+ got = tc.DeniedTables
+ }
+ require.EqualValues(t, got, want, "denied tables for %s/%s: got: %v, want: %v", keyspace, shard, got, want)
+}
+
+func checkServedTypes(t *testing.T, ts *topo.Server, keyspace, shard string, want int) {
+ t.Helper()
+ ctx := context.Background()
+ si, err := ts.GetShard(ctx, keyspace, shard)
+ require.NoError(t, err)
+ servedTypes, err := ts.GetShardServingTypes(ctx, si)
+ require.NoError(t, err)
+ require.Equal(t, want, len(servedTypes), "shard %s/%s has wrong served types: got: %v, want: %v",
+ keyspace, shard, len(servedTypes), want)
+}
+
+func checkCellServedTypes(t *testing.T, ts *topo.Server, keyspace, shard, cell string, want int) {
+ t.Helper()
+ ctx := context.Background()
+ srvKeyspace, err := ts.GetSrvKeyspace(ctx, cell, keyspace)
+ require.NoError(t, err)
+ count := 0
+outer:
+ for _, partition := range srvKeyspace.GetPartitions() {
+ for _, ref := range partition.ShardReferences {
+ if ref.Name == shard {
+ count++
+ continue outer
+ }
+ }
+ }
+ require.Equal(t, want, count, "serving types for %s/%s in cell %s: got: %d, want: %d", keyspace, shard, cell, count, want)
+}
+
+func checkIfPrimaryServing(t *testing.T, ts *topo.Server, keyspace, shard string, want bool) {
+ t.Helper()
+ ctx := context.Background()
+ si, err := ts.GetShard(ctx, keyspace, shard)
+ require.NoError(t, err)
+ require.Equal(t, want, si.IsPrimaryServing, "primary serving for %s/%s: got: %v, want: %v", keyspace, shard, si.IsPrimaryServing, want)
+}
+
+func checkIfTableExistInVSchema(ctx context.Context, t *testing.T, ts *topo.Server, keyspace, table string) bool {
+ vschema, err := ts.GetVSchema(ctx, keyspace)
+ require.NoError(t, err)
+ require.NotNil(t, vschema)
+ _, ok := vschema.Tables[table]
+ return ok
+}
diff --git a/go/vt/vtctl/workflow/materializer.go b/go/vt/vtctl/workflow/materializer.go
index f0171f31cab..3d0ca674e02 100644
--- a/go/vt/vtctl/workflow/materializer.go
+++ b/go/vt/vtctl/workflow/materializer.go
@@ -24,6 +24,7 @@ import (
"sync"
"time"
+ "vitess.io/vitess/go/ptr"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/textutil"
"vitess.io/vitess/go/vt/concurrency"
@@ -42,7 +43,6 @@ import (
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
- topodatapb "vitess.io/vitess/go/vt/proto/topodata"
vschemapb "vitess.io/vitess/go/vt/proto/vschema"
vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
)
@@ -127,7 +127,7 @@ func (mz *materializer) createWorkflowStreams(req *tabletmanagerdatapb.CreateVRe
return err
}
req.WorkflowSubType = workflowSubType
- optionsJSON, err := mz.getOptionsJSON()
+ optionsJSON, err := getOptionsJSON(mz.ms.GetWorkflowOptions())
if err != nil {
return err
}
@@ -227,7 +227,20 @@ func (mz *materializer) generateBinlogSources(ctx context.Context, targetShard *
for _, mappedCol := range mappedCols {
subExprs = append(subExprs, mappedCol)
}
- vindexName := fmt.Sprintf("%s.%s", mz.ms.TargetKeyspace, cv.Name)
+ var vindexName string
+ if mz.workflowType == binlogdatapb.VReplicationWorkflowType_Migrate {
+ // For a Migrate, if the TargetKeyspace name is different from the SourceKeyspace name, we need to use the
+ // SourceKeyspace name to determine the vindex since the TargetKeyspace name is not known to the source.
+ // Note: it is expected that the source and target keyspaces have the same vindex name and data type.
+ keyspace := mz.ms.TargetKeyspace
+ if mz.ms.ExternalCluster != "" {
+ keyspace = mz.ms.SourceKeyspace
+ }
+ vindexName = fmt.Sprintf("%s.%s", keyspace, cv.Name)
+ } else {
+ vindexName = fmt.Sprintf("%s.%s", mz.ms.TargetKeyspace, cv.Name)
+ }
+
subExprs = append(subExprs, sqlparser.NewStrLiteral(vindexName))
subExprs = append(subExprs, sqlparser.NewStrLiteral(key.KeyRangeString(targetShard.KeyRange)))
inKeyRange := &sqlparser.FuncExpr{
@@ -261,7 +274,7 @@ func (mz *materializer) deploySchema() error {
removeAutoInc := false
if mz.workflowType == binlogdatapb.VReplicationWorkflowType_MoveTables &&
(mz.targetVSchema != nil && mz.targetVSchema.Keyspace != nil && mz.targetVSchema.Keyspace.Sharded) &&
- (mz.ms != nil && mz.ms.GetWorkflowOptions().GetStripShardedAutoIncrement()) {
+ (mz.ms.GetWorkflowOptions() != nil && mz.ms.GetWorkflowOptions().StripShardedAutoIncrement) {
removeAutoInc = true
}
@@ -497,13 +510,10 @@ func (mz *materializer) startStreams(ctx context.Context) error {
}
if _, err := mz.tmc.UpdateVReplicationWorkflow(ctx, targetPrimary.Tablet, &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: mz.ms.Workflow,
- State: binlogdatapb.VReplicationWorkflowState_Running,
+ State: ptr.Of(binlogdatapb.VReplicationWorkflowState_Running),
// Don't change anything else, so pass simulated NULLs.
- Cells: textutil.SimulatedNullStringSlice,
- TabletTypes: []topodatapb.TabletType{
- topodatapb.TabletType(textutil.SimulatedNullInt),
- },
- OnDdl: binlogdatapb.OnDDLAction(textutil.SimulatedNullInt),
+ Cells: textutil.SimulatedNullStringSlice,
+ TabletTypes: textutil.SimulatedNullTabletTypeSlice,
}); err != nil {
return vterrors.Wrap(err, "failed to update workflow")
}
diff --git a/go/vt/vtctl/workflow/materializer_env_test.go b/go/vt/vtctl/workflow/materializer_env_test.go
index 569651f85ca..aada59c244d 100644
--- a/go/vt/vtctl/workflow/materializer_env_test.go
+++ b/go/vt/vtctl/workflow/materializer_env_test.go
@@ -61,7 +61,7 @@ type testMaterializerEnv struct {
venv *vtenv.Environment
}
-//----------------------------------------------
+// ----------------------------------------------
// testMaterializerEnv
func newTestMaterializerEnv(t *testing.T, ctx context.Context, ms *vtctldatapb.MaterializeSettings, sourceShards, targetShards []string) *testMaterializerEnv {
@@ -426,7 +426,7 @@ func (tmc *testMaterializerTMClient) ReadVReplicationWorkflows(ctx context.Conte
},
},
},
- Pos: "MySQL56/" + position,
+ Pos: position,
TimeUpdated: protoutil.TimeToProto(time.Now()),
TimeHeartbeat: protoutil.TimeToProto(time.Now()),
}
diff --git a/go/vt/vtctl/workflow/materializer_test.go b/go/vt/vtctl/workflow/materializer_test.go
index 51a7d22d5eb..763dd7c04d3 100644
--- a/go/vt/vtctl/workflow/materializer_test.go
+++ b/go/vt/vtctl/workflow/materializer_test.go
@@ -44,7 +44,7 @@ import (
)
const (
- position = "9d10e6ec-07a0-11ee-ae73-8e53f4cf3083:1-97"
+ position = "MySQL56/9d10e6ec-07a0-11ee-ae73-8e53f4cf3083:1-97"
mzSelectFrozenQuery = "select 1 from _vt.vreplication where db_name='vt_targetks' and message='FROZEN' and workflow_sub_type != 1"
mzCheckJournal = "/select val from _vt.resharding_journal where id="
mzGetCopyState = "select distinct table_name from _vt.copy_state cs, _vt.vreplication vr where vr.id = cs.vrepl_id and vr.id = 1"
@@ -56,6 +56,14 @@ var (
defaultOnDDL = binlogdatapb.OnDDLAction_IGNORE.String()
)
+func gtid(position string) string {
+ arr := strings.Split(position, "/")
+ if len(arr) != 2 {
+ return ""
+ }
+ return arr[1]
+}
+
func TestStripForeignKeys(t *testing.T) {
tcs := []struct {
desc string
@@ -577,7 +585,7 @@ func TestMoveTablesDDLFlag(t *testing.T) {
sourceShard, err := env.topoServ.GetShardNames(ctx, ms.SourceKeyspace)
require.NoError(t, err)
want := fmt.Sprintf("shard_streams:{key:\"%s/%s\" value:{streams:{id:1 tablet:{cell:\"%s\" uid:200} source_shard:\"%s/%s\" position:\"%s\" status:\"Running\" info:\"VStream Lag: 0s\"}}} traffic_state:\"Reads Not Switched. Writes Not Switched\"",
- ms.TargetKeyspace, targetShard[0], env.cell, ms.SourceKeyspace, sourceShard[0], position)
+ ms.TargetKeyspace, targetShard[0], env.cell, ms.SourceKeyspace, sourceShard[0], gtid(position))
res, err := env.ws.MoveTablesCreate(ctx, &vtctldatapb.MoveTablesCreateRequest{
Workflow: ms.Workflow,
@@ -636,7 +644,7 @@ func TestMoveTablesNoRoutingRules(t *testing.T) {
Uid: 200,
},
SourceShard: fmt.Sprintf("%s/%s", ms.SourceKeyspace, sourceShard[0]),
- Position: position,
+ Position: gtid(position),
Status: binlogdatapb.VReplicationWorkflowState_Running.String(),
Info: "VStream Lag: 0s",
},
diff --git a/go/vt/vtctl/workflow/mount_test.go b/go/vt/vtctl/workflow/mount_test.go
new file mode 100644
index 00000000000..2fec275e4cb
--- /dev/null
+++ b/go/vt/vtctl/workflow/mount_test.go
@@ -0,0 +1,77 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package workflow
+
+import (
+ "context"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+
+ vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
+ "vitess.io/vitess/go/vt/topo/memorytopo"
+ "vitess.io/vitess/go/vt/vtenv"
+)
+
+// TestMount tests various Mount-related methods.
+func TestMount(t *testing.T) {
+ const (
+ extCluster = "extcluster"
+ topoType = "etcd2"
+ topoServer = "localhost:2379"
+ topoRoot = "/vitess/global"
+ )
+ ctx := context.Background()
+ ts := memorytopo.NewServer(ctx, "cell")
+ tmc := &fakeTMC{}
+ s := NewServer(vtenv.NewTestEnv(), ts, tmc)
+
+ resp, err := s.MountRegister(ctx, &vtctldatapb.MountRegisterRequest{
+ Name: extCluster,
+ TopoType: topoType,
+ TopoServer: topoServer,
+ TopoRoot: topoRoot,
+ })
+ require.NoError(t, err)
+ require.NotNil(t, resp)
+
+ respList, err := s.MountList(ctx, &vtctldatapb.MountListRequest{})
+ require.NoError(t, err)
+ require.NotNil(t, respList)
+ require.Equal(t, []string{extCluster}, respList.Names)
+
+ respShow, err := s.MountShow(ctx, &vtctldatapb.MountShowRequest{
+ Name: extCluster,
+ })
+ require.NoError(t, err)
+ require.NotNil(t, respShow)
+ require.Equal(t, extCluster, respShow.Name)
+ require.Equal(t, topoType, respShow.TopoType)
+ require.Equal(t, topoServer, respShow.TopoServer)
+ require.Equal(t, topoRoot, respShow.TopoRoot)
+
+ respUnregister, err := s.MountUnregister(ctx, &vtctldatapb.MountUnregisterRequest{
+ Name: extCluster,
+ })
+ require.NoError(t, err)
+ require.NotNil(t, respUnregister)
+
+ respList, err = s.MountList(ctx, &vtctldatapb.MountListRequest{})
+ require.NoError(t, err)
+ require.NotNil(t, respList)
+ require.Nil(t, respList.Names)
+}
diff --git a/go/vt/vtctl/workflow/resharder.go b/go/vt/vtctl/workflow/resharder.go
index 4f4ed34963a..57c860bdfaf 100644
--- a/go/vt/vtctl/workflow/resharder.go
+++ b/go/vt/vtctl/workflow/resharder.go
@@ -21,13 +21,15 @@ import (
"context"
"fmt"
"slices"
+ "strings"
"sync"
"time"
- "vitess.io/vitess/go/textutil"
+ "vitess.io/vitess/go/ptr"
"vitess.io/vitess/go/vt/concurrency"
"vitess.io/vitess/go/vt/discovery"
"vitess.io/vitess/go/vt/key"
+ "vitess.io/vitess/go/vt/proto/vtctldata"
"vitess.io/vitess/go/vt/schema"
"vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/topotools"
@@ -58,6 +60,7 @@ type resharder struct {
stopAfterCopy bool
onDDL string
deferSecondaryKeys bool
+ workflowOptions *vtctldata.WorkflowOptions
}
type refStream struct {
@@ -69,7 +72,14 @@ type refStream struct {
workflowSubType binlogdatapb.VReplicationWorkflowSubType
}
-func (s *Server) buildResharder(ctx context.Context, keyspace, workflow string, sources, targets []string, cell, tabletTypes string) (*resharder, error) {
+func (s *Server) buildResharder(ctx context.Context, req *vtctldata.ReshardCreateRequest) (*resharder, error) {
+ keyspace := req.GetKeyspace()
+ workflow := req.GetWorkflow()
+ cell := strings.Join(req.GetCells(), ",")
+ tabletTypes := discovery.BuildTabletTypesString(req.GetTabletTypes(), req.GetTabletSelectionPreference())
+ sources := req.GetSourceShards()
+ targets := req.GetTargetShards()
+
rs := &resharder{
s: s,
keyspace: keyspace,
@@ -78,6 +88,7 @@ func (s *Server) buildResharder(ctx context.Context, keyspace, workflow string,
targetPrimaries: make(map[string]*topo.TabletInfo),
cell: cell,
tabletTypes: tabletTypes,
+ workflowOptions: req.GetWorkflowOptions(),
}
for _, shard := range sources {
si, err := s.ts.GetShard(ctx, keyspace, shard)
@@ -283,6 +294,11 @@ func (rs *resharder) createStreams(ctx context.Context) error {
// Clone excludeRules to prevent data races.
copyExcludeRules := slices.Clone(excludeRules)
+ optionsJSON, err := getOptionsJSON(rs.workflowOptions)
+ if err != nil {
+ return err
+ }
+ optionsJSON = fmt.Sprintf("'%s'", optionsJSON)
for _, source := range rs.sourceShards {
if !key.KeyRangeIntersect(target.KeyRange, source.KeyRange) {
continue
@@ -303,14 +319,14 @@ func (rs *resharder) createStreams(ctx context.Context) error {
ig.AddRow(rs.workflow, bls, "", rs.cell, rs.tabletTypes,
binlogdatapb.VReplicationWorkflowType_Reshard,
binlogdatapb.VReplicationWorkflowSubType_None,
- rs.deferSecondaryKeys)
+ rs.deferSecondaryKeys, optionsJSON)
}
for _, rstream := range rs.refStreams {
ig.AddRow(rstream.workflow, rstream.bls, "", rstream.cell, rstream.tabletTypes,
rstream.workflowType,
rstream.workflowSubType,
- rs.deferSecondaryKeys)
+ rs.deferSecondaryKeys, optionsJSON)
}
query := ig.String()
if _, err := rs.s.tmc.VReplicationExec(ctx, targetPrimary.Tablet, query); err != nil {
@@ -331,10 +347,7 @@ func (rs *resharder) startStreams(ctx context.Context) error {
// that we've created on the new shards as we're migrating them.
req := &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{
AllWorkflows: true,
- State: binlogdatapb.VReplicationWorkflowState_Running,
- // We don't want to update anything else so use simulated NULLs.
- Message: textutil.SimulatedNullString,
- StopPosition: textutil.SimulatedNullString,
+ State: ptr.Of(binlogdatapb.VReplicationWorkflowState_Running),
}
if _, err := rs.s.tmc.UpdateVReplicationWorkflows(ctx, targetPrimary.Tablet, req); err != nil {
return vterrors.Wrapf(err, "UpdateVReplicationWorkflows(%v, 'state='%s')",
diff --git a/go/vt/vtctl/workflow/resharder_test.go b/go/vt/vtctl/workflow/resharder_test.go
index 1bb2f065e0f..6353f36db9f 100644
--- a/go/vt/vtctl/workflow/resharder_test.go
+++ b/go/vt/vtctl/workflow/resharder_test.go
@@ -84,7 +84,7 @@ func TestReshardCreate(t *testing.T) {
{
Id: 1,
Tablet: &topodatapb.TabletAlias{Cell: defaultCellName, Uid: startingTargetTabletUID},
- SourceShard: "targetks/0", Position: position, Status: "Running", Info: "VStream Lag: 0s",
+ SourceShard: "targetks/0", Position: gtid(position), Status: "Running", Info: "VStream Lag: 0s",
},
},
},
@@ -93,7 +93,7 @@ func TestReshardCreate(t *testing.T) {
{
Id: 1,
Tablet: &topodatapb.TabletAlias{Cell: defaultCellName, Uid: startingTargetTabletUID + tabletUIDStep},
- SourceShard: "targetks/0", Position: position, Status: "Running", Info: "VStream Lag: 0s",
+ SourceShard: "targetks/0", Position: gtid(position), Status: "Running", Info: "VStream Lag: 0s",
},
},
},
diff --git a/go/vt/vtctl/workflow/server.go b/go/vt/vtctl/workflow/server.go
index 3601ed2d1a1..9d33bbab7d4 100644
--- a/go/vt/vtctl/workflow/server.go
+++ b/go/vt/vtctl/workflow/server.go
@@ -32,9 +32,12 @@ import (
"golang.org/x/exp/maps"
"golang.org/x/sync/errgroup"
"golang.org/x/sync/semaphore"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
"google.golang.org/protobuf/encoding/prototext"
"google.golang.org/protobuf/proto"
+ "vitess.io/vitess/go/constants/sidecar"
"vitess.io/vitess/go/protoutil"
"vitess.io/vitess/go/sets"
"vitess.io/vitess/go/sqlescape"
@@ -65,7 +68,6 @@ import (
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
querypb "vitess.io/vitess/go/vt/proto/query"
tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
- "vitess.io/vitess/go/vt/proto/topodata"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
vschemapb "vitess.io/vitess/go/vt/proto/vschema"
vtctldatapb "vitess.io/vitess/go/vt/proto/vtctldata"
@@ -155,18 +157,26 @@ type Server struct {
ts *topo.Server
tmc tmclient.TabletManagerClient
// Limit the number of concurrent background goroutines if needed.
- sem *semaphore.Weighted
- env *vtenv.Environment
+ sem *semaphore.Weighted
+ env *vtenv.Environment
+ options serverOptions
}
// NewServer returns a new server instance with the given topo.Server and
// TabletManagerClient.
-func NewServer(env *vtenv.Environment, ts *topo.Server, tmc tmclient.TabletManagerClient) *Server {
- return &Server{
+func NewServer(env *vtenv.Environment, ts *topo.Server, tmc tmclient.TabletManagerClient, opts ...ServerOption) *Server {
+ s := &Server{
ts: ts,
tmc: tmc,
env: env,
}
+ for _, o := range opts {
+ o.apply(&s.options)
+ }
+ if s.options.logger == nil {
+ s.options.logger = logutil.NewConsoleLogger() // Use the default system logger
+ }
+ return s
}
func (s *Server) SQLParser() *sqlparser.Parser {
@@ -293,7 +303,8 @@ func (s *Server) GetCellsWithShardReadsSwitched(
// keyspace.
func (s *Server) GetCellsWithTableReadsSwitched(
ctx context.Context,
- keyspace string,
+ sourceKeyspace string,
+ targetKeyspace string,
table string,
tabletType topodatapb.TabletType,
) (cellsSwitched []string, cellsNotSwitched []string, err error) {
@@ -323,18 +334,18 @@ func (s *Server) GetCellsWithTableReadsSwitched(
)
for _, rule := range srvVSchema.RoutingRules.Rules {
- ruleName := fmt.Sprintf("%s.%s@%s", keyspace, table, strings.ToLower(tabletType.String()))
+ ruleName := fmt.Sprintf("%s.%s@%s", sourceKeyspace, table, strings.ToLower(tabletType.String()))
if rule.FromTable == ruleName {
found = true
for _, to := range rule.ToTables {
ks, err := getKeyspace(to)
if err != nil {
- log.Errorf(err.Error())
+ s.Logger().Errorf(err.Error())
return nil, nil, err
}
- if ks == keyspace {
+ if ks != sourceKeyspace {
switched = true
break // if one table in the workflow switched, we are done.
}
@@ -851,7 +862,7 @@ ORDER BY
}
if stream.Id > streamLog.StreamId {
- log.Warningf("Found stream log for nonexistent stream: %+v", streamLog)
+ s.Logger().Warningf("Found stream log for nonexistent stream: %+v", streamLog)
// This can happen on manual/failed workflow cleanup so keep going.
continue
}
@@ -938,10 +949,14 @@ ORDER BY
}, nil
}
+func (s *Server) GetWorkflowState(ctx context.Context, targetKeyspace, workflowName string) (*trafficSwitcher, *State, error) {
+ return s.getWorkflowState(ctx, targetKeyspace, workflowName)
+}
+
func (s *Server) getWorkflowState(ctx context.Context, targetKeyspace, workflowName string) (*trafficSwitcher, *State, error) {
ts, err := s.buildTrafficSwitcher(ctx, targetKeyspace, workflowName)
if err != nil {
- log.Errorf("buildTrafficSwitcher failed: %v", err)
+ s.Logger().Errorf("buildTrafficSwitcher failed: %v", err)
return nil, nil, err
}
@@ -1007,12 +1022,12 @@ func (s *Server) getWorkflowState(ctx context.Context, targetKeyspace, workflowN
}
}
} else {
- state.RdonlyCellsSwitched, state.RdonlyCellsNotSwitched, err = s.GetCellsWithTableReadsSwitched(ctx, targetKeyspace, table, topodatapb.TabletType_RDONLY)
+ state.RdonlyCellsSwitched, state.RdonlyCellsNotSwitched, err = s.GetCellsWithTableReadsSwitched(ctx, sourceKeyspace, targetKeyspace, table, topodatapb.TabletType_RDONLY)
if err != nil {
return nil, nil, err
}
- state.ReplicaCellsSwitched, state.ReplicaCellsNotSwitched, err = s.GetCellsWithTableReadsSwitched(ctx, targetKeyspace, table, topodatapb.TabletType_REPLICA)
+ state.ReplicaCellsSwitched, state.ReplicaCellsNotSwitched, err = s.GetCellsWithTableReadsSwitched(ctx, sourceKeyspace, targetKeyspace, table, topodatapb.TabletType_REPLICA)
if err != nil {
return nil, nil, err
}
@@ -1021,10 +1036,11 @@ func (s *Server) getWorkflowState(ctx context.Context, targetKeyspace, workflowN
return nil, nil, err
}
for _, table := range ts.Tables() {
- rr := globalRules[table]
- // If a rule exists for the table and points to the target keyspace, then
- // writes have been switched.
- if len(rr) > 0 && rr[0] == fmt.Sprintf("%s.%s", targetKeyspace, table) {
+ // If a rule for the primary tablet type exists for any table and points to the target keyspace,
+ // then writes have been switched.
+ ruleKey := fmt.Sprintf("%s.%s", sourceKeyspace, table)
+ rr := globalRules[ruleKey]
+ if len(rr) > 0 && rr[0] != ruleKey {
state.WritesSwitched = true
break
}
@@ -1271,6 +1287,21 @@ func (s *Server) Materialize(ctx context.Context, ms *vtctldatapb.MaterializeSet
cells[i] = strings.TrimSpace(cells[i])
}
+ switch {
+ case len(ms.ReferenceTables) == 0 && len(ms.TableSettings) == 0:
+ return vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "either --table-settings or --reference-tables must be specified")
+ case len(ms.ReferenceTables) > 0 && len(ms.TableSettings) > 0:
+ return vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "cannot specify both --table-settings and --reference-tables")
+ }
+
+ for _, table := range ms.ReferenceTables {
+ ms.TableSettings = append(ms.TableSettings, &vtctldatapb.TableMaterializeSettings{
+ TargetTable: table,
+ SourceExpression: fmt.Sprintf("select * from %s", table),
+ CreateDdl: createDDLAsCopyDropForeignKeys,
+ })
+ }
+
err = mz.createWorkflowStreams(&tabletmanagerdatapb.CreateVReplicationWorkflowRequest{
Workflow: ms.Workflow,
Cells: strings.Split(ms.Cell, ","),
@@ -1323,7 +1354,7 @@ func (s *Server) moveTablesCreate(ctx context.Context, req *vtctldatapb.MoveTabl
return nil, err
}
sourceTopo = externalTopo
- log.Infof("Successfully opened external topo: %+v", externalTopo)
+ s.Logger().Infof("Successfully opened external topo: %+v", externalTopo)
}
var vschema *vschemapb.Keyspace
@@ -1380,7 +1411,7 @@ func (s *Server) moveTablesCreate(ctx context.Context, req *vtctldatapb.MoveTabl
if len(tables) == 0 {
return nil, vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "no tables to move")
}
- log.Infof("Found tables to move: %s", strings.Join(tables, ","))
+ s.Logger().Infof("Found tables to move: %s", strings.Join(tables, ","))
if !vschema.Sharded {
// Save the original in case we need to restore it for a late failure
@@ -1536,12 +1567,12 @@ func (s *Server) moveTablesCreate(ctx context.Context, req *vtctldatapb.MoveTabl
return nil, err
}
if exists {
- log.Errorf("Found a previous journal entry for %d", migrationID)
+ s.Logger().Errorf("Found a previous journal entry for %d", migrationID)
msg := fmt.Sprintf("found an entry from a previous run for migration id %d in _vt.resharding_journal on tablets %s, ",
migrationID, strings.Join(tablets, ","))
msg += fmt.Sprintf("please review and delete it before proceeding and then start the workflow using: MoveTables --workflow %s --target-keyspace %s start",
req.Workflow, req.TargetKeyspace)
- return nil, vterrors.Errorf(vtrpcpb.Code_INTERNAL, msg)
+ return nil, vterrors.New(vtrpcpb.Code_INTERNAL, msg)
}
}
@@ -1599,7 +1630,7 @@ func (s *Server) setupInitialRoutingRules(ctx context.Context, req *vtctldatapb.
targetKeyspace := req.TargetKeyspace
if req.NoRoutingRules {
- log.Warningf("Found --no-routing-rules flag, not creating routing rules for workflow %s.%s", targetKeyspace, req.Workflow)
+ s.Logger().Warningf("Found --no-routing-rules flag, not creating routing rules for workflow %s.%s", targetKeyspace, req.Workflow)
return nil
}
@@ -1612,7 +1643,7 @@ func (s *Server) setupInitialRoutingRules(ctx context.Context, req *vtctldatapb.
}
if mz.IsMultiTenantMigration() {
- log.Infof("Setting up keyspace routing rules for workflow %s.%s", targetKeyspace, req.Workflow)
+ s.Logger().Infof("Setting up keyspace routing rules for workflow %s.%s", targetKeyspace, req.Workflow)
// Note that you can never point the target keyspace to the source keyspace in a multi-tenant migration
// since the target takes write traffic for all tenants!
routes := make(map[string]string)
@@ -1729,11 +1760,10 @@ func (s *Server) ReshardCreate(ctx context.Context, req *vtctldatapb.ReshardCrea
if err := s.ts.ValidateSrvKeyspace(ctx, keyspace, strings.Join(cells, ",")); err != nil {
err2 := vterrors.Wrapf(err, "SrvKeyspace for keyspace %s is corrupt for cell(s) %s", keyspace, cells)
- log.Errorf("%v", err2)
+ s.Logger().Errorf("%v", err2)
return nil, err
}
- tabletTypesStr := discovery.BuildTabletTypesString(req.TabletTypes, req.TabletSelectionPreference)
- rs, err := s.buildResharder(ctx, keyspace, req.Workflow, req.SourceShards, req.TargetShards, strings.Join(cells, ","), tabletTypesStr)
+ rs, err := s.buildResharder(ctx, req)
if err != nil {
return nil, vterrors.Wrap(err, "buildResharder")
}
@@ -1754,7 +1784,7 @@ func (s *Server) ReshardCreate(ctx context.Context, req *vtctldatapb.ReshardCrea
return nil, vterrors.Wrap(err, "startStreams")
}
} else {
- log.Warningf("Streams will not be started since --auto-start is set to false")
+ s.Logger().Warningf("Streams will not be started since --auto-start is set to false")
}
return s.WorkflowStatus(ctx, &vtctldatapb.WorkflowStatusRequest{
Keyspace: req.Keyspace,
@@ -1779,6 +1809,9 @@ func (s *Server) VDiffCreate(ctx context.Context, req *vtctldatapb.VDiffCreateRe
span.Annotate("tables", req.Tables)
span.Annotate("auto_retry", req.AutoRetry)
span.Annotate("max_diff_duration", req.MaxDiffDuration)
+ if req.AutoStart != nil {
+ span.Annotate("auto_start", req.GetAutoStart())
+ }
tabletTypesStr := discovery.BuildTabletTypesString(req.TabletTypes, req.TabletSelectionPreference)
@@ -1797,6 +1830,11 @@ func (s *Server) VDiffCreate(ctx context.Context, req *vtctldatapb.VDiffCreateRe
req.WaitUpdateInterval = &vttimepb.Duration{}
}
+ autoStart := true
+ if req.AutoStart != nil {
+ autoStart = req.GetAutoStart()
+ }
+
options := &tabletmanagerdatapb.VDiffOptions{
PickerOptions: &tabletmanagerdatapb.VDiffPickerOptions{
TabletTypes: tabletTypesStr,
@@ -1811,11 +1849,13 @@ func (s *Server) VDiffCreate(ctx context.Context, req *vtctldatapb.VDiffCreateRe
MaxExtraRowsToCompare: req.MaxExtraRowsToCompare,
UpdateTableStats: req.UpdateTableStats,
MaxDiffSeconds: req.MaxDiffDuration.Seconds,
+ AutoStart: &autoStart,
},
ReportOptions: &tabletmanagerdatapb.VDiffReportOptions{
- OnlyPks: req.OnlyPKs,
- DebugQuery: req.DebugQuery,
- MaxSampleRows: req.MaxReportSampleRows,
+ OnlyPks: req.OnlyPKs,
+ DebugQuery: req.DebugQuery,
+ MaxSampleRows: req.MaxReportSampleRows,
+ RowDiffColumnTruncateAt: req.RowDiffColumnTruncateAt,
},
}
@@ -1841,7 +1881,7 @@ func (s *Server) VDiffCreate(ctx context.Context, req *vtctldatapb.VDiffCreateRe
return nil, err
}
if workflowStatus != binlogdatapb.VReplicationWorkflowState_Running {
- log.Infof("Workflow %s.%s is not running, cannot start VDiff in state %s", req.TargetKeyspace, req.Workflow, workflowStatus)
+ s.Logger().Infof("Workflow %s.%s is not running, cannot start VDiff in state %s", req.TargetKeyspace, req.Workflow, workflowStatus)
return nil, vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION,
"not all streams are running in workflow %s.%s", req.TargetKeyspace, req.Workflow)
}
@@ -1851,7 +1891,7 @@ func (s *Server) VDiffCreate(ctx context.Context, req *vtctldatapb.VDiffCreateRe
return err
})
if err != nil {
- log.Errorf("Error executing vdiff create action: %v", err)
+ s.Logger().Errorf("Error executing vdiff create action: %v", err)
return nil, err
}
@@ -1886,7 +1926,7 @@ func (s *Server) VDiffDelete(ctx context.Context, req *vtctldatapb.VDiffDeleteRe
return err
})
if err != nil {
- log.Errorf("Error executing vdiff delete action: %v", err)
+ s.Logger().Errorf("Error executing vdiff delete action: %v", err)
return nil, err
}
@@ -1898,9 +1938,12 @@ func (s *Server) VDiffResume(ctx context.Context, req *vtctldatapb.VDiffResumeRe
span, ctx := trace.NewSpan(ctx, "workflow.Server.VDiffResume")
defer span.Finish()
+ targetShards := req.GetTargetShards()
+
span.Annotate("keyspace", req.TargetKeyspace)
span.Annotate("workflow", req.Workflow)
span.Annotate("uuid", req.Uuid)
+ span.Annotate("target_shards", targetShards)
tabletreq := &tabletmanagerdatapb.VDiffRequest{
Keyspace: req.TargetKeyspace,
@@ -1914,12 +1957,18 @@ func (s *Server) VDiffResume(ctx context.Context, req *vtctldatapb.VDiffResumeRe
return nil, err
}
+ if len(targetShards) > 0 {
+ if err := applyTargetShards(ts, targetShards); err != nil {
+ return nil, err
+ }
+ }
+
err = ts.ForAllTargets(func(target *MigrationTarget) error {
_, err := s.tmc.VDiff(ctx, target.GetPrimary().Tablet, tabletreq)
return err
})
if err != nil {
- log.Errorf("Error executing vdiff resume action: %v", err)
+ s.Logger().Errorf("Error executing vdiff resume action: %v", err)
return nil, err
}
@@ -1959,7 +2008,7 @@ func (s *Server) VDiffShow(ctx context.Context, req *vtctldatapb.VDiffShowReques
return err
})
if output.err != nil {
- log.Errorf("Error executing vdiff show action: %v", output.err)
+ s.Logger().Errorf("Error executing vdiff show action: %v", output.err)
return nil, output.err
}
return &vtctldatapb.VDiffShowResponse{
@@ -1972,9 +2021,12 @@ func (s *Server) VDiffStop(ctx context.Context, req *vtctldatapb.VDiffStopReques
span, ctx := trace.NewSpan(ctx, "workflow.Server.VDiffStop")
defer span.Finish()
+ targetShards := req.GetTargetShards()
+
span.Annotate("keyspace", req.TargetKeyspace)
span.Annotate("workflow", req.Workflow)
span.Annotate("uuid", req.Uuid)
+ span.Annotate("target_shards", targetShards)
tabletreq := &tabletmanagerdatapb.VDiffRequest{
Keyspace: req.TargetKeyspace,
@@ -1988,12 +2040,18 @@ func (s *Server) VDiffStop(ctx context.Context, req *vtctldatapb.VDiffStopReques
return nil, err
}
+ if len(targetShards) > 0 {
+ if err := applyTargetShards(ts, targetShards); err != nil {
+ return nil, err
+ }
+ }
+
err = ts.ForAllTargets(func(target *MigrationTarget) error {
_, err := s.tmc.VDiff(ctx, target.GetPrimary().Tablet, tabletreq)
return err
})
if err != nil {
- log.Errorf("Error executing vdiff stop action: %v", err)
+ s.Logger().Errorf("Error executing vdiff stop action: %v", err)
return nil, err
}
@@ -2015,7 +2073,7 @@ func (s *Server) WorkflowDelete(ctx context.Context, req *vtctldatapb.WorkflowDe
ts, state, err := s.getWorkflowState(ctx, req.GetKeyspace(), req.GetWorkflow())
if err != nil {
- log.Errorf("failed to get VReplication workflow state for %s.%s: %v", req.GetKeyspace(), req.GetWorkflow(), err)
+ s.Logger().Errorf("failed to get VReplication workflow state for %s.%s: %v", req.GetKeyspace(), req.GetWorkflow(), err)
return nil, err
}
@@ -2128,7 +2186,6 @@ func (s *Server) WorkflowStatus(ctx context.Context, req *vtctldatapb.WorkflowSt
if err != nil {
return nil, err
}
-
// The stream key is target keyspace/tablet alias, e.g. 0/test-0000000100.
// We sort the keys for intuitive and consistent output.
streamKeys := make([]string, 0, len(workflow.ShardStreams))
@@ -2184,9 +2241,13 @@ func (s *Server) WorkflowStatus(ctx context.Context, req *vtctldatapb.WorkflowSt
return resp, nil
}
-// GetCopyProgress returns the progress of all tables being copied in the
-// workflow.
+// GetCopyProgress returns the progress of all tables being copied in the workflow.
func (s *Server) GetCopyProgress(ctx context.Context, ts *trafficSwitcher, state *State) (*copyProgress, error) {
+ if ts.workflowType == binlogdatapb.VReplicationWorkflowType_Migrate {
+ // The logic below expects the source primaries to be in the same cluster as the target.
+ // For now we don't report progress for Migrate workflows.
+ return nil, nil
+ }
getTablesQuery := "select distinct table_name from _vt.copy_state cs, _vt.vreplication vr where vr.id = cs.vrepl_id and vr.id = %d"
getRowCountQuery := "select table_name, table_rows, data_length from information_schema.tables where table_schema = %s and table_name in (%s)"
tables := make(map[string]bool)
@@ -2328,6 +2389,7 @@ func (s *Server) WorkflowUpdate(ctx context.Context, req *vtctldatapb.WorkflowUp
span.Annotate("tablet_types", req.TabletRequest.TabletTypes)
span.Annotate("on_ddl", req.TabletRequest.OnDdl)
span.Annotate("state", req.TabletRequest.State)
+ span.Annotate("config_overrides", req.TabletRequest.ConfigOverrides)
vx := vexec.NewVExec(req.Keyspace, req.TabletRequest.Workflow, s.ts, s.tmc, s.env.Parser())
callback := func(ctx context.Context, tablet *topo.TabletInfo) (*querypb.QueryResult, error) {
@@ -2509,7 +2571,7 @@ func (s *Server) deleteWorkflowVDiffData(ctx context.Context, tablet *topodatapb
Action: string(vdiff.DeleteAction),
ActionArg: vdiff.AllActionArg,
}); err != nil {
- log.Errorf("Error deleting vdiff data for %s.%s workflow: %v", tablet.Keyspace, workflow, err)
+ s.Logger().Errorf("Error deleting vdiff data for %s.%s workflow: %v", tablet.Keyspace, workflow, err)
}
}
@@ -2529,7 +2591,7 @@ func (s *Server) deleteWorkflowVDiffData(ctx context.Context, tablet *topodatapb
func (s *Server) optimizeCopyStateTable(tablet *topodatapb.Tablet) {
if s.sem != nil {
if !s.sem.TryAcquire(1) {
- log.Warningf("Deferring work to optimize the copy_state table on %q due to hitting the maximum concurrent background job limit.",
+ s.Logger().Warningf("Deferring work to optimize the copy_state table on %q due to hitting the maximum concurrent background job limit.",
tablet.Alias.String())
return
}
@@ -2550,7 +2612,7 @@ func (s *Server) optimizeCopyStateTable(tablet *topodatapb.Tablet) {
if IsTableDidNotExistError(err) {
return
}
- log.Warningf("Failed to optimize the copy_state table on %q: %v", tablet.Alias.String(), err)
+ s.Logger().Warningf("Failed to optimize the copy_state table on %q: %v", tablet.Alias.String(), err)
}
// This will automatically set the value to 1 or the current max value in the
// table, whichever is greater.
@@ -2559,7 +2621,7 @@ func (s *Server) optimizeCopyStateTable(tablet *topodatapb.Tablet) {
Query: []byte(sqlResetAutoInc),
MaxRows: uint64(0),
}); err != nil {
- log.Warningf("Failed to reset the auto_increment value for the copy_state table on %q: %v",
+ s.Logger().Warningf("Failed to reset the auto_increment value for the copy_state table on %q: %v",
tablet.Alias.String(), err)
}
}()
@@ -2581,20 +2643,18 @@ func (s *Server) DropTargets(ctx context.Context, ts *trafficSwitcher, keepData,
lockName := fmt.Sprintf("%s/%s", ts.TargetKeyspaceName(), ts.WorkflowName())
ctx, workflowUnlock, lockErr := s.ts.LockName(ctx, lockName, "DropTargets")
if lockErr != nil {
- ts.Logger().Errorf("Locking the workflow %s failed: %v", lockName, lockErr)
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to lock the %s workflow", lockName), lockErr)
}
defer workflowUnlock(&err)
ctx, sourceUnlock, lockErr := sw.lockKeyspace(ctx, ts.SourceKeyspaceName(), "DropTargets")
if lockErr != nil {
- ts.Logger().Errorf("Source LockKeyspace failed: %v", lockErr)
- return nil, lockErr
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to lock the %s keyspace", ts.SourceKeyspaceName()), lockErr)
}
defer sourceUnlock(&err)
if ts.TargetKeyspaceName() != ts.SourceKeyspaceName() {
lockCtx, targetUnlock, lockErr := sw.lockKeyspace(ctx, ts.TargetKeyspaceName(), "DropTargets")
if lockErr != nil {
- ts.Logger().Errorf("Target LockKeyspace failed: %v", lockErr)
- return nil, lockErr
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to lock the %s keyspace", ts.TargetKeyspaceName()), lockErr)
}
defer targetUnlock(&err)
ctx = lockCtx
@@ -2630,14 +2690,14 @@ func (s *Server) DropTargets(ctx context.Context, ts *trafficSwitcher, keepData,
func (s *Server) buildTrafficSwitcher(ctx context.Context, targetKeyspace, workflowName string) (*trafficSwitcher, error) {
tgtInfo, err := BuildTargets(ctx, s.ts, s.tmc, targetKeyspace, workflowName)
if err != nil {
- log.Infof("Error building targets: %s", err)
+ s.Logger().Infof("Error building targets: %s", err)
return nil, err
}
targets, frozen, optCells, optTabletTypes := tgtInfo.Targets, tgtInfo.Frozen, tgtInfo.OptCells, tgtInfo.OptTabletTypes
ts := &trafficSwitcher{
ws: s,
- logger: logutil.NewConsoleLogger(),
+ logger: s.Logger(),
workflow: workflowName,
reverseWorkflow: ReverseWorkflowName(workflowName),
id: HashStreams(targetKeyspace, targets),
@@ -2651,7 +2711,7 @@ func (s *Server) buildTrafficSwitcher(ctx context.Context, targetKeyspace, workf
workflowSubType: tgtInfo.WorkflowSubType,
options: tgtInfo.Options,
}
- log.Infof("Migration ID for workflow %s: %d", workflowName, ts.id)
+ s.Logger().Infof("Migration ID for workflow %s: %d", workflowName, ts.id)
sourceTopo := s.ts
// Build the sources.
@@ -2738,7 +2798,7 @@ func (s *Server) buildTrafficSwitcher(ctx context.Context, targetKeyspace, workf
return nil, err
}
if ts.isPartialMigration {
- log.Infof("Migration is partial, for shards %+v", sourceShards)
+ s.Logger().Infof("Migration is partial, for shards %+v", sourceShards)
}
return ts, nil
}
@@ -2779,20 +2839,18 @@ func (s *Server) dropSources(ctx context.Context, ts *trafficSwitcher, removalTy
lockName := fmt.Sprintf("%s/%s", ts.TargetKeyspaceName(), ts.WorkflowName())
ctx, workflowUnlock, lockErr := s.ts.LockName(ctx, lockName, "DropSources")
if lockErr != nil {
- ts.Logger().Errorf("Locking the workflow %s failed: %v", lockName, lockErr)
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to lock the %s workflow", lockName), lockErr)
}
defer workflowUnlock(&err)
ctx, sourceUnlock, lockErr := sw.lockKeyspace(ctx, ts.SourceKeyspaceName(), "DropSources")
if lockErr != nil {
- ts.Logger().Errorf("Source LockKeyspace failed: %v", lockErr)
- return nil, lockErr
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to lock the %s keyspace", ts.SourceKeyspaceName()), lockErr)
}
defer sourceUnlock(&err)
if ts.TargetKeyspaceName() != ts.SourceKeyspaceName() {
lockCtx, targetUnlock, lockErr := sw.lockKeyspace(ctx, ts.TargetKeyspaceName(), "DropSources")
if lockErr != nil {
- ts.Logger().Errorf("Target LockKeyspace failed: %v", lockErr)
- return nil, lockErr
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to lock the %s keyspace", ts.TargetKeyspaceName()), lockErr)
}
defer targetUnlock(&err)
ctx = lockCtx
@@ -2807,7 +2865,7 @@ func (s *Server) dropSources(ctx context.Context, ts *trafficSwitcher, removalTy
if !keepData {
switch ts.MigrationType() {
case binlogdatapb.MigrationType_TABLES:
- log.Infof("Deleting tables")
+ s.Logger().Infof("Deleting tables")
if err := sw.removeSourceTables(ctx, removalType); err != nil {
return nil, err
}
@@ -2819,7 +2877,7 @@ func (s *Server) dropSources(ctx context.Context, ts *trafficSwitcher, removalTy
}
case binlogdatapb.MigrationType_SHARDS:
- log.Infof("Removing shards")
+ s.Logger().Infof("Removing shards")
if err := sw.dropSourceShards(ctx); err != nil {
return nil, err
}
@@ -2866,7 +2924,7 @@ func (s *Server) DeleteShard(ctx context.Context, keyspace, shard string, recurs
shardInfo, err := s.ts.GetShard(ctx, keyspace, shard)
if err != nil {
if topo.IsErrType(err, topo.NoNode) {
- log.Warningf("Shard %v/%v did not exist when attempting to remove it", keyspace, shard)
+ s.Logger().Warningf("Shard %v/%v did not exist when attempting to remove it", keyspace, shard)
return nil
}
return err
@@ -2939,11 +2997,11 @@ func (s *Server) DeleteShard(ctx context.Context, keyspace, shard string, recurs
return vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "shard %v/%v still has %v tablets in cell %v; use --recursive or remove them manually", keyspace, shard, len(tabletMap), cell)
}
- log.Infof("Deleting all tablets in shard %v/%v cell %v", keyspace, shard, cell)
+ s.Logger().Infof("Deleting all tablets in shard %v/%v cell %v", keyspace, shard, cell)
for tabletAlias, tabletInfo := range tabletMap {
// We don't care about scrapping or updating the replication graph,
// because we're about to delete the entire replication graph.
- log.Infof("Deleting tablet %v", tabletAlias)
+ s.Logger().Infof("Deleting tablet %v", tabletAlias)
if err := s.ts.DeleteTablet(ctx, tabletInfo.Alias); err != nil && !topo.IsErrType(err, topo.NoNode) {
// We don't want to continue if a DeleteTablet fails for
// any good reason (other than missing tablet, in which
@@ -2964,7 +3022,7 @@ func (s *Server) DeleteShard(ctx context.Context, keyspace, shard string, recurs
// regardless of its existence.
for _, cell := range cells {
if err := s.ts.DeleteShardReplication(ctx, cell, keyspace, shard); err != nil && !topo.IsErrType(err, topo.NoNode) {
- log.Warningf("Cannot delete ShardReplication in cell %v for %v/%v: %v", cell, keyspace, shard, err)
+ s.Logger().Warningf("Cannot delete ShardReplication in cell %v for %v/%v: %v", cell, keyspace, shard, err)
}
}
@@ -2979,7 +3037,7 @@ func (s *Server) updateShardRecords(ctx context.Context, keyspace string, shards
}
// refreshPrimaryTablets will just RPC-ping all the primary tablets with RefreshState
-func (s *Server) refreshPrimaryTablets(ctx context.Context, shards []*topo.ShardInfo) error {
+func (s *Server) refreshPrimaryTablets(ctx context.Context, shards []*topo.ShardInfo, force bool) error {
wg := sync.WaitGroup{}
rec := concurrency.AllErrorRecorder{}
for _, si := range shards {
@@ -2993,9 +3051,11 @@ func (s *Server) refreshPrimaryTablets(ctx context.Context, shards []*topo.Shard
}
if err := s.tmc.RefreshState(ctx, ti.Tablet); err != nil {
- rec.RecordError(err)
- } else {
- log.Infof("%v responded", topoproto.TabletAliasString(si.PrimaryAlias))
+ if !force {
+ rec.RecordError(err)
+ return
+ }
+ s.Logger().Warningf("%v encountered error on tablet refresh: %v", topoproto.TabletAliasString(si.PrimaryAlias), err)
}
}(si)
}
@@ -3020,13 +3080,12 @@ func (s *Server) finalizeMigrateWorkflow(ctx context.Context, ts *trafficSwitche
lockName := fmt.Sprintf("%s/%s", ts.TargetKeyspaceName(), ts.WorkflowName())
ctx, workflowUnlock, lockErr := s.ts.LockName(ctx, lockName, "completeMigrateWorkflow")
if lockErr != nil {
- ts.Logger().Errorf("Locking the workflow %s failed: %v", lockName, lockErr)
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to lock the %s workflow", lockName), lockErr)
}
defer workflowUnlock(&err)
ctx, targetUnlock, lockErr := sw.lockKeyspace(ctx, ts.TargetKeyspaceName(), "completeMigrateWorkflow")
if lockErr != nil {
- ts.Logger().Errorf("Target LockKeyspace failed: %v", lockErr)
- return nil, lockErr
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to lock the %s keyspace", ts.TargetKeyspaceName()), lockErr)
}
defer targetUnlock(&err)
@@ -3041,7 +3100,7 @@ func (s *Server) finalizeMigrateWorkflow(ctx context.Context, ts *trafficSwitche
return nil, err
}
}
- log.Infof("cancel is %t, keepData %t", cancel, keepData)
+ s.Logger().Infof("cancel is %t, keepData %t", cancel, keepData)
if cancel && !keepData {
if err := sw.removeTargetTables(ctx); err != nil {
return nil, err
@@ -3052,6 +3111,16 @@ func (s *Server) finalizeMigrateWorkflow(ctx context.Context, ts *trafficSwitche
// WorkflowSwitchTraffic switches traffic in the direction passed for specified tablet types.
func (s *Server) WorkflowSwitchTraffic(ctx context.Context, req *vtctldatapb.WorkflowSwitchTrafficRequest) (*vtctldatapb.WorkflowSwitchTrafficResponse, error) {
+ span, ctx := trace.NewSpan(ctx, "workflow.Server.WorkflowSwitchTraffic")
+ defer span.Finish()
+
+ span.Annotate("keyspace", req.Keyspace)
+ span.Annotate("workflow", req.Workflow)
+ span.Annotate("tablet-types", req.TabletTypes)
+ span.Annotate("direction", req.Direction)
+ span.Annotate("enable-reverse-replication", req.EnableReverseReplication)
+ span.Annotate("force", req.Force)
+
var (
dryRunResults []string
rdDryRunResults, wrDryRunResults *[]string
@@ -3069,7 +3138,7 @@ func (s *Server) WorkflowSwitchTraffic(ctx context.Context, req *vtctldatapb.Wor
// a seconds value so you'd get unexpected behavior if you e.g. set the timeout to
// 500ms as Etcd would get a value of 0 or a never-ending TTL.
if timeout.Seconds() < 1 {
- return nil, vterrors.Wrap(err, "Timeout must be at least 1 second")
+ return nil, vterrors.Wrap(err, "timeout must be at least 1 second")
}
ts, startState, err := s.getWorkflowState(ctx, req.Keyspace, req.Workflow)
if err != nil {
@@ -3101,12 +3170,16 @@ func (s *Server) WorkflowSwitchTraffic(ctx context.Context, req *vtctldatapb.Wor
return nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "cannot reverse traffic for multi-tenant migrations")
}
}
- reason, err := s.canSwitch(ctx, ts, startState, direction, int64(maxReplicationLagAllowed.Seconds()), req.Shards)
+
+ ts.force = req.GetForce()
+
+ reason, err := s.canSwitch(ctx, ts, startState, direction, int64(maxReplicationLagAllowed.Seconds()), req.GetShards())
if err != nil {
return nil, err
}
if reason != "" {
- return nil, vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "cannot switch traffic for workflow %s at this time: %s", startState.Workflow, reason)
+ return nil, vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "cannot switch traffic for workflow %s at this time: %s",
+ startState.Workflow, reason)
}
hasReplica, hasRdonly, hasPrimary, err = parseTabletTypes(req.TabletTypes)
if err != nil {
@@ -3118,7 +3191,7 @@ func (s *Server) WorkflowSwitchTraffic(ctx context.Context, req *vtctldatapb.Wor
if rdDryRunResults, err = s.switchReads(ctx, req, ts, startState, !hasPrimary /* rebuildSrvVSchema */, direction); err != nil {
return nil, err
}
- log.Infof("Switch Reads done for workflow %s.%s", req.Keyspace, req.Workflow)
+ s.Logger().Infof("Switch Reads done for workflow %s.%s", req.Keyspace, req.Workflow)
}
if rdDryRunResults != nil {
dryRunResults = append(dryRunResults, *rdDryRunResults...)
@@ -3127,7 +3200,7 @@ func (s *Server) WorkflowSwitchTraffic(ctx context.Context, req *vtctldatapb.Wor
if _, wrDryRunResults, err = s.switchWrites(ctx, req, ts, timeout, false); err != nil {
return nil, err
}
- log.Infof("Switch Writes done for workflow %s.%s", req.Keyspace, req.Workflow)
+ s.Logger().Infof("Switch Writes done for workflow %s.%s", req.Keyspace, req.Workflow)
}
if wrDryRunResults != nil {
@@ -3140,13 +3213,14 @@ func (s *Server) WorkflowSwitchTraffic(ctx context.Context, req *vtctldatapb.Wor
if direction == DirectionBackward {
cmd = "ReverseTraffic"
}
- log.Infof("%s done for workflow %s.%s", cmd, req.Keyspace, req.Workflow)
+ s.Logger().Infof("%s done for workflow %s.%s", cmd, req.Keyspace, req.Workflow)
resp := &vtctldatapb.WorkflowSwitchTrafficResponse{}
if req.DryRun {
- resp.Summary = fmt.Sprintf("%s dry run results for workflow %s.%s at %v", cmd, req.Keyspace, req.Workflow, time.Now().UTC().Format(time.RFC822))
+ resp.Summary = fmt.Sprintf("%s dry run results for workflow %s.%s at %v",
+ cmd, req.Keyspace, req.Workflow, time.Now().UTC().Format(time.RFC822))
resp.DryRunResults = dryRunResults
} else {
- log.Infof("%s done for workflow %s.%s", cmd, req.Keyspace, req.Workflow)
+ s.Logger().Infof("%s done for workflow %s.%s", cmd, req.Keyspace, req.Workflow)
resp.Summary = fmt.Sprintf("%s was successful for workflow %s.%s", cmd, req.Keyspace, req.Workflow)
// Reload the state after the SwitchTraffic operation
// and return that as a string.
@@ -3157,14 +3231,14 @@ func (s *Server) WorkflowSwitchTraffic(ctx context.Context, req *vtctldatapb.Wor
workflow = ts.reverseWorkflow
}
resp.StartState = startState.String()
- log.Infof("Before reloading workflow state after switching traffic: %+v\n", resp.StartState)
+ s.Logger().Infof("Before reloading workflow state after switching traffic: %+v\n", resp.StartState)
_, currentState, err := s.getWorkflowState(ctx, keyspace, workflow)
if err != nil {
resp.CurrentState = fmt.Sprintf("Error reloading workflow state after switching traffic: %v", err)
} else {
resp.CurrentState = currentState.String()
}
- log.Infof("%s done for workflow %s.%s, returning response %v", cmd, req.Keyspace, req.Workflow, resp)
+ s.Logger().Infof("%s done for workflow %s.%s, returning response %v", cmd, req.Keyspace, req.Workflow, resp)
}
return resp, nil
}
@@ -3193,16 +3267,12 @@ func (s *Server) switchReads(ctx context.Context, req *vtctldatapb.WorkflowSwitc
cellsStr := strings.Join(req.Cells, ",")
- // Consistently handle errors by logging and returning them.
- handleError := func(message string, err error) (*[]string, error) {
- werr := vterrors.Wrapf(err, message)
- ts.Logger().Error(werr)
- return nil, werr
- }
-
- log.Infof("Switching reads: %s.%s tablet types: %s, cells: %s, workflow state: %s", ts.targetKeyspace, ts.workflow, roTypesToSwitchStr, cellsStr, state.String())
+ s.Logger().Infof("Switching reads: %s.%s tablet types: %s, cells: %s, workflow state: %s",
+ ts.targetKeyspace, ts.workflow, roTypesToSwitchStr, cellsStr, state.String())
if !switchReplica && !switchRdonly {
- return handleError("invalid tablet types", vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "tablet types must be REPLICA or RDONLY: %s", roTypesToSwitchStr))
+ return defaultErrorHandler(ts.Logger(), "invalid tablet types",
+ vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "tablet types must be REPLICA or RDONLY: %s",
+ roTypesToSwitchStr))
}
// For partial (shard-by-shard migrations) or multi-tenant migrations, traffic for all tablet types
// is expected to be switched at once. For other MoveTables migrations where we use table routing rules
@@ -3214,24 +3284,34 @@ func (s *Server) switchReads(ctx context.Context, req *vtctldatapb.WorkflowSwitc
trafficSwitchingIsAllOrNothing = true
case ts.MigrationType() == binlogdatapb.MigrationType_TABLES && ts.IsMultiTenantMigration():
if direction == DirectionBackward {
- return handleError("invalid request", vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "requesting reversal of read traffic for multi-tenant migrations is not supported"))
+ return defaultErrorHandler(ts.Logger(), "invalid request", vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT,
+ "requesting reversal of read traffic for multi-tenant migrations is not supported"))
}
// For multi-tenant migrations, we only support switching traffic to all cells at once
allCells, err := ts.TopoServer().GetCellInfoNames(ctx)
if err != nil {
return nil, err
}
- if len(req.GetCells()) != 0 && len(req.GetCells()) != len(allCells) {
- return handleError("invalid request", vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "requesting read traffic for multi-tenant migrations must include all cells"))
+
+ if len(req.GetCells()) > 0 {
+ slices.Sort(req.GetCells())
+ slices.Sort(allCells)
+ if !slices.Equal(req.GetCells(), allCells) {
+ return defaultErrorHandler(ts.Logger(), "invalid request", vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT,
+ "requesting switch of read traffic for multi-tenant migrations must include all cells; all cells: %v, requested cells: %v",
+ strings.Join(allCells, ","), strings.Join(req.GetCells(), ",")))
+ }
}
}
if !trafficSwitchingIsAllOrNothing {
if direction == DirectionBackward && switchReplica && len(state.ReplicaCellsSwitched) == 0 {
- return handleError("invalid request", vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "requesting reversal of read traffic for REPLICAs but REPLICA reads have not been switched"))
+ return defaultErrorHandler(ts.Logger(), "invalid request", vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION,
+ "requesting reversal of read traffic for REPLICAs but REPLICA reads have not been switched"))
}
if direction == DirectionBackward && switchRdonly && len(state.RdonlyCellsSwitched) == 0 {
- return handleError("invalid request", vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "requesting reversal of SwitchReads for RDONLYs but RDONLY reads have not been switched"))
+ return defaultErrorHandler(ts.Logger(), "invalid request", vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION,
+ "requesting reversal of SwitchReads for RDONLYs but RDONLY reads have not been switched"))
}
}
@@ -3250,14 +3330,14 @@ func (s *Server) switchReads(ctx context.Context, req *vtctldatapb.WorkflowSwitc
}
}
- // If journals exist notify user and fail.
journalsExist, _, err := ts.checkJournals(ctx)
- if err != nil {
- return handleError(fmt.Sprintf("failed to read journal in the %s keyspace", ts.SourceKeyspaceName()), err)
+ if err != nil && !req.GetForce() {
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to read journal in the %s keyspace", ts.SourceKeyspaceName()), err)
}
if journalsExist {
- log.Infof("Found a previous journal entry for %d", ts.id)
+ s.Logger().Infof("Found a previous journal entry for %d", ts.id)
}
+
var sw iswitcher
if req.DryRun {
sw = &switcherDryRun{ts: ts, drLog: NewLogRecorder()}
@@ -3266,7 +3346,7 @@ func (s *Server) switchReads(ctx context.Context, req *vtctldatapb.WorkflowSwitc
}
if err := ts.validate(ctx); err != nil {
- return handleError("workflow validation failed", err)
+ return defaultErrorHandler(ts.Logger(), "workflow validation failed", err)
}
// For switching reads, locking the source keyspace is sufficient.
@@ -3282,7 +3362,7 @@ func (s *Server) switchReads(ctx context.Context, req *vtctldatapb.WorkflowSwitc
// For reads, locking the source keyspace is sufficient.
ctx, unlock, lockErr := sw.lockKeyspace(ctx, ts.SourceKeyspaceName(), "SwitchReads", topo.WithTTL(ksLockTTL))
if lockErr != nil {
- return handleError(fmt.Sprintf("failed to lock the %s keyspace", ts.SourceKeyspaceName()), lockErr)
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to lock the %s keyspace", ts.SourceKeyspaceName()), lockErr)
}
defer unlock(&err)
confirmKeyspaceLocksHeld := func() error {
@@ -3297,7 +3377,7 @@ func (s *Server) switchReads(ctx context.Context, req *vtctldatapb.WorkflowSwitc
// Remove mirror rules for the specified tablet types.
if err := sw.mirrorTableTraffic(ctx, roTabletTypes, 0); err != nil {
- return handleError(fmt.Sprintf("failed to remove mirror rules from source keyspace %s to target keyspace %s, workflow %s, for read-only tablet types",
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to remove mirror rules from source keyspace %s to target keyspace %s, workflow %s, for read-only tablet types",
ts.SourceKeyspaceName(), ts.TargetKeyspaceName(), ts.WorkflowName()), err)
}
@@ -3306,7 +3386,7 @@ func (s *Server) switchReads(ctx context.Context, req *vtctldatapb.WorkflowSwitc
case ts.IsMultiTenantMigration():
err := sw.switchKeyspaceReads(ctx, roTabletTypes)
if err != nil {
- return handleError(fmt.Sprintf("failed to switch read traffic, from source keyspace %s to target keyspace %s, workflow %s",
+ return defaultErrorHandler(ts.Logger(), fmt.Sprintf("failed to switch read traffic, from source keyspace %s to target keyspace %s, workflow %s",
ts.SourceKeyspaceName(), ts.TargetKeyspaceName(), ts.WorkflowName()), err)
}
case ts.isPartialMigration:
@@ -3314,28 +3394,28 @@ func (s *Server) switchReads(ctx context.Context, req *vtctldatapb.WorkflowSwitc
default:
err := sw.switchTableReads(ctx, req.Cells, roTabletTypes, rebuildSrvVSchema, direction)
if err != nil {
- return handleError("failed to switch read traffic for the tables", err)
+ return defaultErrorHandler(ts.Logger(), "failed to switch read traffic for the tables", err)
}
}
return sw.logs(), nil
}
if err := confirmKeyspaceLocksHeld(); err != nil {
- return handleError("locks were lost", err)
+ return defaultErrorHandler(ts.Logger(), "locks were lost", err)
}
ts.Logger().Infof("About to switchShardReads: cells: %s, tablet types: %s, direction: %d", cellsStr, roTypesToSwitchStr, direction)
if err := sw.switchShardReads(ctx, req.Cells, roTabletTypes, direction); err != nil {
- return handleError("failed to switch read traffic for the shards", err)
+ return defaultErrorHandler(ts.Logger(), "failed to switch read traffic for the shards", err)
}
if err := confirmKeyspaceLocksHeld(); err != nil {
- return handleError("locks were lost", err)
+ return defaultErrorHandler(ts.Logger(), "locks were lost", err)
}
ts.Logger().Infof("switchShardReads Completed: cells: %s, tablet types: %s, direction: %d", cellsStr, roTypesToSwitchStr, direction)
if err := s.ts.ValidateSrvKeyspace(ctx, ts.targetKeyspace, cellsStr); err != nil {
err2 := vterrors.Wrapf(err, "after switching shard reads, found SrvKeyspace for %s is corrupt in cell %s",
ts.targetKeyspace, cellsStr)
- return handleError("failed to validate SrvKeyspace record", err2)
+ return defaultErrorHandler(ts.Logger(), "failed to validate SrvKeyspace record", err2)
}
return sw.logs(), nil
}
@@ -3353,7 +3433,7 @@ func (s *Server) switchWrites(ctx context.Context, req *vtctldatapb.WorkflowSwit
// Consistently handle errors by logging and returning them.
handleError := func(message string, err error) (int64, *[]string, error) {
- werr := vterrors.Wrapf(err, message)
+ werr := vterrors.Wrap(err, message)
ts.Logger().Error(werr)
return 0, nil, werr
}
@@ -3368,8 +3448,16 @@ func (s *Server) switchWrites(ctx context.Context, req *vtctldatapb.WorkflowSwit
}
if req.EnableReverseReplication {
+ // Does the source keyspace have tablets that are able to manage
+ // the reverse workflow?
+ if err := s.validateShardsHaveVReplicationPermissions(ctx, ts.SourceKeyspaceName(), ts.SourceShards()); err != nil {
+ return handleError(fmt.Sprintf("primary tablets are not able to fully manage the reverse vreplication workflow in the %s keyspace",
+ ts.SourceKeyspaceName()), err)
+ }
+ // Does the target keyspace have tablets available to stream from
+ // for the reverse workflow?
if err := areTabletsAvailableToStreamFrom(ctx, req, ts, ts.TargetKeyspaceName(), ts.TargetShards()); err != nil {
- return handleError(fmt.Sprintf("no tablets were available to stream from in the %s keyspace", ts.SourceKeyspaceName()), err)
+ return handleError(fmt.Sprintf("no tablets were available to stream from in the %s keyspace", ts.TargetKeyspaceName()), err)
}
}
@@ -3416,7 +3504,7 @@ func (s *Server) switchWrites(ctx context.Context, req *vtctldatapb.WorkflowSwit
}
// Remove mirror rules for the primary tablet type.
- if err := sw.mirrorTableTraffic(ctx, []topodata.TabletType{topodatapb.TabletType_PRIMARY}, 0); err != nil {
+ if err := sw.mirrorTableTraffic(ctx, []topodatapb.TabletType{topodatapb.TabletType_PRIMARY}, 0); err != nil {
return handleError(fmt.Sprintf("failed to remove mirror rules from source keyspace %s to target keyspace %s, workflow %s, for primary tablet type",
ts.SourceKeyspaceName(), ts.TargetKeyspaceName(), ts.WorkflowName()), err)
}
@@ -3498,6 +3586,13 @@ func (s *Server) switchWrites(ctx context.Context, req *vtctldatapb.WorkflowSwit
}
}
+ // Get the source positions now that writes are stopped, the streams were stopped (e.g.
+ // intra-keyspace materializations that write on the source), and we know for certain
+ // that any in progress writes are done.
+ if err := ts.gatherSourcePositions(ctx); err != nil {
+ return handleError("failed to gather replication positions on migration sources", err)
+ }
+
if err := confirmKeyspaceLocksHeld(); err != nil {
return handleError("locks were lost", err)
}
@@ -3594,7 +3689,7 @@ func (s *Server) canSwitch(ctx context.Context, ts *trafficSwitcher, state *Stat
maxAllowedReplLagSecs int64, shards []string) (reason string, err error) {
if direction == DirectionForward && state.WritesSwitched ||
direction == DirectionBackward && !state.WritesSwitched {
- log.Infof("writes already switched no need to check lag")
+ s.Logger().Infof("writes already switched no need to check lag")
return "", nil
}
wf, err := s.GetWorkflow(ctx, state.TargetKeyspace, state.Workflow, false, shards)
@@ -3630,10 +3725,15 @@ func (s *Server) canSwitch(ctx context.Context, ts *trafficSwitcher, state *Stat
defer wg.Done()
for _, si := range shards {
if partial, partialDetails, err := topotools.RefreshTabletsByShard(rtbsCtx, s.ts, s.tmc, si, nil, ts.Logger()); err != nil || partial {
- m.Lock()
- refreshErrors.WriteString(fmt.Sprintf("failed to successfully refresh all tablets in the %s/%s %s shard (%v):\n %v\n",
- si.Keyspace(), si.ShardName(), stype, err, partialDetails))
- m.Unlock()
+ msg := fmt.Sprintf("failed to successfully refresh all tablets in the %s/%s %s shard (%v):\n %v\n",
+ si.Keyspace(), si.ShardName(), stype, err, partialDetails)
+ if partial && ts.force {
+ log.Warning(msg)
+ } else {
+ m.Lock()
+ refreshErrors.WriteString(msg)
+ m.Unlock()
+ }
}
}
}
@@ -3726,9 +3826,9 @@ func (s *Server) CopySchemaShard(ctx context.Context, sourceTabletAlias *topodat
// Notify Replicas to reload schema. This is best-effort.
reloadCtx, cancel := context.WithTimeout(ctx, waitReplicasTimeout)
defer cancel()
- _, ok := schematools.ReloadShard(reloadCtx, s.ts, s.tmc, logutil.NewMemoryLogger(), destKeyspace, destShard, destPrimaryPos, nil, true)
+ _, ok := schematools.ReloadShard(reloadCtx, s.ts, s.tmc, s.Logger(), destKeyspace, destShard, destPrimaryPos, nil, true)
if !ok {
- log.Error(vterrors.Errorf(vtrpcpb.Code_INTERNAL, "CopySchemaShard: failed to reload schema on all replicas"))
+ s.Logger().Error(vterrors.Errorf(vtrpcpb.Code_INTERNAL, "CopySchemaShard: failed to reload schema on all replicas"))
}
return err
@@ -4222,7 +4322,9 @@ func (s *Server) WorkflowMirrorTraffic(ctx context.Context, req *vtctldatapb.Wor
}
}
if len(cannotSwitchTabletTypes) > 0 {
- return nil, vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "cannot mirror [%s] traffic for workflow %s at this time: traffic for those tablet types is switched", strings.Join(cannotSwitchTabletTypes, ","), startState.Workflow)
+ return nil, vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION,
+ "cannot mirror [%s] traffic for workflow %s at this time: traffic for those tablet types is switched",
+ strings.Join(cannotSwitchTabletTypes, ","), startState.Workflow)
}
if err := s.mirrorTraffic(ctx, req, ts, startState); err != nil {
@@ -4231,14 +4333,14 @@ func (s *Server) WorkflowMirrorTraffic(ctx context.Context, req *vtctldatapb.Wor
cmd := "MirrorTraffic"
resp := &vtctldatapb.WorkflowMirrorTrafficResponse{}
- log.Infof("Mirror Traffic done for workflow %s.%s", req.Keyspace, req.Workflow)
+ s.Logger().Infof("Mirror Traffic done for workflow %s.%s", req.Keyspace, req.Workflow)
resp.Summary = fmt.Sprintf("%s was successful for workflow %s.%s", cmd, req.Keyspace, req.Workflow)
// Reload the state after the MirrorTraffic operation
// and return that as a string.
keyspace := req.Keyspace
workflow := req.Workflow
resp.StartState = startState.String()
- log.Infof("Before reloading workflow state after mirror traffic: %+v\n", resp.StartState)
+ s.Logger().Infof("Before reloading workflow state after mirror traffic: %+v\n", resp.StartState)
_, currentState, err := s.getWorkflowState(ctx, keyspace, workflow)
if err != nil {
resp.CurrentState = fmt.Sprintf("Error reloading workflow state after mirror traffic: %v", err)
@@ -4256,7 +4358,7 @@ func (s *Server) mirrorTraffic(ctx context.Context, req *vtctldatapb.WorkflowMir
return err
}
- log.Infof("Mirroring traffic: %s.%s, workflow state: %s", ts.targetKeyspace, ts.workflow, state.String())
+ s.Logger().Infof("Mirroring traffic: %s.%s, workflow state: %s", ts.targetKeyspace, ts.workflow, state.String())
sw := &switcher{ts: ts, s: s}
@@ -4270,3 +4372,54 @@ func (s *Server) mirrorTraffic(ctx context.Context, req *vtctldatapb.WorkflowMir
return nil
}
+
+// validateShardsHaveVReplicationPermissions checks that the primary tablets
+// in the given keyspace shards have the required permissions necessary to
+// perform actions on the workflow.
+func (s *Server) validateShardsHaveVReplicationPermissions(ctx context.Context, keyspace string, shards []*topo.ShardInfo) error {
+ validateEg, validateCtx := errgroup.WithContext(ctx)
+ for _, shard := range shards {
+ primary := shard.PrimaryAlias
+ if primary == nil {
+ return vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "%s/%s shard does not have a primary tablet",
+ keyspace, shard.ShardName())
+ }
+ validateEg.Go(func() error {
+ tablet, err := s.ts.GetTablet(validateCtx, primary)
+ if err != nil {
+ return vterrors.Wrapf(err, "failed to get primary tablet for the %s/%s shard", keyspace, shard.ShardName())
+ }
+ // Ensure the tablet has the minimum privileges required on the sidecar database
+ // table(s) in order to manage the workflow.
+ req := &tabletmanagerdatapb.ValidateVReplicationPermissionsRequest{}
+ res, err := s.tmc.ValidateVReplicationPermissions(validateCtx, tablet.Tablet, req)
+ if err != nil {
+ // This older tablet handling can be removed in v22 or later.
+ if st, ok := status.FromError(err); ok && st.Code() == codes.Unimplemented {
+ // This is a pre v21 tablet, so don't return an error since the
+ // permissions not being there should be very rare.
+ return nil
+ }
+ return vterrors.Wrapf(err, "failed to validate required vreplication metadata permissions on tablet %s",
+ topoproto.TabletAliasString(tablet.Alias))
+ }
+ if !res.GetOk() {
+ return vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION,
+ "user %s does not have the required set of permissions (select,insert,update,delete) on the %s.vreplication table on tablet %s",
+ res.GetUser(), sidecar.GetIdentifier(), topoproto.TabletAliasString(tablet.Alias))
+ }
+ return nil
+ })
+ }
+ if err := validateEg.Wait(); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (s *Server) Logger() logutil.Logger {
+ if s.options.logger == nil {
+ s.options.logger = logutil.NewConsoleLogger() // Use default system logger
+ }
+ return s.options.logger
+}
diff --git a/go/vt/vtctl/workflow/server_options.go b/go/vt/vtctl/workflow/server_options.go
new file mode 100644
index 00000000000..ed6fdf284a9
--- /dev/null
+++ b/go/vt/vtctl/workflow/server_options.go
@@ -0,0 +1,56 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package workflow
+
+import (
+ "vitess.io/vitess/go/vt/logutil"
+)
+
+// serverOptions configure a Workflow Server. serverOptions are set by
+// the ServerOption values passed to the server functions.
+type serverOptions struct {
+ logger logutil.Logger
+}
+
+// ServerOption configures how we perform the certain operations.
+type ServerOption interface {
+ apply(*serverOptions)
+}
+
+// funcServerOption wraps a function that modifies serverOptions into
+// an implementation of the ServerOption interface.
+type funcServerOption struct {
+ f func(*serverOptions)
+}
+
+func (fso *funcServerOption) apply(so *serverOptions) {
+ fso.f(so)
+}
+
+func newFuncServerOption(f func(*serverOptions)) *funcServerOption {
+ return &funcServerOption{
+ f: f,
+ }
+}
+
+// WithLogger determines the customer logger to use. If this option
+// is not provided then the default system logger will be used.
+func WithLogger(l logutil.Logger) ServerOption {
+ return newFuncServerOption(func(o *serverOptions) {
+ o.logger = l
+ })
+}
diff --git a/go/vt/vtctl/workflow/server_test.go b/go/vt/vtctl/workflow/server_test.go
index 542361a1571..5d35b205ed3 100644
--- a/go/vt/vtctl/workflow/server_test.go
+++ b/go/vt/vtctl/workflow/server_test.go
@@ -19,6 +19,7 @@ package workflow
import (
"context"
"encoding/json"
+ "errors"
"fmt"
"slices"
"sort"
@@ -26,17 +27,20 @@ import (
"testing"
"time"
+ "github.com/google/uuid"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"google.golang.org/protobuf/encoding/prototext"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/test/utils"
+ "vitess.io/vitess/go/vt/logutil"
"vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/topo/memorytopo"
"vitess.io/vitess/go/vt/topo/topoproto"
"vitess.io/vitess/go/vt/topotools"
"vitess.io/vitess/go/vt/vtenv"
+ "vitess.io/vitess/go/vt/vttablet/tabletmanager/vdiff"
"vitess.io/vitess/go/vt/vttablet/tmclient"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
@@ -208,6 +212,459 @@ func TestVDiffCreate(t *testing.T) {
}
}
+func TestVDiffResume(t *testing.T) {
+ ctx := context.Background()
+ sourceKeyspace := &testKeyspace{
+ KeyspaceName: "sourceks",
+ ShardNames: []string{"0"},
+ }
+ targetKeyspace := &testKeyspace{
+ KeyspaceName: "targetks",
+ ShardNames: []string{"-80", "80-"},
+ }
+ workflow := "testwf"
+ uuid := uuid.New().String()
+ env := newTestEnv(t, ctx, defaultCellName, sourceKeyspace, targetKeyspace)
+ defer env.close()
+
+ env.tmc.strict = true
+ action := string(vdiff.ResumeAction)
+
+ tests := []struct {
+ name string
+ req *vtctldatapb.VDiffResumeRequest // vtctld requests
+ expectedVDiffRequests map[*topodatapb.Tablet]*vdiffRequestResponse // tablet requests
+ wantErr string
+ }{
+ {
+ name: "basic resume", // Both target shards
+ req: &vtctldatapb.VDiffResumeRequest{
+ TargetKeyspace: targetKeyspace.KeyspaceName,
+ Workflow: workflow,
+ Uuid: uuid,
+ },
+ expectedVDiffRequests: map[*topodatapb.Tablet]*vdiffRequestResponse{
+ env.tablets[targetKeyspace.KeyspaceName][startingTargetTabletUID]: {
+ req: &tabletmanagerdatapb.VDiffRequest{
+ Keyspace: targetKeyspace.KeyspaceName,
+ Workflow: workflow,
+ Action: action,
+ VdiffUuid: uuid,
+ },
+ },
+ env.tablets[targetKeyspace.KeyspaceName][startingTargetTabletUID+tabletUIDStep]: {
+ req: &tabletmanagerdatapb.VDiffRequest{
+ Keyspace: targetKeyspace.KeyspaceName,
+ Workflow: workflow,
+ Action: action,
+ VdiffUuid: uuid,
+ },
+ },
+ },
+ },
+ {
+ name: "resume on first shard",
+ req: &vtctldatapb.VDiffResumeRequest{
+ TargetKeyspace: targetKeyspace.KeyspaceName,
+ TargetShards: targetKeyspace.ShardNames[:1],
+ Workflow: workflow,
+ Uuid: uuid,
+ },
+ expectedVDiffRequests: map[*topodatapb.Tablet]*vdiffRequestResponse{
+ env.tablets[targetKeyspace.KeyspaceName][startingTargetTabletUID]: {
+ req: &tabletmanagerdatapb.VDiffRequest{
+ Keyspace: targetKeyspace.KeyspaceName,
+ Workflow: workflow,
+ Action: action,
+ VdiffUuid: uuid,
+ },
+ },
+ },
+ },
+ {
+ name: "resume on invalid shard",
+ req: &vtctldatapb.VDiffResumeRequest{
+ TargetKeyspace: targetKeyspace.KeyspaceName,
+ TargetShards: []string{"0"},
+ Workflow: workflow,
+ Uuid: uuid,
+ },
+ wantErr: fmt.Sprintf("specified target shard 0 not a valid target for workflow %s", workflow),
+ },
+ }
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ for tab, vdr := range tt.expectedVDiffRequests {
+ env.tmc.expectVDiffRequest(tab, vdr)
+ }
+ got, err := env.ws.VDiffResume(ctx, tt.req)
+ if tt.wantErr != "" {
+ require.EqualError(t, err, tt.wantErr)
+ } else {
+ require.NoError(t, err)
+ require.NotNil(t, got)
+ }
+ env.tmc.confirmVDiffRequests(t)
+ })
+ }
+}
+
+func TestVDiffStop(t *testing.T) {
+ ctx := context.Background()
+ sourceKeyspace := &testKeyspace{
+ KeyspaceName: "sourceks",
+ ShardNames: []string{"0"},
+ }
+ targetKeyspace := &testKeyspace{
+ KeyspaceName: "targetks",
+ ShardNames: []string{"-80", "80-"},
+ }
+ workflow := "testwf"
+ uuid := uuid.New().String()
+ env := newTestEnv(t, ctx, defaultCellName, sourceKeyspace, targetKeyspace)
+ defer env.close()
+
+ env.tmc.strict = true
+ action := string(vdiff.StopAction)
+
+ tests := []struct {
+ name string
+ req *vtctldatapb.VDiffStopRequest // vtctld requests
+ expectedVDiffRequests map[*topodatapb.Tablet]*vdiffRequestResponse // tablet requests
+ wantErr string
+ }{
+ {
+ name: "basic stop", // Both target shards
+ req: &vtctldatapb.VDiffStopRequest{
+ TargetKeyspace: targetKeyspace.KeyspaceName,
+ Workflow: workflow,
+ Uuid: uuid,
+ },
+ expectedVDiffRequests: map[*topodatapb.Tablet]*vdiffRequestResponse{
+ env.tablets[targetKeyspace.KeyspaceName][startingTargetTabletUID]: {
+ req: &tabletmanagerdatapb.VDiffRequest{
+ Keyspace: targetKeyspace.KeyspaceName,
+ Workflow: workflow,
+ Action: action,
+ VdiffUuid: uuid,
+ },
+ },
+ env.tablets[targetKeyspace.KeyspaceName][startingTargetTabletUID+tabletUIDStep]: {
+ req: &tabletmanagerdatapb.VDiffRequest{
+ Keyspace: targetKeyspace.KeyspaceName,
+ Workflow: workflow,
+ Action: action,
+ VdiffUuid: uuid,
+ },
+ },
+ },
+ },
+ {
+ name: "stop on first shard",
+ req: &vtctldatapb.VDiffStopRequest{
+ TargetKeyspace: targetKeyspace.KeyspaceName,
+ TargetShards: targetKeyspace.ShardNames[:1],
+ Workflow: workflow,
+ Uuid: uuid,
+ },
+ expectedVDiffRequests: map[*topodatapb.Tablet]*vdiffRequestResponse{
+ env.tablets[targetKeyspace.KeyspaceName][startingTargetTabletUID]: {
+ req: &tabletmanagerdatapb.VDiffRequest{
+ Keyspace: targetKeyspace.KeyspaceName,
+ Workflow: workflow,
+ Action: action,
+ VdiffUuid: uuid,
+ },
+ },
+ },
+ },
+ {
+ name: "stop on invalid shard",
+ req: &vtctldatapb.VDiffStopRequest{
+ TargetKeyspace: targetKeyspace.KeyspaceName,
+ TargetShards: []string{"0"},
+ Workflow: workflow,
+ Uuid: uuid,
+ },
+ wantErr: fmt.Sprintf("specified target shard 0 not a valid target for workflow %s", workflow),
+ },
+ }
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ for tab, vdr := range tt.expectedVDiffRequests {
+ env.tmc.expectVDiffRequest(tab, vdr)
+ }
+ got, err := env.ws.VDiffStop(ctx, tt.req)
+ if tt.wantErr != "" {
+ require.EqualError(t, err, tt.wantErr)
+ } else {
+ require.NoError(t, err)
+ require.NotNil(t, got)
+ }
+ env.tmc.confirmVDiffRequests(t)
+ })
+ }
+}
+
+func TestMoveTablesComplete(t *testing.T) {
+ ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second)
+ defer cancel()
+
+ workflowName := "wf1"
+ table1Name := "t1"
+ table2Name := "t1_2"
+ table3Name := "t1_3"
+ tableTemplate := "CREATE TABLE %s (id BIGINT, name VARCHAR(64), PRIMARY KEY (id))"
+ sourceKeyspaceName := "sourceks"
+ targetKeyspaceName := "targetks"
+ lockName := fmt.Sprintf("%s/%s", targetKeyspaceName, workflowName)
+ schema := map[string]*tabletmanagerdatapb.SchemaDefinition{
+ table1Name: {
+ TableDefinitions: []*tabletmanagerdatapb.TableDefinition{
+ {
+ Name: table1Name,
+ Schema: fmt.Sprintf(tableTemplate, table1Name),
+ },
+ },
+ },
+ table2Name: {
+ TableDefinitions: []*tabletmanagerdatapb.TableDefinition{
+ {
+ Name: table2Name,
+ Schema: fmt.Sprintf(tableTemplate, table2Name),
+ },
+ },
+ },
+ table3Name: {
+ TableDefinitions: []*tabletmanagerdatapb.TableDefinition{
+ {
+ Name: table3Name,
+ Schema: fmt.Sprintf(tableTemplate, table3Name),
+ },
+ },
+ },
+ }
+
+ testcases := []struct {
+ name string
+ sourceKeyspace, targetKeyspace *testKeyspace
+ preFunc func(t *testing.T, env *testEnv)
+ req *vtctldatapb.MoveTablesCompleteRequest
+ expectedSourceQueries []*queryResult
+ expectedTargetQueries []*queryResult
+ want *vtctldatapb.MoveTablesCompleteResponse
+ wantErr string
+ postFunc func(t *testing.T, env *testEnv)
+ }{
+ {
+ name: "basic",
+ sourceKeyspace: &testKeyspace{
+ KeyspaceName: sourceKeyspaceName,
+ ShardNames: []string{"0"},
+ },
+ targetKeyspace: &testKeyspace{
+ KeyspaceName: targetKeyspaceName,
+ ShardNames: []string{"-80", "80-"},
+ },
+ req: &vtctldatapb.MoveTablesCompleteRequest{
+ TargetKeyspace: targetKeyspaceName,
+ Workflow: workflowName,
+ },
+ expectedSourceQueries: []*queryResult{
+ {
+ query: fmt.Sprintf("drop table `vt_%s`.`%s`", sourceKeyspaceName, table1Name),
+ result: &querypb.QueryResult{},
+ },
+ {
+ query: fmt.Sprintf("drop table `vt_%s`.`%s`", sourceKeyspaceName, table2Name),
+ result: &querypb.QueryResult{},
+ },
+ {
+ query: fmt.Sprintf("drop table `vt_%s`.`%s`", sourceKeyspaceName, table3Name),
+ result: &querypb.QueryResult{},
+ },
+ {
+ query: fmt.Sprintf("delete from _vt.vreplication where db_name = 'vt_%s' and workflow = '%s'",
+ sourceKeyspaceName, ReverseWorkflowName(workflowName)),
+ result: &querypb.QueryResult{},
+ },
+ },
+ expectedTargetQueries: []*queryResult{
+ {
+ query: fmt.Sprintf("delete from _vt.vreplication where db_name = 'vt_%s' and workflow = '%s'",
+ targetKeyspaceName, workflowName),
+ result: &querypb.QueryResult{},
+ },
+ },
+ want: &vtctldatapb.MoveTablesCompleteResponse{
+ Summary: fmt.Sprintf("Successfully completed the %s workflow in the %s keyspace",
+ workflowName, targetKeyspaceName),
+ },
+ },
+ {
+ name: "keep routing rules and data",
+ sourceKeyspace: &testKeyspace{
+ KeyspaceName: sourceKeyspaceName,
+ ShardNames: []string{"0"},
+ },
+ targetKeyspace: &testKeyspace{
+ KeyspaceName: targetKeyspaceName,
+ ShardNames: []string{"-80", "80-"},
+ },
+ req: &vtctldatapb.MoveTablesCompleteRequest{
+ TargetKeyspace: targetKeyspaceName,
+ Workflow: workflowName,
+ KeepRoutingRules: true,
+ KeepData: true,
+ },
+ expectedSourceQueries: []*queryResult{
+ {
+ query: fmt.Sprintf("delete from _vt.vreplication where db_name = 'vt_%s' and workflow = '%s'",
+ sourceKeyspaceName, ReverseWorkflowName(workflowName)),
+ result: &querypb.QueryResult{},
+ },
+ },
+ expectedTargetQueries: []*queryResult{
+ {
+ query: fmt.Sprintf("delete from _vt.vreplication where db_name = 'vt_%s' and workflow = '%s'",
+ targetKeyspaceName, workflowName),
+ result: &querypb.QueryResult{},
+ },
+ },
+ postFunc: func(t *testing.T, env *testEnv) {
+ env.confirmRoutingAllTablesToTarget(t)
+ },
+ want: &vtctldatapb.MoveTablesCompleteResponse{
+ Summary: fmt.Sprintf("Successfully completed the %s workflow in the %s keyspace",
+ workflowName, targetKeyspaceName),
+ },
+ },
+ {
+ name: "rename tables",
+ sourceKeyspace: &testKeyspace{
+ KeyspaceName: sourceKeyspaceName,
+ ShardNames: []string{"0"},
+ },
+ targetKeyspace: &testKeyspace{
+ KeyspaceName: targetKeyspaceName,
+ ShardNames: []string{"-80", "80-"},
+ },
+ req: &vtctldatapb.MoveTablesCompleteRequest{
+ TargetKeyspace: targetKeyspaceName,
+ Workflow: workflowName,
+ RenameTables: true,
+ },
+ expectedSourceQueries: []*queryResult{
+ {
+ query: fmt.Sprintf("rename table `vt_%s`.`%s` TO `vt_%s`.`_%s_old`", sourceKeyspaceName, table1Name, sourceKeyspaceName, table1Name),
+ result: &querypb.QueryResult{},
+ },
+ {
+ query: fmt.Sprintf("rename table `vt_%s`.`%s` TO `vt_%s`.`_%s_old`", sourceKeyspaceName, table2Name, sourceKeyspaceName, table2Name),
+ result: &querypb.QueryResult{},
+ },
+ {
+ query: fmt.Sprintf("rename table `vt_%s`.`%s` TO `vt_%s`.`_%s_old`", sourceKeyspaceName, table3Name, sourceKeyspaceName, table3Name),
+ result: &querypb.QueryResult{},
+ },
+ {
+ query: fmt.Sprintf("delete from _vt.vreplication where db_name = 'vt_%s' and workflow = '%s'",
+ sourceKeyspaceName, ReverseWorkflowName(workflowName)),
+ result: &querypb.QueryResult{},
+ },
+ },
+ expectedTargetQueries: []*queryResult{
+ {
+ query: fmt.Sprintf("delete from _vt.vreplication where db_name = 'vt_%s' and workflow = '%s'",
+ targetKeyspaceName, workflowName),
+ result: &querypb.QueryResult{},
+ },
+ },
+ want: &vtctldatapb.MoveTablesCompleteResponse{
+ Summary: fmt.Sprintf("Successfully completed the %s workflow in the %s keyspace",
+ workflowName, targetKeyspaceName),
+ },
+ },
+ {
+ name: "named lock held",
+ sourceKeyspace: &testKeyspace{
+ KeyspaceName: sourceKeyspaceName,
+ ShardNames: []string{"0"},
+ },
+ targetKeyspace: &testKeyspace{
+ KeyspaceName: targetKeyspaceName,
+ ShardNames: []string{"-80", "80-"},
+ },
+ req: &vtctldatapb.MoveTablesCompleteRequest{
+ TargetKeyspace: targetKeyspaceName,
+ Workflow: workflowName,
+ KeepRoutingRules: true,
+ },
+ preFunc: func(t *testing.T, env *testEnv) {
+ _, _, err := env.ts.LockName(ctx, lockName, "test")
+ require.NoError(t, err)
+ topo.LockTimeout = 500 * time.Millisecond
+ },
+ postFunc: func(t *testing.T, env *testEnv) {
+ topo.LockTimeout = 45 * time.Second // reset it to the default
+ },
+ wantErr: fmt.Sprintf("failed to lock the %s workflow: deadline exceeded: internal/named_locks/%s", lockName, lockName),
+ },
+ }
+ for _, tc := range testcases {
+ t.Run(tc.name, func(t *testing.T) {
+ require.NotNil(t, tc.sourceKeyspace)
+ require.NotNil(t, tc.targetKeyspace)
+ require.NotNil(t, tc.req)
+ env := newTestEnv(t, ctx, defaultCellName, tc.sourceKeyspace, tc.targetKeyspace)
+ defer env.close()
+ env.tmc.schema = schema
+ env.tmc.frozen.Store(true)
+ if tc.expectedSourceQueries != nil {
+ require.NotNil(t, env.tablets[tc.sourceKeyspace.KeyspaceName])
+ for _, eq := range tc.expectedSourceQueries {
+ env.tmc.expectVRQueryResultOnKeyspaceTablets(tc.sourceKeyspace.KeyspaceName, eq)
+ }
+ }
+ if tc.expectedTargetQueries != nil {
+ require.NotNil(t, env.tablets[tc.targetKeyspace.KeyspaceName])
+ for _, eq := range tc.expectedTargetQueries {
+ env.tmc.expectVRQueryResultOnKeyspaceTablets(tc.targetKeyspace.KeyspaceName, eq)
+ }
+ }
+ if tc.preFunc != nil {
+ tc.preFunc(t, env)
+ }
+ // Setup the routing rules as they would be after having previously done SwitchTraffic.
+ env.updateTableRoutingRules(t, ctx, nil, []string{table1Name, table2Name, table3Name},
+ tc.sourceKeyspace.KeyspaceName, tc.targetKeyspace.KeyspaceName, tc.targetKeyspace.KeyspaceName)
+ got, err := env.ws.MoveTablesComplete(ctx, tc.req)
+ if tc.wantErr != "" {
+ require.EqualError(t, err, tc.wantErr)
+ } else {
+ require.NoError(t, err)
+ require.EqualValues(t, got, tc.want, "Server.MoveTablesComplete() = %v, want %v", got, tc.want)
+ }
+ if tc.postFunc != nil {
+ tc.postFunc(t, env)
+ } else { // Default post checks
+ // Confirm that we have no routing rules.
+ rr, err := env.ts.GetRoutingRules(ctx)
+ require.NoError(t, err)
+ require.Zero(t, rr.Rules)
+
+ // Confirm that we have no shard tablet controls, which is where
+ // DeniedTables live.
+ for _, keyspace := range []*testKeyspace{tc.sourceKeyspace, tc.targetKeyspace} {
+ for _, shardName := range keyspace.ShardNames {
+ checkDenyList(t, env.ts, keyspace.KeyspaceName, shardName, nil)
+ }
+ }
+ }
+ })
+ }
+}
+
func TestWorkflowDelete(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second)
defer cancel()
@@ -219,6 +676,7 @@ func TestWorkflowDelete(t *testing.T) {
tableTemplate := "CREATE TABLE %s (id BIGINT, name VARCHAR(64), PRIMARY KEY (id))"
sourceKeyspaceName := "sourceks"
targetKeyspaceName := "targetks"
+ lockName := fmt.Sprintf("%s/%s", targetKeyspaceName, workflowName)
schema := map[string]*tabletmanagerdatapb.SchemaDefinition{
table1Name: {
TableDefinitions: []*tabletmanagerdatapb.TableDefinition{
@@ -254,8 +712,9 @@ func TestWorkflowDelete(t *testing.T) {
expectedSourceQueries []*queryResult
expectedTargetQueries []*queryResult
want *vtctldatapb.WorkflowDeleteResponse
- wantErr bool
+ wantErr string
postFunc func(t *testing.T, env *testEnv)
+ expectedLogs []string
}{
{
name: "missing table",
@@ -298,6 +757,9 @@ func TestWorkflowDelete(t *testing.T) {
result: &querypb.QueryResult{},
},
},
+ expectedLogs: []string{ // Confirm that the custom logger is working as expected
+ fmt.Sprintf("Table `%s` did not exist when attempting to remove it", table2Name),
+ },
want: &vtctldatapb.WorkflowDeleteResponse{
Summary: fmt.Sprintf("Successfully cancelled the %s workflow in the %s keyspace",
workflowName, targetKeyspaceName),
@@ -389,6 +851,30 @@ func TestWorkflowDelete(t *testing.T) {
}
},
},
+ {
+ name: "named lock held",
+ sourceKeyspace: &testKeyspace{
+ KeyspaceName: sourceKeyspaceName,
+ ShardNames: []string{"0"},
+ },
+ targetKeyspace: &testKeyspace{
+ KeyspaceName: targetKeyspaceName,
+ ShardNames: []string{"-80", "80-"},
+ },
+ req: &vtctldatapb.WorkflowDeleteRequest{
+ Keyspace: targetKeyspaceName,
+ Workflow: workflowName,
+ },
+ preFunc: func(t *testing.T, env *testEnv) {
+ _, _, err := env.ts.LockName(ctx, lockName, "test")
+ require.NoError(t, err)
+ topo.LockTimeout = 500 * time.Millisecond
+ },
+ postFunc: func(t *testing.T, env *testEnv) {
+ topo.LockTimeout = 45 * time.Second // reset it to the default
+ },
+ wantErr: fmt.Sprintf("failed to lock the %s workflow: deadline exceeded: internal/named_locks/%s", lockName, lockName),
+ },
}
for _, tc := range testcases {
t.Run(tc.name, func(t *testing.T) {
@@ -397,6 +883,9 @@ func TestWorkflowDelete(t *testing.T) {
require.NotNil(t, tc.req)
env := newTestEnv(t, ctx, defaultCellName, tc.sourceKeyspace, tc.targetKeyspace)
defer env.close()
+ memlogger := logutil.NewMemoryLogger()
+ defer memlogger.Clear()
+ env.ws.options.logger = memlogger
env.tmc.schema = schema
if tc.expectedSourceQueries != nil {
require.NotNil(t, env.tablets[tc.sourceKeyspace.KeyspaceName])
@@ -414,11 +903,12 @@ func TestWorkflowDelete(t *testing.T) {
tc.preFunc(t, env)
}
got, err := env.ws.WorkflowDelete(ctx, tc.req)
- if (err != nil) != tc.wantErr {
- require.Fail(t, "unexpected error value", "Server.WorkflowDelete() error = %v, wantErr %v", err, tc.wantErr)
- return
+ if tc.wantErr != "" {
+ require.EqualError(t, err, tc.wantErr)
+ } else {
+ require.NoError(t, err)
+ require.EqualValues(t, got, tc.want, "Server.WorkflowDelete() = %v, want %v", got, tc.want)
}
- require.EqualValues(t, got, tc.want, "Server.WorkflowDelete() = %v, want %v", got, tc.want)
if tc.postFunc != nil {
tc.postFunc(t, env)
} else { // Default post checks
@@ -431,12 +921,20 @@ func TestWorkflowDelete(t *testing.T) {
// DeniedTables live.
for _, keyspace := range []*testKeyspace{tc.sourceKeyspace, tc.targetKeyspace} {
for _, shardName := range keyspace.ShardNames {
- si, err := env.ts.GetShard(ctx, keyspace.KeyspaceName, shardName)
- require.NoError(t, err)
- require.Zero(t, si.Shard.TabletControls)
+ checkDenyList(t, env.ts, keyspace.KeyspaceName, shardName, nil)
}
}
}
+ logs := memlogger.String()
+ // Confirm that the custom logger was passed on to the trafficSwitcher
+ // if we didn't expect/want an error as otherwise we may not have made
+ // it into the trafficSwitcher.
+ if tc.wantErr == "" {
+ require.Contains(t, logs, "traffic_switcher.go")
+ }
+ for _, expectedLog := range tc.expectedLogs {
+ require.Contains(t, logs, expectedLog)
+ }
})
}
}
@@ -528,6 +1026,7 @@ func TestMoveTablesTrafficSwitching(t *testing.T) {
name string
sourceKeyspace, targetKeyspace *testKeyspace
req *vtctldatapb.WorkflowSwitchTrafficRequest
+ preFunc func(env *testEnv)
want *vtctldatapb.WorkflowSwitchTrafficResponse
wantErr bool
}{
@@ -575,6 +1074,55 @@ func TestMoveTablesTrafficSwitching(t *testing.T) {
CurrentState: "Reads Not Switched. Writes Not Switched",
},
},
+ {
+ name: "forward with tablet refresh error",
+ sourceKeyspace: &testKeyspace{
+ KeyspaceName: sourceKeyspaceName,
+ ShardNames: []string{"0"},
+ },
+ targetKeyspace: &testKeyspace{
+ KeyspaceName: targetKeyspaceName,
+ ShardNames: []string{"-80", "80-"},
+ },
+ req: &vtctldatapb.WorkflowSwitchTrafficRequest{
+ Keyspace: targetKeyspaceName,
+ Workflow: workflowName,
+ Direction: int32(DirectionForward),
+ TabletTypes: tabletTypes,
+ },
+ preFunc: func(env *testEnv) {
+ env.tmc.SetRefreshStateError(env.tablets[sourceKeyspaceName][startingSourceTabletUID], errors.New("tablet refresh error"))
+ env.tmc.SetRefreshStateError(env.tablets[targetKeyspaceName][startingTargetTabletUID], errors.New("tablet refresh error"))
+ },
+ wantErr: true,
+ },
+ {
+ name: "forward with tablet refresh error and force",
+ sourceKeyspace: &testKeyspace{
+ KeyspaceName: sourceKeyspaceName,
+ ShardNames: []string{"0"},
+ },
+ targetKeyspace: &testKeyspace{
+ KeyspaceName: targetKeyspaceName,
+ ShardNames: []string{"-80", "80-"},
+ },
+ req: &vtctldatapb.WorkflowSwitchTrafficRequest{
+ Keyspace: targetKeyspaceName,
+ Workflow: workflowName,
+ Direction: int32(DirectionForward),
+ TabletTypes: tabletTypes,
+ Force: true,
+ },
+ preFunc: func(env *testEnv) {
+ env.tmc.SetRefreshStateError(env.tablets[sourceKeyspaceName][startingSourceTabletUID], errors.New("tablet refresh error"))
+ env.tmc.SetRefreshStateError(env.tablets[targetKeyspaceName][startingTargetTabletUID], errors.New("tablet refresh error"))
+ },
+ want: &vtctldatapb.WorkflowSwitchTrafficResponse{
+ Summary: fmt.Sprintf("SwitchTraffic was successful for workflow %s.%s", targetKeyspaceName, workflowName),
+ StartState: "Reads Not Switched. Writes Not Switched",
+ CurrentState: "All Reads Switched. Writes Switched",
+ },
+ },
}
for _, tc := range testcases {
t.Run(tc.name, func(t *testing.T) {
@@ -602,7 +1150,8 @@ func TestMoveTablesTrafficSwitching(t *testing.T) {
} else {
env.tmc.reverse.Store(true)
// Setup the routing rules as they would be after having previously done SwitchTraffic.
- env.addTableRoutingRules(t, ctx, tabletTypes, []string{tableName})
+ env.updateTableRoutingRules(t, ctx, tabletTypes, []string{tableName},
+ tc.sourceKeyspace.KeyspaceName, tc.targetKeyspace.KeyspaceName, tc.targetKeyspace.KeyspaceName)
env.tmc.expectVRQueryResultOnKeyspaceTablets(tc.sourceKeyspace.KeyspaceName, copyTableQR)
for i := 0; i < len(tc.targetKeyspace.ShardNames); i++ { // Per stream
env.tmc.expectVRQueryResultOnKeyspaceTablets(tc.sourceKeyspace.KeyspaceName, cutoverQR)
@@ -618,11 +1167,15 @@ func TestMoveTablesTrafficSwitching(t *testing.T) {
env.tmc.expectVRQueryResultOnKeyspaceTablets(tc.targetKeyspace.KeyspaceName, createJournalQR)
env.tmc.expectVRQueryResultOnKeyspaceTablets(tc.sourceKeyspace.KeyspaceName, freezeReverseWFQR)
}
+ if tc.preFunc != nil {
+ tc.preFunc(env)
+ }
got, err := env.ws.WorkflowSwitchTraffic(ctx, tc.req)
- if (err != nil) != tc.wantErr {
- require.Fail(t, "unexpected error value", "Server.WorkflowSwitchTraffic() error = %v, wantErr %v", err, tc.wantErr)
+ if tc.wantErr {
+ require.Error(t, err)
return
}
+ require.NoError(t, err)
require.Equal(t, tc.want.String(), got.String(), "Server.WorkflowSwitchTraffic() = %v, want %v", got, tc.want)
// Confirm that we have the expected routing rules.
@@ -637,7 +1190,7 @@ func TestMoveTablesTrafficSwitching(t *testing.T) {
require.Equal(t, to, tt)
}
}
- // Confirm that we have the expected denied tables entires.
+ // Confirm that we have the expected denied tables entries.
for _, keyspace := range []*testKeyspace{tc.sourceKeyspace, tc.targetKeyspace} {
for _, shardName := range keyspace.ShardNames {
si, err := env.ts.GetShard(ctx, keyspace.KeyspaceName, shardName)
@@ -816,7 +1369,8 @@ func TestMoveTablesTrafficSwitchingDryRun(t *testing.T) {
} else {
env.tmc.reverse.Store(true)
// Setup the routing rules as they would be after having previously done SwitchTraffic.
- env.addTableRoutingRules(t, ctx, tabletTypes, tables)
+ env.updateTableRoutingRules(t, ctx, tabletTypes, tables,
+ tc.sourceKeyspace.KeyspaceName, tc.targetKeyspace.KeyspaceName, tc.targetKeyspace.KeyspaceName)
env.tmc.expectVRQueryResultOnKeyspaceTablets(tc.sourceKeyspace.KeyspaceName, copyTableQR)
for i := 0; i < len(tc.targetKeyspace.ShardNames); i++ { // Per stream
env.tmc.expectVRQueryResultOnKeyspaceTablets(tc.targetKeyspace.KeyspaceName, journalQR)
@@ -855,6 +1409,15 @@ func TestMirrorTraffic(t *testing.T) {
topodatapb.TabletType_RDONLY,
}
+ initialRoutingRules := map[string][]string{
+ fmt.Sprintf("%s.%s", sourceKs, table1): {fmt.Sprintf("%s.%s", sourceKs, table1)},
+ fmt.Sprintf("%s.%s", sourceKs, table2): {fmt.Sprintf("%s.%s", sourceKs, table2)},
+ fmt.Sprintf("%s.%s@replica", sourceKs, table1): {fmt.Sprintf("%s.%s@replica", sourceKs, table1)},
+ fmt.Sprintf("%s.%s@replica", sourceKs, table2): {fmt.Sprintf("%s.%s@replica", sourceKs, table2)},
+ fmt.Sprintf("%s.%s@rdonly", sourceKs, table1): {fmt.Sprintf("%s.%s@rdonly", sourceKs, table1)},
+ fmt.Sprintf("%s.%s@rdonly", sourceKs, table2): {fmt.Sprintf("%s.%s@rdonly", sourceKs, table2)},
+ }
+
tests := []struct {
name string
@@ -942,8 +1505,8 @@ func TestMirrorTraffic(t *testing.T) {
Percent: 50.0,
},
routingRules: map[string][]string{
- fmt.Sprintf("%s.%s@rdonly", targetKs, table1): {fmt.Sprintf("%s.%s@rdonly", targetKs, table1)},
- fmt.Sprintf("%s.%s@rdonly", targetKs, table2): {fmt.Sprintf("%s.%s@rdonly", targetKs, table2)},
+ fmt.Sprintf("%s.%s@rdonly", sourceKs, table1): {fmt.Sprintf("%s.%s@rdonly", targetKs, table1)},
+ fmt.Sprintf("%s.%s@rdonly", sourceKs, table2): {fmt.Sprintf("%s.%s@rdonly", targetKs, table2)},
},
wantErr: "cannot mirror [rdonly] traffic for workflow src2target at this time: traffic for those tablet types is switched",
wantMirrorRules: make(map[string]map[string]float32),
@@ -957,8 +1520,8 @@ func TestMirrorTraffic(t *testing.T) {
Percent: 50.0,
},
routingRules: map[string][]string{
- fmt.Sprintf("%s.%s@replica", targetKs, table1): {fmt.Sprintf("%s.%s@replica", targetKs, table1)},
- fmt.Sprintf("%s.%s@replica", targetKs, table2): {fmt.Sprintf("%s.%s@replica", targetKs, table2)},
+ fmt.Sprintf("%s.%s@replica", sourceKs, table1): {fmt.Sprintf("%s.%s@replica", targetKs, table1)},
+ fmt.Sprintf("%s.%s@replica", sourceKs, table2): {fmt.Sprintf("%s.%s@replica", targetKs, table2)},
},
wantErr: "cannot mirror [replica] traffic for workflow src2target at this time: traffic for those tablet types is switched",
wantMirrorRules: make(map[string]map[string]float32),
@@ -972,8 +1535,8 @@ func TestMirrorTraffic(t *testing.T) {
Percent: 50.0,
},
routingRules: map[string][]string{
- table1: {fmt.Sprintf("%s.%s", targetKs, table1)},
- table2: {fmt.Sprintf("%s.%s", targetKs, table2)},
+ fmt.Sprintf("%s.%s", sourceKs, table1): {fmt.Sprintf("%s.%s", targetKs, table1)},
+ fmt.Sprintf("%s.%s", sourceKs, table2): {fmt.Sprintf("%s.%s", targetKs, table2)},
},
wantErr: "cannot mirror [primary] traffic for workflow src2target at this time: traffic for those tablet types is switched",
wantMirrorRules: make(map[string]map[string]float32),
@@ -1054,6 +1617,7 @@ func TestMirrorTraffic(t *testing.T) {
TabletTypes: tabletTypes,
Percent: 50.0,
},
+ routingRules: initialRoutingRules,
wantMirrorRules: map[string]map[string]float32{
fmt.Sprintf("%s.%s", sourceKs, table1): {
fmt.Sprintf("%s.%s", targetKs, table1): 50.0,
@@ -1088,6 +1652,7 @@ func TestMirrorTraffic(t *testing.T) {
TabletTypes: tabletTypes,
Percent: 50.0,
},
+ routingRules: initialRoutingRules,
wantMirrorRules: map[string]map[string]float32{
fmt.Sprintf("%s.%s", sourceKs, table1): {
fmt.Sprintf("%s.%s", targetKs, table1): 50.0,
@@ -1125,6 +1690,7 @@ func TestMirrorTraffic(t *testing.T) {
fmt.Sprintf("%s.%s", targetKs, table1): 25.0,
},
},
+ routingRules: initialRoutingRules,
req: &vtctldatapb.WorkflowMirrorTrafficRequest{
Keyspace: targetKs,
Workflow: workflow,
diff --git a/go/vt/vtctl/workflow/stream_migrator.go b/go/vt/vtctl/workflow/stream_migrator.go
index b294ba1fcd0..a700a1338dd 100644
--- a/go/vt/vtctl/workflow/stream_migrator.go
+++ b/go/vt/vtctl/workflow/stream_migrator.go
@@ -1001,7 +1001,7 @@ func (sm *StreamMigrator) createTargetStreams(ctx context.Context, tmpl []*VRepl
}
ig.AddRow(vrs.Workflow, vrs.BinlogSource, replication.EncodePosition(vrs.Position), "", "",
- vrs.WorkflowType, vrs.WorkflowSubType, vrs.DeferSecondaryKeys)
+ vrs.WorkflowType, vrs.WorkflowSubType, vrs.DeferSecondaryKeys, "")
return nil
}
diff --git a/go/vt/vtctl/workflow/stream_migrator_test.go b/go/vt/vtctl/workflow/stream_migrator_test.go
index 38ae10280f7..5e9c2a79038 100644
--- a/go/vt/vtctl/workflow/stream_migrator_test.go
+++ b/go/vt/vtctl/workflow/stream_migrator_test.go
@@ -19,17 +19,22 @@ package workflow
import (
"context"
"encoding/json"
+ "fmt"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
+ "vitess.io/vitess/go/sqltypes"
+ "vitess.io/vitess/go/vt/key"
+ "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
"vitess.io/vitess/go/vt/sqlparser"
-
+ "vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/vtgate/vindexes"
"vitess.io/vitess/go/vt/vttablet/tabletmanager/vreplication"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
+ topodatapb "vitess.io/vitess/go/vt/proto/topodata"
vschemapb "vitess.io/vitess/go/vt/proto/vschema"
)
@@ -347,3 +352,271 @@ func stringifyVRS(streams []*VReplicationStream) string {
b, _ := json.Marshal(converted)
return string(b)
}
+
+var testVSchema = &vschemapb.Keyspace{
+ Sharded: true,
+ Vindexes: map[string]*vschemapb.Vindex{
+ "xxhash": {
+ Type: "xxhash",
+ },
+ },
+ Tables: map[string]*vschemapb.Table{
+ "t1": {
+ ColumnVindexes: []*vschemapb.ColumnVindex{{
+ Columns: []string{"c1"},
+ Name: "xxhash",
+ }},
+ },
+ "t2": {
+ ColumnVindexes: []*vschemapb.ColumnVindex{{
+ Columns: []string{"c1"},
+ Name: "xxhash",
+ }},
+ },
+ "ref": {
+ Type: vindexes.TypeReference,
+ },
+ },
+}
+
+var (
+ commerceKeyspace = &testKeyspace{
+ KeyspaceName: "commerce",
+ ShardNames: []string{"0"},
+ }
+ customerUnshardedKeyspace = &testKeyspace{
+ KeyspaceName: "customer",
+ ShardNames: []string{"0"},
+ }
+ customerShardedKeyspace = &testKeyspace{
+ KeyspaceName: "customer",
+ ShardNames: []string{"-80", "80-"},
+ }
+)
+
+type streamMigratorEnv struct {
+ tenv *testEnv
+ ts *testTrafficSwitcher
+ sourceTabletIds []int
+ targetTabletIds []int
+}
+
+func (env *streamMigratorEnv) close() {
+ env.tenv.close()
+}
+
+func (env *streamMigratorEnv) addSourceQueries(queries []string) {
+ for _, id := range env.sourceTabletIds {
+ for _, q := range queries {
+ env.tenv.tmc.expectVRQuery(id, q, &sqltypes.Result{})
+ }
+ }
+}
+
+func (env *streamMigratorEnv) addTargetQueries(queries []string) {
+ for _, id := range env.targetTabletIds {
+ for _, q := range queries {
+ env.tenv.tmc.expectVRQuery(id, q, &sqltypes.Result{})
+ }
+ }
+}
+
+func newStreamMigratorEnv(ctx context.Context, t *testing.T, sourceKeyspace, targetKeyspace *testKeyspace) *streamMigratorEnv {
+ tenv := newTestEnv(t, ctx, "cell1", sourceKeyspace, targetKeyspace)
+ env := &streamMigratorEnv{tenv: tenv}
+
+ ksschema, err := vindexes.BuildKeyspaceSchema(testVSchema, "ks", sqlparser.NewTestParser())
+ require.NoError(t, err, "could not create test keyspace %+v", testVSchema)
+ sources := make(map[string]*MigrationSource, len(sourceKeyspace.ShardNames))
+ targets := make(map[string]*MigrationTarget, len(targetKeyspace.ShardNames))
+ for i, shard := range sourceKeyspace.ShardNames {
+ tablet := tenv.tablets[sourceKeyspace.KeyspaceName][startingSourceTabletUID+(i*tabletUIDStep)]
+ kr, _ := key.ParseShardingSpec(shard)
+ sources[shard] = &MigrationSource{
+ si: topo.NewShardInfo(sourceKeyspace.KeyspaceName, shard, &topodatapb.Shard{KeyRange: kr[0]}, nil),
+ primary: &topo.TabletInfo{
+ Tablet: tablet,
+ },
+ }
+ env.sourceTabletIds = append(env.sourceTabletIds, int(tablet.Alias.Uid))
+ }
+ for i, shard := range targetKeyspace.ShardNames {
+ tablet := tenv.tablets[targetKeyspace.KeyspaceName][startingTargetTabletUID+(i*tabletUIDStep)]
+ kr, _ := key.ParseShardingSpec(shard)
+ targets[shard] = &MigrationTarget{
+ si: topo.NewShardInfo(targetKeyspace.KeyspaceName, shard, &topodatapb.Shard{KeyRange: kr[0]}, nil),
+ primary: &topo.TabletInfo{
+ Tablet: tablet,
+ },
+ }
+ env.targetTabletIds = append(env.targetTabletIds, int(tablet.Alias.Uid))
+ }
+ ts := &testTrafficSwitcher{
+ trafficSwitcher: trafficSwitcher{
+ migrationType: binlogdatapb.MigrationType_SHARDS,
+ workflow: "wf1",
+ id: 1,
+ sources: sources,
+ targets: targets,
+ sourceKeyspace: sourceKeyspace.KeyspaceName,
+ targetKeyspace: targetKeyspace.KeyspaceName,
+ sourceKSSchema: ksschema,
+ workflowType: binlogdatapb.VReplicationWorkflowType_Reshard,
+ ws: tenv.ws,
+ },
+ sourceKeyspaceSchema: ksschema,
+ }
+ env.ts = ts
+
+ return env
+}
+
+func addMaterializeWorkflow(t *testing.T, env *streamMigratorEnv, id int32, sourceShard string) {
+ var wfs tabletmanagerdata.ReadVReplicationWorkflowsResponse
+ wfName := "wfMat1"
+ wfs.Workflows = append(wfs.Workflows, &tabletmanagerdata.ReadVReplicationWorkflowResponse{
+ Workflow: wfName,
+ WorkflowType: binlogdatapb.VReplicationWorkflowType_Materialize,
+ })
+ wfs.Workflows[0].Streams = append(wfs.Workflows[0].Streams, &tabletmanagerdata.ReadVReplicationWorkflowResponse_Stream{
+ Id: id,
+ Bls: &binlogdatapb.BinlogSource{
+ Keyspace: env.tenv.sourceKeyspace.KeyspaceName,
+ Shard: sourceShard,
+ Filter: &binlogdatapb.Filter{
+ Rules: []*binlogdatapb.Rule{
+ {Match: "t1", Filter: "select * from t1"},
+ },
+ },
+ },
+ Pos: position,
+ State: binlogdatapb.VReplicationWorkflowState_Running,
+ })
+ workflowKey := env.tenv.tmc.GetWorkflowKey(env.tenv.sourceKeyspace.KeyspaceName, sourceShard)
+ workflowResponses := []*tabletmanagerdata.ReadVReplicationWorkflowsResponse{
+ nil, // this is the response for getting stopped workflows
+ &wfs, &wfs, &wfs, // return the full list for subsequent GetWorkflows calls
+ }
+ for _, resp := range workflowResponses {
+ env.tenv.tmc.AddVReplicationWorkflowsResponse(workflowKey, resp)
+ }
+ queries := []string{
+ fmt.Sprintf("select distinct vrepl_id from _vt.copy_state where vrepl_id in (%d)", id),
+ fmt.Sprintf("update _vt.vreplication set state='Stopped', message='for cutover' where id in (%d)", id),
+ fmt.Sprintf("delete from _vt.vreplication where db_name='vt_%s' and workflow in ('%s')",
+ env.tenv.sourceKeyspace.KeyspaceName, wfName),
+ }
+ env.addSourceQueries(queries)
+ queries = []string{
+ fmt.Sprintf("delete from _vt.vreplication where db_name='vt_%s' and workflow in ('%s')",
+ env.tenv.sourceKeyspace.KeyspaceName, wfName),
+ }
+ env.addTargetQueries(queries)
+
+}
+
+func addReferenceWorkflow(t *testing.T, env *streamMigratorEnv, id int32, sourceShard string) {
+ var wfs tabletmanagerdata.ReadVReplicationWorkflowsResponse
+ wfName := "wfRef1"
+ wfs.Workflows = append(wfs.Workflows, &tabletmanagerdata.ReadVReplicationWorkflowResponse{
+ Workflow: wfName,
+ WorkflowType: binlogdatapb.VReplicationWorkflowType_Materialize,
+ })
+ wfs.Workflows[0].Streams = append(wfs.Workflows[0].Streams, &tabletmanagerdata.ReadVReplicationWorkflowResponse_Stream{
+ Id: id,
+ Bls: &binlogdatapb.BinlogSource{
+ Keyspace: env.tenv.sourceKeyspace.KeyspaceName,
+ Shard: sourceShard,
+ Filter: &binlogdatapb.Filter{
+ Rules: []*binlogdatapb.Rule{
+ {Match: "ref", Filter: "select * from ref"},
+ },
+ },
+ },
+ Pos: position,
+ State: binlogdatapb.VReplicationWorkflowState_Running,
+ })
+ workflowKey := env.tenv.tmc.GetWorkflowKey(env.tenv.sourceKeyspace.KeyspaceName, sourceShard)
+ workflowResponses := []*tabletmanagerdata.ReadVReplicationWorkflowsResponse{
+ nil, // this is the response for getting stopped workflows
+ &wfs, &wfs, &wfs, // return the full list for subsequent GetWorkflows calls
+ }
+ for _, resp := range workflowResponses {
+ env.tenv.tmc.AddVReplicationWorkflowsResponse(workflowKey, resp)
+ }
+}
+
+func TestBuildStreamMigratorOneMaterialize(t *testing.T) {
+ ctx := context.Background()
+ env := newStreamMigratorEnv(ctx, t, customerUnshardedKeyspace, customerShardedKeyspace)
+ defer env.close()
+ tmc := env.tenv.tmc
+
+ addMaterializeWorkflow(t, env, 100, "0")
+
+ // FIXME: Note: currently it is not optimal: we create two streams for each shard from all the
+ // shards even if the key ranges don't intersect. TBD
+ getInsert := func(shard string) string {
+ s := "/insert into _vt.vreplication.*"
+ s += fmt.Sprintf("shard:\"-80\".*in_keyrange.*c1.*%s.*", shard)
+ s += fmt.Sprintf("shard:\"80-\".*in_keyrange.*c1.*%s.*", shard)
+ return s
+ }
+ tmc.expectVRQuery(200, getInsert("-80"), &sqltypes.Result{})
+ tmc.expectVRQuery(210, getInsert("80-"), &sqltypes.Result{})
+
+ sm, err := BuildStreamMigrator(ctx, env.ts, false, sqlparser.NewTestParser())
+ require.NoError(t, err)
+ require.NotNil(t, sm)
+ require.NotNil(t, sm.streams)
+ require.Equal(t, 1, len(sm.streams))
+
+ workflows, err := sm.StopStreams(ctx)
+ require.NoError(t, err)
+ require.Equal(t, 1, len(workflows))
+ require.NoError(t, sm.MigrateStreams(ctx))
+ require.Len(t, sm.templates, 1)
+ env.addTargetQueries([]string{
+ fmt.Sprintf("update _vt.vreplication set state='Running' where db_name='vt_%s' and workflow in ('%s')",
+ env.tenv.sourceKeyspace.KeyspaceName, "wfMat1"),
+ })
+ require.NoError(t, StreamMigratorFinalize(ctx, env.ts, []string{"wfMat1"}))
+}
+
+func TestBuildStreamMigratorNoStreams(t *testing.T) {
+ ctx := context.Background()
+ env := newStreamMigratorEnv(ctx, t, customerUnshardedKeyspace, customerShardedKeyspace)
+ defer env.close()
+
+ sm, err := BuildStreamMigrator(ctx, env.ts, false, sqlparser.NewTestParser())
+ require.NoError(t, err)
+ require.NotNil(t, sm)
+ require.NotNil(t, sm.streams)
+ require.Equal(t, 0, len(sm.streams))
+
+ workflows, err := sm.StopStreams(ctx)
+ require.NoError(t, err)
+ require.Equal(t, 0, len(workflows))
+ require.NoError(t, sm.MigrateStreams(ctx))
+ require.Len(t, sm.templates, 0)
+}
+
+func TestBuildStreamMigratorRefStream(t *testing.T) {
+ ctx := context.Background()
+ env := newStreamMigratorEnv(ctx, t, customerUnshardedKeyspace, customerShardedKeyspace)
+ defer env.close()
+
+ addReferenceWorkflow(t, env, 100, "0")
+
+ sm, err := BuildStreamMigrator(ctx, env.ts, false, sqlparser.NewTestParser())
+ require.NoError(t, err)
+ require.NotNil(t, sm)
+ require.NotNil(t, sm.streams)
+ require.Equal(t, 0, len(sm.streams))
+
+ workflows, err := sm.StopStreams(ctx)
+ require.NoError(t, err)
+ require.Equal(t, 0, len(workflows))
+ require.NoError(t, sm.MigrateStreams(ctx))
+ require.Len(t, sm.templates, 0)
+}
diff --git a/go/vt/vtctl/workflow/traffic_switcher.go b/go/vt/vtctl/workflow/traffic_switcher.go
index bcc42d13ce9..0dab2e159c2 100644
--- a/go/vt/vtctl/workflow/traffic_switcher.go
+++ b/go/vt/vtctl/workflow/traffic_switcher.go
@@ -225,7 +225,10 @@ type trafficSwitcher struct {
isPartialMigration bool
workflow string
- // if frozen is true, the rest of the fields are not set.
+ // Should we continue if we encounter some potentially non-fatal errors such
+ // as partial tablet refreshes?
+ force bool
+ // If frozen is true, the rest of the fields are not set.
frozen bool
reverseWorkflow string
id int64
@@ -251,7 +254,7 @@ func (ts *trafficSwitcher) TopoServer() *topo.Server {
func (ts *trafficSwitcher) TabletManagerClient() tmclient.TabletManagerClient { return ts.ws.tmc }
func (ts *trafficSwitcher) Logger() logutil.Logger {
if ts.logger == nil {
- ts.logger = logutil.NewConsoleLogger()
+ ts.logger = logutil.NewConsoleLogger() // Use the default system logger
}
return ts.logger
}
@@ -435,7 +438,7 @@ func (ts *trafficSwitcher) deleteShardRoutingRules(ctx context.Context) error {
srr, err := topotools.GetShardRoutingRules(ctx, ts.TopoServer())
if err != nil {
if topo.IsErrType(err, topo.NoNode) {
- log.Warningf("No shard routing rules found when attempting to delete the ones for the %s keyspace", ts.targetKeyspace)
+ ts.Logger().Warningf("No shard routing rules found when attempting to delete the ones for the %s keyspace", ts.targetKeyspace)
return nil
}
return err
@@ -453,7 +456,7 @@ func (ts *trafficSwitcher) deleteKeyspaceRoutingRules(ctx context.Context) error
if !ts.IsMultiTenantMigration() {
return nil
}
- log.Infof("deleteKeyspaceRoutingRules: workflow %s.%s", ts.targetKeyspace, ts.workflow)
+ ts.Logger().Infof("deleteKeyspaceRoutingRules: workflow %s.%s", ts.targetKeyspace, ts.workflow)
reason := fmt.Sprintf("Deleting rules for %s", ts.SourceKeyspaceName())
return topotools.UpdateKeyspaceRoutingRules(ctx, ts.TopoServer(), reason,
func(ctx context.Context, rules *map[string]string) error {
@@ -473,7 +476,17 @@ func (ts *trafficSwitcher) dropSourceDeniedTables(ctx context.Context) error {
}
rtbsCtx, cancel := context.WithTimeout(ctx, shardTabletRefreshTimeout)
defer cancel()
- _, _, err := topotools.RefreshTabletsByShard(rtbsCtx, ts.TopoServer(), ts.TabletManagerClient(), source.GetShard(), nil, ts.Logger())
+ isPartial, partialDetails, err := topotools.RefreshTabletsByShard(rtbsCtx, ts.TopoServer(), ts.TabletManagerClient(), source.GetShard(), nil, ts.Logger())
+ if isPartial {
+ msg := fmt.Sprintf("failed to successfully refresh all tablets in the %s/%s source shard (%v):\n %v",
+ source.GetShard().Keyspace(), source.GetShard().ShardName(), err, partialDetails)
+ if ts.force {
+ log.Warning(msg)
+ return nil
+ } else {
+ return errors.New(msg)
+ }
+ }
return err
})
}
@@ -487,7 +500,17 @@ func (ts *trafficSwitcher) dropTargetDeniedTables(ctx context.Context) error {
}
rtbsCtx, cancel := context.WithTimeout(ctx, shardTabletRefreshTimeout)
defer cancel()
- _, _, err := topotools.RefreshTabletsByShard(rtbsCtx, ts.TopoServer(), ts.TabletManagerClient(), target.GetShard(), nil, ts.Logger())
+ isPartial, partialDetails, err := topotools.RefreshTabletsByShard(rtbsCtx, ts.TopoServer(), ts.TabletManagerClient(), target.GetShard(), nil, ts.Logger())
+ if isPartial {
+ msg := fmt.Sprintf("failed to successfully refresh all tablets in the %s/%s target shard (%v):\n %v",
+ target.GetShard().Keyspace(), target.GetShard().ShardName(), err, partialDetails)
+ if ts.force {
+ log.Warning(msg)
+ return nil
+ } else {
+ return errors.New(msg)
+ }
+ }
return err
})
}
@@ -582,19 +605,19 @@ func (ts *trafficSwitcher) dropSourceShards(ctx context.Context) error {
func (ts *trafficSwitcher) switchShardReads(ctx context.Context, cells []string, servedTypes []topodatapb.TabletType, direction TrafficSwitchDirection) error {
cellsStr := strings.Join(cells, ",")
- log.Infof("switchShardReads: cells: %s, tablet types: %+v, direction %d", cellsStr, servedTypes, direction)
+ ts.Logger().Infof("switchShardReads: cells: %s, tablet types: %+v, direction %d", cellsStr, servedTypes, direction)
fromShards, toShards := ts.SourceShards(), ts.TargetShards()
if err := ts.TopoServer().ValidateSrvKeyspace(ctx, ts.TargetKeyspaceName(), cellsStr); err != nil {
err2 := vterrors.Wrapf(err, "Before switching shard reads, found SrvKeyspace for %s is corrupt in cell %s",
ts.TargetKeyspaceName(), cellsStr)
- log.Errorf("%w", err2)
+ ts.Logger().Errorf("%w", err2)
return err2
}
for _, servedType := range servedTypes {
- if err := ts.ws.updateShardRecords(ctx, ts.SourceKeyspaceName(), fromShards, cells, servedType, true /* isFrom */, false /* clearSourceShards */, ts.logger); err != nil {
+ if err := ts.ws.updateShardRecords(ctx, ts.SourceKeyspaceName(), fromShards, cells, servedType, true /* isFrom */, false /* clearSourceShards */, ts.Logger()); err != nil {
return err
}
- if err := ts.ws.updateShardRecords(ctx, ts.SourceKeyspaceName(), toShards, cells, servedType, false, false, ts.logger); err != nil {
+ if err := ts.ws.updateShardRecords(ctx, ts.SourceKeyspaceName(), toShards, cells, servedType, false, false, ts.Logger()); err != nil {
return err
}
err := ts.TopoServer().MigrateServedType(ctx, ts.SourceKeyspaceName(), toShards, fromShards, servedType, cells)
@@ -605,14 +628,14 @@ func (ts *trafficSwitcher) switchShardReads(ctx context.Context, cells []string,
if err := ts.TopoServer().ValidateSrvKeyspace(ctx, ts.TargetKeyspaceName(), cellsStr); err != nil {
err2 := vterrors.Wrapf(err, "after switching shard reads, found SrvKeyspace for %s is corrupt in cell %s",
ts.TargetKeyspaceName(), cellsStr)
- log.Errorf("%w", err2)
+ ts.Logger().Errorf("%w", err2)
return err2
}
return nil
}
func (ts *trafficSwitcher) switchTableReads(ctx context.Context, cells []string, servedTypes []topodatapb.TabletType, rebuildSrvVSchema bool, direction TrafficSwitchDirection) error {
- log.Infof("switchTableReads: cells: %s, tablet types: %+v, direction: %s", strings.Join(cells, ","), servedTypes, direction)
+ ts.Logger().Infof("switchTableReads: cells: %s, tablet types: %+v, direction: %s", strings.Join(cells, ","), servedTypes, direction)
rules, err := topotools.GetRoutingRules(ctx, ts.TopoServer())
if err != nil {
return err
@@ -654,7 +677,7 @@ func (ts *trafficSwitcher) startReverseVReplication(ctx context.Context) error {
}
func (ts *trafficSwitcher) createJournals(ctx context.Context, sourceWorkflows []string) error {
- log.Infof("In createJournals for source workflows %+v", sourceWorkflows)
+ ts.Logger().Infof("In createJournals for source workflows %+v", sourceWorkflows)
return ts.ForAllSources(func(source *MigrationSource) error {
if source.Journaled {
return nil
@@ -691,7 +714,6 @@ func (ts *trafficSwitcher) createJournals(ctx context.Context, sourceWorkflows [
})
}
- log.Infof("Creating journal %v", journal)
ts.Logger().Infof("Creating journal: %v", journal)
statement := fmt.Sprintf("insert into _vt.resharding_journal "+
"(id, db_name, val) "+
@@ -708,7 +730,7 @@ func (ts *trafficSwitcher) changeShardsAccess(ctx context.Context, keyspace stri
if err := ts.TopoServer().UpdateDisableQueryService(ctx, keyspace, shards, topodatapb.TabletType_PRIMARY, nil, access == disallowWrites /* disable */); err != nil {
return err
}
- return ts.ws.refreshPrimaryTablets(ctx, shards)
+ return ts.ws.refreshPrimaryTablets(ctx, shards, ts.force)
}
func (ts *trafficSwitcher) allowTargetWrites(ctx context.Context) error {
@@ -772,7 +794,7 @@ func (ts *trafficSwitcher) changeWriteRoute(ctx context.Context) error {
func (ts *trafficSwitcher) changeShardRouting(ctx context.Context) error {
if err := ts.TopoServer().ValidateSrvKeyspace(ctx, ts.TargetKeyspaceName(), ""); err != nil {
err2 := vterrors.Wrapf(err, "Before changing shard routes, found SrvKeyspace for %s is corrupt", ts.TargetKeyspaceName())
- log.Errorf("%w", err2)
+ ts.Logger().Errorf("%w", err2)
return err2
}
err := ts.ForAllSources(func(source *MigrationSource) error {
@@ -801,7 +823,7 @@ func (ts *trafficSwitcher) changeShardRouting(ctx context.Context) error {
}
if err := ts.TopoServer().ValidateSrvKeyspace(ctx, ts.TargetKeyspaceName(), ""); err != nil {
err2 := vterrors.Wrapf(err, "after changing shard routes, found SrvKeyspace for %s is corrupt", ts.TargetKeyspaceName())
- log.Errorf("%w", err2)
+ ts.Logger().Errorf("%w", err2)
return err2
}
return nil
@@ -921,7 +943,7 @@ func (ts *trafficSwitcher) createReverseVReplication(ctx context.Context) error
Filter: filter,
})
}
- log.Infof("Creating reverse workflow vreplication stream on tablet %s: workflow %s, startPos %s",
+ ts.Logger().Infof("Creating reverse workflow vreplication stream on tablet %s: workflow %s, startPos %s",
source.GetPrimary().GetAlias(), ts.ReverseWorkflowName(), target.Position)
_, err = ts.VReplicationExec(ctx, source.GetPrimary().GetAlias(),
binlogplayer.CreateVReplicationState(ts.ReverseWorkflowName(), reverseBls, target.Position,
@@ -938,7 +960,7 @@ func (ts *trafficSwitcher) createReverseVReplication(ctx context.Context) error
updateQuery := ts.getReverseVReplicationUpdateQuery(target.GetPrimary().GetAlias().GetCell(),
source.GetPrimary().GetAlias().GetCell(), source.GetPrimary().DbName(), string(optionsJSON))
if updateQuery != "" {
- log.Infof("Updating vreplication stream entry on %s with: %s", source.GetPrimary().GetAlias(), updateQuery)
+ ts.Logger().Infof("Updating vreplication stream entry on %s with: %s", source.GetPrimary().GetAlias(), updateQuery)
_, err = ts.VReplicationExec(ctx, source.GetPrimary().GetAlias(), updateQuery)
return err
}
@@ -988,12 +1010,12 @@ func (ts *trafficSwitcher) waitForCatchup(ctx context.Context, filteredReplicati
if err := ts.TabletManagerClient().VReplicationWaitForPos(ctx, target.GetPrimary().Tablet, uid, source.Position); err != nil {
return err
}
- log.Infof("After catchup: target keyspace:shard: %v:%v, source position %v, uid %d",
+ ts.Logger().Infof("After catchup: target keyspace:shard: %v:%v, source position %v, uid %d",
ts.TargetKeyspaceName(), target.GetShard().ShardName(), source.Position, uid)
ts.Logger().Infof("After catchup: position for keyspace:shard: %v:%v reached, uid %d",
ts.TargetKeyspaceName(), target.GetShard().ShardName(), uid)
if _, err := ts.TabletManagerClient().VReplicationExec(ctx, target.GetPrimary().Tablet, binlogplayer.StopVReplication(uid, "stopped for cutover")); err != nil {
- log.Infof("Error marking stopped for cutover on %s, uid %d", topoproto.TabletAliasString(target.GetPrimary().GetAlias()), uid)
+ ts.Logger().Infof("Error marking stopped for cutover on %s, uid %d", topoproto.TabletAliasString(target.GetPrimary().GetAlias()), uid)
return err
}
return nil
@@ -1017,19 +1039,10 @@ func (ts *trafficSwitcher) stopSourceWrites(ctx context.Context) error {
err = ts.changeShardsAccess(ctx, ts.SourceKeyspaceName(), ts.SourceShards(), disallowWrites)
}
if err != nil {
- log.Warningf("Error: %s", err)
+ ts.Logger().Warningf("Error stopping writes on migration sources: %v", err)
return err
}
- return ts.ForAllSources(func(source *MigrationSource) error {
- var err error
- source.Position, err = ts.TabletManagerClient().PrimaryPosition(ctx, source.GetPrimary().Tablet)
- log.Infof("Stopped Source Writes. Position for source %v:%v: %v",
- ts.SourceKeyspaceName(), source.GetShard().ShardName(), source.Position)
- if err != nil {
- log.Warningf("Error: %s", err)
- }
- return err
- })
+ return nil
}
// switchDeniedTables switches the denied tables rules for the traffic switch.
@@ -1051,8 +1064,14 @@ func (ts *trafficSwitcher) switchDeniedTables(ctx context.Context) error {
defer cancel()
isPartial, partialDetails, err := topotools.RefreshTabletsByShard(rtbsCtx, ts.TopoServer(), ts.TabletManagerClient(), source.GetShard(), nil, ts.Logger())
if isPartial {
- err = fmt.Errorf("failed to successfully refresh all tablets in the %s/%s source shard (%v):\n %v",
+ msg := fmt.Sprintf("failed to successfully refresh all tablets in the %s/%s source shard (%v):\n %v",
source.GetShard().Keyspace(), source.GetShard().ShardName(), err, partialDetails)
+ if ts.force {
+ log.Warning(msg)
+ return nil
+ } else {
+ return errors.New(msg)
+ }
}
return err
})
@@ -1068,14 +1087,20 @@ func (ts *trafficSwitcher) switchDeniedTables(ctx context.Context) error {
defer cancel()
isPartial, partialDetails, err := topotools.RefreshTabletsByShard(rtbsCtx, ts.TopoServer(), ts.TabletManagerClient(), target.GetShard(), nil, ts.Logger())
if isPartial {
- err = fmt.Errorf("failed to successfully refresh all tablets in the %s/%s target shard (%v):\n %v",
+ msg := fmt.Sprintf("failed to successfully refresh all tablets in the %s/%s target shard (%v):\n %v",
target.GetShard().Keyspace(), target.GetShard().ShardName(), err, partialDetails)
+ if ts.force {
+ log.Warning(msg)
+ return nil
+ } else {
+ return errors.New(msg)
+ }
}
return err
})
})
if err := egrp.Wait(); err != nil {
- log.Warningf("Error in switchDeniedTables: %s", err)
+ ts.Logger().Warningf("Error in switchDeniedTables: %s", err)
return err
}
@@ -1157,7 +1182,7 @@ func (ts *trafficSwitcher) dropSourceReverseVReplicationStreams(ctx context.Cont
func (ts *trafficSwitcher) removeTargetTables(ctx context.Context) error {
err := ts.ForAllTargets(func(target *MigrationTarget) error {
- log.Infof("ForAllTargets: %+v", target)
+ ts.Logger().Infof("ForAllTargets: %+v", target)
for _, tableName := range ts.Tables() {
primaryDbName, err := sqlescape.EnsureEscaped(target.GetPrimary().DbName())
if err != nil {
@@ -1176,7 +1201,7 @@ func (ts *trafficSwitcher) removeTargetTables(ctx context.Context) error {
ReloadSchema: true,
DisableForeignKeyChecks: true,
})
- log.Infof("Removed target table with result: %+v", res)
+ ts.Logger().Infof("Removed target table with result: %+v", res)
if err != nil {
if IsTableDidNotExistError(err) {
// The table was already gone, so we can ignore the error.
@@ -1215,7 +1240,7 @@ func (ts *trafficSwitcher) dropTargetShards(ctx context.Context) error {
func (ts *trafficSwitcher) validate(ctx context.Context) error {
if ts.MigrationType() == binlogdatapb.MigrationType_TABLES {
if ts.isPartialMigration ||
- (ts.IsMultiTenantMigration() && len(ts.options.GetShards()) > 0) {
+ (ts.IsMultiTenantMigration() && ts.options != nil && len(ts.options.GetShards()) > 0) {
return nil
}
sourceTopo := ts.ws.ts
@@ -1319,6 +1344,24 @@ func (ts *trafficSwitcher) gatherPositions(ctx context.Context) error {
})
}
+// gatherSourcePositions will get the current replication position for all
+// migration sources.
+func (ts *trafficSwitcher) gatherSourcePositions(ctx context.Context) error {
+ return ts.ForAllSources(func(source *MigrationSource) error {
+ var err error
+ tablet := source.GetPrimary().Tablet
+ tabletAlias := topoproto.TabletAliasString(tablet.Alias)
+ source.Position, err = ts.TabletManagerClient().PrimaryPosition(ctx, tablet)
+ if err != nil {
+ ts.Logger().Errorf("Error getting migration source position on %s: %s", tabletAlias, err)
+ return vterrors.Errorf(vtrpcpb.Code_INTERNAL, "failed to get position on migration source %s: %v",
+ tabletAlias, err)
+ }
+ ts.Logger().Infof("Position on migration source %s after having stopped writes: %s", tabletAlias, source.Position)
+ return nil
+ })
+}
+
func (ts *trafficSwitcher) isSequenceParticipating(ctx context.Context) (bool, error) {
vschema, err := ts.TopoServer().GetVSchema(ctx, ts.targetKeyspace)
if err != nil {
diff --git a/go/vt/vtctl/workflow/traffic_switcher_test.go b/go/vt/vtctl/workflow/traffic_switcher_test.go
index 5c0b2aba682..6f05a787f53 100644
--- a/go/vt/vtctl/workflow/traffic_switcher_test.go
+++ b/go/vt/vtctl/workflow/traffic_switcher_test.go
@@ -20,6 +20,8 @@ import (
"context"
"fmt"
"reflect"
+ "strconv"
+ "strings"
"testing"
"time"
@@ -29,6 +31,8 @@ import (
"vitess.io/vitess/go/vt/proto/vschema"
"vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/vtgate/vindexes"
+
+ tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
)
type testTrafficSwitcher struct {
@@ -361,3 +365,72 @@ func TestGetTargetSequenceMetadata(t *testing.T) {
})
}
}
+
+// TestSwitchTrafficPositionHandling confirms that if any writes are somehow
+// executed against the source between the stop source writes and wait for
+// catchup steps, that we have the correct position and do not lose the write(s).
+func TestTrafficSwitchPositionHandling(t *testing.T) {
+ ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second)
+ defer cancel()
+
+ workflowName := "wf1"
+ tableName := "t1"
+ sourceKeyspaceName := "sourceks"
+ targetKeyspaceName := "targetks"
+
+ schema := map[string]*tabletmanagerdatapb.SchemaDefinition{
+ tableName: {
+ TableDefinitions: []*tabletmanagerdatapb.TableDefinition{
+ {
+ Name: tableName,
+ Schema: fmt.Sprintf("CREATE TABLE %s (id BIGINT, name VARCHAR(64), PRIMARY KEY (id))", tableName),
+ },
+ },
+ },
+ }
+
+ sourceKeyspace := &testKeyspace{
+ KeyspaceName: sourceKeyspaceName,
+ ShardNames: []string{"0"},
+ }
+ targetKeyspace := &testKeyspace{
+ KeyspaceName: targetKeyspaceName,
+ ShardNames: []string{"0"},
+ }
+
+ env := newTestEnv(t, ctx, defaultCellName, sourceKeyspace, targetKeyspace)
+ defer env.close()
+ env.tmc.schema = schema
+
+ ts, _, err := env.ws.getWorkflowState(ctx, targetKeyspaceName, workflowName)
+ require.NoError(t, err)
+ sw := &switcher{ts: ts, s: env.ws}
+
+ lockCtx, sourceUnlock, lockErr := sw.lockKeyspace(ctx, ts.SourceKeyspaceName(), "test")
+ require.NoError(t, lockErr)
+ ctx = lockCtx
+ defer sourceUnlock(&err)
+ lockCtx, targetUnlock, lockErr := sw.lockKeyspace(ctx, ts.TargetKeyspaceName(), "test")
+ require.NoError(t, lockErr)
+ ctx = lockCtx
+ defer targetUnlock(&err)
+
+ err = ts.stopSourceWrites(ctx)
+ require.NoError(t, err)
+
+ // Now we simulate a write on the source.
+ newPosition := position[:strings.LastIndex(position, "-")+1]
+ oldSeqNo, err := strconv.Atoi(position[strings.LastIndex(position, "-")+1:])
+ require.NoError(t, err)
+ newPosition = fmt.Sprintf("%s%d", newPosition, oldSeqNo+1)
+ env.tmc.setPrimaryPosition(env.tablets[sourceKeyspaceName][startingSourceTabletUID], newPosition)
+
+ // And confirm that we picked up the new position.
+ err = ts.gatherSourcePositions(ctx)
+ require.NoError(t, err)
+ err = ts.ForAllSources(func(ms *MigrationSource) error {
+ require.Equal(t, newPosition, ms.Position)
+ return nil
+ })
+ require.NoError(t, err)
+}
diff --git a/go/vt/vtctl/workflow/utils.go b/go/vt/vtctl/workflow/utils.go
index 9cedf01733e..9de8904cf7e 100644
--- a/go/vt/vtctl/workflow/utils.go
+++ b/go/vt/vtctl/workflow/utils.go
@@ -37,6 +37,7 @@ import (
"vitess.io/vitess/go/vt/discovery"
"vitess.io/vitess/go/vt/key"
"vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/logutil"
"vitess.io/vitess/go/vt/schema"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/topo"
@@ -397,8 +398,7 @@ func BuildTargets(ctx context.Context, ts *topo.Server, tmc tmclient.TabletManag
optionsJSON := wf.GetOptions()
if optionsJSON != "" {
if err := json.Unmarshal([]byte(optionsJSON), &options); err != nil {
- log.Errorf("failed to unmarshal options: %v %s", err, optionsJSON)
- return nil, err
+ return nil, vterrors.Wrapf(err, "failed to unmarshal options: %s", optionsJSON)
}
}
@@ -544,7 +544,7 @@ func doValidateWorkflowHasCompleted(ctx context.Context, ts *trafficSwitcher) er
_ = ts.ForAllSources(func(source *MigrationSource) error {
wg.Add(1)
if source.GetShard().IsPrimaryServing {
- rec.RecordError(fmt.Errorf(fmt.Sprintf("Shard %s is still serving", source.GetShard().ShardName())))
+ rec.RecordError(fmt.Errorf("shard %s is still serving", source.GetShard().ShardName()))
}
wg.Done()
return nil
@@ -640,7 +640,7 @@ func parseTabletTypes(tabletTypes []topodatapb.TabletType) (hasReplica, hasRdonl
func areTabletsAvailableToStreamFrom(ctx context.Context, req *vtctldatapb.WorkflowSwitchTrafficRequest, ts *trafficSwitcher, keyspace string, shards []*topo.ShardInfo) error {
// We use the value from the workflow for the TabletPicker.
tabletTypesStr := ts.optTabletTypes
- cells := req.Cells
+ cells := req.GetCells()
// If no cells were provided in the command then use the value from the workflow.
if len(cells) == 0 && ts.optCells != "" {
cells = strings.Split(strings.TrimSpace(ts.optCells), ",")
@@ -670,7 +670,7 @@ func areTabletsAvailableToStreamFrom(ctx context.Context, req *vtctldatapb.Workf
wg.Wait()
if allErrors.HasErrors() {
- log.Errorf("%s", allErrors.Error())
+ ts.Logger().Error(allErrors.Error())
return allErrors.Error()
}
return nil
@@ -959,3 +959,55 @@ func IsTableDidNotExistError(err error) bool {
}
return false
}
+
+func getOptionsJSON(workflowOptions *vtctldatapb.WorkflowOptions) (string, error) {
+ defaultJSON := "{}"
+ if workflowOptions == nil {
+ return defaultJSON, nil
+ }
+ optionsJSON, err := json.Marshal(workflowOptions)
+ if err != nil || optionsJSON == nil {
+ return defaultJSON, err
+ }
+ return string(optionsJSON), nil
+}
+
+// defaultErrorHandler provides a way to consistently handle errors by logging and
+// returning them.
+func defaultErrorHandler(logger logutil.Logger, message string, err error) (*[]string, error) {
+ werr := vterrors.Wrap(err, message)
+ logger.Error(werr)
+ return nil, werr
+}
+
+// applyTargetShards applies the targetShards, coming from a command, to the trafficSwitcher's
+// migration targets.
+// It will return an error if the targetShards list contains a shard that is not a valid shard
+// for the workflow.
+// It will then remove any migration targets from the trafficSwitcher that are not in the
+// targetShards list.
+func applyTargetShards(ts *trafficSwitcher, targetShards []string) error {
+ if ts == nil {
+ return nil
+ }
+ if ts.targets == nil {
+ return vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "no targets found for workflow %s", ts.workflow)
+ }
+ tsm := make(map[string]struct{}, len(targetShards))
+ for _, targetShard := range targetShards {
+ if _, ok := ts.targets[targetShard]; !ok {
+ return vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "specified target shard %s not a valid target for workflow %s",
+ targetShard, ts.workflow)
+ }
+ tsm[targetShard] = struct{}{}
+ }
+ for key, target := range ts.targets {
+ if target == nil || target.GetShard() == nil { // Should never happen
+ return vterrors.Errorf(vtrpcpb.Code_INTERNAL, "invalid target found for workflow %s", ts.workflow)
+ }
+ if _, ok := tsm[target.GetShard().ShardName()]; !ok {
+ delete(ts.targets, key)
+ }
+ }
+ return nil
+}
diff --git a/go/vt/vtctl/workflow/utils_test.go b/go/vt/vtctl/workflow/utils_test.go
index d79c4710b77..b315e1aa991 100644
--- a/go/vt/vtctl/workflow/utils_test.go
+++ b/go/vt/vtctl/workflow/utils_test.go
@@ -16,12 +16,85 @@ import (
"vitess.io/vitess/go/testfiles"
"vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/proto/vtctldata"
"vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/topo/etcd2topo"
"vitess.io/vitess/go/vt/topo/memorytopo"
"vitess.io/vitess/go/vt/topotools"
)
+// TestCreateDefaultShardRoutingRules confirms that the default shard routing rules are created correctly for sharded
+// and unsharded keyspaces.
+func TestCreateDefaultShardRoutingRules(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ ks1 := &testKeyspace{
+ KeyspaceName: "sourceks",
+ }
+ ks2 := &testKeyspace{
+ KeyspaceName: "targetks",
+ }
+
+ type testCase struct {
+ name string
+ sourceKeyspace *testKeyspace
+ targetKeyspace *testKeyspace
+ shards []string
+ want map[string]string
+ }
+ getExpectedRules := func(sourceKeyspace, targetKeyspace *testKeyspace) map[string]string {
+ rules := make(map[string]string)
+ for _, targetShard := range targetKeyspace.ShardNames {
+ rules[fmt.Sprintf("%s.%s", targetKeyspace.KeyspaceName, targetShard)] = sourceKeyspace.KeyspaceName
+ }
+ return rules
+
+ }
+ testCases := []testCase{
+ {
+ name: "unsharded",
+ sourceKeyspace: ks1,
+ targetKeyspace: ks2,
+ shards: []string{"0"},
+ },
+ {
+ name: "sharded",
+ sourceKeyspace: ks2,
+ targetKeyspace: ks1,
+ shards: []string{"-80", "80-"},
+ },
+ }
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ tc.sourceKeyspace.ShardNames = tc.shards
+ tc.targetKeyspace.ShardNames = tc.shards
+ env := newTestEnv(t, ctx, defaultCellName, tc.sourceKeyspace, tc.targetKeyspace)
+ defer env.close()
+ ms := &vtctldata.MaterializeSettings{
+ Workflow: "wf1",
+ SourceKeyspace: tc.sourceKeyspace.KeyspaceName,
+ TargetKeyspace: tc.targetKeyspace.KeyspaceName,
+ TableSettings: []*vtctldata.TableMaterializeSettings{
+ {
+ TargetTable: "t1",
+ SourceExpression: "select * from t1",
+ },
+ },
+ Cell: "zone1",
+ SourceShards: tc.sourceKeyspace.ShardNames,
+ }
+ err := createDefaultShardRoutingRules(ctx, ms, env.ts)
+ require.NoError(t, err)
+ rules, err := topotools.GetShardRoutingRules(ctx, env.ts)
+ require.NoError(t, err)
+ require.Len(t, rules, len(tc.shards))
+ want := getExpectedRules(tc.sourceKeyspace, tc.targetKeyspace)
+ require.EqualValues(t, want, rules)
+ })
+ }
+}
+
// TestUpdateKeyspaceRoutingRule confirms that the keyspace routing rules are updated correctly.
func TestUpdateKeyspaceRoutingRule(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
diff --git a/go/vt/vtctl/workflow/vreplication_stream_test.go b/go/vt/vtctl/workflow/vreplication_stream_test.go
new file mode 100644
index 00000000000..6269cfa978e
--- /dev/null
+++ b/go/vt/vtctl/workflow/vreplication_stream_test.go
@@ -0,0 +1,52 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package workflow
+
+import (
+ "fmt"
+ "reflect"
+ "testing"
+)
+
+// TestVReplicationStreams tests various methods of VReplicationStreams.
+func TestVReplicationStreams(t *testing.T) {
+ var streams VReplicationStreams
+ for i := 1; i <= 3; i++ {
+ streams = append(streams, &VReplicationStream{ID: int32(i), Workflow: fmt.Sprintf("workflow%d", i)})
+ }
+
+ tests := []struct {
+ name string
+ funcUnderTest func(VReplicationStreams) interface{}
+ expectedResult interface{}
+ }{
+ {"Test IDs", func(s VReplicationStreams) interface{} { return s.IDs() }, []int32{1, 2, 3}},
+ {"Test Values", func(s VReplicationStreams) interface{} { return s.Values() }, "(1, 2, 3)"},
+ {"Test Workflows", func(s VReplicationStreams) interface{} { return s.Workflows() }, []string{"workflow1", "workflow2", "workflow3"}},
+ {"Test Copy", func(s VReplicationStreams) interface{} { return s.Copy() }, streams.Copy()},
+ {"Test ToSlice", func(s VReplicationStreams) interface{} { return s.ToSlice() }, []*VReplicationStream{streams[0], streams[1], streams[2]}},
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ result := tt.funcUnderTest(streams)
+ if !reflect.DeepEqual(result, tt.expectedResult) {
+ t.Errorf("Failed %s: expected %v, got %v", tt.name, tt.expectedResult, result)
+ }
+ })
+ }
+}
diff --git a/go/vt/vtctl/workflow/workflow_state_test.go b/go/vt/vtctl/workflow/workflow_state_test.go
new file mode 100644
index 00000000000..d64b6b36a86
--- /dev/null
+++ b/go/vt/vtctl/workflow/workflow_state_test.go
@@ -0,0 +1,165 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package workflow
+
+import (
+ "context"
+ "fmt"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+
+ binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
+ "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
+ topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+)
+
+func setupMoveTables(t *testing.T, ctx context.Context) *testEnv {
+ schema := map[string]*tabletmanagerdata.SchemaDefinition{
+ "t1": {
+ TableDefinitions: []*tabletmanagerdata.TableDefinition{
+ {
+ Name: "t1",
+ Schema: fmt.Sprintf("CREATE TABLE %s (id BIGINT, name VARCHAR(64), PRIMARY KEY (id))", "t1"),
+ },
+ },
+ },
+ }
+ sourceKeyspace := &testKeyspace{
+ KeyspaceName: "source",
+ ShardNames: []string{"0"},
+ }
+ targetKeyspace := &testKeyspace{
+ KeyspaceName: "target",
+ ShardNames: []string{"0"},
+ }
+ te := newTestEnv(t, ctx, "zone1", sourceKeyspace, targetKeyspace)
+ te.tmc.schema = schema
+ var wfs tabletmanagerdata.ReadVReplicationWorkflowsResponse
+ id := int32(1)
+ wfs.Workflows = append(wfs.Workflows, &tabletmanagerdata.ReadVReplicationWorkflowResponse{
+ Workflow: "wf1",
+ WorkflowType: binlogdatapb.VReplicationWorkflowType_MoveTables,
+ }, &tabletmanagerdata.ReadVReplicationWorkflowResponse{
+ Workflow: "wf2",
+ WorkflowType: binlogdatapb.VReplicationWorkflowType_MoveTables,
+ })
+ wfs.Workflows[0].Streams = append(wfs.Workflows[0].Streams, &tabletmanagerdata.ReadVReplicationWorkflowResponse_Stream{
+ Id: id,
+ Bls: &binlogdatapb.BinlogSource{
+ Keyspace: te.sourceKeyspace.KeyspaceName,
+ Shard: "0",
+ Filter: &binlogdatapb.Filter{
+ Rules: []*binlogdatapb.Rule{
+ {Match: "t1", Filter: "select * from t1"},
+ },
+ },
+ Tables: []string{"t1"},
+ },
+ Pos: position,
+ State: binlogdatapb.VReplicationWorkflowState_Running,
+ })
+
+ workflowKey := te.tmc.GetWorkflowKey("target", "wf1")
+ workflowResponses := []*tabletmanagerdata.ReadVReplicationWorkflowsResponse{
+ nil, // this is the response for getting stopped workflows
+ &wfs, &wfs, &wfs, &wfs, &wfs, &wfs, // return the full list for subsequent GetWorkflows calls
+ }
+ for _, resp := range workflowResponses {
+ te.tmc.AddVReplicationWorkflowsResponse(workflowKey, resp)
+ }
+ te.tmc.readVReplicationWorkflowRequests[200] = &tabletmanagerdata.ReadVReplicationWorkflowRequest{
+ Workflow: "wf1",
+ }
+ te.updateTableRoutingRules(t, ctx, nil, []string{"t1"},
+ "source", te.targetKeyspace.KeyspaceName, "source")
+ return te
+}
+
+// TestWorkflowStateMoveTables tests the logic used to determine the state of a MoveTables workflow based on the
+// routing rules. We setup two workflows with the same table in both source and target keyspaces.
+func TestWorkflowStateMoveTables(t *testing.T) {
+ ctx := context.Background()
+ te := setupMoveTables(t, ctx)
+ require.NotNil(t, te)
+ type testCase struct {
+ name string
+ wf1SwitchedTabletTypes []topodatapb.TabletType
+ wf1ExpectedState string
+ // Simulate a second workflow to validate that the logic used to determine the state of the first workflow
+ // from the routing rules is not affected by the presence of other workflows in different states.
+ wf2SwitchedTabletTypes []topodatapb.TabletType
+ }
+ testCases := []testCase{
+ {
+ name: "switch reads",
+ wf1SwitchedTabletTypes: []topodatapb.TabletType{topodatapb.TabletType_REPLICA, topodatapb.TabletType_RDONLY},
+ wf1ExpectedState: "All Reads Switched. Writes Not Switched",
+ wf2SwitchedTabletTypes: []topodatapb.TabletType{topodatapb.TabletType_PRIMARY},
+ },
+ {
+ name: "switch writes",
+ wf1SwitchedTabletTypes: []topodatapb.TabletType{topodatapb.TabletType_PRIMARY},
+ wf1ExpectedState: "Reads Not Switched. Writes Switched",
+ wf2SwitchedTabletTypes: []topodatapb.TabletType{topodatapb.TabletType_REPLICA, topodatapb.TabletType_RDONLY},
+ },
+ {
+ name: "switch reads and writes",
+ wf1SwitchedTabletTypes: defaultTabletTypes,
+ wf1ExpectedState: "All Reads Switched. Writes Switched",
+ },
+ {
+ name: "switch rdonly only",
+ wf1SwitchedTabletTypes: []topodatapb.TabletType{topodatapb.TabletType_RDONLY},
+ wf1ExpectedState: "Reads partially switched. Replica not switched. All Rdonly Reads Switched. Writes Not Switched",
+ wf2SwitchedTabletTypes: []topodatapb.TabletType{topodatapb.TabletType_PRIMARY},
+ },
+ {
+ name: "switch replica only",
+ wf1SwitchedTabletTypes: []topodatapb.TabletType{topodatapb.TabletType_REPLICA},
+ wf1ExpectedState: "Reads partially switched. All Replica Reads Switched. Rdonly not switched. Writes Not Switched",
+ wf2SwitchedTabletTypes: defaultTabletTypes,
+ },
+ }
+ tables := []string{"t1"}
+
+ getStateString := func(targetKeyspace, wfName string) string {
+ tsw, state, err := te.ws.getWorkflowState(ctx, targetKeyspace, wfName)
+ require.NoError(t, err)
+ require.NotNil(t, tsw)
+ require.NotNil(t, state)
+ return state.String()
+ }
+ require.Equal(t, "Reads Not Switched. Writes Not Switched", getStateString("target", "wf1"))
+
+ resetRoutingRules := func() {
+ te.updateTableRoutingRules(t, ctx, nil, tables,
+ "source", te.targetKeyspace.KeyspaceName, "source")
+ te.updateTableRoutingRules(t, ctx, nil, tables,
+ "source2", "target2", "source2")
+ }
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ resetRoutingRules()
+ te.updateTableRoutingRules(t, ctx, tc.wf1SwitchedTabletTypes, tables,
+ "source", te.targetKeyspace.KeyspaceName, te.targetKeyspace.KeyspaceName)
+ te.updateTableRoutingRules(t, ctx, tc.wf2SwitchedTabletTypes, tables,
+ "source2", "target2", "target2")
+ require.Equal(t, tc.wf1ExpectedState, getStateString("target", "wf1"))
+ })
+ }
+}
diff --git a/go/vt/vterrors/code.go b/go/vt/vterrors/code.go
index 83a87503265..31c98cef280 100644
--- a/go/vt/vterrors/code.go
+++ b/go/vt/vterrors/code.go
@@ -97,6 +97,11 @@ var (
VT09023 = errorWithoutState("VT09023", vtrpcpb.Code_FAILED_PRECONDITION, "could not map %v to a keyspace id", "Unable to determine the shard for the given row.")
VT09024 = errorWithoutState("VT09024", vtrpcpb.Code_FAILED_PRECONDITION, "could not map %v to a unique keyspace id: %v", "Unable to determine the shard for the given row.")
VT09025 = errorWithoutState("VT09025", vtrpcpb.Code_FAILED_PRECONDITION, "atomic transaction error: %v", "Error in atomic transactions")
+ VT09026 = errorWithState("VT09026", vtrpcpb.Code_FAILED_PRECONDITION, CTERecursiveRequiresUnion, "Recursive Common Table Expression '%s' should contain a UNION", "")
+ VT09027 = errorWithState("VT09027", vtrpcpb.Code_FAILED_PRECONDITION, CTERecursiveForbidsAggregation, "Recursive Common Table Expression '%s' can contain neither aggregation nor window functions in recursive query block", "")
+ VT09028 = errorWithState("VT09028", vtrpcpb.Code_FAILED_PRECONDITION, CTERecursiveForbiddenJoinOrder, "In recursive query block of Recursive Common Table Expression '%s', the recursive table must neither be in the right argument of a LEFT JOIN, nor be forced to be non-first with join order hints", "")
+ VT09029 = errorWithState("VT09029", vtrpcpb.Code_FAILED_PRECONDITION, CTERecursiveRequiresSingleReference, "In recursive query block of Recursive Common Table Expression %s, the recursive table must be referenced only once, and not in any subquery", "")
+ VT09030 = errorWithState("VT09030", vtrpcpb.Code_FAILED_PRECONDITION, CTEMaxRecursionDepth, "Recursive query aborted after 1000 iterations.", "")
VT10001 = errorWithoutState("VT10001", vtrpcpb.Code_ABORTED, "foreign key constraints are not allowed", "Foreign key constraints are not allowed, see https://vitess.io/blog/2021-06-15-online-ddl-why-no-fk/.")
VT10002 = errorWithoutState("VT10002", vtrpcpb.Code_ABORTED, "atomic distributed transaction not allowed: %s", "The distributed transaction cannot be committed. A rollback decision is taken.")
@@ -183,6 +188,10 @@ var (
VT09022,
VT09023,
VT09024,
+ VT09026,
+ VT09027,
+ VT09028,
+ VT09029,
VT10001,
VT10002,
VT12001,
diff --git a/go/vt/vterrors/errors_test.go b/go/vt/vterrors/errors_test.go
index 49b77ee0385..3444b0986c4 100644
--- a/go/vt/vterrors/errors_test.go
+++ b/go/vt/vterrors/errors_test.go
@@ -213,7 +213,7 @@ func TestWrapf(t *testing.T) {
}
for _, tt := range tests {
- got := Wrapf(tt.err, tt.message).Error()
+ got := Wrap(tt.err, tt.message).Error()
if got != tt.want {
t.Errorf("Wrapf(%v, %q): got: %v, want %v", tt.err, tt.message, got, tt.want)
}
diff --git a/go/vt/vterrors/state.go b/go/vt/vterrors/state.go
index 82434df382a..528000e9e41 100644
--- a/go/vt/vterrors/state.go
+++ b/go/vt/vterrors/state.go
@@ -62,6 +62,11 @@ const (
NoReferencedRow2
UnknownStmtHandler
KeyDoesNotExist
+ CTERecursiveRequiresSingleReference
+ CTERecursiveRequiresUnion
+ CTERecursiveForbidsAggregation
+ CTERecursiveForbiddenJoinOrder
+ CTEMaxRecursionDepth
// not found
BadDb
diff --git a/go/vt/vterrors/vterrors.go b/go/vt/vterrors/vterrors.go
index 6a322837de9..c97a7c8e45f 100644
--- a/go/vt/vterrors/vterrors.go
+++ b/go/vt/vterrors/vterrors.go
@@ -150,10 +150,14 @@ func Errorf(code vtrpcpb.Code, format string, args ...any) error {
// NewErrorf also records the stack trace at the point it was called.
// Use this for errors in Vitess that we eventually want to mimic as a MySQL error
func NewErrorf(code vtrpcpb.Code, state State, format string, args ...any) error {
- msg := format
- if len(args) != 0 {
- msg = fmt.Sprintf(format, args...)
- }
+ return NewError(code, state, fmt.Sprintf(format, args...))
+}
+
+// NewErrorf formats according to a format specifier and returns the string
+// as a value that satisfies error.
+// NewErrorf also records the stack trace at the point it was called.
+// Use this for errors in Vitess that we eventually want to mimic as a MySQL error
+func NewError(code vtrpcpb.Code, state State, msg string) error {
return &fundamental{
msg: msg,
code: code,
@@ -251,14 +255,7 @@ func Wrap(err error, message string) error {
// at the point Wrapf is call, and the format specifier.
// If err is nil, Wrapf returns nil.
func Wrapf(err error, format string, args ...any) error {
- if err == nil {
- return nil
- }
- return &wrapping{
- cause: err,
- msg: fmt.Sprintf(format, args...),
- stack: callers(),
- }
+ return Wrap(err, fmt.Sprintf(format, args...))
}
// Unwrap attempts to return the Cause of the given error, if it is indeed the result of a vterrors.Wrapf()
diff --git a/go/vt/vtexplain/vtexplain_test.go b/go/vt/vtexplain/vtexplain_test.go
index ed32d0698db..e9420b043c7 100644
--- a/go/vt/vtexplain/vtexplain_test.go
+++ b/go/vt/vtexplain/vtexplain_test.go
@@ -296,7 +296,7 @@ func TestJSONOutput(t *testing.T) {
}`
diff := cmp.Diff(wantJSON, string(actionsJSON))
if diff != "" {
- t.Errorf(diff)
+ t.Error(diff)
}
}
diff --git a/go/vt/vtgate/balancer/balancer.go b/go/vt/vtgate/balancer/balancer.go
new file mode 100644
index 00000000000..bfe85194c05
--- /dev/null
+++ b/go/vt/vtgate/balancer/balancer.go
@@ -0,0 +1,367 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package balancer
+
+import (
+ "encoding/json"
+ "fmt"
+ "math/rand/v2"
+ "net/http"
+ "sync"
+
+ "vitess.io/vitess/go/vt/discovery"
+ querypb "vitess.io/vitess/go/vt/proto/query"
+)
+
+/*
+
+The tabletBalancer probabalistically orders the list of available tablets into
+a ranked order of preference in order to satisfy two high-level goals:
+
+1. Balance the load across the available replicas
+2. Prefer a replica in the same cell as the vtgate if possible
+
+In some topologies this is trivial to accomplish by simply preferring tablets in the
+local cell, assuming there are a proportional number of local tablets in each cell to
+satisfy the inbound traffic to the vtgates in that cell.
+
+However, for topologies with a relatively small number of tablets in each cell, a simple
+affinity algorithm does not effectively balance the load.
+
+As a simple example:
+
+ Given three cells with vtgates, four replicas spread into those cells, where each vtgate
+ receives an equal query share. If each routes only to its local cell, the tablets will be
+ unbalanced since two of them receive 1/3 of the queries, but the two replicas in the same
+ cell will only receive 1/6 of the queries.
+
+ Cell A: 1/3 --> vtgate --> 1/3 => vttablet
+
+ Cell B: 1/3 --> vtgate --> 1/3 => vttablet
+
+ Cell C: 1/3 --> vtgate --> 1/6 => vttablet
+ \-> 1/6 => vttablet
+
+Other topologies that can cause similar pathologies include cases where there may be cells
+containing replicas but no local vtgates, and/or cells that have only vtgates but no replicas.
+
+For these topologies, the tabletBalancer proportionally assigns the output flow to each tablet,
+preferring the local cell where possible, but only as long as the global query balance is
+maintained.
+
+To accomplish this goal, the balancer is given:
+
+* The list of cells that receive inbound traffic to vtgates
+* The local cell where the vtgate exists
+* The set of tablets and their cells (learned from discovery)
+
+The model assumes there is an equal probablility of a query coming from each vtgate cell, i.e.
+traffic is effectively load balanced between the cells with vtgates.
+
+Given that information, the balancer builds a simple model to determine how much query load
+would go to each tablet if vtgate only routed to its local cell. Then if any tablets are
+unbalanced, it shifts the desired allocation away from the local cell preference in order to
+even out the query load.
+
+Based on this global model, the vtgate then probabalistically picks a destination for each
+query to be sent and uses these weights to order the available tablets accordingly.
+
+Assuming each vtgate is configured with and discovers the same information about the topology,
+and the input flow is balanced across the vtgate cells (as mentioned above), then each vtgate
+should come the the same conclusion about the global flows, and cooperatively should
+converge on the desired balanced query load.
+
+*/
+
+type TabletBalancer interface {
+ // Pick is the main entry point to the balancer. Returns the best tablet out of the list
+ // for a given query to maintain the desired balanced allocation over multiple executions.
+ Pick(target *querypb.Target, tablets []*discovery.TabletHealth) *discovery.TabletHealth
+
+ // DebugHandler provides a summary of tablet balancer state
+ DebugHandler(w http.ResponseWriter, r *http.Request)
+}
+
+func NewTabletBalancer(localCell string, vtGateCells []string) TabletBalancer {
+ return &tabletBalancer{
+ localCell: localCell,
+ vtGateCells: vtGateCells,
+ allocations: map[discovery.KeyspaceShardTabletType]*targetAllocation{},
+ }
+}
+
+type tabletBalancer struct {
+ //
+ // Configuration
+ //
+
+ // The local cell for the vtgate
+ localCell string
+
+ // The set of cells that have vtgates
+ vtGateCells []string
+
+ // mu protects the allocation map
+ mu sync.Mutex
+
+ //
+ // Allocations for balanced mode, calculated once per target and invalidated
+ // whenever the topology changes.
+ //
+ allocations map[discovery.KeyspaceShardTabletType]*targetAllocation
+}
+
+type targetAllocation struct {
+ // Target flow per cell based on the number of tablets discovered in the cell
+ Target map[string]int // json:target
+
+ // Input flows allocated for each cell
+ Inflows map[string]int
+
+ // Output flows from each vtgate cell to each target cell
+ Outflows map[string]map[string]int
+
+ // Allocation routed to each tablet from the local cell used for ranking
+ Allocation map[uint32]int
+
+ // Tablets that local cell does not route to
+ Unallocated map[uint32]struct{}
+
+ // Total allocation which is basically 1,000,000 / len(vtgatecells)
+ TotalAllocation int
+}
+
+func (b *tabletBalancer) print() string {
+ allocations, _ := json.Marshal(&b.allocations)
+ return fmt.Sprintf("LocalCell: %s, VtGateCells: %s, allocations: %s",
+ b.localCell, b.vtGateCells, string(allocations))
+}
+
+func (b *tabletBalancer) DebugHandler(w http.ResponseWriter, _ *http.Request) {
+ w.Header().Set("Content-Type", "text/plain")
+ fmt.Fprintf(w, "Local Cell: %v\r\n", b.localCell)
+ fmt.Fprintf(w, "Vtgate Cells: %v\r\n", b.vtGateCells)
+
+ b.mu.Lock()
+ defer b.mu.Unlock()
+ allocations, _ := json.MarshalIndent(b.allocations, "", " ")
+ fmt.Fprintf(w, "Allocations: %v\r\n", string(allocations))
+}
+
+// Pick is the main entry point to the balancer.
+//
+// Given the total allocation for the set of tablets, choose the best target
+// by a weighted random sample so that over time the system will achieve the
+// desired balanced allocation.
+func (b *tabletBalancer) Pick(target *querypb.Target, tablets []*discovery.TabletHealth) *discovery.TabletHealth {
+
+ numTablets := len(tablets)
+ if numTablets == 0 {
+ return nil
+ }
+
+ allocationMap, totalAllocation := b.getAllocation(target, tablets)
+
+ r := rand.IntN(totalAllocation)
+ for i := 0; i < numTablets; i++ {
+ flow := allocationMap[tablets[i].Tablet.Alias.Uid]
+ if r < flow {
+ return tablets[i]
+ }
+ r -= flow
+ }
+
+ return tablets[0]
+}
+
+// To stick with integer arithmetic, use 1,000,000 as the full load
+const ALLOCATION = 1000000
+
+func (b *tabletBalancer) allocateFlows(allTablets []*discovery.TabletHealth) *targetAllocation {
+ // Initialization: Set up some data structures and derived values
+ a := targetAllocation{
+ Target: map[string]int{},
+ Inflows: map[string]int{},
+ Outflows: map[string]map[string]int{},
+ Allocation: map[uint32]int{},
+ Unallocated: map[uint32]struct{}{},
+ }
+ flowPerVtgateCell := ALLOCATION / len(b.vtGateCells)
+ flowPerTablet := ALLOCATION / len(allTablets)
+ cellExistsWithNoTablets := false
+
+ for _, th := range allTablets {
+ a.Target[th.Tablet.Alias.Cell] += flowPerTablet
+ }
+
+ //
+ // First pass: Allocate vtgate flow to the local cell where the vtgate exists
+ // and along the way figure out if there are any vtgates with no local tablets.
+ //
+ for _, cell := range b.vtGateCells {
+ outflow := map[string]int{}
+ target := a.Target[cell]
+
+ if target > 0 {
+ a.Inflows[cell] += flowPerVtgateCell
+ outflow[cell] = flowPerVtgateCell
+ } else {
+ cellExistsWithNoTablets = true
+ }
+
+ a.Outflows[cell] = outflow
+ }
+
+ //
+ // Figure out if there is a shortfall
+ //
+ underAllocated := make(map[string]int)
+ unbalancedFlow := 0
+ for cell, allocation := range a.Target {
+ if a.Inflows[cell] < allocation {
+ underAllocated[cell] = allocation - a.Inflows[cell]
+ unbalancedFlow += underAllocated[cell]
+ }
+ }
+
+ //
+ // Second pass: if there are any vtgates with no local tablets, allocate the underallocated amount
+ // proportionally to all cells that may need it
+ //
+ if cellExistsWithNoTablets {
+ for _, vtgateCell := range b.vtGateCells {
+ target := a.Target[vtgateCell]
+ if target != 0 {
+ continue
+ }
+
+ for underAllocatedCell, underAllocatedFlow := range underAllocated {
+ allocation := flowPerVtgateCell * underAllocatedFlow / unbalancedFlow
+ a.Inflows[underAllocatedCell] += allocation
+ a.Outflows[vtgateCell][underAllocatedCell] += allocation
+ }
+ }
+
+ // Recompute underallocated after these flows were assigned
+ unbalancedFlow = 0
+ underAllocated = make(map[string]int)
+ for cell, allocation := range a.Target {
+ if a.Inflows[cell] < allocation {
+ underAllocated[cell] = allocation - a.Inflows[cell]
+ unbalancedFlow += underAllocated[cell]
+ }
+ }
+ }
+
+ //
+ // Third pass: Shift remaining imbalance if any cell is over/under allocated after
+ // assigning local cell traffic and distributing load from cells without tablets.
+ //
+ if /* fudge for integer arithmetic */ unbalancedFlow > 10 {
+
+ // cells which are overallocated
+ overAllocated := make(map[string]int)
+ for cell, allocation := range a.Target {
+ if a.Inflows[cell] > allocation {
+ overAllocated[cell] = a.Inflows[cell] - allocation
+ }
+ }
+
+ // fmt.Printf("outflows %v over %v under %v\n", a.Outflows, overAllocated, underAllocated)
+
+ //
+ // For each overallocated cell, proportionally shift flow from targets that are overallocated
+ // to targets that are underallocated.
+ //
+ // Note this is an O(N^3) loop, but only over the cells which need adjustment.
+ //
+ for _, vtgateCell := range b.vtGateCells {
+ for underAllocatedCell, underAllocatedFlow := range underAllocated {
+ for overAllocatedCell, overAllocatedFlow := range overAllocated {
+
+ currentFlow := a.Outflows[vtgateCell][overAllocatedCell]
+ if currentFlow == 0 {
+ continue
+ }
+
+ // Shift a proportional fraction of the amount that the cell is currently allocated weighted
+ // by the fraction that this vtgate cell is already sending to the overallocated cell, and the
+ // fraction that the new target is underallocated
+ //
+ // Note that the operator order matters -- multiplications need to occur before divisions
+ // to avoid truncating the integer values.
+ shiftFlow := overAllocatedFlow * currentFlow * underAllocatedFlow / a.Inflows[overAllocatedCell] / unbalancedFlow
+
+ //fmt.Printf("shift %d %s %s -> %s (over %d current %d in %d under %d unbalanced %d) \n", shiftFlow, vtgateCell, overAllocatedCell, underAllocatedCell,
+ // overAllocatedFlow, currentFlow, a.Inflows[overAllocatedCell], underAllocatedFlow, unbalancedFlow)
+
+ a.Outflows[vtgateCell][overAllocatedCell] -= shiftFlow
+ a.Inflows[overAllocatedCell] -= shiftFlow
+
+ a.Inflows[underAllocatedCell] += shiftFlow
+ a.Outflows[vtgateCell][underAllocatedCell] += shiftFlow
+ }
+ }
+ }
+ }
+
+ //
+ // Finally, once the cell flows are all adjusted, figure out the local allocation to each
+ // tablet in the target cells
+ //
+ outflow := a.Outflows[b.localCell]
+ for _, tablet := range allTablets {
+ cell := tablet.Tablet.Alias.Cell
+ flow := outflow[cell]
+ if flow > 0 {
+ a.Allocation[tablet.Tablet.Alias.Uid] = flow * flowPerTablet / a.Target[cell]
+ a.TotalAllocation += flow * flowPerTablet / a.Target[cell]
+ } else {
+ a.Unallocated[tablet.Tablet.Alias.Uid] = struct{}{}
+ }
+ }
+
+ return &a
+}
+
+// getAllocation builds the allocation map if needed and returns a copy of the map
+func (b *tabletBalancer) getAllocation(target *querypb.Target, tablets []*discovery.TabletHealth) (map[uint32]int, int) {
+ b.mu.Lock()
+ defer b.mu.Unlock()
+
+ allocation, exists := b.allocations[discovery.KeyFromTarget(target)]
+ if exists && (len(allocation.Allocation)+len(allocation.Unallocated)) == len(tablets) {
+ mismatch := false
+ for _, tablet := range tablets {
+ if _, ok := allocation.Allocation[tablet.Tablet.Alias.Uid]; !ok {
+ if _, ok := allocation.Unallocated[tablet.Tablet.Alias.Uid]; !ok {
+ mismatch = true
+ break
+ }
+ }
+ }
+ if !mismatch {
+ // No change in tablets for this target. Return computed allocation
+ return allocation.Allocation, allocation.TotalAllocation
+ }
+ }
+
+ allocation = b.allocateFlows(tablets)
+ b.allocations[discovery.KeyFromTarget(target)] = allocation
+
+ return allocation.Allocation, allocation.TotalAllocation
+}
diff --git a/go/vt/vtgate/balancer/balancer_test.go b/go/vt/vtgate/balancer/balancer_test.go
new file mode 100644
index 00000000000..1c6a72421fc
--- /dev/null
+++ b/go/vt/vtgate/balancer/balancer_test.go
@@ -0,0 +1,371 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package balancer
+
+import (
+ "strconv"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+
+ "vitess.io/vitess/go/vt/discovery"
+ querypb "vitess.io/vitess/go/vt/proto/query"
+ topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+ "vitess.io/vitess/go/vt/topo"
+)
+
+var nextTestTabletUID int
+
+func createTestTablet(cell string) *discovery.TabletHealth {
+ nextTestTabletUID++
+ tablet := topo.NewTablet(uint32(nextTestTabletUID), cell, strconv.Itoa(nextTestTabletUID))
+ tablet.PortMap["vt"] = 1
+ tablet.PortMap["grpc"] = 2
+ tablet.Keyspace = "k"
+ tablet.Shard = "s"
+
+ return &discovery.TabletHealth{
+ Tablet: tablet,
+ Target: &querypb.Target{Keyspace: "k", Shard: "s", TabletType: topodatapb.TabletType_REPLICA},
+ Serving: false,
+ Stats: nil,
+ PrimaryTermStartTime: 0,
+ }
+}
+
+func TestAllocateFlows(t *testing.T) {
+ cases := []struct {
+ test string
+ tablets []*discovery.TabletHealth
+ vtgateCells []string
+ }{
+ {
+ "balanced one tablet per cell",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("c"),
+ createTestTablet("d"),
+ },
+ []string{"a", "b", "c", "d"},
+ },
+ {
+ "balanced multiple tablets per cell",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("c"),
+ createTestTablet("d"),
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("c"),
+ createTestTablet("d"),
+ },
+ []string{"a", "b", "c", "d"},
+ },
+ {
+ "vtgate in cell with no tablets",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("c"),
+ createTestTablet("d"),
+ },
+ []string{"a", "b", "c", "d", "e"},
+ },
+ {
+ "vtgates in multiple cells with no tablets",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("c"),
+ createTestTablet("d"),
+ },
+ []string{"a", "b", "c", "d", "e", "f", "g"},
+ },
+ {
+ "imbalanced multiple tablets in one cell",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("c"),
+ },
+ []string{"a", "b", "c"},
+ },
+ {
+ "imbalanced multiple tablets in multiple cells",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("b"),
+ createTestTablet("c"),
+ createTestTablet("d"),
+ createTestTablet("d"),
+ createTestTablet("d"),
+ createTestTablet("d"),
+ },
+ []string{"a", "b", "c", "d"},
+ },
+ {
+ "heavy imbalance",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("c"),
+ createTestTablet("c"),
+ },
+ []string{"a", "b", "c", "d"},
+ },
+ }
+
+ target := &querypb.Target{Keyspace: "k", Shard: "s", TabletType: topodatapb.TabletType_REPLICA}
+
+ for _, c := range cases {
+ t.Logf("\n\nTest Case: %s\n\n", c.test)
+
+ tablets := c.tablets
+ vtGateCells := c.vtgateCells
+
+ tabletsByCell := make(map[string][]*discovery.TabletHealth)
+ for _, tablet := range tablets {
+ cell := tablet.Tablet.Alias.Cell
+ tabletsByCell[cell] = append(tabletsByCell[cell], tablet)
+ }
+
+ allocationPerTablet := make(map[uint32]int)
+ expectedPerTablet := ALLOCATION / len(tablets)
+
+ expectedPerCell := make(map[string]int)
+ for cell := range tabletsByCell {
+ expectedPerCell[cell] = ALLOCATION / len(tablets) * len(tabletsByCell[cell])
+ }
+
+ // Run the balancer over each vtgate cell
+ for _, localCell := range vtGateCells {
+ b := NewTabletBalancer(localCell, vtGateCells).(*tabletBalancer)
+ a := b.allocateFlows(tablets)
+ b.allocations[discovery.KeyFromTarget(target)] = a
+
+ t.Logf("Target Flows %v, Balancer: %s, Allocations: %v \n", expectedPerCell, b.print(), b.allocations)
+
+ // Accumulate all the output per tablet cell
+ outflowPerCell := make(map[string]int)
+ for _, outflow := range a.Outflows {
+ for tabletCell, flow := range outflow {
+ assert.GreaterOrEqual(t, flow, 0, b.print())
+ outflowPerCell[tabletCell] += flow
+ }
+ }
+
+ // Check in / out flow to each tablet cell
+ for cell := range tabletsByCell {
+ expectedForCell := expectedPerCell[cell]
+
+ assert.InEpsilonf(t, expectedForCell, a.Inflows[cell], 0.01,
+ "did not allocate correct inflow to cell %s. Balancer {%s} ExpectedPerCell {%v}",
+ cell, b.print(), expectedPerCell)
+ assert.InEpsilonf(t, expectedForCell, outflowPerCell[cell], 0.01,
+ "did not allocate correct outflow to cell %s. Balancer {%s} ExpectedPerCell {%v}",
+ cell, b.print(), expectedPerCell)
+ }
+
+ // Accumulate the allocations for all runs to compare what the system does as a whole
+ // when routing from all vtgate cells
+ for uid, flow := range a.Allocation {
+ allocationPerTablet[uid] += flow
+ }
+ }
+
+ // Check that the allocations all add up
+ for _, tablet := range tablets {
+ uid := tablet.Tablet.Alias.Uid
+
+ allocation := allocationPerTablet[uid]
+ assert.InEpsilonf(t, expectedPerTablet, allocation, 0.01,
+ "did not allocate full allocation to tablet %d", uid)
+ }
+ }
+}
+
+func TestBalancedPick(t *testing.T) {
+ cases := []struct {
+ test string
+ tablets []*discovery.TabletHealth
+ vtgateCells []string
+ }{
+ {
+ "simple balanced",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("c"),
+ createTestTablet("d"),
+ },
+
+ []string{"a", "b", "c", "d"},
+ },
+ {
+ "simple unbalanced",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("c"),
+ createTestTablet("d"),
+ },
+
+ []string{"a", "b", "c", "d"},
+ },
+ {
+ "mixed unbalanced",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("c"),
+ createTestTablet("c"),
+ },
+
+ []string{"a", "b", "c", "d"},
+ },
+ {
+ "one target same cell",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ },
+
+ []string{"a"},
+ },
+ {
+ "one target other cell",
+ []*discovery.TabletHealth{
+ createTestTablet("a"),
+ },
+
+ []string{"b", "c", "d"},
+ },
+ }
+
+ target := &querypb.Target{Keyspace: "k", Shard: "s", TabletType: topodatapb.TabletType_REPLICA}
+ for _, c := range cases {
+ t.Logf("\n\nTest Case: %s\n\n", c.test)
+
+ tablets := c.tablets
+ vtGateCells := c.vtgateCells
+
+ // test unbalanced distribution
+
+ routed := make(map[uint32]int)
+
+ expectedPerCell := make(map[string]int)
+ for _, tablet := range tablets {
+ cell := tablet.Tablet.Alias.Cell
+ expectedPerCell[cell] += ALLOCATION / len(tablets)
+ }
+
+ // Run the algorithm a bunch of times to get a random enough sample
+ N := 1000000
+ for _, localCell := range vtGateCells {
+ b := NewTabletBalancer(localCell, vtGateCells).(*tabletBalancer)
+
+ for i := 0; i < N/len(vtGateCells); i++ {
+ th := b.Pick(target, tablets)
+ if i == 0 {
+ t.Logf("Target Flows %v, Balancer: %s\n", expectedPerCell, b.print())
+ }
+
+ routed[th.Tablet.Alias.Uid]++
+ }
+ }
+
+ expected := N / len(tablets)
+ delta := make(map[uint32]int)
+ for _, tablet := range tablets {
+ got := routed[tablet.Tablet.Alias.Uid]
+ delta[tablet.Tablet.Alias.Uid] = got - expected
+ assert.InEpsilonf(t, expected, got, 0.01,
+ "routing to tablet %d", tablet.Tablet.Alias.Uid)
+ }
+ }
+}
+
+func TestTopologyChanged(t *testing.T) {
+ allTablets := []*discovery.TabletHealth{
+ createTestTablet("a"),
+ createTestTablet("a"),
+ createTestTablet("b"),
+ createTestTablet("b"),
+ }
+ target := &querypb.Target{Keyspace: "k", Shard: "s", TabletType: topodatapb.TabletType_REPLICA}
+
+ b := NewTabletBalancer("b", []string{"a", "b"}).(*tabletBalancer)
+
+ N := 1
+
+ // initially create a slice of tablets with just the two in cell a
+ tablets := allTablets
+ tablets = tablets[0:2]
+
+ for i := 0; i < N; i++ {
+ th := b.Pick(target, tablets)
+ allocation, totalAllocation := b.getAllocation(target, tablets)
+
+ assert.Equalf(t, ALLOCATION/2, totalAllocation, "totalAllocation mismatch %s", b.print())
+ assert.Equalf(t, ALLOCATION/4, allocation[th.Tablet.Alias.Uid], "allocation mismatch %s, cell %s", b.print(), allTablets[0].Tablet.Alias.Cell)
+ assert.Equalf(t, "a", th.Tablet.Alias.Cell, "shuffle promoted wrong tablet from cell %s", allTablets[0].Tablet.Alias.Cell)
+ }
+
+ // Run again with the full topology. Now traffic should go to cell b
+ for i := 0; i < N; i++ {
+ th := b.Pick(target, allTablets)
+
+ allocation, totalAllocation := b.getAllocation(target, allTablets)
+
+ assert.Equalf(t, ALLOCATION/2, totalAllocation, "totalAllocation mismatch %s", b.print())
+ assert.Equalf(t, ALLOCATION/4, allocation[th.Tablet.Alias.Uid], "allocation mismatch %s, cell %s", b.print(), allTablets[0].Tablet.Alias.Cell)
+ assert.Equalf(t, "b", th.Tablet.Alias.Cell, "shuffle promoted wrong tablet from cell %s", allTablets[0].Tablet.Alias.Cell)
+ }
+
+ // Run again with a node in the topology replaced.
+ newTablet := createTestTablet("b")
+ allTablets[2] = newTablet
+ for i := 0; i < N; i++ {
+ th := b.Pick(target, allTablets)
+
+ allocation, totalAllocation := b.getAllocation(target, allTablets)
+
+ assert.Equalf(t, ALLOCATION/2, totalAllocation, "totalAllocation mismatch %s", b.print())
+ assert.Equalf(t, ALLOCATION/4, allocation[th.Tablet.Alias.Uid], "allocation mismatch %s, cell %s", b.print(), allTablets[0].Tablet.Alias.Cell)
+ assert.Equalf(t, "b", th.Tablet.Alias.Cell, "shuffle promoted wrong tablet from cell %s", allTablets[0].Tablet.Alias.Cell)
+ }
+
+}
diff --git a/go/vt/vtgate/endtoend/aggr_test.go b/go/vt/vtgate/endtoend/aggr_test.go
index b37697a72f4..402cecc0c6d 100644
--- a/go/vt/vtgate/endtoend/aggr_test.go
+++ b/go/vt/vtgate/endtoend/aggr_test.go
@@ -21,37 +21,35 @@ import (
"fmt"
"testing"
+ "github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/test/utils"
+
"vitess.io/vitess/go/mysql"
)
func TestAggregateTypes(t *testing.T) {
ctx := context.Background()
conn, err := mysql.Connect(ctx, &vtParams)
- if err != nil {
- t.Fatal(err)
- }
+ require.NoError(t, err)
defer conn.Close()
exec(t, conn, "insert into aggr_test(id, val1, val2) values(1,'a',1), (2,'A',1), (3,'b',1), (4,'c',3), (5,'c',4)")
exec(t, conn, "insert into aggr_test(id, val1, val2) values(6,'d',null), (7,'e',null), (8,'E',1)")
qr := exec(t, conn, "select val1, count(distinct val2), count(*) from aggr_test group by val1")
- if got, want := fmt.Sprintf("%v", qr.Rows), `[[VARCHAR("a") INT64(1) INT64(2)] [VARCHAR("b") INT64(1) INT64(1)] [VARCHAR("c") INT64(2) INT64(2)] [VARCHAR("d") INT64(0) INT64(1)] [VARCHAR("e") INT64(1) INT64(2)]]`; got != want {
- t.Errorf("select:\n%v want\n%v", got, want)
- }
+ want := `[[VARCHAR("a") INT64(1) INT64(2)] [VARCHAR("b") INT64(1) INT64(1)] [VARCHAR("c") INT64(2) INT64(2)] [VARCHAR("d") INT64(0) INT64(1)] [VARCHAR("e") INT64(1) INT64(2)]]`
+ utils.MustMatch(t, want, fmt.Sprintf("%v", qr.Rows))
qr = exec(t, conn, "select val1, sum(distinct val2), sum(val2) from aggr_test group by val1")
- if got, want := fmt.Sprintf("%v", qr.Rows), `[[VARCHAR("a") DECIMAL(1) DECIMAL(2)] [VARCHAR("b") DECIMAL(1) DECIMAL(1)] [VARCHAR("c") DECIMAL(7) DECIMAL(7)] [VARCHAR("d") NULL NULL] [VARCHAR("e") DECIMAL(1) DECIMAL(1)]]`; got != want {
- t.Errorf("select:\n%v want\n%v", got, want)
- }
+ want = `[[VARCHAR("a") DECIMAL(1) DECIMAL(2)] [VARCHAR("b") DECIMAL(1) DECIMAL(1)] [VARCHAR("c") DECIMAL(7) DECIMAL(7)] [VARCHAR("d") NULL NULL] [VARCHAR("e") DECIMAL(1) DECIMAL(1)]]`
+ utils.MustMatch(t, want, fmt.Sprintf("%v", qr.Rows))
qr = exec(t, conn, "select val1, count(distinct val2) k, count(*) from aggr_test group by val1 order by k desc, val1")
- if got, want := fmt.Sprintf("%v", qr.Rows), `[[VARCHAR("c") INT64(2) INT64(2)] [VARCHAR("a") INT64(1) INT64(2)] [VARCHAR("b") INT64(1) INT64(1)] [VARCHAR("e") INT64(1) INT64(2)] [VARCHAR("d") INT64(0) INT64(1)]]`; got != want {
- t.Errorf("select:\n%v want\n%v", got, want)
- }
+ want = `[[VARCHAR("c") INT64(2) INT64(2)] [VARCHAR("a") INT64(1) INT64(2)] [VARCHAR("b") INT64(1) INT64(1)] [VARCHAR("e") INT64(1) INT64(2)] [VARCHAR("d") INT64(0) INT64(1)]]`
+ utils.MustMatch(t, want, fmt.Sprintf("%v", qr.Rows))
qr = exec(t, conn, "select val1, count(distinct val2) k, count(*) from aggr_test group by val1 order by k desc, val1 limit 4")
- if got, want := fmt.Sprintf("%v", qr.Rows), `[[VARCHAR("c") INT64(2) INT64(2)] [VARCHAR("a") INT64(1) INT64(2)] [VARCHAR("b") INT64(1) INT64(1)] [VARCHAR("e") INT64(1) INT64(2)]]`; got != want {
- t.Errorf("select:\n%v want\n%v", got, want)
- }
+ want = `[[VARCHAR("c") INT64(2) INT64(2)] [VARCHAR("a") INT64(1) INT64(2)] [VARCHAR("b") INT64(1) INT64(1)] [VARCHAR("e") INT64(1) INT64(2)]]`
+ utils.MustMatch(t, want, fmt.Sprintf("%v", qr.Rows))
}
diff --git a/go/vt/vtgate/endtoend/vstream_test.go b/go/vt/vtgate/endtoend/vstream_test.go
index 246d17f88b5..8fed95f5d51 100644
--- a/go/vt/vtgate/endtoend/vstream_test.go
+++ b/go/vt/vtgate/endtoend/vstream_test.go
@@ -60,6 +60,7 @@ func initialize(ctx context.Context, t *testing.T) (*vtgateconn.VTGateConn, *mys
}
return gconn, conn, mconn, close
}
+
func TestVStream(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
@@ -186,7 +187,7 @@ func TestVStreamCopyBasic(t *testing.T) {
Lastpk: qr,
}}
var shardGtids []*binlogdatapb.ShardGtid
- var vgtid = &binlogdatapb.VGtid{}
+ vgtid := &binlogdatapb.VGtid{}
shardGtids = append(shardGtids, &binlogdatapb.ShardGtid{
Keyspace: "ks",
Shard: "-80",
@@ -264,20 +265,14 @@ func TestVStreamCopyUnspecifiedShardGtid(t *testing.T) {
defer cancel()
conn, err := mysql.Connect(ctx, &vtParams)
- if err != nil {
- require.NoError(t, err)
- }
+ require.NoError(t, err)
defer conn.Close()
_, err = conn.ExecuteFetch("insert into t1_copy_all(id1,id2) values(1,1), (2,2), (3,3), (4,4), (5,5), (6,6), (7,7), (8,8)", 1, false)
- if err != nil {
- require.NoError(t, err)
- }
+ require.NoError(t, err)
_, err = conn.ExecuteFetch("insert into t1_copy_all_ks2(id1,id2) values(10,10), (20,20)", 1, false)
- if err != nil {
- require.NoError(t, err)
- }
+ require.NoError(t, err)
filter := &binlogdatapb.Filter{
Rules: []*binlogdatapb.Rule{{
@@ -343,13 +338,11 @@ func TestVStreamCopyUnspecifiedShardGtid(t *testing.T) {
gconn, conn, mconn, closeConnections := initialize(ctx, t)
defer closeConnections()
- var vgtid = &binlogdatapb.VGtid{}
+ vgtid := &binlogdatapb.VGtid{}
vgtid.ShardGtids = []*binlogdatapb.ShardGtid{c.shardGtid}
reader, err := gconn.VStream(ctx, topodatapb.TabletType_PRIMARY, vgtid, filter, flags)
_, _ = conn, mconn
- if err != nil {
- require.NoError(t, err)
- }
+ require.NoError(t, err)
require.NotNil(t, reader)
var evs []*binlogdatapb.VEvent
var completedEvs []*binlogdatapb.VEvent
@@ -426,7 +419,7 @@ func TestVStreamCopyResume(t *testing.T) {
}
var shardGtids []*binlogdatapb.ShardGtid
- var vgtid = &binlogdatapb.VGtid{}
+ vgtid := &binlogdatapb.VGtid{}
shardGtids = append(shardGtids, &binlogdatapb.ShardGtid{
Keyspace: "ks",
Shard: "-80",
@@ -526,7 +519,7 @@ func TestVStreamCurrent(t *testing.T) {
defer closeConnections()
var shardGtids []*binlogdatapb.ShardGtid
- var vgtid = &binlogdatapb.VGtid{}
+ vgtid := &binlogdatapb.VGtid{}
shardGtids = append(shardGtids, &binlogdatapb.ShardGtid{
Keyspace: "ks",
Shard: "-80",
@@ -580,7 +573,7 @@ func TestVStreamSharded(t *testing.T) {
defer closeConnections()
var shardGtids []*binlogdatapb.ShardGtid
- var vgtid = &binlogdatapb.VGtid{}
+ vgtid := &binlogdatapb.VGtid{}
shardGtids = append(shardGtids, &binlogdatapb.ShardGtid{
Keyspace: "ks",
Shard: "-80",
@@ -665,7 +658,6 @@ func TestVStreamSharded(t *testing.T) {
t.Fatalf("remote error: %v\n", err)
}
}
-
}
// TestVStreamCopyTransactions tests that we are properly wrapping
@@ -822,9 +814,11 @@ type VEventSorter []*binlogdatapb.VEvent
func (v VEventSorter) Len() int {
return len(v)
}
+
func (v VEventSorter) Swap(i, j int) {
v[i], v[j] = v[j], v[i]
}
+
func (v VEventSorter) Less(i, j int) bool {
valsI := v[i].GetRowEvent().RowChanges[0].After
if valsI == nil {
diff --git a/go/vt/vtgate/engine/cached_size.go b/go/vt/vtgate/engine/cached_size.go
index af9780fe001..4c0d1009bd1 100644
--- a/go/vt/vtgate/engine/cached_size.go
+++ b/go/vt/vtgate/engine/cached_size.go
@@ -857,6 +857,40 @@ func (cached *Projection) CachedSize(alloc bool) int64 {
}
return size
}
+
+//go:nocheckptr
+func (cached *RecurseCTE) CachedSize(alloc bool) int64 {
+ if cached == nil {
+ return int64(0)
+ }
+ size := int64(0)
+ if alloc {
+ size += int64(48)
+ }
+ // field Seed vitess.io/vitess/go/vt/vtgate/engine.Primitive
+ if cc, ok := cached.Seed.(cachedObject); ok {
+ size += cc.CachedSize(true)
+ }
+ // field Term vitess.io/vitess/go/vt/vtgate/engine.Primitive
+ if cc, ok := cached.Term.(cachedObject); ok {
+ size += cc.CachedSize(true)
+ }
+ // field Vars map[string]int
+ if cached.Vars != nil {
+ size += int64(48)
+ hmap := reflect.ValueOf(cached.Vars)
+ numBuckets := int(math.Pow(2, float64((*(*uint8)(unsafe.Pointer(hmap.Pointer() + uintptr(9)))))))
+ numOldBuckets := (*(*uint16)(unsafe.Pointer(hmap.Pointer() + uintptr(10))))
+ size += hack.RuntimeAllocSize(int64(numOldBuckets * 208))
+ if len(cached.Vars) > 0 || numBuckets > 1 {
+ size += hack.RuntimeAllocSize(int64(numBuckets * 208))
+ }
+ for k := range cached.Vars {
+ size += hack.RuntimeAllocSize(int64(len(k)))
+ }
+ }
+ return size
+}
func (cached *RenameFields) CachedSize(alloc bool) int64 {
if cached == nil {
return int64(0)
@@ -1299,8 +1333,10 @@ func (cached *TransactionStatus) CachedSize(alloc bool) int64 {
}
size := int64(0)
if alloc {
- size += int64(16)
+ size += int64(32)
}
+ // field Keyspace string
+ size += hack.RuntimeAllocSize(int64(len(cached.Keyspace)))
// field TransactionID string
size += hack.RuntimeAllocSize(int64(len(cached.TransactionID)))
return size
@@ -1561,6 +1597,24 @@ func (cached *VitessMetadata) CachedSize(alloc bool) int64 {
size += hack.RuntimeAllocSize(int64(len(cached.Value)))
return size
}
+func (cached *percentBasedMirror) CachedSize(alloc bool) int64 {
+ if cached == nil {
+ return int64(0)
+ }
+ size := int64(0)
+ if alloc {
+ size += int64(48)
+ }
+ // field primitive vitess.io/vitess/go/vt/vtgate/engine.Primitive
+ if cc, ok := cached.primitive.(cachedObject); ok {
+ size += cc.CachedSize(true)
+ }
+ // field target vitess.io/vitess/go/vt/vtgate/engine.Primitive
+ if cc, ok := cached.target.(cachedObject); ok {
+ size += cc.CachedSize(true)
+ }
+ return size
+}
//go:nocheckptr
func (cached *shardRoute) CachedSize(alloc bool) int64 {
diff --git a/go/vt/vtgate/engine/concatenate.go b/go/vt/vtgate/engine/concatenate.go
index 13727124e78..eb93711eed2 100644
--- a/go/vt/vtgate/engine/concatenate.go
+++ b/go/vt/vtgate/engine/concatenate.go
@@ -102,12 +102,14 @@ func (c *Concatenate) TryExecute(ctx context.Context, vcursor VCursor, bindVars
}
var rows [][]sqltypes.Value
- err = c.coerceAndVisitResults(res, fieldTypes, func(result *sqltypes.Result) error {
+ callback := func(result *sqltypes.Result) error {
rows = append(rows, result.Rows...)
return nil
- }, evalengine.ParseSQLMode(vcursor.SQLMode()))
- if err != nil {
- return nil, err
+ }
+ for _, r := range res {
+ if err = c.coerceAndVisitResultsForOneSource([]*sqltypes.Result{r}, fields, fieldTypes, callback, evalengine.ParseSQLMode(vcursor.SQLMode())); err != nil {
+ return nil, err
+ }
}
return &sqltypes.Result{
@@ -245,12 +247,14 @@ func (c *Concatenate) parallelStreamExec(inCtx context.Context, vcursor VCursor,
// Mutexes for dealing with concurrent access to shared state.
var (
- muCallback sync.Mutex // Protects callback
- muFields sync.Mutex // Protects field state
- condFields = sync.NewCond(&muFields) // Condition var for field arrival
- wg errgroup.Group // Wait group for all streaming goroutines
- rest = make([]*sqltypes.Result, len(c.Sources)) // Collects first result from each source to derive fields
- fieldTypes []evalengine.Type // Cached final field types
+ muCallback sync.Mutex // Protects callback
+ muFields sync.Mutex // Protects field state
+ condFields = sync.NewCond(&muFields) // Condition var for field arrival
+ wg errgroup.Group // Wait group for all streaming goroutines
+ rest = make([]*sqltypes.Result, len(c.Sources)) // Collects first result from each source to derive fields
+ fieldTypes []evalengine.Type // Cached final field types
+ resultFields []*querypb.Field // Final fields that need to be set for the first result.
+ needsCoercion = make([]bool, len(c.Sources)) // Tracks if coercion is needed for each individual source
)
// Process each result chunk, considering type coercion.
@@ -258,19 +262,8 @@ func (c *Concatenate) parallelStreamExec(inCtx context.Context, vcursor VCursor,
muCallback.Lock()
defer muCallback.Unlock()
- // Check if type coercion needed for this source.
- // We only need to check if fields are not in NoNeedToTypeCheck set.
- needsCoercion := false
- for idx, field := range rest[srcIdx].Fields {
- _, skip := c.NoNeedToTypeCheck[idx]
- if !skip && fieldTypes[idx].Type() != field.Type {
- needsCoercion = true
- break
- }
- }
-
// Apply type coercion if needed.
- if needsCoercion {
+ if needsCoercion[srcIdx] {
for _, row := range res.Rows {
if err := c.coerceValuesTo(row, fieldTypes, sqlmode); err != nil {
return err
@@ -296,12 +289,29 @@ func (c *Concatenate) parallelStreamExec(inCtx context.Context, vcursor VCursor,
if !slices.Contains(rest, nil) {
// We have received fields from all sources. We can now calculate the output types
var err error
- resultChunk.Fields, fieldTypes, err = c.getFieldTypes(vcursor, rest)
+ resultFields, fieldTypes, err = c.getFieldTypes(vcursor, rest)
if err != nil {
muFields.Unlock()
return err
}
+ // Check if we need coercion for each source.
+ for srcIdx, result := range rest {
+ srcNeedsCoercion := false
+ for idx, field := range result.Fields {
+ _, skip := c.NoNeedToTypeCheck[idx]
+ // We only need to check if fields are not in NoNeedToTypeCheck set.
+ if !skip && fieldTypes[idx].Type() != field.Type {
+ srcNeedsCoercion = true
+ break
+ }
+ }
+ needsCoercion[srcIdx] = srcNeedsCoercion
+ }
+
+ // We only need to send the fields in the first result.
+ // We set this field after the coercion check to avoid calculating incorrect needs coercion value.
+ resultChunk.Fields = resultFields
muFields.Unlock()
defer condFields.Broadcast()
return callback(resultChunk, currIndex)
@@ -310,8 +320,11 @@ func (c *Concatenate) parallelStreamExec(inCtx context.Context, vcursor VCursor,
// Wait for fields from all sources.
for slices.Contains(rest, nil) {
+ // This wait call lets go of the muFields lock and acquires it again later after waiting.
condFields.Wait()
}
+ // We only need to send fields in the first result.
+ resultChunk.Fields = nil
muFields.Unlock()
// Context check to avoid extra work.
@@ -368,12 +381,12 @@ func (c *Concatenate) sequentialStreamExec(ctx context.Context, vcursor VCursor,
firsts[i] = result[0]
}
- _, fieldTypes, err := c.getFieldTypes(vcursor, firsts)
+ fields, fieldTypes, err := c.getFieldTypes(vcursor, firsts)
if err != nil {
return err
}
for _, res := range results {
- if err = c.coerceAndVisitResults(res, fieldTypes, callback, sqlmode); err != nil {
+ if err = c.coerceAndVisitResultsForOneSource(res, fields, fieldTypes, callback, sqlmode); err != nil {
return err
}
}
@@ -381,25 +394,33 @@ func (c *Concatenate) sequentialStreamExec(ctx context.Context, vcursor VCursor,
return nil
}
-func (c *Concatenate) coerceAndVisitResults(
+func (c *Concatenate) coerceAndVisitResultsForOneSource(
res []*sqltypes.Result,
+ fields []*querypb.Field,
fieldTypes []evalengine.Type,
callback func(*sqltypes.Result) error,
sqlmode evalengine.SQLMode,
) error {
+ if len(res) == 0 {
+ return nil
+ }
+ needsCoercion := false
+ for idx, field := range res[0].Fields {
+ if fieldTypes[idx].Type() != field.Type {
+ needsCoercion = true
+ break
+ }
+ }
+ if res[0].Fields != nil {
+ res[0].Fields = fields
+ }
+
for _, r := range res {
if len(r.Rows) > 0 &&
len(fieldTypes) != len(r.Rows[0]) {
return errWrongNumberOfColumnsInSelect
}
- needsCoercion := false
- for idx, field := range r.Fields {
- if fieldTypes[idx].Type() != field.Type {
- needsCoercion = true
- break
- }
- }
if needsCoercion {
for _, row := range r.Rows {
err := c.coerceValuesTo(row, fieldTypes, sqlmode)
diff --git a/go/vt/vtgate/engine/concatenate_test.go b/go/vt/vtgate/engine/concatenate_test.go
index dd2b1300e9b..39b9ed961b3 100644
--- a/go/vt/vtgate/engine/concatenate_test.go
+++ b/go/vt/vtgate/engine/concatenate_test.go
@@ -124,27 +124,24 @@ func TestConcatenate_NoErrors(t *testing.T) {
if !tx {
txStr = "NotInTx"
}
- t.Run(fmt.Sprintf("%s-%s-Exec", txStr, tc.testName), func(t *testing.T) {
- qr, err := concatenate.TryExecute(context.Background(), vcursor, nil, true)
+ checkResult := func(t *testing.T, qr *sqltypes.Result, err error) {
if tc.expectedError == "" {
require.NoError(t, err)
utils.MustMatch(t, tc.expectedResult.Fields, qr.Fields, "fields")
- utils.MustMatch(t, tc.expectedResult.Rows, qr.Rows)
+ require.NoError(t, sqltypes.RowsEquals(tc.expectedResult.Rows, qr.Rows))
} else {
require.Error(t, err)
require.Contains(t, err.Error(), tc.expectedError)
}
+ }
+ t.Run(fmt.Sprintf("%s-%s-Exec", txStr, tc.testName), func(t *testing.T) {
+ qr, err := concatenate.TryExecute(context.Background(), vcursor, nil, true)
+ checkResult(t, qr, err)
})
t.Run(fmt.Sprintf("%s-%s-StreamExec", txStr, tc.testName), func(t *testing.T) {
qr, err := wrapStreamExecute(concatenate, vcursor, nil, true)
- if tc.expectedError == "" {
- require.NoError(t, err)
- require.NoError(t, sqltypes.RowsEquals(tc.expectedResult.Rows, qr.Rows))
- } else {
- require.Error(t, err)
- require.Contains(t, err.Error(), tc.expectedError)
- }
+ checkResult(t, qr, err)
})
}
}
diff --git a/go/vt/vtgate/engine/dbddl.go b/go/vt/vtgate/engine/dbddl.go
index 60bb4a7202b..7783e6bdc12 100644
--- a/go/vt/vtgate/engine/dbddl.go
+++ b/go/vt/vtgate/engine/dbddl.go
@@ -55,6 +55,8 @@ type DBDDLPlugin interface {
DropDatabase(ctx context.Context, name string) error
}
+const dbDDLDefaultTimeout = 500 * time.Millisecond
+
// DBDDL is just a container around custom database provisioning plugins
// The default behaviour is to just return an error
type DBDDL struct {
@@ -102,8 +104,12 @@ func (c *DBDDL) TryExecute(ctx context.Context, vcursor VCursor, bindVars map[st
log.Errorf("'%s' database ddl plugin is not registered. Falling back to default plugin", name)
plugin = databaseCreatorPlugins[defaultDBDDLPlugin]
}
- ctx, cancelFunc := addQueryTimeout(ctx, vcursor, c.queryTimeout)
- defer cancelFunc()
+
+ if c.queryTimeout > 0 {
+ var cancel context.CancelFunc
+ ctx, cancel = context.WithTimeout(ctx, time.Duration(c.queryTimeout)*time.Millisecond)
+ defer cancel()
+ }
if c.create {
return c.createDatabase(ctx, vcursor, plugin)
@@ -125,9 +131,9 @@ func (c *DBDDL) createDatabase(ctx context.Context, vcursor VCursor, plugin DBDD
break
}
select {
- case <-ctx.Done(): //context cancelled
+ case <-ctx.Done(): // context cancelled
return nil, vterrors.Errorf(vtrpc.Code_DEADLINE_EXCEEDED, "could not validate create database: destination not resolved")
- case <-time.After(500 * time.Millisecond): //timeout
+ case <-time.After(dbDDLDefaultTimeout): // timeout
}
}
var queries []*querypb.BoundQuery
@@ -146,9 +152,9 @@ func (c *DBDDL) createDatabase(ctx context.Context, vcursor VCursor, plugin DBDD
if err != nil {
noErr = false
select {
- case <-ctx.Done(): //context cancelled
+ case <-ctx.Done(): // context cancelled
return nil, vterrors.Errorf(vtrpc.Code_DEADLINE_EXCEEDED, "could not validate create database: tablets not healthy")
- case <-time.After(500 * time.Millisecond): //timeout
+ case <-time.After(dbDDLDefaultTimeout): // timeout
}
break
}
@@ -167,9 +173,9 @@ func (c *DBDDL) dropDatabase(ctx context.Context, vcursor VCursor, plugin DBDDLP
}
for vcursor.KeyspaceAvailable(c.name) {
select {
- case <-ctx.Done(): //context cancelled
+ case <-ctx.Done(): // context cancelled
return nil, vterrors.Errorf(vtrpc.Code_DEADLINE_EXCEEDED, "could not validate drop database: keyspace still available in vschema")
- case <-time.After(500 * time.Millisecond): //timeout
+ case <-time.After(dbDDLDefaultTimeout): // timeout
}
}
diff --git a/go/vt/vtgate/engine/delete.go b/go/vt/vtgate/engine/delete.go
index 6e354aae5f5..91bcca5cf6a 100644
--- a/go/vt/vtgate/engine/delete.go
+++ b/go/vt/vtgate/engine/delete.go
@@ -42,9 +42,6 @@ type Delete struct {
// TryExecute performs a non-streaming exec.
func (del *Delete) TryExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, _ bool) (*sqltypes.Result, error) {
- ctx, cancelFunc := addQueryTimeout(ctx, vcursor, del.QueryTimeout)
- defer cancelFunc()
-
rss, bvs, err := del.findRoute(ctx, vcursor, bindVars)
if err != nil {
return nil, err
diff --git a/go/vt/vtgate/engine/fake_primitive_test.go b/go/vt/vtgate/engine/fake_primitive_test.go
index e992c2a4623..b878c1931c0 100644
--- a/go/vt/vtgate/engine/fake_primitive_test.go
+++ b/go/vt/vtgate/engine/fake_primitive_test.go
@@ -24,6 +24,7 @@ import (
"testing"
"golang.org/x/sync/errgroup"
+ "google.golang.org/protobuf/proto"
"vitess.io/vitess/go/sqltypes"
querypb "vitess.io/vitess/go/vt/proto/query"
@@ -80,7 +81,7 @@ func (f *fakePrimitive) TryExecute(ctx context.Context, vcursor VCursor, bindVar
if r == nil {
return nil, f.sendErr
}
- return r, nil
+ return r.Copy(), nil
}
func (f *fakePrimitive) TryStreamExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool, callback func(*sqltypes.Result) error) error {
@@ -111,7 +112,7 @@ func (f *fakePrimitive) syncCall(wantfields bool, callback func(*sqltypes.Result
}
result := &sqltypes.Result{}
for i := 0; i < len(r.Rows); i++ {
- result.Rows = append(result.Rows, r.Rows[i])
+ result.Rows = append(result.Rows, sqltypes.CopyRow(r.Rows[i]))
// Send only two rows at a time.
if i%2 == 1 {
if err := callback(result); err != nil {
@@ -188,6 +189,15 @@ func wrapStreamExecute(prim Primitive, vcursor VCursor, bindVars map[string]*que
if result == nil {
result = r
} else {
+ if r.Fields != nil {
+ for i, field := range r.Fields {
+ aField := field
+ bField := result.Fields[i]
+ if !proto.Equal(aField, bField) {
+ return fmt.Errorf("fields differ: %s <> %s", aField.String(), bField.String())
+ }
+ }
+ }
result.Rows = append(result.Rows, r.Rows...)
}
return nil
diff --git a/go/vt/vtgate/engine/fake_vcursor_test.go b/go/vt/vtgate/engine/fake_vcursor_test.go
index 653bcf64576..f0b11b7a3ac 100644
--- a/go/vt/vtgate/engine/fake_vcursor_test.go
+++ b/go/vt/vtgate/engine/fake_vcursor_test.go
@@ -46,17 +46,25 @@ import (
vtgatepb "vitess.io/vitess/go/vt/proto/vtgate"
)
-var testMaxMemoryRows = 100
-var testIgnoreMaxMemoryRows = false
+var (
+ testMaxMemoryRows = 100
+ testIgnoreMaxMemoryRows = false
+)
-var _ VCursor = (*noopVCursor)(nil)
-var _ SessionActions = (*noopVCursor)(nil)
+var (
+ _ VCursor = (*noopVCursor)(nil)
+ _ SessionActions = (*noopVCursor)(nil)
+)
// noopVCursor is used to build other vcursors.
type noopVCursor struct {
inTx bool
}
+func (t *noopVCursor) SetExecQueryTimeout(timeout *int) {
+ panic("implement me")
+}
+
// MySQLVersion implements VCursor.
func (t *noopVCursor) Commit(ctx context.Context) error {
return nil
@@ -112,10 +120,22 @@ func (t *noopVCursor) CloneForReplicaWarming(ctx context.Context) VCursor {
panic("implement me")
}
+func (t *noopVCursor) CloneForMirroring(ctx context.Context) VCursor {
+ panic("implement me")
+}
+
func (t *noopVCursor) ReadTransaction(ctx context.Context, transactionID string) (*querypb.TransactionMetadata, error) {
panic("implement me")
}
+func (t *noopVCursor) UnresolvedTransactions(ctx context.Context, keyspace string) ([]*querypb.TransactionMetadata, error) {
+ panic("implement me")
+}
+
+func (t *noopVCursor) StartPrimitiveTrace() func() Stats {
+ panic("implement me")
+}
+
func (t *noopVCursor) SetExec(ctx context.Context, name string, value string) error {
panic("implement me")
}
@@ -293,10 +313,6 @@ func (t *noopVCursor) SetClientFoundRows(context.Context, bool) error {
func (t *noopVCursor) SetQueryTimeout(maxExecutionTime int64) {
}
-func (t *noopVCursor) GetQueryTimeout(queryTimeoutFromComments int) int {
- return queryTimeoutFromComments
-}
-
func (t *noopVCursor) SetSkipQueryPlanCache(context.Context, bool) error {
panic("implement me")
}
@@ -384,8 +400,10 @@ func (t *noopVCursor) GetDBDDLPluginName() string {
panic("unimplemented")
}
-var _ VCursor = (*loggingVCursor)(nil)
-var _ SessionActions = (*loggingVCursor)(nil)
+var (
+ _ VCursor = (*loggingVCursor)(nil)
+ _ SessionActions = (*loggingVCursor)(nil)
+)
// loggingVCursor logs requests and allows you to verify
// that the correct requests were made.
@@ -402,7 +420,7 @@ type loggingVCursor struct {
resultErr error
warnings []*querypb.QueryWarning
- transactionStatusOutput *querypb.TransactionMetadata
+ transactionStatusOutput []*querypb.TransactionMetadata
// Optional errors that can be returned from nextResult() alongside the results for
// multi-shard queries
@@ -426,6 +444,10 @@ type loggingVCursor struct {
shardSession []*srvtopo.ResolvedShard
parser *sqlparser.Parser
+
+ handleMirrorClonesFn func(context.Context) VCursor
+ onExecuteMultiShardFn func(context.Context, Primitive, []*srvtopo.ResolvedShard, []*querypb.BoundQuery, bool, bool)
+ onStreamExecuteMultiFn func(context.Context, Primitive, string, []*srvtopo.ResolvedShard, []map[string]*querypb.BindVariable, bool, bool, func(*sqltypes.Result) error)
}
func (f *loggingVCursor) HasCreatedTempTable() {
@@ -541,6 +563,13 @@ func (f *loggingVCursor) CloneForReplicaWarming(ctx context.Context) VCursor {
return f
}
+func (f *loggingVCursor) CloneForMirroring(ctx context.Context) VCursor {
+ if f.handleMirrorClonesFn != nil {
+ return f.handleMirrorClonesFn(ctx)
+ }
+ panic("no mirror clones available")
+}
+
func (f *loggingVCursor) Execute(ctx context.Context, method string, query string, bindvars map[string]*querypb.BindVariable, rollbackOnError bool, co vtgatepb.CommitOrder) (*sqltypes.Result, error) {
name := "Unknown"
switch co {
@@ -558,7 +587,12 @@ func (f *loggingVCursor) Execute(ctx context.Context, method string, query strin
}
func (f *loggingVCursor) ExecuteMultiShard(ctx context.Context, primitive Primitive, rss []*srvtopo.ResolvedShard, queries []*querypb.BoundQuery, rollbackOnError, canAutocommit bool) (*sqltypes.Result, []error) {
+ f.mu.Lock()
+ defer f.mu.Unlock()
f.log = append(f.log, fmt.Sprintf("ExecuteMultiShard %v%v %v", printResolvedShardQueries(rss, queries), rollbackOnError, canAutocommit))
+ if f.onExecuteMultiShardFn != nil {
+ f.onExecuteMultiShardFn(ctx, primitive, rss, queries, rollbackOnError, canAutocommit)
+ }
res, err := f.nextResult()
if err != nil {
return nil, []error{err}
@@ -579,6 +613,9 @@ func (f *loggingVCursor) ExecuteStandalone(ctx context.Context, primitive Primit
func (f *loggingVCursor) StreamExecuteMulti(ctx context.Context, primitive Primitive, query string, rss []*srvtopo.ResolvedShard, bindVars []map[string]*querypb.BindVariable, rollbackOnError bool, autocommit bool, callback func(reply *sqltypes.Result) error) []error {
f.mu.Lock()
f.log = append(f.log, fmt.Sprintf("StreamExecuteMulti %s %s", query, printResolvedShardsBindVars(rss, bindVars)))
+ if f.onStreamExecuteMultiFn != nil {
+ f.onStreamExecuteMultiFn(ctx, primitive, query, rss, bindVars, rollbackOnError, autocommit, callback)
+ }
r, err := f.nextResult()
f.mu.Unlock()
if err != nil {
@@ -730,6 +767,8 @@ func (f *loggingVCursor) ResolveDestinationsMultiCol(ctx context.Context, keyspa
func (f *loggingVCursor) ExpectLog(t *testing.T, want []string) {
t.Helper()
+ f.mu.Lock()
+ defer f.mu.Unlock()
if len(f.log) == 0 && len(want) == 0 {
return
}
@@ -747,6 +786,8 @@ func (f *loggingVCursor) ExpectWarnings(t *testing.T, want []*querypb.QueryWarni
}
func (f *loggingVCursor) Rewind() {
+ f.mu.Lock()
+ defer f.mu.Unlock()
f.curShardForKsid = 0
f.curResult = 0
f.log = nil
@@ -820,6 +861,17 @@ func (f *loggingVCursor) CanUseSetVar() bool {
}
func (f *loggingVCursor) ReadTransaction(_ context.Context, _ string) (*querypb.TransactionMetadata, error) {
+ if f.resultErr != nil {
+ return nil, f.resultErr
+ }
+ var out *querypb.TransactionMetadata
+ if len(f.transactionStatusOutput) > 0 {
+ out = f.transactionStatusOutput[0]
+ }
+ return out, nil
+}
+
+func (f *loggingVCursor) UnresolvedTransactions(_ context.Context, _ string) ([]*querypb.TransactionMetadata, error) {
if f.resultErr != nil {
return nil, f.resultErr
}
@@ -839,6 +891,7 @@ func (t *noopVCursor) DisableLogging() {}
func (t *noopVCursor) GetVExplainLogs() []ExecuteEntry {
return nil
}
+
func (t *noopVCursor) GetLogs() ([]ExecuteEntry, error) {
return nil, nil
}
diff --git a/go/vt/vtgate/engine/insert.go b/go/vt/vtgate/engine/insert.go
index af2d290d957..cd462966ccc 100644
--- a/go/vt/vtgate/engine/insert.go
+++ b/go/vt/vtgate/engine/insert.go
@@ -112,9 +112,6 @@ func (ins *Insert) RouteType() string {
// TryExecute performs a non-streaming exec.
func (ins *Insert) TryExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, _ bool) (*sqltypes.Result, error) {
- ctx, cancelFunc := addQueryTimeout(ctx, vcursor, ins.QueryTimeout)
- defer cancelFunc()
-
switch ins.Opcode {
case InsertUnsharded:
return ins.insertIntoUnshardedTable(ctx, vcursor, bindVars)
diff --git a/go/vt/vtgate/engine/insert_select.go b/go/vt/vtgate/engine/insert_select.go
index 88767420508..f8f3936e323 100644
--- a/go/vt/vtgate/engine/insert_select.go
+++ b/go/vt/vtgate/engine/insert_select.go
@@ -22,6 +22,7 @@ import (
"fmt"
"strconv"
"sync"
+ "time"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/vt/key"
@@ -93,9 +94,6 @@ func (ins *InsertSelect) RouteType() string {
// TryExecute performs a non-streaming exec.
func (ins *InsertSelect) TryExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, _ bool) (*sqltypes.Result, error) {
- ctx, cancelFunc := addQueryTimeout(ctx, vcursor, ins.QueryTimeout)
- defer cancelFunc()
-
if ins.Keyspace.Sharded {
return ins.execInsertSharded(ctx, vcursor, bindVars)
}
@@ -111,8 +109,11 @@ func (ins *InsertSelect) TryStreamExecute(ctx context.Context, vcursor VCursor,
}
return callback(res)
}
- ctx, cancelFunc := addQueryTimeout(ctx, vcursor, ins.QueryTimeout)
- defer cancelFunc()
+ if ins.QueryTimeout > 0 {
+ var cancel context.CancelFunc
+ ctx, cancel = context.WithTimeout(ctx, time.Duration(ins.QueryTimeout)*time.Millisecond)
+ defer cancel()
+ }
sharded := ins.Keyspace.Sharded
output := &sqltypes.Result{}
diff --git a/go/vt/vtgate/engine/mirror.go b/go/vt/vtgate/engine/mirror.go
new file mode 100644
index 00000000000..89e70ebd695
--- /dev/null
+++ b/go/vt/vtgate/engine/mirror.go
@@ -0,0 +1,152 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package engine
+
+import (
+ "context"
+ "math/rand/v2"
+ "time"
+
+ "vitess.io/vitess/go/sqltypes"
+ querypb "vitess.io/vitess/go/vt/proto/query"
+)
+
+type (
+ // percentBasedMirror represents the instructions to execute an
+ // authoritative primitive and, based on whether a die-roll exceeds a
+ // percentage, to also execute a target Primitive.
+ percentBasedMirror struct {
+ percent float32
+ primitive Primitive
+ target Primitive
+ }
+)
+
+const (
+ // maxMirrorTargetLag limits how long a mirror target may continue
+ // executing after the main primitive has finished.
+ maxMirrorTargetLag = 100 * time.Millisecond
+)
+
+var _ Primitive = (*percentBasedMirror)(nil)
+
+// NewPercentBasedMirror creates a Mirror.
+func NewPercentBasedMirror(percentage float32, primitive Primitive, target Primitive) Primitive {
+ return &percentBasedMirror{percent: percentage, primitive: primitive, target: target}
+}
+
+func (m *percentBasedMirror) RouteType() string {
+ return "Mirror"
+}
+
+func (m *percentBasedMirror) GetKeyspaceName() string {
+ return m.primitive.GetKeyspaceName()
+}
+
+func (m *percentBasedMirror) GetTableName() string {
+ return m.primitive.GetTableName()
+}
+
+func (m *percentBasedMirror) GetFields(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable) (*sqltypes.Result, error) {
+ return m.primitive.GetFields(ctx, vcursor, bindVars)
+}
+
+func (m *percentBasedMirror) NeedsTransaction() bool {
+ return m.primitive.NeedsTransaction()
+}
+
+func (m *percentBasedMirror) TryExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool) (*sqltypes.Result, error) {
+ if !m.percentAtLeastDieRoll() {
+ return vcursor.ExecutePrimitive(ctx, m.primitive, bindVars, wantfields)
+ }
+
+ mirrorCh := make(chan any)
+ mirrorCtx, mirrorCtxCancel := context.WithTimeout(ctx, maxMirrorTargetLag)
+ defer mirrorCtxCancel()
+
+ go func() {
+ defer close(mirrorCh)
+ mirrorVCursor := vcursor.CloneForMirroring(mirrorCtx)
+ // TODO(maxeng) handle error.
+ _, _ = mirrorVCursor.ExecutePrimitive(mirrorCtx, m.target, bindVars, wantfields)
+ }()
+
+ r, err := vcursor.ExecutePrimitive(ctx, m.primitive, bindVars, wantfields)
+
+ select {
+ case <-mirrorCh:
+ // Mirroring completed within the allowed time.
+ case <-mirrorCtx.Done():
+ // Mirroring took too long and was canceled.
+ }
+
+ return r, err
+}
+
+func (m *percentBasedMirror) TryStreamExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool, callback func(*sqltypes.Result) error) error {
+ if !m.percentAtLeastDieRoll() {
+ return vcursor.StreamExecutePrimitive(ctx, m.primitive, bindVars, wantfields, callback)
+ }
+
+ mirrorCh := make(chan any)
+ mirrorCtx, mirrorCtxCancel := context.WithTimeout(ctx, maxMirrorTargetLag)
+ defer mirrorCtxCancel()
+
+ go func() {
+ defer close(mirrorCh)
+ mirrorVCursor := vcursor.CloneForMirroring(mirrorCtx)
+ // TODO(maxeng) handle error.
+ _ = mirrorVCursor.StreamExecutePrimitive(
+ mirrorCtx, m.target, bindVars, wantfields, func(_ *sqltypes.Result,
+ ) error {
+ return nil
+ })
+ }()
+
+ err := vcursor.StreamExecutePrimitive(ctx, m.primitive, bindVars, wantfields, callback)
+
+ select {
+ case <-mirrorCh:
+ // Mirroring completed within the allowed time.
+ case <-mirrorCtx.Done():
+ // Mirroring took too long and was canceled.
+ }
+
+ return err
+}
+
+// Inputs is a slice containing the inputs to this Primitive.
+// The returned map has additional information about the inputs, that is used in the description.
+func (m *percentBasedMirror) Inputs() ([]Primitive, []map[string]any) {
+ return []Primitive{m.primitive, m.target}, nil
+}
+
+// description is the description, sans the inputs, of this Primitive.
+// to get the plan description with all children, use PrimitiveToPlanDescription()
+func (m *percentBasedMirror) description() PrimitiveDescription {
+ return PrimitiveDescription{
+ OperatorType: "Mirror",
+ Variant: "PercentBased",
+ Other: map[string]any{
+ "Percent": m.percent,
+ },
+ }
+}
+
+func (m *percentBasedMirror) percentAtLeastDieRoll() bool {
+ return m.percent >= (rand.Float32() * 100.0)
+}
diff --git a/go/vt/vtgate/engine/mirror_test.go b/go/vt/vtgate/engine/mirror_test.go
new file mode 100644
index 00000000000..b9e442df32d
--- /dev/null
+++ b/go/vt/vtgate/engine/mirror_test.go
@@ -0,0 +1,376 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package engine
+
+import (
+ "context"
+ "fmt"
+ "sync"
+ "testing"
+ "time"
+
+ "github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/sqltypes"
+ querypb "vitess.io/vitess/go/vt/proto/query"
+ "vitess.io/vitess/go/vt/srvtopo"
+ "vitess.io/vitess/go/vt/vtgate/evalengine"
+ "vitess.io/vitess/go/vt/vtgate/vindexes"
+)
+
+func TestMirror(t *testing.T) {
+ vindex, _ := vindexes.CreateVindex("xxhash", "xxhash_vdx", nil)
+
+ primitive := NewRoute(
+ Unsharded,
+ &vindexes.Keyspace{
+ Name: "ks1",
+ },
+ "select f.bar from foo f where f.id = 1",
+ "select 1 from foo f where f.id = 1 and 1 != 1",
+ )
+
+ mirrorPrimitive1 := NewRoute(
+ EqualUnique,
+ &vindexes.Keyspace{
+ Name: "ks2",
+ Sharded: true,
+ },
+ "select f.bar from foo f where f.id = 1",
+ "select 1 from foo f where f.id = 1 and 1 != 1",
+ )
+ mirrorPrimitive1.Vindex = vindex.(vindexes.SingleColumn)
+ mirrorPrimitive1.Values = []evalengine.Expr{
+ evalengine.NewLiteralInt(1),
+ }
+
+ mirror := NewPercentBasedMirror(100, primitive, mirrorPrimitive1)
+
+ mirrorVC := &loggingVCursor{
+ shards: []string{"-20", "20-"},
+ ksShardMap: map[string][]string{
+ "ks2": {"-20", "20-"},
+ },
+ results: []*sqltypes.Result{
+ sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "bar",
+ "varchar",
+ ),
+ "hello",
+ ),
+ },
+ }
+
+ vc := &loggingVCursor{
+ shards: []string{"0"},
+ ksShardMap: map[string][]string{
+ "ks1": {"0"},
+ },
+ results: []*sqltypes.Result{
+ sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "bar",
+ "varchar",
+ ),
+ "hello",
+ ),
+ },
+ handleMirrorClonesFn: func(ctx context.Context) VCursor {
+ return mirrorVC
+ },
+ }
+
+ t.Run("TryExecute success", func(t *testing.T) {
+ defer func() {
+ vc.Rewind()
+ mirrorVC.Rewind()
+ }()
+
+ want := vc.results[0]
+ res, err := mirror.TryExecute(context.Background(), vc, map[string]*querypb.BindVariable{}, true)
+ require.Equal(t, want, res)
+ require.NoError(t, err)
+
+ vc.ExpectLog(t, []string{
+ "ResolveDestinations ks1 [] Destinations:DestinationAllShards()",
+ "ExecuteMultiShard ks1.0: select f.bar from foo f where f.id = 1 {} false false",
+ })
+ mirrorVC.ExpectLog(t, []string{
+ `ResolveDestinations ks2 [type:INT64 value:"1"] Destinations:DestinationKeyspaceID(d46405367612b4b7)`,
+ "ExecuteMultiShard ks2.-20: select f.bar from foo f where f.id = 1 {} false false",
+ })
+ })
+
+ t.Run("TryExecute return primitive error", func(t *testing.T) {
+ results := vc.results
+
+ defer func() {
+ vc.Rewind()
+ vc.results = results
+ vc.resultErr = nil
+ mirrorVC.Rewind()
+ }()
+
+ vc.results = nil
+ vc.resultErr = fmt.Errorf("return me")
+
+ ctx := context.Background()
+ res, err := mirror.TryExecute(ctx, vc, map[string]*querypb.BindVariable{}, true)
+ require.Nil(t, res)
+ require.Error(t, err)
+ require.Equal(t, vc.resultErr, err)
+
+ vc.ExpectLog(t, []string{
+ "ResolveDestinations ks1 [] Destinations:DestinationAllShards()",
+ "ExecuteMultiShard ks1.0: select f.bar from foo f where f.id = 1 {} false false",
+ })
+ mirrorVC.ExpectLog(t, []string{
+ `ResolveDestinations ks2 [type:INT64 value:"1"] Destinations:DestinationKeyspaceID(d46405367612b4b7)`,
+ "ExecuteMultiShard ks2.-20: select f.bar from foo f where f.id = 1 {} false false",
+ })
+ })
+
+ t.Run("TryExecute ignore mirror target error", func(t *testing.T) {
+ results := mirrorVC.results
+
+ defer func() {
+ vc.Rewind()
+ mirrorVC.Rewind()
+ mirrorVC.results = results
+ mirrorVC.resultErr = nil
+ }()
+
+ mirrorVC.results = nil
+ mirrorVC.resultErr = fmt.Errorf("ignore me")
+
+ want := vc.results[0]
+ res, err := mirror.TryExecute(context.Background(), vc, map[string]*querypb.BindVariable{}, true)
+ require.Equal(t, res, want)
+ require.NoError(t, err)
+
+ vc.ExpectLog(t, []string{
+ "ResolveDestinations ks1 [] Destinations:DestinationAllShards()",
+ "ExecuteMultiShard ks1.0: select f.bar from foo f where f.id = 1 {} false false",
+ })
+ mirrorVC.ExpectLog(t, []string{
+ `ResolveDestinations ks2 [type:INT64 value:"1"] Destinations:DestinationKeyspaceID(d46405367612b4b7)`,
+ "ExecuteMultiShard ks2.-20: select f.bar from foo f where f.id = 1 {} false false",
+ })
+ })
+
+ t.Run("TryExecute slow mirror target", func(t *testing.T) {
+ defer func() {
+ vc.Rewind()
+ vc.onExecuteMultiShardFn = nil
+ mirrorVC.Rewind()
+ mirrorVC.onExecuteMultiShardFn = nil
+ }()
+
+ primitiveLatency := maxMirrorTargetLag * 2
+ vc.onExecuteMultiShardFn = func(ctx context.Context, _ Primitive, _ []*srvtopo.ResolvedShard, _ []*querypb.BoundQuery, _ bool, _ bool) {
+ time.Sleep(primitiveLatency)
+ select {
+ case <-ctx.Done():
+ require.Fail(t, "primitive context done")
+ default:
+ }
+ }
+
+ var wg sync.WaitGroup
+ defer wg.Wait()
+ wg.Add(1)
+ mirrorVC.onExecuteMultiShardFn = func(ctx context.Context, _ Primitive, _ []*srvtopo.ResolvedShard, _ []*querypb.BoundQuery, _ bool, _ bool) {
+ defer wg.Done()
+ time.Sleep(primitiveLatency + (2 * maxMirrorTargetLag))
+ select {
+ case <-ctx.Done():
+ default:
+ require.Fail(t, "mirror target context not done")
+ }
+ }
+
+ want := vc.results[0]
+ res, err := mirror.TryExecute(context.Background(), vc, map[string]*querypb.BindVariable{}, true)
+ require.Equal(t, res, want)
+ require.NoError(t, err)
+
+ vc.ExpectLog(t, []string{
+ "ResolveDestinations ks1 [] Destinations:DestinationAllShards()",
+ "ExecuteMultiShard ks1.0: select f.bar from foo f where f.id = 1 {} false false",
+ })
+ mirrorVC.ExpectLog(t, []string{
+ `ResolveDestinations ks2 [type:INT64 value:"1"] Destinations:DestinationKeyspaceID(d46405367612b4b7)`,
+ "ExecuteMultiShard ks2.-20: select f.bar from foo f where f.id = 1 {} false false",
+ })
+ })
+
+ t.Run("TryStreamExecute success", func(t *testing.T) {
+ defer func() {
+ vc.Rewind()
+ mirrorVC.Rewind()
+ }()
+
+ want := vc.results[0]
+ err := mirror.TryStreamExecute(
+ context.Background(),
+ vc,
+ map[string]*querypb.BindVariable{},
+ true,
+ func(result *sqltypes.Result) error {
+ require.Equal(t, want, result)
+ return nil
+ },
+ )
+ require.NoError(t, err)
+
+ vc.ExpectLog(t, []string{
+ "ResolveDestinations ks1 [] Destinations:DestinationAllShards()",
+ "StreamExecuteMulti select f.bar from foo f where f.id = 1 ks1.0: {} ",
+ })
+ mirrorVC.ExpectLog(t, []string{
+ `ResolveDestinations ks2 [type:INT64 value:"1"] Destinations:DestinationKeyspaceID(d46405367612b4b7)`,
+ "StreamExecuteMulti select f.bar from foo f where f.id = 1 ks2.-20: {} ",
+ })
+ })
+
+ t.Run("TryStreamExecute return primitive error", func(t *testing.T) {
+ results := vc.results
+
+ defer func() {
+ vc.Rewind()
+ vc.results = results
+ vc.resultErr = nil
+ mirrorVC.Rewind()
+ }()
+
+ vc.results = nil
+ vc.resultErr = fmt.Errorf("return me")
+
+ err := mirror.TryStreamExecute(
+ context.Background(),
+ vc,
+ map[string]*querypb.BindVariable{},
+ true,
+ func(result *sqltypes.Result) error {
+ require.Nil(t, result)
+ return nil
+ },
+ )
+ require.Error(t, err)
+ require.Equal(t, vc.resultErr, err)
+
+ vc.ExpectLog(t, []string{
+ "ResolveDestinations ks1 [] Destinations:DestinationAllShards()",
+ "StreamExecuteMulti select f.bar from foo f where f.id = 1 ks1.0: {} ",
+ })
+ mirrorVC.ExpectLog(t, []string{
+ `ResolveDestinations ks2 [type:INT64 value:"1"] Destinations:DestinationKeyspaceID(d46405367612b4b7)`,
+ "StreamExecuteMulti select f.bar from foo f where f.id = 1 ks2.-20: {} ",
+ })
+ })
+
+ t.Run("TryStreamExecute ignore mirror target error", func(t *testing.T) {
+ results := mirrorVC.results
+
+ defer func() {
+ vc.Rewind()
+ mirrorVC.Rewind()
+ mirrorVC.results = results
+ mirrorVC.resultErr = nil
+ }()
+
+ mirrorVC.results = nil
+ mirrorVC.resultErr = fmt.Errorf("ignore me")
+
+ want := vc.results[0]
+ err := mirror.TryStreamExecute(
+ context.Background(),
+ vc,
+ map[string]*querypb.BindVariable{},
+ true,
+ func(result *sqltypes.Result) error {
+ require.Equal(t, want, result)
+ return nil
+ },
+ )
+ require.NoError(t, err)
+
+ vc.ExpectLog(t, []string{
+ "ResolveDestinations ks1 [] Destinations:DestinationAllShards()",
+ "StreamExecuteMulti select f.bar from foo f where f.id = 1 ks1.0: {} ",
+ })
+ mirrorVC.ExpectLog(t, []string{
+ `ResolveDestinations ks2 [type:INT64 value:"1"] Destinations:DestinationKeyspaceID(d46405367612b4b7)`,
+ "StreamExecuteMulti select f.bar from foo f where f.id = 1 ks2.-20: {} ",
+ })
+ })
+
+ t.Run("TryStreamExecute slow mirror target", func(t *testing.T) {
+ defer func() {
+ vc.Rewind()
+ vc.onStreamExecuteMultiFn = nil
+ mirrorVC.Rewind()
+ mirrorVC.onStreamExecuteMultiFn = nil
+ }()
+
+ primitiveLatency := maxMirrorTargetLag * 2
+ vc.onStreamExecuteMultiFn = func(ctx context.Context, _ Primitive, _ string, _ []*srvtopo.ResolvedShard, _ []map[string]*querypb.BindVariable, _ bool, _ bool, _ func(*sqltypes.Result) error) {
+ time.Sleep(primitiveLatency)
+ select {
+ case <-ctx.Done():
+ require.Fail(t, "primitive context done")
+ default:
+ }
+ }
+
+ var wg sync.WaitGroup
+ defer wg.Wait()
+ wg.Add(1)
+ mirrorVC.onStreamExecuteMultiFn = func(ctx context.Context, _ Primitive, _ string, _ []*srvtopo.ResolvedShard, _ []map[string]*querypb.BindVariable, _ bool, _ bool, _ func(*sqltypes.Result) error) {
+ defer wg.Done()
+ time.Sleep(primitiveLatency + (2 * maxMirrorTargetLag))
+ select {
+ case <-ctx.Done():
+ default:
+ require.Fail(t, "mirror target context not done")
+ }
+ }
+
+ want := vc.results[0]
+ err := mirror.TryStreamExecute(
+ context.Background(),
+ vc,
+ map[string]*querypb.BindVariable{},
+ true,
+ func(result *sqltypes.Result) error {
+ require.Equal(t, want, result)
+ return nil
+ },
+ )
+ require.NoError(t, err)
+
+ vc.ExpectLog(t, []string{
+ "ResolveDestinations ks1 [] Destinations:DestinationAllShards()",
+ "StreamExecuteMulti select f.bar from foo f where f.id = 1 ks1.0: {} ",
+ })
+ mirrorVC.ExpectLog(t, []string{
+ `ResolveDestinations ks2 [type:INT64 value:"1"] Destinations:DestinationKeyspaceID(d46405367612b4b7)`,
+ "StreamExecuteMulti select f.bar from foo f where f.id = 1 ks2.-20: {} ",
+ })
+ })
+}
diff --git a/go/vt/vtgate/engine/plan.go b/go/vt/vtgate/engine/plan.go
index 769c69aaa06..9ea9f07655c 100644
--- a/go/vt/vtgate/engine/plan.go
+++ b/go/vt/vtgate/engine/plan.go
@@ -72,7 +72,7 @@ func (p *Plan) Stats() (execCount uint64, execTime time.Duration, shardQueries,
func (p *Plan) MarshalJSON() ([]byte, error) {
var instructions *PrimitiveDescription
if p.Instructions != nil {
- description := PrimitiveToPlanDescription(p.Instructions)
+ description := PrimitiveToPlanDescription(p.Instructions, nil)
instructions = &description
}
diff --git a/go/vt/vtgate/engine/plan_description.go b/go/vt/vtgate/engine/plan_description.go
index a8daa25ecd0..dfcad4e5e6b 100644
--- a/go/vt/vtgate/engine/plan_description.go
+++ b/go/vt/vtgate/engine/plan_description.go
@@ -47,6 +47,9 @@ type PrimitiveDescription struct {
InputName string
Inputs []PrimitiveDescription
+
+ RowsReceived RowsReceived
+ ShardsQueried *ShardsQueried
}
// MarshalJSON serializes the PlanDescription into a JSON representation.
@@ -90,6 +93,23 @@ func (pd PrimitiveDescription) MarshalJSON() ([]byte, error) {
return nil, err
}
}
+ if len(pd.RowsReceived) > 0 {
+ if err := marshalAdd(prepend, buf, "NoOfCalls", len(pd.RowsReceived)); err != nil {
+ return nil, err
+ }
+
+ if err := marshalAdd(prepend, buf, "AvgNumberOfRows", average(pd.RowsReceived)); err != nil {
+ return nil, err
+ }
+ if err := marshalAdd(prepend, buf, "MedianNumberOfRows", median(pd.RowsReceived)); err != nil {
+ return nil, err
+ }
+ }
+ if pd.ShardsQueried != nil {
+ if err := marshalAdd(prepend, buf, "ShardsQueried", pd.ShardsQueried); err != nil {
+ return nil, err
+ }
+ }
err := addMap(pd.Other, buf)
if err != nil {
return nil, err
@@ -106,6 +126,28 @@ func (pd PrimitiveDescription) MarshalJSON() ([]byte, error) {
return buf.Bytes(), nil
}
+func average(nums []int) float64 {
+ total := 0
+ for _, num := range nums {
+ total += num
+ }
+ return float64(total) / float64(len(nums))
+}
+
+func median(nums []int) float64 {
+ sortedNums := make([]int, len(nums))
+ copy(sortedNums, nums)
+ sort.Ints(sortedNums)
+
+ n := len(sortedNums)
+ if n%2 == 0 {
+ mid1 := sortedNums[n/2-1]
+ mid2 := sortedNums[n/2]
+ return float64(mid1+mid2) / 2.0
+ }
+ return float64(sortedNums[n/2])
+}
+
func (pd PrimitiveDescription) addToGraph(g *graphviz.Graph) (*graphviz.Node, error) {
var nodes []*graphviz.Node
for _, input := range pd.Inputs {
@@ -146,7 +188,7 @@ func (pd PrimitiveDescription) addToGraph(g *graphviz.Graph) (*graphviz.Node, er
func GraphViz(p Primitive) (*graphviz.Graph, error) {
g := graphviz.New()
- description := PrimitiveToPlanDescription(p)
+ description := PrimitiveToPlanDescription(p, nil)
_, err := description.addToGraph(g)
if err != nil {
return nil, err
@@ -182,12 +224,22 @@ func marshalAdd(prepend string, buf *bytes.Buffer, name string, obj any) error {
}
// PrimitiveToPlanDescription transforms a primitive tree into a corresponding PlanDescription tree
-func PrimitiveToPlanDescription(in Primitive) PrimitiveDescription {
+// If stats is not nil, it will be used to populate the stats field of the PlanDescription
+func PrimitiveToPlanDescription(in Primitive, stats *Stats) PrimitiveDescription {
this := in.description()
+ if stats != nil {
+ this.RowsReceived = stats.InterOpStats[in]
+
+ // Only applies to Route primitive
+ v, ok := stats.ShardsStats[in]
+ if ok {
+ this.ShardsQueried = &v
+ }
+ }
inputs, infos := in.Inputs()
for idx, input := range inputs {
- pd := PrimitiveToPlanDescription(input)
+ pd := PrimitiveToPlanDescription(input, stats)
if infos != nil {
for k, v := range infos[idx] {
if k == inputName {
diff --git a/go/vt/vtgate/engine/plan_description_test.go b/go/vt/vtgate/engine/plan_description_test.go
index dfed7d7f675..9f20e37976a 100644
--- a/go/vt/vtgate/engine/plan_description_test.go
+++ b/go/vt/vtgate/engine/plan_description_test.go
@@ -31,7 +31,7 @@ import (
func TestCreateRoutePlanDescription(t *testing.T) {
route := createRoute()
- planDescription := PrimitiveToPlanDescription(route)
+ planDescription := PrimitiveToPlanDescription(route, nil)
expected := PrimitiveDescription{
OperatorType: "Route",
@@ -76,7 +76,7 @@ func TestPlanDescriptionWithInputs(t *testing.T) {
Input: route,
}
- planDescription := PrimitiveToPlanDescription(limit)
+ planDescription := PrimitiveToPlanDescription(limit, nil)
expected := PrimitiveDescription{
OperatorType: "Limit",
diff --git a/go/vt/vtgate/engine/primitive.go b/go/vt/vtgate/engine/primitive.go
index 0c754a00342..76d0a28e516 100644
--- a/go/vt/vtgate/engine/primitive.go
+++ b/go/vt/vtgate/engine/primitive.go
@@ -132,8 +132,18 @@ type (
// CloneForReplicaWarming clones the VCursor for re-use in warming queries to replicas
CloneForReplicaWarming(ctx context.Context) VCursor
+ // CloneForMirroring clones the VCursor for re-use in mirroring queries to other keyspaces
+ CloneForMirroring(ctx context.Context) VCursor
+ //
// ReadTransaction reads the state of the given transaction from the metadata manager
ReadTransaction(ctx context.Context, transactionID string) (*querypb.TransactionMetadata, error)
+
+ // UnresolvedTransactions reads the state of all the unresolved atomic transactions in the given keyspace.
+ UnresolvedTransactions(ctx context.Context, keyspace string) ([]*querypb.TransactionMetadata, error)
+
+ // StartPrimitiveTrace starts a trace for the given primitive,
+ // and returns a function to get the trace logs after the primitive execution.
+ StartPrimitiveTrace() func() Stats
}
// SessionActions gives primitives ability to interact with the session state
@@ -167,6 +177,7 @@ type (
SetConsolidator(querypb.ExecuteOptions_Consolidator)
SetWorkloadName(string)
SetPriority(string)
+ SetExecQueryTimeout(timeout *int)
SetFoundRows(uint64)
SetDDLStrategy(string)
@@ -209,9 +220,6 @@ type (
// This is used to select the right shard session to perform the vindex lookup query.
SetCommitOrder(co vtgatepb.CommitOrder)
- // GetQueryTimeout gets the query timeout and takes in the query timeout from comments
- GetQueryTimeout(queryTimeoutFromComment int) int
-
// SetQueryTimeout sets the query timeout
SetQueryTimeout(queryTimeout int64)
diff --git a/go/vt/vtgate/engine/recurse_cte.go b/go/vt/vtgate/engine/recurse_cte.go
new file mode 100644
index 00000000000..f523883d280
--- /dev/null
+++ b/go/vt/vtgate/engine/recurse_cte.go
@@ -0,0 +1,155 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package engine
+
+import (
+ "context"
+
+ "vitess.io/vitess/go/sqltypes"
+ querypb "vitess.io/vitess/go/vt/proto/query"
+ "vitess.io/vitess/go/vt/vterrors"
+)
+
+// RecurseCTE is used to represent recursive CTEs
+// Seed is used to represent the non-recursive part that initializes the result set.
+// It's result are then used to start the recursion on the Term side
+// The values being sent to the Term side are stored in the Vars map -
+// the key is the bindvar name and the value is the index of the column in the recursive result
+type RecurseCTE struct {
+ Seed, Term Primitive
+
+ Vars map[string]int
+}
+
+var _ Primitive = (*RecurseCTE)(nil)
+
+func (r *RecurseCTE) TryExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool) (*sqltypes.Result, error) {
+ res, err := vcursor.ExecutePrimitive(ctx, r.Seed, bindVars, wantfields)
+ if err != nil {
+ return nil, err
+ }
+
+ // recurseRows contains the rows used in the next recursion
+ recurseRows := res.Rows
+ joinVars := make(map[string]*querypb.BindVariable)
+ loops := 0
+ for len(recurseRows) > 0 {
+ // copy over the results from the previous recursion
+ theseRows := recurseRows
+ recurseRows = nil
+ for _, row := range theseRows {
+ for k, col := range r.Vars {
+ joinVars[k] = sqltypes.ValueBindVariable(row[col])
+ }
+ // check if the context is done - we might be in a long running recursion
+ if err := ctx.Err(); err != nil {
+ return nil, err
+ }
+ rresult, err := vcursor.ExecutePrimitive(ctx, r.Term, combineVars(bindVars, joinVars), false)
+ if err != nil {
+ return nil, err
+ }
+ recurseRows = append(recurseRows, rresult.Rows...)
+ res.Rows = append(res.Rows, rresult.Rows...)
+ loops++
+ if loops > 1000 { // TODO: This should be controlled with a system variable setting
+ return nil, vterrors.VT09030("")
+ }
+ }
+ }
+ return res, nil
+}
+
+func (r *RecurseCTE) TryStreamExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool, callback func(*sqltypes.Result) error) error {
+ if vcursor.Session().InTransaction() {
+ res, err := r.TryExecute(ctx, vcursor, bindVars, wantfields)
+ if err != nil {
+ return err
+ }
+ return callback(res)
+ }
+ return vcursor.StreamExecutePrimitive(ctx, r.Seed, bindVars, wantfields, func(result *sqltypes.Result) error {
+ err := callback(result)
+ if err != nil {
+ return err
+ }
+ return r.recurse(ctx, vcursor, bindVars, result, callback)
+ })
+}
+
+func (r *RecurseCTE) recurse(ctx context.Context, vcursor VCursor, bindvars map[string]*querypb.BindVariable, result *sqltypes.Result, callback func(*sqltypes.Result) error) error {
+ if len(result.Rows) == 0 {
+ return nil
+ }
+ joinVars := make(map[string]*querypb.BindVariable)
+ for _, row := range result.Rows {
+ for k, col := range r.Vars {
+ joinVars[k] = sqltypes.ValueBindVariable(row[col])
+ }
+
+ err := vcursor.StreamExecutePrimitive(ctx, r.Term, combineVars(bindvars, joinVars), false, func(result *sqltypes.Result) error {
+ err := callback(result)
+ if err != nil {
+ return err
+ }
+ return r.recurse(ctx, vcursor, bindvars, result, callback)
+ })
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func (r *RecurseCTE) RouteType() string {
+ return "RecurseCTE"
+}
+
+func (r *RecurseCTE) GetKeyspaceName() string {
+ if r.Seed.GetKeyspaceName() == r.Term.GetKeyspaceName() {
+ return r.Seed.GetKeyspaceName()
+ }
+ return r.Seed.GetKeyspaceName() + "_" + r.Term.GetKeyspaceName()
+}
+
+func (r *RecurseCTE) GetTableName() string {
+ return r.Seed.GetTableName()
+}
+
+func (r *RecurseCTE) GetFields(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable) (*sqltypes.Result, error) {
+ return r.Seed.GetFields(ctx, vcursor, bindVars)
+}
+
+func (r *RecurseCTE) NeedsTransaction() bool {
+ return r.Seed.NeedsTransaction() || r.Term.NeedsTransaction()
+}
+
+func (r *RecurseCTE) Inputs() ([]Primitive, []map[string]any) {
+ return []Primitive{r.Seed, r.Term}, nil
+}
+
+func (r *RecurseCTE) description() PrimitiveDescription {
+ other := map[string]interface{}{
+ "JoinVars": orderedStringIntMap(r.Vars),
+ }
+
+ return PrimitiveDescription{
+ OperatorType: "RecurseCTE",
+ Other: other,
+ Inputs: nil,
+ }
+}
diff --git a/go/vt/vtgate/engine/recurse_cte_test.go b/go/vt/vtgate/engine/recurse_cte_test.go
new file mode 100644
index 00000000000..d6826284d21
--- /dev/null
+++ b/go/vt/vtgate/engine/recurse_cte_test.go
@@ -0,0 +1,129 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package engine
+
+import (
+ "context"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/sqltypes"
+ querypb "vitess.io/vitess/go/vt/proto/query"
+)
+
+func TestRecurseDualQuery(t *testing.T) {
+ // Test that the RecurseCTE primitive works as expected.
+ // The test is testing something like this:
+ // WITH RECURSIVE cte AS (SELECT 1 as col1 UNION SELECT col1+1 FROM cte WHERE col1 < 5) SELECT * FROM cte;
+ leftPrim := &fakePrimitive{
+ results: []*sqltypes.Result{
+ sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "col1",
+ "int64",
+ ),
+ "1",
+ ),
+ },
+ }
+ rightFields := sqltypes.MakeTestFields(
+ "col4",
+ "int64",
+ )
+
+ rightPrim := &fakePrimitive{
+ results: []*sqltypes.Result{
+ sqltypes.MakeTestResult(
+ rightFields,
+ "2",
+ ),
+ sqltypes.MakeTestResult(
+ rightFields,
+ "3",
+ ),
+ sqltypes.MakeTestResult(
+ rightFields,
+ "4",
+ ), sqltypes.MakeTestResult(
+ rightFields,
+ ),
+ },
+ }
+ bv := map[string]*querypb.BindVariable{}
+
+ cte := &RecurseCTE{
+ Seed: leftPrim,
+ Term: rightPrim,
+ Vars: map[string]int{"col1": 0},
+ }
+
+ r, err := cte.TryExecute(context.Background(), &noopVCursor{}, bv, true)
+ require.NoError(t, err)
+
+ rightPrim.ExpectLog(t, []string{
+ `Execute col1: type:INT64 value:"1" false`,
+ `Execute col1: type:INT64 value:"2" false`,
+ `Execute col1: type:INT64 value:"3" false`,
+ `Execute col1: type:INT64 value:"4" false`,
+ })
+
+ wantRes := sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "col1",
+ "int64",
+ ),
+ "1",
+ "2",
+ "3",
+ "4",
+ )
+ expectResult(t, r, wantRes)
+
+ // testing the streaming mode.
+
+ leftPrim.rewind()
+ rightPrim.rewind()
+
+ r, err = wrapStreamExecute(cte, &noopVCursor{}, bv, true)
+ require.NoError(t, err)
+
+ rightPrim.ExpectLog(t, []string{
+ `StreamExecute col1: type:INT64 value:"1" false`,
+ `StreamExecute col1: type:INT64 value:"2" false`,
+ `StreamExecute col1: type:INT64 value:"3" false`,
+ `StreamExecute col1: type:INT64 value:"4" false`,
+ })
+ expectResult(t, r, wantRes)
+
+ // testing the streaming mode with transaction
+
+ leftPrim.rewind()
+ rightPrim.rewind()
+
+ r, err = wrapStreamExecute(cte, &noopVCursor{inTx: true}, bv, true)
+ require.NoError(t, err)
+
+ rightPrim.ExpectLog(t, []string{
+ `Execute col1: type:INT64 value:"1" false`,
+ `Execute col1: type:INT64 value:"2" false`,
+ `Execute col1: type:INT64 value:"3" false`,
+ `Execute col1: type:INT64 value:"4" false`,
+ })
+ expectResult(t, r, wantRes)
+
+}
diff --git a/go/vt/vtgate/engine/route.go b/go/vt/vtgate/engine/route.go
index f28dda01a52..6c3ae572c8c 100644
--- a/go/vt/vtgate/engine/route.go
+++ b/go/vt/vtgate/engine/route.go
@@ -130,8 +130,6 @@ func (route *Route) GetTableName() string {
// TryExecute performs a non-streaming exec.
func (route *Route) TryExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool) (*sqltypes.Result, error) {
- ctx, cancelFunc := addQueryTimeout(ctx, vcursor, route.QueryTimeout)
- defer cancelFunc()
qr, err := route.executeInternal(ctx, vcursor, bindVars, wantfields)
if err != nil {
return nil, err
@@ -139,15 +137,6 @@ func (route *Route) TryExecute(ctx context.Context, vcursor VCursor, bindVars ma
return qr.Truncate(route.TruncateColumnCount), nil
}
-// addQueryTimeout adds a query timeout to the context it receives and returns the modified context along with the cancel function.
-func addQueryTimeout(ctx context.Context, vcursor VCursor, queryTimeout int) (context.Context, context.CancelFunc) {
- timeout := vcursor.Session().GetQueryTimeout(queryTimeout)
- if timeout != 0 {
- return context.WithTimeout(ctx, time.Duration(timeout)*time.Millisecond)
- }
- return ctx, func() {}
-}
-
type cxtKey int
const (
diff --git a/go/vt/vtgate/engine/send.go b/go/vt/vtgate/engine/send.go
index 31c9e9e0eb0..2ebec5c679e 100644
--- a/go/vt/vtgate/engine/send.go
+++ b/go/vt/vtgate/engine/send.go
@@ -47,6 +47,8 @@ type Send struct {
// IsDML specifies how to deal with autocommit behaviour
IsDML bool
+ IsDDL bool
+
// SingleShardOnly specifies that the query must be send to only single shard
SingleShardOnly bool
@@ -91,8 +93,9 @@ func (s *Send) GetTableName() string {
// TryExecute implements Primitive interface
func (s *Send) TryExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool) (*sqltypes.Result, error) {
- ctx, cancelFunc := addQueryTimeout(ctx, vcursor, s.QueryTimeout)
- defer cancelFunc()
+ if err := s.commitIfDDL(ctx, vcursor); err != nil {
+ return nil, err
+ }
rss, err := s.checkAndReturnShards(ctx, vcursor)
if err != nil {
@@ -158,6 +161,10 @@ func copyBindVars(in map[string]*querypb.BindVariable) map[string]*querypb.BindV
// TryStreamExecute implements Primitive interface
func (s *Send) TryStreamExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool, callback func(*sqltypes.Result) error) error {
+ if err := s.commitIfDDL(ctx, vcursor); err != nil {
+ return err
+ }
+
rss, err := s.checkAndReturnShards(ctx, vcursor)
if err != nil {
return err
@@ -204,3 +211,11 @@ func (s *Send) description() PrimitiveDescription {
Other: other,
}
}
+
+// commitIfDDL commits any open transaction before executing the ddl query.
+func (s *Send) commitIfDDL(ctx context.Context, vcursor VCursor) error {
+ if s.IsDDL {
+ return vcursor.Session().Commit(ctx)
+ }
+ return nil
+}
diff --git a/go/vt/vtgate/engine/transaction_status.go b/go/vt/vtgate/engine/transaction_status.go
index 61cc72c08d9..9914031009f 100644
--- a/go/vt/vtgate/engine/transaction_status.go
+++ b/go/vt/vtgate/engine/transaction_status.go
@@ -33,6 +33,7 @@ type TransactionStatus struct {
noInputs
noTxNeeded
+ Keyspace string
TransactionID string
}
@@ -76,25 +77,37 @@ func (t *TransactionStatus) getFields() []*querypb.Field {
}
func (t *TransactionStatus) TryExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool) (*sqltypes.Result, error) {
- transactionState, err := vcursor.ReadTransaction(ctx, t.TransactionID)
+ var transactionStatuses []*querypb.TransactionMetadata
+ var err error
+ if t.TransactionID != "" {
+ var transactionState *querypb.TransactionMetadata
+ transactionState, err = vcursor.ReadTransaction(ctx, t.TransactionID)
+ transactionStatuses = append(transactionStatuses, transactionState)
+ } else {
+ transactionStatuses, err = vcursor.UnresolvedTransactions(ctx, t.Keyspace)
+ }
if err != nil {
return nil, err
}
+
res := &sqltypes.Result{}
if wantfields {
res.Fields = t.getFields()
}
- if transactionState != nil && transactionState.Dtid != "" {
- var participantString []string
- for _, participant := range transactionState.Participants {
- participantString = append(participantString, fmt.Sprintf("%s:%s", participant.Keyspace, participant.Shard))
+
+ for _, transactionState := range transactionStatuses {
+ if transactionState != nil && transactionState.Dtid != "" {
+ var participantString []string
+ for _, participant := range transactionState.Participants {
+ participantString = append(participantString, fmt.Sprintf("%s:%s", participant.Keyspace, participant.Shard))
+ }
+ res.Rows = append(res.Rows, sqltypes.Row{
+ sqltypes.NewVarChar(transactionState.Dtid),
+ sqltypes.NewVarChar(transactionState.State.String()),
+ sqltypes.NewDatetime(time.Unix(0, transactionState.TimeCreated).UTC().String()),
+ sqltypes.NewVarChar(strings.Join(participantString, ",")),
+ })
}
- res.Rows = append(res.Rows, sqltypes.Row{
- sqltypes.NewVarChar(transactionState.Dtid),
- sqltypes.NewVarChar(transactionState.State.String()),
- sqltypes.NewDatetime(time.Unix(0, transactionState.TimeCreated).UTC().String()),
- sqltypes.NewVarChar(strings.Join(participantString, ",")),
- })
}
return res, nil
}
@@ -108,10 +121,14 @@ func (t *TransactionStatus) TryStreamExecute(ctx context.Context, vcursor VCurso
}
func (t *TransactionStatus) description() PrimitiveDescription {
+ otherMap := map[string]any{}
+ if t.TransactionID == "" {
+ otherMap["Keyspace"] = t.Keyspace
+ } else {
+ otherMap["TransactionID"] = t.TransactionID
+ }
return PrimitiveDescription{
OperatorType: "TransactionStatus",
- Other: map[string]any{
- "TransactionID": t.TransactionID,
- },
+ Other: otherMap,
}
}
diff --git a/go/vt/vtgate/engine/transaction_status_test.go b/go/vt/vtgate/engine/transaction_status_test.go
index 5e4e95be8ef..739a1d32cce 100644
--- a/go/vt/vtgate/engine/transaction_status_test.go
+++ b/go/vt/vtgate/engine/transaction_status_test.go
@@ -32,33 +32,40 @@ import (
func TestTransactionStatusOutput(t *testing.T) {
tests := []struct {
name string
- transactionStatusOutput *querypb.TransactionMetadata
+ transactionStatusOutput []*querypb.TransactionMetadata
resultErr error
expectedRes *sqltypes.Result
+ primitive *TransactionStatus
}{
{
name: "Empty Transaction Status",
transactionStatusOutput: nil,
expectedRes: sqltypes.MakeTestResult(sqltypes.MakeTestFields("id|state|record_time|participants", "varchar|varchar|datetime|varchar")),
+ primitive: &TransactionStatus{},
}, {
- name: "Valid Transaction Status",
- transactionStatusOutput: &querypb.TransactionMetadata{
- Dtid: "ks:-80:v24s7843sf78934l3",
- State: querypb.TransactionState_PREPARE,
- TimeCreated: 1257894000000000000,
- Participants: []*querypb.Target{
- {
- Keyspace: "ks",
- Shard: "-80",
- TabletType: topodatapb.TabletType_PRIMARY,
- }, {
- Keyspace: "ks",
- Shard: "80-a0",
- TabletType: topodatapb.TabletType_PRIMARY,
- }, {
- Keyspace: "ks",
- Shard: "a0-",
- TabletType: topodatapb.TabletType_PRIMARY,
+ name: "Valid Transaction Status for a transaction ID",
+ primitive: &TransactionStatus{
+ TransactionID: "ks:-80:v24s7843sf78934l3",
+ },
+ transactionStatusOutput: []*querypb.TransactionMetadata{
+ {
+ Dtid: "ks:-80:v24s7843sf78934l3",
+ State: querypb.TransactionState_PREPARE,
+ TimeCreated: 1257894000000000000,
+ Participants: []*querypb.Target{
+ {
+ Keyspace: "ks",
+ Shard: "-80",
+ TabletType: topodatapb.TabletType_PRIMARY,
+ }, {
+ Keyspace: "ks",
+ Shard: "80-a0",
+ TabletType: topodatapb.TabletType_PRIMARY,
+ }, {
+ Keyspace: "ks",
+ Shard: "a0-",
+ TabletType: topodatapb.TabletType_PRIMARY,
+ },
},
},
},
@@ -66,15 +73,65 @@ func TestTransactionStatusOutput(t *testing.T) {
sqltypes.MakeTestFields("id|state|record_time|participants", "varchar|varchar|datetime|varchar"),
"ks:-80:v24s7843sf78934l3|PREPARE|2009-11-10 23:00:00 +0000 UTC|ks:-80,ks:80-a0,ks:a0-"),
}, {
- name: "Error getting transaction metadata",
+ name: "Error getting transaction metadata",
+ primitive: &TransactionStatus{
+ TransactionID: "ks:-80:v24s7843sf78934l3",
+ },
resultErr: fmt.Errorf("failed reading transaction state"),
+ }, {
+ name: "Valid Transaction Statuses for a keyspace",
+ primitive: &TransactionStatus{
+ Keyspace: "ks",
+ },
+ transactionStatusOutput: []*querypb.TransactionMetadata{
+ {
+ Dtid: "ks:-80:v24s7843sf78934l3",
+ State: querypb.TransactionState_PREPARE,
+ TimeCreated: 1257894000000000000,
+ Participants: []*querypb.Target{
+ {
+ Keyspace: "ks",
+ Shard: "-80",
+ TabletType: topodatapb.TabletType_PRIMARY,
+ }, {
+ Keyspace: "ks",
+ Shard: "80-a0",
+ TabletType: topodatapb.TabletType_PRIMARY,
+ }, {
+ Keyspace: "ks",
+ Shard: "a0-",
+ TabletType: topodatapb.TabletType_PRIMARY,
+ },
+ },
+ },
+ {
+ Dtid: "ks:-80:v34afdfdsfdfd",
+ State: querypb.TransactionState_PREPARE,
+ TimeCreated: 1259894000000000000,
+ Participants: []*querypb.Target{
+ {
+ Keyspace: "ks",
+ Shard: "-80",
+ TabletType: topodatapb.TabletType_PRIMARY,
+ }, {
+ Keyspace: "ks",
+ Shard: "80-",
+ TabletType: topodatapb.TabletType_PRIMARY,
+ },
+ },
+ },
+ },
+ expectedRes: sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields("id|state|record_time|participants", "varchar|varchar|datetime|varchar"),
+ "ks:-80:v24s7843sf78934l3|PREPARE|2009-11-10 23:00:00 +0000 UTC|ks:-80,ks:80-a0,ks:a0-",
+ "ks:-80:v34afdfdsfdfd|PREPARE|2009-12-04 02:33:20 +0000 UTC|ks:-80,ks:80-",
+ ),
},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
- ts := &TransactionStatus{}
- res, err := ts.TryExecute(context.Background(), &loggingVCursor{
+ res, err := test.primitive.TryExecute(context.Background(), &loggingVCursor{
transactionStatusOutput: test.transactionStatusOutput,
resultErr: test.resultErr,
}, nil, true)
diff --git a/go/vt/vtgate/engine/update.go b/go/vt/vtgate/engine/update.go
index 13c590bbb63..27ca9ad12a1 100644
--- a/go/vt/vtgate/engine/update.go
+++ b/go/vt/vtgate/engine/update.go
@@ -53,9 +53,6 @@ type Update struct {
// TryExecute performs a non-streaming exec.
func (upd *Update) TryExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool) (*sqltypes.Result, error) {
- ctx, cancelFunc := addQueryTimeout(ctx, vcursor, upd.QueryTimeout)
- defer cancelFunc()
-
rss, bvs, err := upd.findRoute(ctx, vcursor, bindVars)
if err != nil {
return nil, err
diff --git a/go/vt/vtgate/engine/vexplain.go b/go/vt/vtgate/engine/vexplain.go
index 010901021fa..78941e8160f 100644
--- a/go/vt/vtgate/engine/vexplain.go
+++ b/go/vt/vtgate/engine/vexplain.go
@@ -21,6 +21,7 @@ import (
"encoding/json"
"fmt"
+ "vitess.io/vitess/go/mysql/collations"
"vitess.io/vitess/go/sqltypes"
querypb "vitess.io/vitess/go/vt/proto/query"
vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
@@ -42,6 +43,14 @@ type (
Input Primitive
Type sqlparser.VExplainType
}
+
+ ShardsQueried int
+ RowsReceived []int
+
+ Stats struct {
+ InterOpStats map[Primitive]RowsReceived
+ ShardsStats map[Primitive]ShardsQueried
+ }
)
var _ Primitive = (*VExplain)(nil)
@@ -62,8 +71,43 @@ func (v *VExplain) GetTableName() string {
}
// GetFields implements the Primitive interface
-func (v *VExplain) GetFields(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable) (*sqltypes.Result, error) {
- return v.Input.GetFields(ctx, vcursor, bindVars)
+func (v *VExplain) GetFields(context.Context, VCursor, map[string]*querypb.BindVariable) (*sqltypes.Result, error) {
+ var fields []*querypb.Field
+ switch v.Type {
+ case sqlparser.QueriesVExplainType:
+ fields = getVExplainQueriesFields()
+ case sqlparser.AllVExplainType:
+ fields = getVExplainAllFields()
+ case sqlparser.TraceVExplainType:
+ fields = getVExplainTraceFields()
+ default:
+ return nil, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "Unknown type of VExplain plan")
+ }
+ return &sqltypes.Result{Fields: fields}, nil
+}
+
+func getVExplainTraceFields() []*querypb.Field {
+ return []*querypb.Field{{
+ Name: "Trace",
+ Type: sqltypes.VarChar,
+ Charset: uint32(collations.SystemCollation.Collation),
+ Flags: uint32(querypb.MySqlFlag_NOT_NULL_FLAG),
+ }}
+}
+
+func getVExplainQueriesFields() []*querypb.Field {
+ return []*querypb.Field{
+ {Name: "#", Type: sqltypes.Int32},
+ {Name: "keyspace", Type: sqltypes.VarChar},
+ {Name: "shard", Type: sqltypes.VarChar},
+ {Name: "query", Type: sqltypes.VarChar}}
+
+}
+
+func getVExplainAllFields() []*querypb.Field {
+ return []*querypb.Field{{
+ Name: "VExplain", Type: sqltypes.VarChar,
+ }}
}
// NeedsTransaction implements the Primitive interface
@@ -73,42 +117,75 @@ func (v *VExplain) NeedsTransaction() bool {
// TryExecute implements the Primitive interface
func (v *VExplain) TryExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool) (*sqltypes.Result, error) {
- vcursor.Session().VExplainLogging()
+ var stats func() Stats
+ if v.Type == sqlparser.TraceVExplainType {
+ stats = vcursor.StartPrimitiveTrace()
+ } else {
+ vcursor.Session().VExplainLogging()
+ }
_, err := vcursor.ExecutePrimitive(ctx, v.Input, bindVars, wantfields)
if err != nil {
return nil, err
}
- return v.convertToResult(ctx, vcursor)
+ return v.convertToResult(ctx, vcursor, stats)
+}
+
+func noOpCallback(*sqltypes.Result) error {
+ return nil
}
// TryStreamExecute implements the Primitive interface
func (v *VExplain) TryStreamExecute(ctx context.Context, vcursor VCursor, bindVars map[string]*querypb.BindVariable, wantfields bool, callback func(*sqltypes.Result) error) error {
- vcursor.Session().VExplainLogging()
- err := vcursor.StreamExecutePrimitive(ctx, v.Input, bindVars, wantfields, func(result *sqltypes.Result) error {
- return nil
- })
+ var stats func() Stats
+ if v.Type == sqlparser.TraceVExplainType {
+ stats = vcursor.StartPrimitiveTrace()
+ } else {
+ vcursor.Session().VExplainLogging()
+ }
+
+ err := vcursor.StreamExecutePrimitive(ctx, v.Input, bindVars, wantfields, noOpCallback)
if err != nil {
return err
}
- result, err := v.convertToResult(ctx, vcursor)
+ result, err := v.convertToResult(ctx, vcursor, stats)
if err != nil {
return err
}
return callback(result)
}
-func (v *VExplain) convertToResult(ctx context.Context, vcursor VCursor) (*sqltypes.Result, error) {
+func (v *VExplain) convertToResult(ctx context.Context, vcursor VCursor, stats func() Stats) (*sqltypes.Result, error) {
switch v.Type {
case sqlparser.QueriesVExplainType:
result := convertToVExplainQueriesResult(vcursor.Session().GetVExplainLogs())
return result, nil
case sqlparser.AllVExplainType:
return v.convertToVExplainAllResult(ctx, vcursor)
+ case sqlparser.TraceVExplainType:
+ return v.getExplainTraceOutput(stats)
+
default:
return nil, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "Unknown type of VExplain plan")
}
}
+func (v *VExplain) getExplainTraceOutput(getOpStats func() Stats) (*sqltypes.Result, error) {
+ stats := getOpStats()
+ description := PrimitiveToPlanDescription(v.Input, &stats)
+
+ output, err := json.MarshalIndent(description, "", "\t")
+ if err != nil {
+ return nil, err
+ }
+
+ return &sqltypes.Result{
+ Fields: getVExplainTraceFields(),
+ Rows: []sqltypes.Row{{
+ sqltypes.NewVarChar(string(output)),
+ }},
+ }, nil
+}
+
func (v *VExplain) convertToVExplainAllResult(ctx context.Context, vcursor VCursor) (*sqltypes.Result, error) {
logEntries := vcursor.Session().GetVExplainLogs()
explainResults := make(map[Primitive]string)
@@ -144,18 +221,14 @@ func (v *VExplain) convertToVExplainAllResult(ctx context.Context, vcursor VCurs
}
result := string(resultBytes)
- fields := []*querypb.Field{
- {
- Name: "VExplain", Type: sqltypes.VarChar,
- },
- }
+
rows := []sqltypes.Row{
{
sqltypes.NewVarChar(result),
},
}
qr := &sqltypes.Result{
- Fields: fields,
+ Fields: getVExplainAllFields(),
Rows: rows,
}
return qr, nil
@@ -193,17 +266,8 @@ func primitiveToPlanDescriptionWithSQLResults(in Primitive, res map[Primitive]st
}
func convertToVExplainQueriesResult(logs []ExecuteEntry) *sqltypes.Result {
- fields := []*querypb.Field{{
- Name: "#", Type: sqltypes.Int32,
- }, {
- Name: "keyspace", Type: sqltypes.VarChar,
- }, {
- Name: "shard", Type: sqltypes.VarChar,
- }, {
- Name: "query", Type: sqltypes.VarChar,
- }}
qr := &sqltypes.Result{
- Fields: fields,
+ Fields: getVExplainQueriesFields(),
}
for _, line := range logs {
qr.Rows = append(qr.Rows, sqltypes.Row{
diff --git a/go/vt/vtgate/evalengine/fn_regexp.go b/go/vt/vtgate/evalengine/fn_regexp.go
index a94b9a83aee..10aa3f6b6c6 100644
--- a/go/vt/vtgate/evalengine/fn_regexp.go
+++ b/go/vt/vtgate/evalengine/fn_regexp.go
@@ -167,43 +167,43 @@ func compileRegex(pat eval, c colldata.Charset, flags icuregex.RegexpFlag) (*icu
var compileErr *icuregex.CompileError
if errors.Is(err, icuerrors.ErrUnsupported) {
- err = vterrors.NewErrorf(vtrpcpb.Code_UNIMPLEMENTED, vterrors.RegexpUnimplemented, err.Error())
+ err = vterrors.NewError(vtrpcpb.Code_UNIMPLEMENTED, vterrors.RegexpUnimplemented, err.Error())
} else if errors.Is(err, icuerrors.ErrIllegalArgument) {
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpIllegalArgument, err.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpIllegalArgument, err.Error())
} else if errors.As(err, &compileErr) {
switch compileErr.Code {
case icuregex.InternalError:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInternal, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInternal, compileErr.Error())
case icuregex.RuleSyntax:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpRuleSyntax, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpRuleSyntax, compileErr.Error())
case icuregex.BadEscapeSequence:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpBadEscapeSequence, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpBadEscapeSequence, compileErr.Error())
case icuregex.PropertySyntax:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpRuleSyntax, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpRuleSyntax, compileErr.Error())
case icuregex.Unimplemented:
- err = vterrors.NewErrorf(vtrpcpb.Code_UNIMPLEMENTED, vterrors.RegexpUnimplemented, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_UNIMPLEMENTED, vterrors.RegexpUnimplemented, compileErr.Error())
case icuregex.MismatchedParen:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpMismatchParen, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpMismatchParen, compileErr.Error())
case icuregex.BadInterval:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpBadInterval, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpBadInterval, compileErr.Error())
case icuregex.MaxLtMin:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpMaxLtMin, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpMaxLtMin, compileErr.Error())
case icuregex.InvalidBackRef:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInvalidBackRef, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInvalidBackRef, compileErr.Error())
case icuregex.InvalidFlag:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInvalidFlag, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInvalidFlag, compileErr.Error())
case icuregex.LookBehindLimit:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpLookBehindLimit, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpLookBehindLimit, compileErr.Error())
case icuregex.MissingCloseBracket:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpMissingCloseBracket, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpMissingCloseBracket, compileErr.Error())
case icuregex.InvalidRange:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInvalidRange, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInvalidRange, compileErr.Error())
case icuregex.PatternTooBig:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpPatternTooBig, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpPatternTooBig, compileErr.Error())
case icuregex.InvalidCaptureGroupName:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInvalidCaptureGroup, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInvalidCaptureGroup, compileErr.Error())
default:
- err = vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInternal, compileErr.Error())
+ err = vterrors.NewError(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.RegexpInternal, compileErr.Error())
}
}
diff --git a/go/vt/vtgate/evalengine/integration/fuzz_test.go b/go/vt/vtgate/evalengine/integration/fuzz_test.go
index 17a721edde9..7372d6fd731 100644
--- a/go/vt/vtgate/evalengine/integration/fuzz_test.go
+++ b/go/vt/vtgate/evalengine/integration/fuzz_test.go
@@ -20,6 +20,7 @@ package integration
import (
"encoding/json"
+ "errors"
"fmt"
"math/rand/v2"
"os"
@@ -205,11 +206,11 @@ func TestGenerateFuzzCases(t *testing.T) {
remote, remoteErr := conn.ExecuteFetch(query, 1, false)
if localErr != nil && strings.Contains(localErr.Error(), "syntax error at position") {
- localErr = fmt.Errorf(localSyntaxErr)
+ localErr = errors.New(localSyntaxErr)
}
if remoteErr != nil && strings.Contains(remoteErr.Error(), "You have an error in your SQL syntax") {
- remoteErr = fmt.Errorf(syntaxErr)
+ remoteErr = errors.New(syntaxErr)
}
res := mismatch{
diff --git a/go/vt/vtgate/evalengine/translate.go b/go/vt/vtgate/evalengine/translate.go
index 0091f06a633..99e1508cc04 100644
--- a/go/vt/vtgate/evalengine/translate.go
+++ b/go/vt/vtgate/evalengine/translate.go
@@ -87,7 +87,7 @@ func (ast *astCompiler) translateComparisonExpr2(op sqlparser.ComparisonExprOper
Negate: op == sqlparser.NotRegexpOp,
}, nil
default:
- return nil, vterrors.Errorf(vtrpcpb.Code_UNIMPLEMENTED, op.ToString())
+ return nil, vterrors.New(vtrpcpb.Code_UNIMPLEMENTED, op.ToString())
}
}
diff --git a/go/vt/vtgate/executor.go b/go/vt/vtgate/executor.go
index bc492dd0335..5dc388f1a3d 100644
--- a/go/vt/vtgate/executor.go
+++ b/go/vt/vtgate/executor.go
@@ -208,7 +208,7 @@ func NewExecutor(
return e.plans.Metrics.Hits()
})
stats.NewCounterFunc("QueryPlanCacheMisses", "Query plan cache misses", func() int64 {
- return e.plans.Metrics.Hits()
+ return e.plans.Metrics.Misses()
})
servenv.HTTPHandle(pathQueryPlans, e)
servenv.HTTPHandle(pathScatterStats, e)
@@ -672,7 +672,7 @@ func (e *Executor) executeSPInAllSessions(ctx context.Context, safeSession *Safe
})
queries = append(queries, &querypb.BoundQuery{Sql: sql})
}
- qr, errs = e.ExecuteMultiShard(ctx, nil, rss, queries, safeSession, false /*autocommit*/, ignoreMaxMemoryRows)
+ qr, errs = e.ExecuteMultiShard(ctx, nil, rss, queries, safeSession, false /*autocommit*/, ignoreMaxMemoryRows, nullResultsObserver{})
err := vterrors.Aggregate(errs)
if err != nil {
return nil, err
@@ -1105,15 +1105,16 @@ func (e *Executor) getPlan(
return nil, vterrors.VT13001("vschema not initialized")
}
- vcursor.SetIgnoreMaxMemoryRows(sqlparser.IgnoreMaxMaxMemoryRowsDirective(stmt))
- vcursor.SetConsolidator(sqlparser.Consolidator(stmt))
- vcursor.SetWorkloadName(sqlparser.GetWorkloadNameFromStatement(stmt))
- vcursor.UpdateForeignKeyChecksState(sqlparser.ForeignKeyChecksState(stmt))
- priority, err := sqlparser.GetPriorityFromStatement(stmt)
+ qh, err := sqlparser.BuildQueryHints(stmt)
if err != nil {
return nil, err
}
- vcursor.SetPriority(priority)
+ vcursor.SetIgnoreMaxMemoryRows(qh.IgnoreMaxMemoryRows)
+ vcursor.SetConsolidator(qh.Consolidator)
+ vcursor.SetWorkloadName(qh.Workload)
+ vcursor.UpdateForeignKeyChecksState(qh.ForeignKeyChecks)
+ vcursor.SetPriority(qh.Priority)
+ vcursor.SetExecQueryTimeout(qh.Timeout)
setVarComment, err := prepareSetVarComment(vcursor, stmt)
if err != nil {
@@ -1454,13 +1455,13 @@ func parseAndValidateQuery(query string, parser *sqlparser.Parser) (sqlparser.St
}
// ExecuteMultiShard implements the IExecutor interface
-func (e *Executor) ExecuteMultiShard(ctx context.Context, primitive engine.Primitive, rss []*srvtopo.ResolvedShard, queries []*querypb.BoundQuery, session *SafeSession, autocommit bool, ignoreMaxMemoryRows bool) (qr *sqltypes.Result, errs []error) {
- return e.scatterConn.ExecuteMultiShard(ctx, primitive, rss, queries, session, autocommit, ignoreMaxMemoryRows)
+func (e *Executor) ExecuteMultiShard(ctx context.Context, primitive engine.Primitive, rss []*srvtopo.ResolvedShard, queries []*querypb.BoundQuery, session *SafeSession, autocommit bool, ignoreMaxMemoryRows bool, resultsObserver resultsObserver) (qr *sqltypes.Result, errs []error) {
+ return e.scatterConn.ExecuteMultiShard(ctx, primitive, rss, queries, session, autocommit, ignoreMaxMemoryRows, resultsObserver)
}
// StreamExecuteMulti implements the IExecutor interface
-func (e *Executor) StreamExecuteMulti(ctx context.Context, primitive engine.Primitive, query string, rss []*srvtopo.ResolvedShard, vars []map[string]*querypb.BindVariable, session *SafeSession, autocommit bool, callback func(reply *sqltypes.Result) error) []error {
- return e.scatterConn.StreamExecuteMulti(ctx, primitive, query, rss, vars, session, autocommit, callback)
+func (e *Executor) StreamExecuteMulti(ctx context.Context, primitive engine.Primitive, query string, rss []*srvtopo.ResolvedShard, vars []map[string]*querypb.BindVariable, session *SafeSession, autocommit bool, callback func(reply *sqltypes.Result) error, resultsObserver resultsObserver) []error {
+ return e.scatterConn.StreamExecuteMulti(ctx, primitive, query, rss, vars, session, autocommit, callback, resultsObserver)
}
// ExecuteLock implements the IExecutor interface
@@ -1623,6 +1624,10 @@ func (e *Executor) ReadTransaction(ctx context.Context, transactionID string) (*
return e.txConn.ReadTransaction(ctx, transactionID)
}
+func (e *Executor) UnresolvedTransactions(ctx context.Context, targets []*querypb.Target) ([]*querypb.TransactionMetadata, error) {
+ return e.txConn.UnresolvedTransactions(ctx, targets)
+}
+
type (
errorTransformer interface {
TransformError(err error) error
diff --git a/go/vt/vtgate/executor_select_test.go b/go/vt/vtgate/executor_select_test.go
index 6e3bcdd3eda..2e95e438c22 100644
--- a/go/vt/vtgate/executor_select_test.go
+++ b/go/vt/vtgate/executor_select_test.go
@@ -121,11 +121,13 @@ func TestSelectDBA(t *testing.T) {
query, map[string]*querypb.BindVariable{},
)
require.NoError(t, err)
- wantQueries = []*querypb.BoundQuery{{Sql: "select count(*) from INFORMATION_SCHEMA.`TABLES` as ist where ist.table_schema = :__vtschemaname /* VARCHAR */ and ist.table_name = :ist_table_name /* VARCHAR */",
+ wantQueries = []*querypb.BoundQuery{{
+ Sql: "select count(*) from INFORMATION_SCHEMA.`TABLES` as ist where ist.table_schema = :__vtschemaname /* VARCHAR */ and ist.table_name = :ist_table_name /* VARCHAR */",
BindVariables: map[string]*querypb.BindVariable{
"__vtschemaname": sqltypes.StringBindVariable("performance_schema"),
"ist_table_name": sqltypes.StringBindVariable("foo"),
- }}}
+ },
+ }}
utils.MustMatch(t, wantQueries, sbc1.Queries)
sbc1.Queries = nil
@@ -135,11 +137,13 @@ func TestSelectDBA(t *testing.T) {
query, map[string]*querypb.BindVariable{},
)
require.NoError(t, err)
- wantQueries = []*querypb.BoundQuery{{Sql: "select 1 from information_schema.table_constraints where constraint_schema = :__vtschemaname /* VARCHAR */ and table_name = :table_name /* VARCHAR */",
+ wantQueries = []*querypb.BoundQuery{{
+ Sql: "select 1 from information_schema.table_constraints where constraint_schema = :__vtschemaname /* VARCHAR */ and table_name = :table_name /* VARCHAR */",
BindVariables: map[string]*querypb.BindVariable{
"__vtschemaname": sqltypes.StringBindVariable("vt_ks"),
"table_name": sqltypes.StringBindVariable("user"),
- }}}
+ },
+ }}
utils.MustMatch(t, wantQueries, sbc1.Queries)
sbc1.Queries = nil
@@ -149,10 +153,12 @@ func TestSelectDBA(t *testing.T) {
query, map[string]*querypb.BindVariable{},
)
require.NoError(t, err)
- wantQueries = []*querypb.BoundQuery{{Sql: "select 1 from information_schema.table_constraints where constraint_schema = :__vtschemaname /* VARCHAR */",
+ wantQueries = []*querypb.BoundQuery{{
+ Sql: "select 1 from information_schema.table_constraints where constraint_schema = :__vtschemaname /* VARCHAR */",
BindVariables: map[string]*querypb.BindVariable{
"__vtschemaname": sqltypes.StringBindVariable("vt_ks"),
- }}}
+ },
+ }}
utils.MustMatch(t, wantQueries, sbc1.Queries)
}
@@ -481,13 +487,15 @@ func TestGen4SelectDBA(t *testing.T) {
query, map[string]*querypb.BindVariable{},
)
require.NoError(t, err)
- wantQueries = []*querypb.BoundQuery{{Sql: "select count(*) from INFORMATION_SCHEMA.`TABLES` as ist where ist.table_schema = :__vtschemaname /* VARCHAR */ and ist.table_name = :ist_table_name1 /* VARCHAR */",
+ wantQueries = []*querypb.BoundQuery{{
+ Sql: "select count(*) from INFORMATION_SCHEMA.`TABLES` as ist where ist.table_schema = :__vtschemaname /* VARCHAR */ and ist.table_name = :ist_table_name1 /* VARCHAR */",
BindVariables: map[string]*querypb.BindVariable{
"ist_table_schema": sqltypes.StringBindVariable("performance_schema"),
"__vtschemaname": sqltypes.StringBindVariable("performance_schema"),
"ist_table_name": sqltypes.StringBindVariable("foo"),
"ist_table_name1": sqltypes.StringBindVariable("foo"),
- }}}
+ },
+ }}
utils.MustMatch(t, wantQueries, sbc1.Queries)
sbc1.Queries = nil
@@ -497,26 +505,30 @@ func TestGen4SelectDBA(t *testing.T) {
query, map[string]*querypb.BindVariable{},
)
require.NoError(t, err)
- wantQueries = []*querypb.BoundQuery{{Sql: "select :vtg1 /* INT64 */ from information_schema.table_constraints where constraint_schema = :__vtschemaname /* VARCHAR */ and table_name = :table_name1 /* VARCHAR */",
+ wantQueries = []*querypb.BoundQuery{{
+ Sql: "select :vtg1 /* INT64 */ from information_schema.table_constraints where constraint_schema = :__vtschemaname /* VARCHAR */ and table_name = :table_name1 /* VARCHAR */",
BindVariables: map[string]*querypb.BindVariable{
"vtg1": sqltypes.Int64BindVariable(1),
"constraint_schema": sqltypes.StringBindVariable("vt_ks"),
"table_name": sqltypes.StringBindVariable("user"),
"__vtschemaname": sqltypes.StringBindVariable("vt_ks"),
"table_name1": sqltypes.StringBindVariable("user"),
- }}}
+ },
+ }}
utils.MustMatch(t, wantQueries, sbc1.Queries)
sbc1.Queries = nil
query = "select 1 from information_schema.table_constraints where constraint_schema = 'vt_ks'"
_, err = executor.Execute(context.Background(), nil, "TestSelectDBA", NewSafeSession(&vtgatepb.Session{TargetString: "TestExecutor"}), query, map[string]*querypb.BindVariable{})
require.NoError(t, err)
- wantQueries = []*querypb.BoundQuery{{Sql: "select :vtg1 /* INT64 */ from information_schema.table_constraints where constraint_schema = :__vtschemaname /* VARCHAR */",
+ wantQueries = []*querypb.BoundQuery{{
+ Sql: "select :vtg1 /* INT64 */ from information_schema.table_constraints where constraint_schema = :__vtschemaname /* VARCHAR */",
BindVariables: map[string]*querypb.BindVariable{
"vtg1": sqltypes.Int64BindVariable(1),
"constraint_schema": sqltypes.StringBindVariable("vt_ks"),
"__vtschemaname": sqltypes.StringBindVariable("vt_ks"),
- }}}
+ },
+ }}
utils.MustMatch(t, wantQueries, sbc1.Queries)
sbc1.Queries = nil
@@ -526,11 +538,13 @@ func TestGen4SelectDBA(t *testing.T) {
query, map[string]*querypb.BindVariable{},
)
require.NoError(t, err)
- wantQueries = []*querypb.BoundQuery{{Sql: "select t.table_schema, t.table_name, c.column_name, c.column_type from information_schema.`tables` as t, information_schema.`columns` as c where t.table_schema = :__vtschemaname /* VARCHAR */ and c.table_schema = :__vtschemaname /* VARCHAR */ and c.table_schema = t.table_schema and c.table_name = t.table_name order by t.table_schema asc, t.table_name asc, c.column_name asc",
+ wantQueries = []*querypb.BoundQuery{{
+ Sql: "select t.table_schema, t.table_name, c.column_name, c.column_type from information_schema.`tables` as t, information_schema.`columns` as c where t.table_schema = :__vtschemaname /* VARCHAR */ and c.table_schema = :__vtschemaname /* VARCHAR */ and c.table_schema = t.table_schema and c.table_name = t.table_name order by t.table_schema asc, t.table_name asc, c.column_name asc",
BindVariables: map[string]*querypb.BindVariable{
"t_table_schema": sqltypes.StringBindVariable("TestExecutor"),
"__replacevtschemaname": sqltypes.Int64BindVariable(1),
- }}}
+ },
+ }}
utils.MustMatch(t, wantQueries, sbc1.Queries)
}
@@ -1088,7 +1102,6 @@ func TestSelectDatabase(t *testing.T) {
}
require.NoError(t, err)
utils.MustMatch(t, wantResult, result, "Mismatch")
-
}
func TestSelectBindvars(t *testing.T) {
@@ -3205,7 +3218,6 @@ func TestLockReserve(t *testing.T) {
_, err := exec(executor, session, "select get_lock('lock name', 10) from dual")
require.NoError(t, err)
require.NotNil(t, session.LockSession)
-
}
func TestSelectFromInformationSchema(t *testing.T) {
@@ -3913,15 +3925,15 @@ func TestSelectAggregationNoData(t *testing.T) {
{
sql: `select count(*) from (select col1, col2 from user limit 2) x`,
sandboxRes: sqltypes.MakeTestResult(sqltypes.MakeTestFields("col1|col2|1", "int64|int64|int64")),
- expSandboxQ: "select x.col1, x.col2, 1 from (select col1, col2 from `user`) as x limit 2",
- expField: `[name:"count(*)" type:INT64]`,
+ expSandboxQ: "select 1 from (select col1, col2 from `user`) as x limit 2",
+ expField: `[name:"count(*)" type:INT64 charset:63 flags:32769]`,
expRow: `[[INT64(0)]]`,
},
{
sql: `select col2, count(*) from (select col1, col2 from user limit 2) x group by col2`,
sandboxRes: sqltypes.MakeTestResult(sqltypes.MakeTestFields("col1|col2|1|weight_string(col2)", "int64|int64|int64|varbinary")),
- expSandboxQ: "select x.col1, x.col2, 1, weight_string(x.col2) from (select col1, col2 from `user`) as x limit 2",
- expField: `[name:"col2" type:INT64 name:"count(*)" type:INT64]`,
+ expSandboxQ: "select x.col1, x.col2, weight_string(x.col2) from (select col1, col2 from `user`) as x limit 2",
+ expField: `[name:"col2" type:INT64 charset:63 flags:32768 name:"count(*)" type:INT64 charset:63 flags:32769]`,
expRow: `[]`,
},
}
@@ -4005,15 +4017,15 @@ func TestSelectAggregationData(t *testing.T) {
{
sql: `select count(*) from (select col1, col2 from user limit 2) x`,
sandboxRes: sqltypes.MakeTestResult(sqltypes.MakeTestFields("col1|col2|1", "int64|int64|int64"), "100|200|1", "200|300|1"),
- expSandboxQ: "select x.col1, x.col2, 1 from (select col1, col2 from `user`) as x limit 2",
- expField: `[name:"count(*)" type:INT64]`,
+ expSandboxQ: "select 1 from (select col1, col2 from `user`) as x limit 2",
+ expField: `[name:"count(*)" type:INT64 charset:63 flags:32769]`,
expRow: `[[INT64(2)]]`,
},
{
sql: `select col2, count(*) from (select col1, col2 from user limit 9) x group by col2`,
sandboxRes: sqltypes.MakeTestResult(sqltypes.MakeTestFields("col1|col2|1|weight_string(col2)", "int64|int64|int64|varbinary"), "100|3|1|NULL", "200|2|1|NULL"),
- expSandboxQ: "select x.col1, x.col2, 1, weight_string(x.col2) from (select col1, col2 from `user`) as x limit 9",
- expField: `[name:"col2" type:INT64 name:"count(*)" type:INT64]`,
+ expSandboxQ: "select x.col1, x.col2, weight_string(x.col2) from (select col1, col2 from `user`) as x limit 9",
+ expField: `[name:"col2" type:INT64 charset:63 flags:32768 name:"count(*)" type:INT64 charset:63 flags:32769]`,
expRow: `[[INT64(2) INT64(4)] [INT64(3) INT64(5)]]`,
},
{
@@ -4395,3 +4407,60 @@ func TestSysVarGlobalAndSession(t *testing.T) {
require.NoError(t, err)
require.Equal(t, `[[UINT64(20)]]`, fmt.Sprintf("%v", qr.Rows))
}
+
+func BenchmarkSelectMirror(b *testing.B) {
+ ctx := context.Background()
+ cell := "aa"
+ sql := fmt.Sprintf("select id from %s.user where id = 1", KsTestUnsharded)
+
+ currentSandboxMirrorRules := sandboxMirrorRules
+ b.Cleanup(func() {
+ setSandboxMirrorRules(currentSandboxMirrorRules)
+ })
+
+ // Don't use createExecutorEnv. Doesn't work with benchmarks because of
+ // utils.EnsureNoLeak.
+ createBenchmarkExecutor := func(b *testing.B) (context.Context, *Executor) {
+ ctx, cancel := context.WithCancel(ctx)
+ b.Cleanup(cancel)
+ hc := discovery.NewFakeHealthCheck(nil)
+ u := createSandbox(KsTestUnsharded)
+ s := createSandbox(KsTestSharded)
+ s.VSchema = executorVSchema
+ u.VSchema = unshardedVSchema
+ serv := newSandboxForCells(ctx, []string{cell})
+ resolver := newTestResolver(ctx, hc, serv, cell)
+ shards := []string{"-20", "20-40", "40-60", "60-80", "80-a0", "a0-c0", "c0-e0", "e0-"}
+ for _, shard := range shards {
+ hc.AddTestTablet(cell, shard, 1, KsTestSharded, shard, topodatapb.TabletType_PRIMARY, true, 1, nil)
+ }
+ hc.AddTestTablet(cell, "0", 1, KsTestUnsharded, "0", topodatapb.TabletType_PRIMARY, true, 1, nil)
+ return ctx, createExecutor(ctx, serv, cell, resolver)
+ }
+
+ for _, percent := range []float32{0, 1, 5, 10, 25, 50, 100} {
+ b.Run(fmt.Sprintf("mirror %.2f%%", percent), func(b *testing.B) {
+ setSandboxMirrorRules(fmt.Sprintf(`{
+ "rules": [
+ {
+ "from_table": "%s.user",
+ "to_table": "%s.user",
+ "percent": %.2f
+ }
+ ]
+ }`, KsTestUnsharded, KsTestSharded, percent))
+
+ ctx, executor := createBenchmarkExecutor(b)
+ session := &vtgatepb.Session{
+ TargetString: "@primary",
+ }
+
+ b.ReportAllocs()
+ b.ResetTimer()
+ for i := 0; i < b.N; i++ {
+ executorExec(ctx, executor, session, sql, nil)
+ }
+ b.StopTimer()
+ })
+ }
+}
diff --git a/go/vt/vtgate/executor_set_test.go b/go/vt/vtgate/executor_set_test.go
index 2792c957edd..12e8e272bd7 100644
--- a/go/vt/vtgate/executor_set_test.go
+++ b/go/vt/vtgate/executor_set_test.go
@@ -625,3 +625,22 @@ func TestExecutorSetAndSelect(t *testing.T) {
})
}
}
+
+// TestTimeZone verifies that setting different time zones in the session
+// results in different outputs for the `now()` function.
+func TestExecutorTimeZone(t *testing.T) {
+ e, _, _, _, ctx := createExecutorEnv(t)
+
+ session := NewAutocommitSession(&vtgatepb.Session{TargetString: KsTestUnsharded, EnableSystemSettings: true})
+ session.SetSystemVariable("time_zone", "'+08:00'")
+
+ qr, err := e.Execute(ctx, nil, "TestExecutorSetAndSelect", session, "select now()", nil)
+
+ require.NoError(t, err)
+ session.SetSystemVariable("time_zone", "'+02:00'")
+
+ qrWith, err := e.Execute(ctx, nil, "TestExecutorSetAndSelect", session, "select now()", nil)
+ require.NoError(t, err)
+
+ assert.False(t, qr.Rows[0][0].Equal(qrWith.Rows[0][0]), "%v vs %v", qr.Rows[0][0].ToString(), qrWith.Rows[0][0].ToString())
+}
diff --git a/go/vt/vtgate/executor_test.go b/go/vt/vtgate/executor_test.go
index b8e2b996780..5e7a5a64334 100644
--- a/go/vt/vtgate/executor_test.go
+++ b/go/vt/vtgate/executor_test.go
@@ -1787,14 +1787,15 @@ func TestGetPlanPriority(t *testing.T) {
stmt, err := sqlparser.NewTestParser().Parse(testCase.sql)
assert.NoError(t, err)
- crticalityFromStatement, _ := sqlparser.GetPriorityFromStatement(stmt)
+ qh, _ := sqlparser.BuildQueryHints(stmt)
+ priorityFromStatement := qh.Priority
_, err = r.getPlan(context.Background(), vCursor, testCase.sql, stmt, makeComments("/* some comment */"), map[string]*querypb.BindVariable{}, nil, true, logStats)
if testCase.expectedError != nil {
assert.ErrorIs(t, err, testCase.expectedError)
} else {
assert.NoError(t, err)
- assert.Equal(t, testCase.expectedPriority, crticalityFromStatement)
+ assert.Equal(t, testCase.expectedPriority, priorityFromStatement)
assert.Equal(t, testCase.expectedPriority, vCursor.safeSession.Options.Priority)
}
})
diff --git a/go/vt/vtgate/executor_vexplain_test.go b/go/vt/vtgate/executor_vexplain_test.go
new file mode 100644
index 00000000000..a19c353ef5f
--- /dev/null
+++ b/go/vt/vtgate/executor_vexplain_test.go
@@ -0,0 +1,243 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package vtgate
+
+import (
+ "context"
+ "fmt"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+
+ "github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/sqltypes"
+ "vitess.io/vitess/go/test/utils"
+ "vitess.io/vitess/go/vt/discovery"
+ querypb "vitess.io/vitess/go/vt/proto/query"
+ topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+ vtgatepb "vitess.io/vitess/go/vt/proto/vtgate"
+ "vitess.io/vitess/go/vt/vttablet/sandboxconn"
+)
+
+func TestSimpleVexplainTrace(t *testing.T) {
+ ctx := utils.LeakCheckContext(t)
+
+ cell := "aa"
+ hc := discovery.NewFakeHealthCheck(nil)
+ u := createSandbox(KsTestUnsharded)
+ s := createSandbox(KsTestSharded)
+ s.VSchema = executorVSchema
+ u.VSchema = unshardedVSchema
+ serv := newSandboxForCells(ctx, []string{cell})
+ resolver := newTestResolver(ctx, hc, serv, cell)
+ shards := []string{"-20", "20-40", "40-60", "60-80", "80-a0", "a0-c0", "c0-e0", "e0-"}
+ var conns []*sandboxconn.SandboxConn
+ for i, shard := range shards {
+ sbc := hc.AddTestTablet(cell, shard, 1, "TestExecutor", shard, topodatapb.TabletType_PRIMARY, true, 1, nil)
+ sbc.SetResults([]*sqltypes.Result{{
+ Fields: []*querypb.Field{
+ {Name: "col1", Type: sqltypes.Int32},
+ {Name: "col2", Type: sqltypes.Int32},
+ {Name: "weight_string(col2)"},
+ },
+ InsertID: 0,
+ Rows: [][]sqltypes.Value{
+ {sqltypes.NewInt32(1), sqltypes.NewInt32(int32(i % 4)), sqltypes.NULL},
+ {sqltypes.NewInt32(2), sqltypes.NewInt32(int32(i % 4)), sqltypes.NULL},
+ },
+ }})
+ conns = append(conns, sbc)
+ }
+ executor := createExecutor(ctx, serv, cell, resolver)
+ defer executor.Close()
+
+ query := "vexplain trace select count(*), col2 from music group by col2"
+ session := &vtgatepb.Session{
+ TargetString: "@primary",
+ }
+ gotResult, err := executorExec(ctx, executor, session, query, nil)
+ require.NoError(t, err)
+
+ wantQueries := []*querypb.BoundQuery{{
+ Sql: "select count(*), col2, weight_string(col2) from music group by col2, weight_string(col2) order by col2 asc",
+ BindVariables: map[string]*querypb.BindVariable{},
+ }}
+ for _, conn := range conns {
+ utils.MustMatch(t, wantQueries, conn.Queries)
+ }
+
+ expectedRowString := `{
+ "OperatorType": "Aggregate",
+ "Variant": "Ordered",
+ "NoOfCalls": 1,
+ "AvgNumberOfRows": 4,
+ "MedianNumberOfRows": 4,
+ "Aggregates": "sum_count_star(0) AS count(*)",
+ "GroupBy": "(1|2)",
+ "ResultColumns": 2,
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "TestExecutor",
+ "Sharded": true
+ },
+ "NoOfCalls": 1,
+ "AvgNumberOfRows": 16,
+ "MedianNumberOfRows": 16,
+ "ShardsQueried": 8,
+ "FieldQuery": "select count(*), col2, weight_string(col2) from music where 1 != 1 group by col2, weight_string(col2)",
+ "OrderBy": "(1|2) ASC",
+ "Query": "select count(*), col2, weight_string(col2) from music group by col2, weight_string(col2) order by col2 asc",
+ "Table": "music"
+ }
+ ]
+}`
+
+ gotRowString := gotResult.Rows[0][0].ToString()
+ require.Equal(t, expectedRowString, gotRowString)
+}
+
+func TestVExplainKeys(t *testing.T) {
+ tests := []struct {
+ query string
+ expectedRowString string
+ }{
+ {
+ query: "select count(*), col2 from music group by col2",
+ expectedRowString: `{
+ "groupingColumns": [
+ "music.col2"
+ ],
+ "statementType": "SELECT"
+}`,
+ }, {
+ query: "select * from user u join user_extra ue on u.id = ue.user_id where u.col1 > 100 and ue.noLimit = 'foo'",
+ expectedRowString: `{
+ "joinColumns": [
+ "user.id",
+ "user_extra.user_id"
+ ],
+ "filterColumns": [
+ "user.col1",
+ "user_extra.noLimit"
+ ],
+ "statementType": "SELECT"
+}`,
+ }, {
+ // same as above, but written differently
+ query: "select * from user_extra ue, user u where ue.noLimit = 'foo' and u.col1 > 100 and ue.user_id = u.id",
+ expectedRowString: `{
+ "joinColumns": [
+ "user.id",
+ "user_extra.user_id"
+ ],
+ "filterColumns": [
+ "user.col1",
+ "user_extra.noLimit"
+ ],
+ "statementType": "SELECT"
+}`,
+ },
+ {
+ query: "select u.foo, ue.bar, count(*) from user u join user_extra ue on u.id = ue.user_id where u.name = 'John Doe' group by 1, 2",
+ expectedRowString: `{
+ "groupingColumns": [
+ "user.foo",
+ "user_extra.bar"
+ ],
+ "joinColumns": [
+ "user.id",
+ "user_extra.user_id"
+ ],
+ "filterColumns": [
+ "user.name"
+ ],
+ "statementType": "SELECT"
+}`,
+ },
+ {
+ query: "select * from (select * from user) as derived where derived.amount > 1000",
+ expectedRowString: `{
+ "statementType": "SELECT"
+}`,
+ },
+ {
+ query: "select name, sum(amount) from user group by name",
+ expectedRowString: `{
+ "groupingColumns": [
+ "user.name"
+ ],
+ "statementType": "SELECT"
+}`,
+ },
+ {
+ query: "select name from user where age > 30",
+ expectedRowString: `{
+ "filterColumns": [
+ "user.age"
+ ],
+ "statementType": "SELECT"
+}`,
+ },
+ {
+ query: "select * from user where name = 'apa' union select * from user_extra where name = 'monkey'",
+ expectedRowString: `{
+ "filterColumns": [
+ "user.name",
+ "user_extra.name"
+ ],
+ "statementType": "SELECT"
+}`,
+ },
+ {
+ query: "update user set name = 'Jane Doe' where id = 1",
+ expectedRowString: `{
+ "filterColumns": [
+ "user.id"
+ ],
+ "statementType": "UPDATE"
+}`,
+ },
+ {
+ query: "delete from user where order_date < '2023-01-01'",
+ expectedRowString: `{
+ "filterColumns": [
+ "user.order_date"
+ ],
+ "statementType": "DELETE"
+}`,
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.query, func(t *testing.T) {
+ executor, _, _, _, _ := createExecutorEnv(t)
+ session := NewSafeSession(&vtgatepb.Session{TargetString: "@primary"})
+ gotResult, err := executor.Execute(context.Background(), nil, "Execute", session, "vexplain keys "+tt.query, nil)
+ require.NoError(t, err)
+
+ gotRowString := gotResult.Rows[0][0].ToString()
+ assert.Equal(t, tt.expectedRowString, gotRowString)
+ if t.Failed() {
+ fmt.Println(gotRowString)
+ }
+ })
+ }
+}
diff --git a/go/vt/vtgate/legacy_scatter_conn_test.go b/go/vt/vtgate/legacy_scatter_conn_test.go
index 7ada1c3ac31..8fefce1dd66 100644
--- a/go/vt/vtgate/legacy_scatter_conn_test.go
+++ b/go/vt/vtgate/legacy_scatter_conn_test.go
@@ -99,7 +99,7 @@ func TestLegacyExecuteFailOnAutocommit(t *testing.T) {
},
Autocommit: false,
}
- _, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, NewSafeSession(session), true /*autocommit*/, false)
+ _, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, NewSafeSession(session), true /*autocommit*/, false, nullResultsObserver{})
err := vterrors.Aggregate(errs)
require.Error(t, err)
require.Contains(t, err.Error(), "in autocommit mode, transactionID should be zero but was: 123")
@@ -123,7 +123,7 @@ func TestScatterConnExecuteMulti(t *testing.T) {
}
}
- qr, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, NewSafeSession(nil), false /*autocommit*/, false)
+ qr, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, NewSafeSession(nil), false /*autocommit*/, false, nullResultsObserver{})
return qr, vterrors.Aggregate(errs)
})
}
@@ -143,7 +143,7 @@ func TestScatterConnStreamExecuteMulti(t *testing.T) {
defer mu.Unlock()
qr.AppendResult(r)
return nil
- })
+ }, nullResultsObserver{})
return qr, vterrors.Aggregate(errors)
})
}
@@ -310,7 +310,7 @@ func TestMaxMemoryRows(t *testing.T) {
sbc0.SetResults([]*sqltypes.Result{tworows, tworows})
sbc1.SetResults([]*sqltypes.Result{tworows, tworows})
- _, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, session, false, test.ignoreMaxMemoryRows)
+ _, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, session, false, test.ignoreMaxMemoryRows, nullResultsObserver{})
if test.ignoreMaxMemoryRows {
require.NoError(t, err)
} else {
@@ -342,7 +342,7 @@ func TestLegaceHealthCheckFailsOnReservedConnections(t *testing.T) {
})
}
- _, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, session, false, false)
+ _, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, session, false, false, nullResultsObserver{})
require.Error(t, vterrors.Aggregate(errs))
}
@@ -365,10 +365,21 @@ func executeOnShardsReturnsErr(t *testing.T, ctx context.Context, res *srvtopo.R
})
}
- _, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, session, false, false)
+ _, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, session, false, false, nullResultsObserver{})
return vterrors.Aggregate(errs)
}
+type recordingResultsObserver struct {
+ mu sync.Mutex
+ recorded []*sqltypes.Result
+}
+
+func (o *recordingResultsObserver) observe(result *sqltypes.Result) {
+ mu.Lock()
+ o.recorded = append(o.recorded, result)
+ mu.Unlock()
+}
+
func TestMultiExecs(t *testing.T) {
ctx := utils.LeakCheckContext(t)
createSandbox("TestMultiExecs")
@@ -409,9 +420,17 @@ func TestMultiExecs(t *testing.T) {
},
},
}
+ results := []*sqltypes.Result{
+ {Info: "r0"},
+ {Info: "r1"},
+ }
+ sbc0.SetResults(results[0:1])
+ sbc1.SetResults(results[1:2])
+
+ observer := recordingResultsObserver{}
session := NewSafeSession(&vtgatepb.Session{})
- _, err := sc.ExecuteMultiShard(ctx, nil, rss, queries, session, false, false)
+ _, err := sc.ExecuteMultiShard(ctx, nil, rss, queries, session, false, false, &observer)
require.NoError(t, vterrors.Aggregate(err))
if len(sbc0.Queries) == 0 || len(sbc1.Queries) == 0 {
t.Fatalf("didn't get expected query")
@@ -428,8 +447,12 @@ func TestMultiExecs(t *testing.T) {
if !reflect.DeepEqual(sbc1.Queries[0].BindVariables, wantVars1) {
t.Errorf("got %+v, want %+v", sbc0.Queries[0].BindVariables, wantVars1)
}
+ assert.ElementsMatch(t, results, observer.recorded)
+
sbc0.Queries = nil
sbc1.Queries = nil
+ sbc0.SetResults(results[0:1])
+ sbc1.SetResults(results[1:2])
rss = []*srvtopo.ResolvedShard{
{
@@ -455,15 +478,18 @@ func TestMultiExecs(t *testing.T) {
"bv1": sqltypes.Int64BindVariable(1),
},
}
+
+ observer = recordingResultsObserver{}
_ = sc.StreamExecuteMulti(ctx, nil, "query", rss, bvs, session, false /* autocommit */, func(*sqltypes.Result) error {
return nil
- })
+ }, &observer)
if !reflect.DeepEqual(sbc0.Queries[0].BindVariables, wantVars0) {
t.Errorf("got %+v, want %+v", sbc0.Queries[0].BindVariables, wantVars0)
}
if !reflect.DeepEqual(sbc1.Queries[0].BindVariables, wantVars1) {
t.Errorf("got %+v, want %+v", sbc0.Queries[0].BindVariables, wantVars1)
}
+ assert.ElementsMatch(t, results, observer.recorded)
}
func TestScatterConnSingleDB(t *testing.T) {
@@ -487,27 +513,27 @@ func TestScatterConnSingleDB(t *testing.T) {
// TransactionMode_SINGLE in session
session := NewSafeSession(&vtgatepb.Session{InTransaction: true, TransactionMode: vtgatepb.TransactionMode_SINGLE})
queries := []*querypb.BoundQuery{{Sql: "query1"}}
- _, errors := sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ _, errors := sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
require.Empty(t, errors)
- _, errors = sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ _, errors = sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
require.Error(t, errors[0])
assert.Contains(t, errors[0].Error(), want)
// TransactionMode_SINGLE in txconn
sc.txConn.mode = vtgatepb.TransactionMode_SINGLE
session = NewSafeSession(&vtgatepb.Session{InTransaction: true})
- _, errors = sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ _, errors = sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
require.Empty(t, errors)
- _, errors = sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ _, errors = sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
require.Error(t, errors[0])
assert.Contains(t, errors[0].Error(), want)
// TransactionMode_MULTI in txconn. Should not fail.
sc.txConn.mode = vtgatepb.TransactionMode_MULTI
session = NewSafeSession(&vtgatepb.Session{InTransaction: true})
- _, errors = sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ _, errors = sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
require.Empty(t, errors)
- _, errors = sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ _, errors = sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
require.Empty(t, errors)
}
diff --git a/go/vt/vtgate/plan_execute.go b/go/vt/vtgate/plan_execute.go
index 199892842ee..34abe5a2aa3 100644
--- a/go/vt/vtgate/plan_execute.go
+++ b/go/vt/vtgate/plan_execute.go
@@ -24,14 +24,13 @@ import (
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/vt/log"
+ 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/vterrors"
"vitess.io/vitess/go/vt/vtgate/engine"
"vitess.io/vitess/go/vt/vtgate/logstats"
"vitess.io/vitess/go/vt/vtgate/vtgateservice"
-
- querypb "vitess.io/vitess/go/vt/proto/query"
- vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
)
type planExec func(ctx context.Context, plan *engine.Plan, vc *vcursorImpl, bindVars map[string]*querypb.BindVariable, startTime time.Time) error
@@ -90,6 +89,7 @@ func (e *Executor) newExecute(
lastVSchemaCreated = vs.GetCreated()
result *sqltypes.Result
plan *engine.Plan
+ cancel context.CancelFunc
)
for try := 0; try < MaxBufferingRetries; try++ {
@@ -140,6 +140,12 @@ func (e *Executor) newExecute(
safeSession.RecordWarning(warning)
}
+ // set the overall query timeout if it is not already set
+ if vcursor.queryTimeout > 0 && cancel == nil {
+ ctx, cancel = context.WithTimeout(ctx, vcursor.queryTimeout)
+ defer cancel()
+ }
+
result, err = e.handleTransactions(ctx, mysqlCtx, safeSession, plan, logStats, vcursor, stmt)
if err != nil {
return err
diff --git a/go/vt/vtgate/planbuilder/builder.go b/go/vt/vtgate/planbuilder/builder.go
index 5d1d4ecd622..27b994b1730 100644
--- a/go/vt/vtgate/planbuilder/builder.go
+++ b/go/vt/vtgate/planbuilder/builder.go
@@ -73,11 +73,14 @@ func TestBuilder(query string, vschema plancontext.VSchema, keyspace string) (*e
// Store the foreign key mode like we do for vcursor.
vw, isVw := vschema.(*vschemawrapper.VSchemaWrapper)
if isVw {
- fkState := sqlparser.ForeignKeyChecksState(stmt)
- if fkState != nil {
+ qh, err := sqlparser.BuildQueryHints(stmt)
+ if err != nil {
+ return nil, err
+ }
+ if qh.ForeignKeyChecks != nil {
// Restore the old volue of ForeignKeyChecksState to not interfere with the next test cases.
oldVal := vw.ForeignKeyChecksState
- vw.ForeignKeyChecksState = fkState
+ vw.ForeignKeyChecksState = qh.ForeignKeyChecks
defer func() {
vw.ForeignKeyChecksState = oldVal
}()
diff --git a/go/vt/vtgate/planbuilder/ddl.go b/go/vt/vtgate/planbuilder/ddl.go
index 4c4b3791c20..f4b8ab6976f 100644
--- a/go/vt/vtgate/planbuilder/ddl.go
+++ b/go/vt/vtgate/planbuilder/ddl.go
@@ -45,7 +45,7 @@ func (fk *fkContraint) FkWalk(node sqlparser.SQLNode) (kontinue bool, err error)
// and which chooses which of the two to invoke at runtime.
func buildGeneralDDLPlan(ctx context.Context, sql string, ddlStatement sqlparser.DDLStatement, reservedVars *sqlparser.ReservedVars, vschema plancontext.VSchema, enableOnlineDDL, enableDirectDDL bool) (*planResult, error) {
if vschema.Destination() != nil {
- return buildByPassPlan(sql, vschema)
+ return buildByPassPlan(sql, vschema, true)
}
normalDDLPlan, onlineDDLPlan, err := buildDDLPlans(ctx, sql, ddlStatement, reservedVars, vschema, enableOnlineDDL, enableDirectDDL)
if err != nil {
@@ -80,7 +80,7 @@ func buildGeneralDDLPlan(ctx context.Context, sql string, ddlStatement sqlparser
return newPlanResult(eddl, tc.getTables()...), nil
}
-func buildByPassPlan(sql string, vschema plancontext.VSchema) (*planResult, error) {
+func buildByPassPlan(sql string, vschema plancontext.VSchema, isDDL bool) (*planResult, error) {
keyspace, err := vschema.DefaultKeyspace()
if err != nil {
return nil, err
@@ -89,6 +89,7 @@ func buildByPassPlan(sql string, vschema plancontext.VSchema) (*planResult, erro
Keyspace: keyspace,
TargetDestination: vschema.Destination(),
Query: sql,
+ IsDDL: isDDL,
}
return newPlanResult(send), nil
}
diff --git a/go/vt/vtgate/planbuilder/operator_transformers.go b/go/vt/vtgate/planbuilder/operator_transformers.go
index 546a9854f26..a22719b4489 100644
--- a/go/vt/vtgate/planbuilder/operator_transformers.go
+++ b/go/vt/vtgate/planbuilder/operator_transformers.go
@@ -77,11 +77,31 @@ func transformToPrimitive(ctx *plancontext.PlanningContext, op operators.Operato
return transformSequential(ctx, op)
case *operators.DMLWithInput:
return transformDMLWithInput(ctx, op)
+ case *operators.RecurseCTE:
+ return transformRecurseCTE(ctx, op)
+ case *operators.PercentBasedMirror:
+ return transformPercentBasedMirror(ctx, op)
}
return nil, vterrors.VT13001(fmt.Sprintf("unknown type encountered: %T (transformToPrimitive)", op))
}
+func transformPercentBasedMirror(ctx *plancontext.PlanningContext, op *operators.PercentBasedMirror) (engine.Primitive, error) {
+ primitive, err := transformToPrimitive(ctx, op.Operator())
+ if err != nil {
+ return nil, err
+ }
+
+ target, err := transformToPrimitive(ctx.UseMirror(), op.Target())
+ // Mirroring is best-effort. If we encounter an error while building the
+ // mirror target primitive, proceed without mirroring.
+ if err != nil {
+ return primitive, nil
+ }
+
+ return engine.NewPercentBasedMirror(op.Percent, primitive, target), nil
+}
+
func transformDMLWithInput(ctx *plancontext.PlanningContext, op *operators.DMLWithInput) (engine.Primitive, error) {
input, err := transformToPrimitive(ctx, op.Source)
if err != nil {
@@ -149,7 +169,7 @@ func transformSequential(ctx *plancontext.PlanningContext, op *operators.Sequent
}
func transformInsertionSelection(ctx *plancontext.PlanningContext, op *operators.InsertSelection) (engine.Primitive, error) {
- rb, isRoute := op.Insert.(*operators.Route)
+ rb, isRoute := op.Insert().(*operators.Route)
if !isRoute {
return nil, vterrors.VT13001(fmt.Sprintf("Incorrect type encountered: %T (transformInsertionSelection)", op.Insert))
}
@@ -178,7 +198,7 @@ func transformInsertionSelection(ctx *plancontext.PlanningContext, op *operators
eins.Prefix, _, eins.Suffix = generateInsertShardedQuery(ins.AST)
- selectionPlan, err := transformToPrimitive(ctx, op.Select)
+ selectionPlan, err := transformToPrimitive(ctx, op.Select())
if err != nil {
return nil, err
}
@@ -288,7 +308,6 @@ func transformFkVerify(ctx *plancontext.PlanningContext, fkv *operators.FkVerify
Verify: verify,
Exec: inputLP,
}, nil
-
}
func transformAggregator(ctx *plancontext.PlanningContext, op *operators.Aggregator) (engine.Primitive, error) {
@@ -451,7 +470,6 @@ func getEvalEngineExpr(ctx *plancontext.PlanningContext, pe *operators.ProjExpr)
default:
return nil, vterrors.VT13001("project not planned for: %s", pe.String())
}
-
}
// newSimpleProjection creates a simple projections
@@ -981,6 +999,22 @@ func transformVindexPlan(ctx *plancontext.PlanningContext, op *operators.Vindex)
return prim, nil
}
+func transformRecurseCTE(ctx *plancontext.PlanningContext, op *operators.RecurseCTE) (engine.Primitive, error) {
+ seed, err := transformToPrimitive(ctx, op.Seed())
+ if err != nil {
+ return nil, err
+ }
+ term, err := transformToPrimitive(ctx, op.Term())
+ if err != nil {
+ return nil, err
+ }
+ return &engine.RecurseCTE{
+ Seed: seed,
+ Term: term,
+ Vars: op.Vars,
+ }, nil
+}
+
func generateQuery(statement sqlparser.Statement) string {
buf := sqlparser.NewTrackedBuffer(dmlFormatter)
statement.Format(buf)
diff --git a/go/vt/vtgate/planbuilder/operators/SQL_builder.go b/go/vt/vtgate/planbuilder/operators/SQL_builder.go
index 08cf3c4801c..20af2a698c3 100644
--- a/go/vt/vtgate/planbuilder/operators/SQL_builder.go
+++ b/go/vt/vtgate/planbuilder/operators/SQL_builder.go
@@ -55,7 +55,36 @@ func ToSQL(ctx *plancontext.PlanningContext, op Operator) (_ sqlparser.Statement
return q.stmt, q.dmlOperator, nil
}
+// includeTable will return false if the table is a CTE, and it is not merged
+// it will return true if the table is not a CTE or if it is a CTE and it is merged
+func (qb *queryBuilder) includeTable(op *Table) bool {
+ if qb.ctx.SemTable == nil {
+ return true
+ }
+ tbl, err := qb.ctx.SemTable.TableInfoFor(op.QTable.ID)
+ if err != nil {
+ panic(err)
+ }
+ cteTbl, isCTE := tbl.(*semantics.CTETable)
+ if !isCTE {
+ return true
+ }
+
+ return cteTbl.Merged
+}
+
func (qb *queryBuilder) addTable(db, tableName, alias string, tableID semantics.TableSet, hints sqlparser.IndexHints) {
+ if tableID.NumberOfTables() == 1 && qb.ctx.SemTable != nil {
+ tblInfo, err := qb.ctx.SemTable.TableInfoFor(tableID)
+ if err != nil {
+ panic(err)
+ }
+ cte, isCTE := tblInfo.(*semantics.CTETable)
+ if isCTE {
+ tableName = cte.TableName
+ db = ""
+ }
+ }
tableExpr := sqlparser.TableName{
Name: sqlparser.NewIdentifierCS(tableName),
Qualifier: sqlparser.NewIdentifierCS(db),
@@ -105,6 +134,12 @@ func (qb *queryBuilder) addPredicate(expr sqlparser.Expr) {
addPred = stmt.AddWhere
case *sqlparser.Delete:
addPred = stmt.AddWhere
+ case nil:
+ // this would happen if we are adding a predicate on a dual query.
+ // we use this when building recursive CTE queries
+ sel := &sqlparser.Select{}
+ addPred = sel.AddWhere
+ qb.stmt = sel
default:
panic(fmt.Sprintf("cant add WHERE to %T", qb.stmt))
}
@@ -207,6 +242,27 @@ func (qb *queryBuilder) unionWith(other *queryBuilder, distinct bool) {
}
}
+func (qb *queryBuilder) recursiveCteWith(other *queryBuilder, name, alias string, distinct bool) {
+ cteUnion := &sqlparser.Union{
+ Left: qb.stmt.(sqlparser.SelectStatement),
+ Right: other.stmt.(sqlparser.SelectStatement),
+ Distinct: distinct,
+ }
+
+ qb.stmt = &sqlparser.Select{
+ With: &sqlparser.With{
+ Recursive: true,
+ CTEs: []*sqlparser.CommonTableExpr{{
+ ID: sqlparser.NewIdentifierCS(name),
+ Columns: nil,
+ Subquery: cteUnion,
+ }},
+ },
+ }
+
+ qb.addTable("", name, alias, "", nil)
+}
+
type FromStatement interface {
GetFrom() []sqlparser.TableExpr
SetFrom([]sqlparser.TableExpr)
@@ -401,6 +457,8 @@ func buildQuery(op Operator, qb *queryBuilder) {
buildDelete(op, qb)
case *Insert:
buildDML(op, qb)
+ case *RecurseCTE:
+ buildRecursiveCTE(op, qb)
default:
panic(vterrors.VT13001(fmt.Sprintf("unknown operator to convert to SQL: %T", op)))
}
@@ -492,6 +550,10 @@ func buildLimit(op *Limit, qb *queryBuilder) {
}
func buildTable(op *Table, qb *queryBuilder) {
+ if !qb.includeTable(op) {
+ return
+ }
+
dbName := ""
if op.QTable.IsInfSchema {
@@ -551,7 +613,16 @@ func buildApplyJoin(op *ApplyJoin, qb *queryBuilder) {
qbR := &queryBuilder{ctx: qb.ctx}
buildQuery(op.RHS, qbR)
- qb.joinWith(qbR, pred, op.JoinType)
+
+ switch {
+ // if we have a recursive cte, we might be missing a statement from one of the sides
+ case qbR.stmt == nil:
+ // do nothing
+ case qb.stmt == nil:
+ qb.stmt = qbR.stmt
+ default:
+ qb.joinWith(qbR, pred, op.JoinType)
+ }
}
func buildUnion(op *Union, qb *queryBuilder) {
@@ -636,6 +707,28 @@ func buildHorizon(op *Horizon, qb *queryBuilder) {
sqlparser.RemoveKeyspaceInCol(qb.stmt)
}
+func buildRecursiveCTE(op *RecurseCTE, qb *queryBuilder) {
+ predicates := slice.Map(op.Predicates, func(jc *plancontext.RecurseExpression) sqlparser.Expr {
+ // since we are adding these join predicates, we need to mark to broken up version (RHSExpr) of it as done
+ err := qb.ctx.SkipJoinPredicates(jc.Original)
+ if err != nil {
+ panic(err)
+ }
+ return jc.Original
+ })
+ pred := sqlparser.AndExpressions(predicates...)
+ buildQuery(op.Seed(), qb)
+ qbR := &queryBuilder{ctx: qb.ctx}
+ buildQuery(op.Term(), qbR)
+ qbR.addPredicate(pred)
+ infoFor, err := qb.ctx.SemTable.TableInfoFor(op.OuterID)
+ if err != nil {
+ panic(err)
+ }
+
+ qb.recursiveCteWith(qbR, op.Def.Name, infoFor.GetAliasedTableExpr().As.String(), op.Distinct)
+}
+
func mergeHaving(h1, h2 *sqlparser.Where) *sqlparser.Where {
switch {
case h1 == nil && h2 == nil:
diff --git a/go/vt/vtgate/planbuilder/operators/aggregation_pushing.go b/go/vt/vtgate/planbuilder/operators/aggregation_pushing.go
index 671f4b78954..73169369a41 100644
--- a/go/vt/vtgate/planbuilder/operators/aggregation_pushing.go
+++ b/go/vt/vtgate/planbuilder/operators/aggregation_pushing.go
@@ -460,8 +460,8 @@ func createJoinPusher(rootAggr *Aggregator, operator Operator) *joinPusher {
return &joinPusher{
orig: rootAggr,
pushed: &Aggregator{
- Source: operator,
- QP: rootAggr.QP,
+ unaryOperator: newUnaryOp(operator),
+ QP: rootAggr.QP,
},
columns: initColReUse(len(rootAggr.Columns)),
tableID: TableID(operator),
diff --git a/go/vt/vtgate/planbuilder/operators/aggregator.go b/go/vt/vtgate/planbuilder/operators/aggregator.go
index bb969912f4f..f353ee02d1e 100644
--- a/go/vt/vtgate/planbuilder/operators/aggregator.go
+++ b/go/vt/vtgate/planbuilder/operators/aggregator.go
@@ -34,7 +34,7 @@ type (
// Both all aggregations and no grouping, and the inverse
// of all grouping and no aggregations are valid configurations of this operator
Aggregator struct {
- Source Operator
+ unaryOperator
Columns []*sqlparser.AliasedExpr
WithRollup bool
@@ -57,6 +57,9 @@ type (
// This is used to truncate the columns in the final result
ResultColumns int
+ // Truncate is set to true if the columns produced by this operator should be truncated if we added any additional columns
+ Truncate bool
+
QP *QueryProjection
DT *DerivedTable
@@ -72,17 +75,6 @@ func (a *Aggregator) Clone(inputs []Operator) Operator {
return &kopy
}
-func (a *Aggregator) Inputs() []Operator {
- return []Operator{a.Source}
-}
-
-func (a *Aggregator) SetInputs(operators []Operator) {
- if len(operators) != 1 {
- panic(fmt.Sprintf("unexpected number of operators as input in aggregator: %d", len(operators)))
- }
- a.Source = operators[0]
-}
-
func (a *Aggregator) AddPredicate(_ *plancontext.PlanningContext, expr sqlparser.Expr) Operator {
return newFilter(a, expr)
}
@@ -151,6 +143,8 @@ func (a *Aggregator) checkOffset(offset int) {
}
func (a *Aggregator) AddColumn(ctx *plancontext.PlanningContext, reuse bool, groupBy bool, ae *sqlparser.AliasedExpr) (offset int) {
+ a.planOffsets(ctx)
+
defer func() {
a.checkOffset(offset)
}()
@@ -199,6 +193,10 @@ func (a *Aggregator) AddColumn(ctx *plancontext.PlanningContext, reuse bool, gro
}
func (a *Aggregator) AddWSColumn(ctx *plancontext.PlanningContext, offset int, underRoute bool) int {
+ if !underRoute {
+ a.planOffsets(ctx)
+ }
+
if len(a.Columns) <= offset {
panic(vterrors.VT13001("offset out of range"))
}
@@ -221,7 +219,7 @@ func (a *Aggregator) AddWSColumn(ctx *plancontext.PlanningContext, offset int, u
}
if expr == nil {
- for _, aggr := range a.Aggregations {
+ for i, aggr := range a.Aggregations {
if aggr.ColOffset != offset {
continue
}
@@ -230,9 +228,13 @@ func (a *Aggregator) AddWSColumn(ctx *plancontext.PlanningContext, offset int, u
return aggr.WSOffset
}
- panic(vterrors.VT13001("expected to find a weight string for aggregation"))
+ a.Aggregations[i].WSOffset = len(a.Columns)
+ expr = a.Columns[offset].Expr
+ break
}
+ }
+ if expr == nil {
panic(vterrors.VT13001("could not find expression at offset"))
}
@@ -515,7 +517,7 @@ func (a *Aggregator) pushRemainingGroupingColumnsAndWeightStrings(ctx *planconte
continue
}
- offset := a.internalAddColumn(ctx, aeWrap(weightStringFor(gb.Inner)), false)
+ offset := a.internalAddWSColumn(ctx, a.Grouping[idx].ColOffset, aeWrap(weightStringFor(gb.Inner)))
a.Grouping[idx].WSOffset = offset
}
for idx, aggr := range a.Aggregations {
@@ -524,11 +526,28 @@ func (a *Aggregator) pushRemainingGroupingColumnsAndWeightStrings(ctx *planconte
}
arg := aggr.getPushColumn()
- offset := a.internalAddColumn(ctx, aeWrap(weightStringFor(arg)), false)
+ offset := a.internalAddWSColumn(ctx, aggr.ColOffset, aeWrap(weightStringFor(arg)))
+
a.Aggregations[idx].WSOffset = offset
}
}
+func (a *Aggregator) internalAddWSColumn(ctx *plancontext.PlanningContext, inOffset int, aliasedExpr *sqlparser.AliasedExpr) int {
+ if a.ResultColumns == 0 && a.Truncate {
+ // if we need to use `internalAddColumn`, it means we are adding columns that are not part of the original list,
+ // so we need to set the ResultColumns to the current length of the columns list
+ a.ResultColumns = len(a.Columns)
+ }
+
+ offset := a.Source.AddWSColumn(ctx, inOffset, false)
+
+ if offset == len(a.Columns) {
+ // if we get an offset at the end of our current column list, it means we added a new column
+ a.Columns = append(a.Columns, aliasedExpr)
+ }
+ return offset
+}
+
func (a *Aggregator) setTruncateColumnCount(offset int) {
a.ResultColumns = offset
}
@@ -538,7 +557,7 @@ func (a *Aggregator) getTruncateColumnCount() int {
}
func (a *Aggregator) internalAddColumn(ctx *plancontext.PlanningContext, aliasedExpr *sqlparser.AliasedExpr, addToGroupBy bool) int {
- if a.ResultColumns == 0 {
+ if a.ResultColumns == 0 && a.Truncate {
// if we need to use `internalAddColumn`, it means we are adding columns that are not part of the original list,
// so we need to set the ResultColumns to the current length of the columns list
a.ResultColumns = len(a.Columns)
diff --git a/go/vt/vtgate/planbuilder/operators/apply_join.go b/go/vt/vtgate/planbuilder/operators/apply_join.go
index ef36f6a6765..80bf74708a8 100644
--- a/go/vt/vtgate/planbuilder/operators/apply_join.go
+++ b/go/vt/vtgate/planbuilder/operators/apply_join.go
@@ -32,7 +32,7 @@ type (
// ApplyJoin is a nested loop join - for each row on the LHS,
// we'll execute the plan on the RHS, feeding data from left to right
ApplyJoin struct {
- LHS, RHS Operator
+ binaryOperator
// JoinType is permitted to store only 3 of the possible values
// NormalJoinType, StraightJoinType and LeftJoinType.
@@ -69,11 +69,10 @@ type (
// so they can be used for the result of this expression that is using data from both sides.
// All fields will be used for these
applyJoinColumn struct {
- Original sqlparser.Expr // this is the original expression being passed through
- LHSExprs []BindVarExpr // These are the expressions we are pushing to the left hand side which we'll receive as bind variables
- RHSExpr sqlparser.Expr // This the expression that we'll evaluate on the right hand side. This is nil, if the right hand side has nothing.
- DTColName *sqlparser.ColName // This is the output column name that the parent of JOIN will be seeing. If this is unset, then the colname is the String(Original). We set this when we push Projections with derived tables underneath a Join.
- GroupBy bool // if this is true, we need to push this down to our inputs with addToGroupBy set to true
+ Original sqlparser.Expr // this is the original expression being passed through
+ LHSExprs []BindVarExpr // These are the expressions we are pushing to the left hand side which we'll receive as bind variables
+ RHSExpr sqlparser.Expr // This the expression that we'll evaluate on the right hand side. This is nil, if the right hand side has nothing.
+ GroupBy bool // if this is true, we need to push this down to our inputs with addToGroupBy set to true
}
// BindVarExpr is an expression needed from one side of a join/subquery, and the argument name for it.
@@ -86,8 +85,7 @@ type (
func NewApplyJoin(ctx *plancontext.PlanningContext, lhs, rhs Operator, predicate sqlparser.Expr, joinType sqlparser.JoinType) *ApplyJoin {
aj := &ApplyJoin{
- LHS: lhs,
- RHS: rhs,
+ binaryOperator: newBinaryOp(lhs, rhs),
Vars: map[string]int{},
JoinType: joinType,
JoinColumns: &applyJoinColumns{},
@@ -114,16 +112,6 @@ func (aj *ApplyJoin) AddPredicate(ctx *plancontext.PlanningContext, expr sqlpars
return AddPredicate(ctx, aj, expr, false, newFilterSinglePredicate)
}
-// Inputs implements the Operator interface
-func (aj *ApplyJoin) Inputs() []Operator {
- return []Operator{aj.LHS, aj.RHS}
-}
-
-// SetInputs implements the Operator interface
-func (aj *ApplyJoin) SetInputs(inputs []Operator) {
- aj.LHS, aj.RHS = inputs[0], inputs[1]
-}
-
func (aj *ApplyJoin) GetLHS() Operator {
return aj.LHS
}
@@ -205,7 +193,6 @@ func (aj *ApplyJoin) getJoinColumnFor(ctx *plancontext.PlanningContext, orig *sq
rhs := TableID(aj.RHS)
both := lhs.Merge(rhs)
deps := ctx.SemTable.RecursiveDeps(e)
-
switch {
case deps.IsSolvedBy(lhs):
col.LHSExprs = []BindVarExpr{{Expr: e}}
@@ -225,8 +212,7 @@ func (aj *ApplyJoin) getJoinColumnFor(ctx *plancontext.PlanningContext, orig *sq
func applyJoinCompare(ctx *plancontext.PlanningContext, expr sqlparser.Expr) func(e applyJoinColumn) bool {
return func(e applyJoinColumn) bool {
- // e.DTColName is how the outside world will be using this expression. So we should check for an equality with that too.
- return ctx.SemTable.EqualsExprWithDeps(e.Original, expr) || ctx.SemTable.EqualsExprWithDeps(e.DTColName, expr)
+ return ctx.SemTable.EqualsExprWithDeps(e.Original, expr)
}
}
@@ -302,12 +288,18 @@ func (aj *ApplyJoin) planOffsets(ctx *plancontext.PlanningContext) Operator {
for _, col := range aj.JoinPredicates.columns {
for _, lhsExpr := range col.LHSExprs {
+ if _, found := aj.Vars[lhsExpr.Name]; found {
+ continue
+ }
offset := aj.LHS.AddColumn(ctx, true, false, aeWrap(lhsExpr.Expr))
aj.Vars[lhsExpr.Name] = offset
}
}
for _, lhsExpr := range aj.ExtraLHSVars {
+ if _, found := aj.Vars[lhsExpr.Name]; found {
+ continue
+ }
offset := aj.LHS.AddColumn(ctx, true, false, aeWrap(lhsExpr.Expr))
aj.Vars[lhsExpr.Name] = offset
}
@@ -441,11 +433,8 @@ func (jc applyJoinColumn) String() string {
lhs := slice.Map(jc.LHSExprs, func(e BindVarExpr) string {
return sqlparser.String(e.Expr)
})
- if jc.DTColName == nil {
- return fmt.Sprintf("[%s | %s | %s]", strings.Join(lhs, ", "), rhs, sqlparser.String(jc.Original))
- }
- return fmt.Sprintf("[%s | %s | %s | %s]", strings.Join(lhs, ", "), rhs, sqlparser.String(jc.Original), sqlparser.String(jc.DTColName))
+ return fmt.Sprintf("[%s | %s | %s]", strings.Join(lhs, ", "), rhs, sqlparser.String(jc.Original))
}
func (jc applyJoinColumn) IsPureLeft() bool {
@@ -461,16 +450,10 @@ func (jc applyJoinColumn) IsMixedLeftAndRight() bool {
}
func (jc applyJoinColumn) GetPureLeftExpr() sqlparser.Expr {
- if jc.DTColName != nil {
- return jc.DTColName
- }
return jc.LHSExprs[0].Expr
}
func (jc applyJoinColumn) GetRHSExpr() sqlparser.Expr {
- if jc.DTColName != nil {
- return jc.DTColName
- }
return jc.RHSExpr
}
diff --git a/go/vt/vtgate/planbuilder/operators/ast_to_op.go b/go/vt/vtgate/planbuilder/operators/ast_to_op.go
index 0d838610866..12c19bb72a6 100644
--- a/go/vt/vtgate/planbuilder/operators/ast_to_op.go
+++ b/go/vt/vtgate/planbuilder/operators/ast_to_op.go
@@ -26,8 +26,10 @@ import (
"vitess.io/vitess/go/vt/vtgate/vindexes"
)
-const foreignKeyConstraintValues = "fkc_vals"
-const foreignKeyUpdateExpr = "fkc_upd"
+const (
+ foreignKeyConstraintValues = "fkc_vals"
+ foreignKeyUpdateExpr = "fkc_upd"
+)
// translateQueryToOp creates an operator tree that represents the input SELECT or UNION query
func translateQueryToOp(ctx *plancontext.PlanningContext, selStmt sqlparser.Statement) Operator {
@@ -47,19 +49,26 @@ func translateQueryToOp(ctx *plancontext.PlanningContext, selStmt sqlparser.Stat
}
}
+func translateQueryToOpWithMirroring(ctx *plancontext.PlanningContext, stmt sqlparser.Statement) Operator {
+ op := translateQueryToOp(ctx, stmt)
+
+ if selStmt, ok := stmt.(sqlparser.SelectStatement); ok {
+ if mi := ctx.SemTable.GetMirrorInfo(); mi.Percent > 0 {
+ mirrorOp := translateQueryToOp(ctx.UseMirror(), selStmt)
+ op = NewPercentBasedMirror(mi.Percent, op, mirrorOp)
+ }
+ }
+
+ return op
+}
+
func createOperatorFromSelect(ctx *plancontext.PlanningContext, sel *sqlparser.Select) Operator {
op := crossJoin(ctx, sel.From)
- if sel.Where != nil {
- op = addWherePredicates(ctx, sel.Where.Expr, op)
- }
+ op = addWherePredicates(ctx, sel.GetWherePredicate(), op)
if sel.Comments != nil || sel.Lock != sqlparser.NoLock {
- op = &LockAndComment{
- Source: op,
- Comments: sel.Comments,
- Lock: sel.Lock,
- }
+ op = newLockAndComment(op, sel.Comments, sel.Lock)
}
op = newHorizon(op, sel)
@@ -73,15 +82,26 @@ func addWherePredicates(ctx *plancontext.PlanningContext, expr sqlparser.Expr, o
return sqc.getRootOperator(op, nil)
}
-func addWherePredsToSubQueryBuilder(ctx *plancontext.PlanningContext, expr sqlparser.Expr, op Operator, sqc *SubQueryBuilder) Operator {
+func addWherePredsToSubQueryBuilder(ctx *plancontext.PlanningContext, in sqlparser.Expr, op Operator, sqc *SubQueryBuilder) Operator {
outerID := TableID(op)
- exprs := sqlparser.SplitAndExpression(nil, expr)
- for _, expr := range exprs {
+ for _, expr := range sqlparser.SplitAndExpression(nil, in) {
sqlparser.RemoveKeyspaceInCol(expr)
+ expr = simplifyPredicates(ctx, expr)
subq := sqc.handleSubquery(ctx, expr, outerID)
if subq != nil {
continue
}
+ boolean := ctx.IsConstantBool(expr)
+ if boolean != nil {
+ if *boolean {
+ // If the predicate is true, we can ignore it.
+ continue
+ }
+
+ // If the predicate is false, we push down a false predicate to influence routing
+ expr = sqlparser.NewIntLiteral("0")
+ }
+
op = op.AddPredicate(ctx, expr)
addColumnEquality(ctx, expr)
}
@@ -148,8 +168,8 @@ func createOperatorFromUnion(ctx *plancontext.PlanningContext, node *sqlparser.U
if isRHSUnion {
panic(vterrors.VT12001("nesting of UNIONs on the right-hand side"))
}
- opLHS := translateQueryToOp(ctx, node.Left)
- opRHS := translateQueryToOp(ctx, node.Right)
+ opLHS := translateQueryToOpForUnion(ctx, node.Left)
+ opRHS := translateQueryToOpForUnion(ctx, node.Right)
lexprs := ctx.SemTable.SelectExprs(node.Left)
rexprs := ctx.SemTable.SelectExprs(node.Right)
@@ -158,6 +178,14 @@ func createOperatorFromUnion(ctx *plancontext.PlanningContext, node *sqlparser.U
return newHorizon(union, node)
}
+func translateQueryToOpForUnion(ctx *plancontext.PlanningContext, node sqlparser.SelectStatement) Operator {
+ op := translateQueryToOp(ctx, node)
+ if hz, ok := op.(*Horizon); ok {
+ hz.Truncate = true
+ }
+ return op
+}
+
// createOpFromStmt creates an operator from the given statement. It takes in two additional arguments—
// 1. verifyAllFKs: For this given statement, do we need to verify validity of all the foreign keys on the vtgate level.
// 2. fkToIgnore: The foreign key constraint to specifically ignore while planning the statement. This field is used in UPDATE CASCADE planning, wherein while planning the child update
@@ -246,24 +274,47 @@ func getOperatorFromAliasedTableExpr(ctx *plancontext.PlanningContext, tableExpr
panic(err)
}
- if vt, isVindex := tableInfo.(*semantics.VindexTable); isVindex {
- solves := tableID
+ switch tableInfo := tableInfo.(type) {
+ case *semantics.VindexTable:
return &Vindex{
Table: VindexTable{
TableID: tableID,
Alias: tableExpr,
Table: tbl,
- VTable: vt.Table.GetVindexTable(),
+ VTable: tableInfo.Table.GetVindexTable(),
},
- Vindex: vt.Vindex,
- Solved: solves,
+ Vindex: tableInfo.Vindex,
+ Solved: tableID,
}
+ case *semantics.CTETable:
+ return createDualCTETable(ctx, tableID, tableInfo)
+ case *semantics.RealTable:
+ if tableInfo.CTE != nil {
+ return createRecursiveCTE(ctx, tableInfo.CTE, tableID)
+ }
+
+ qg := newQueryGraph()
+ isInfSchema := tableInfo.IsInfSchema()
+ if ctx.IsMirrored() {
+ if mr := tableInfo.GetMirrorRule(); mr != nil {
+ newTbl := sqlparser.Clone(tbl)
+ newTbl.Qualifier = sqlparser.NewIdentifierCS(mr.Table.Keyspace.Name)
+ newTbl.Name = mr.Table.Name
+ if newTbl.Name.String() != tbl.Name.String() {
+ tableExpr = sqlparser.Clone(tableExpr)
+ tableExpr.As = tbl.Name
+ }
+ tbl = newTbl
+ } else {
+ panic(vterrors.VT13001(fmt.Sprintf("unable to find mirror rule for table: %T", tbl)))
+ }
+ }
+ qt := &QueryTable{Alias: tableExpr, Table: tbl, ID: tableID, IsInfSchema: isInfSchema}
+ qg.Tables = append(qg.Tables, qt)
+ return qg
+ default:
+ panic(vterrors.VT13001(fmt.Sprintf("unknown table type %T", tableInfo)))
}
- qg := newQueryGraph()
- isInfSchema := tableInfo.IsInfSchema()
- qt := &QueryTable{Alias: tableExpr, Table: tbl, ID: tableID, IsInfSchema: isInfSchema}
- qg.Tables = append(qg.Tables, qt)
- return qg
case *sqlparser.DerivedTable:
if onlyTable && tbl.Select.GetLimit() == nil {
tbl.Select.SetOrderBy(nil)
@@ -284,6 +335,56 @@ func getOperatorFromAliasedTableExpr(ctx *plancontext.PlanningContext, tableExpr
}
}
+func createDualCTETable(ctx *plancontext.PlanningContext, tableID semantics.TableSet, tableInfo *semantics.CTETable) Operator {
+ vschemaTable, _, _, _, _, err := ctx.VSchema.FindTableOrVindex(sqlparser.NewTableName("dual"))
+ if err != nil {
+ panic(err)
+ }
+ qtbl := &QueryTable{
+ ID: tableID,
+ Alias: tableInfo.ASTNode,
+ Table: sqlparser.NewTableName("dual"),
+ }
+ return createRouteFromVSchemaTable(ctx, qtbl, vschemaTable, false, nil)
+}
+
+func createRecursiveCTE(ctx *plancontext.PlanningContext, def *semantics.CTE, outerID semantics.TableSet) Operator {
+ union, ok := def.Query.(*sqlparser.Union)
+ if !ok {
+ panic(vterrors.VT13001("expected UNION in recursive CTE"))
+ }
+
+ seed := translateQueryToOp(ctx, union.Left)
+
+ // Push the CTE definition to the stack so that it can be used in the recursive part of the query
+ ctx.PushCTE(def, *def.IDForRecurse)
+
+ term := translateQueryToOp(ctx, union.Right)
+ horizon, ok := term.(*Horizon)
+ if !ok {
+ panic(vterrors.VT09027(def.Name))
+ }
+ term = horizon.Source
+ horizon.Source = nil // not sure about this
+ activeCTE, err := ctx.PopCTE()
+ if err != nil {
+ panic(err)
+ }
+
+ return newRecurse(ctx, def, seed, term, activeCTE.Predicates, horizon, idForRecursiveTable(ctx, def), outerID, union.Distinct)
+}
+
+func idForRecursiveTable(ctx *plancontext.PlanningContext, def *semantics.CTE) semantics.TableSet {
+ for i, table := range ctx.SemTable.Tables {
+ tbl, ok := table.(*semantics.CTETable)
+ if !ok || tbl.CTE.Name != def.Name {
+ continue
+ }
+ return semantics.SingleTableSet(i)
+ }
+ panic(vterrors.VT13001("recursive table not found"))
+}
+
func crossJoin(ctx *plancontext.PlanningContext, exprs sqlparser.TableExprs) Operator {
var output Operator
for _, tableExpr := range exprs {
diff --git a/go/vt/vtgate/planbuilder/operators/comments.go b/go/vt/vtgate/planbuilder/operators/comments.go
index 7e7749a61b5..9f0202c250a 100644
--- a/go/vt/vtgate/planbuilder/operators/comments.go
+++ b/go/vt/vtgate/planbuilder/operators/comments.go
@@ -26,25 +26,25 @@ import (
// LockAndComment contains any comments or locking directives we want on all queries down from this operator
type LockAndComment struct {
- Source Operator
+ unaryOperator
Comments *sqlparser.ParsedComments
Lock sqlparser.Lock
}
+func newLockAndComment(op Operator, comments *sqlparser.ParsedComments, lock sqlparser.Lock) Operator {
+ return &LockAndComment{
+ unaryOperator: newUnaryOp(op),
+ Comments: comments,
+ Lock: lock,
+ }
+}
+
func (l *LockAndComment) Clone(inputs []Operator) Operator {
klon := *l
klon.Source = inputs[0]
return &klon
}
-func (l *LockAndComment) Inputs() []Operator {
- return []Operator{l.Source}
-}
-
-func (l *LockAndComment) SetInputs(operators []Operator) {
- l.Source = operators[0]
-}
-
func (l *LockAndComment) AddPredicate(ctx *plancontext.PlanningContext, expr sqlparser.Expr) Operator {
l.Source = l.Source.AddPredicate(ctx, expr)
return l
diff --git a/go/vt/vtgate/planbuilder/operators/cte_merging.go b/go/vt/vtgate/planbuilder/operators/cte_merging.go
new file mode 100644
index 00000000000..cb19e06b2a7
--- /dev/null
+++ b/go/vt/vtgate/planbuilder/operators/cte_merging.go
@@ -0,0 +1,95 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package operators
+
+import (
+ "vitess.io/vitess/go/vt/vtgate/engine"
+ "vitess.io/vitess/go/vt/vtgate/planbuilder/plancontext"
+)
+
+func tryMergeRecurse(ctx *plancontext.PlanningContext, in *RecurseCTE) (Operator, *ApplyResult) {
+ op := tryMergeCTE(ctx, in.Seed(), in.Term(), in)
+ if op == nil {
+ return in, NoRewrite
+ }
+
+ return op, Rewrote("Merged CTE")
+}
+
+func tryMergeCTE(ctx *plancontext.PlanningContext, seed, term Operator, in *RecurseCTE) *Route {
+ seedRoute, termRoute, routingA, routingB, a, b, sameKeyspace := prepareInputRoutes(seed, term)
+ if seedRoute == nil {
+ return nil
+ }
+
+ switch {
+ case a == dual:
+ return mergeCTE(ctx, seedRoute, termRoute, routingB, in)
+ case b == dual:
+ return mergeCTE(ctx, seedRoute, termRoute, routingA, in)
+ case !sameKeyspace:
+ return nil
+ case a == anyShard:
+ return mergeCTE(ctx, seedRoute, termRoute, routingB, in)
+ case b == anyShard:
+ return mergeCTE(ctx, seedRoute, termRoute, routingA, in)
+ case a == sharded && b == sharded:
+ return tryMergeCTESharded(ctx, seedRoute, termRoute, in)
+ default:
+ return nil
+ }
+}
+
+func tryMergeCTESharded(ctx *plancontext.PlanningContext, seed, term *Route, in *RecurseCTE) *Route {
+ tblA := seed.Routing.(*ShardedRouting)
+ tblB := term.Routing.(*ShardedRouting)
+ switch tblA.RouteOpCode {
+ case engine.EqualUnique:
+ // If the two routes fully match, they can be merged together.
+ if tblB.RouteOpCode == engine.EqualUnique {
+ aVdx := tblA.SelectedVindex()
+ bVdx := tblB.SelectedVindex()
+ aExpr := tblA.VindexExpressions()
+ bExpr := tblB.VindexExpressions()
+ if aVdx == bVdx && gen4ValuesEqual(ctx, aExpr, bExpr) {
+ return mergeCTE(ctx, seed, term, tblA, in)
+ }
+ }
+ }
+
+ return nil
+}
+
+func mergeCTE(ctx *plancontext.PlanningContext, seed, term *Route, r Routing, in *RecurseCTE) *Route {
+ in.Def.Merged = true
+ hz := in.Horizon
+ hz.Source = term.Source
+ newTerm, _ := expandHorizon(ctx, hz)
+ cte := &RecurseCTE{
+ binaryOperator: newBinaryOp(seed.Source, newTerm),
+ Predicates: in.Predicates,
+ Def: in.Def,
+ LeftID: in.LeftID,
+ OuterID: in.OuterID,
+ Distinct: in.Distinct,
+ }
+ return &Route{
+ Routing: r,
+ unaryOperator: newUnaryOp(cte),
+ MergedWith: []*Route{term},
+ }
+}
diff --git a/go/vt/vtgate/planbuilder/operators/delete.go b/go/vt/vtgate/planbuilder/operators/delete.go
index 5bbf5218bd7..4d30d9b9cc1 100644
--- a/go/vt/vtgate/planbuilder/operators/delete.go
+++ b/go/vt/vtgate/planbuilder/operators/delete.go
@@ -45,9 +45,6 @@ func (d *Delete) Inputs() []Operator {
}
func (d *Delete) SetInputs(inputs []Operator) {
- if len(inputs) != 1 {
- panic(vterrors.VT13001("unexpected number of inputs for Delete operator"))
- }
d.Source = inputs[0]
}
@@ -55,8 +52,8 @@ func (d *Delete) GetOrdering(*plancontext.PlanningContext) []OrderBy {
return nil
}
-func (d *Delete) TablesUsed() []string {
- return SingleQualifiedIdentifier(d.Target.VTable.Keyspace, d.Target.VTable.Name)
+func (d *Delete) TablesUsed(in []string) []string {
+ return append(in, QualifiedString(d.Target.VTable.Keyspace, d.Target.VTable.Name.String()))
}
func (d *Delete) ShortDescription() string {
@@ -78,10 +75,7 @@ func createOperatorFromDelete(ctx *plancontext.PlanningContext, deleteStmt *sqlp
op, vTbl = createDeleteOperator(ctx, deleteStmt)
if deleteStmt.Comments != nil {
- op = &LockAndComment{
- Source: op,
- Comments: deleteStmt.Comments,
- }
+ op = newLockAndComment(op, deleteStmt.Comments, sqlparser.NoLock)
}
var err error
@@ -154,10 +148,7 @@ func createDeleteWithInputOp(ctx *plancontext.PlanningContext, del *sqlparser.De
}
if del.Comments != nil {
- op = &LockAndComment{
- Source: op,
- Comments: del.Comments,
- }
+ op = newLockAndComment(op, del.Comments, sqlparser.NoLock)
}
return op
}
@@ -260,16 +251,13 @@ func createDeleteOperator(ctx *plancontext.PlanningContext, del *sqlparser.Delet
Ignore: del.Ignore,
Target: targetTbl,
OwnedVindexQuery: ovq,
- Source: op,
},
}
if del.Limit != nil {
- addOrdering(ctx, del.OrderBy, delOp)
- delOp.Source = &Limit{
- Source: delOp.Source,
- AST: del.Limit,
- }
+ delOp.Source = newLimit(addOrdering(ctx, op, del.OrderBy), del.Limit, false)
+ } else {
+ delOp.Source = op
}
return sqc.getRootOperator(delOp, nil), vTbl
@@ -302,26 +290,24 @@ func makeColName(col sqlparser.IdentifierCI, table TargetTable, isMultiTbl bool)
return sqlparser.NewColName(col.String())
}
-func addOrdering(ctx *plancontext.PlanningContext, orderBy sqlparser.OrderBy, op Operator) {
+func addOrdering(ctx *plancontext.PlanningContext, op Operator, orderBy sqlparser.OrderBy) Operator {
es := &expressionSet{}
- ordering := &Ordering{}
- ordering.SetInputs(op.Inputs())
- for _, order := range orderBy {
- if sqlparser.IsNull(order.Expr) {
- // ORDER BY null can safely be ignored
+ var order []OrderBy
+ for _, ord := range orderBy {
+ if sqlparser.IsNull(ord.Expr) || !es.add(ctx, ord.Expr) {
+ // ORDER BY null, or expression repeated can safely be ignored
continue
}
- if !es.add(ctx, order.Expr) {
- continue
- }
- ordering.Order = append(ordering.Order, OrderBy{
- Inner: sqlparser.Clone(order),
- SimplifiedExpr: order.Expr,
+
+ order = append(order, OrderBy{
+ Inner: sqlparser.Clone(ord),
+ SimplifiedExpr: ord.Expr,
})
}
- if len(ordering.Order) > 0 {
- op.SetInputs([]Operator{ordering})
+ if len(order) == 0 {
+ return op
}
+ return newOrdering(op, order)
}
func updateQueryGraphWithSource(ctx *plancontext.PlanningContext, input Operator, tblID semantics.TableSet, vTbl *vindexes.Table) *vindexes.Table {
diff --git a/go/vt/vtgate/planbuilder/operators/distinct.go b/go/vt/vtgate/planbuilder/operators/distinct.go
index 4fd53725e10..52221498eea 100644
--- a/go/vt/vtgate/planbuilder/operators/distinct.go
+++ b/go/vt/vtgate/planbuilder/operators/distinct.go
@@ -26,8 +26,8 @@ import (
type (
Distinct struct {
- Source Operator
- QP *QueryProjection
+ unaryOperator
+ QP *QueryProjection
// When we go from AST to operator, we place DISTINCT ops in the required places in the op tree
// These are marked as `Required`, because they are semantically important to the results of the query.
@@ -45,6 +45,14 @@ type (
}
)
+func newDistinct(src Operator, qp *QueryProjection, required bool) *Distinct {
+ return &Distinct{
+ unaryOperator: newUnaryOp(src),
+ QP: qp,
+ Required: required,
+ }
+}
+
func (d *Distinct) planOffsets(ctx *plancontext.PlanningContext) Operator {
columns := d.GetColumns(ctx)
for idx, col := range columns {
@@ -66,22 +74,10 @@ func (d *Distinct) planOffsets(ctx *plancontext.PlanningContext) Operator {
}
func (d *Distinct) Clone(inputs []Operator) Operator {
- return &Distinct{
- Required: d.Required,
- Source: inputs[0],
- Columns: slices.Clone(d.Columns),
- QP: d.QP,
- PushedPerformance: d.PushedPerformance,
- ResultColumns: d.ResultColumns,
- }
-}
-
-func (d *Distinct) Inputs() []Operator {
- return []Operator{d.Source}
-}
-
-func (d *Distinct) SetInputs(operators []Operator) {
- d.Source = operators[0]
+ kopy := *d
+ kopy.Columns = slices.Clone(d.Columns)
+ kopy.Source = inputs[0]
+ return &kopy
}
func (d *Distinct) AddPredicate(ctx *plancontext.PlanningContext, expr sqlparser.Expr) Operator {
diff --git a/go/vt/vtgate/planbuilder/operators/dml_with_input.go b/go/vt/vtgate/planbuilder/operators/dml_with_input.go
index 3843e2f3fa8..720056f1964 100644
--- a/go/vt/vtgate/planbuilder/operators/dml_with_input.go
+++ b/go/vt/vtgate/planbuilder/operators/dml_with_input.go
@@ -50,9 +50,6 @@ func (d *DMLWithInput) Inputs() []Operator {
}
func (d *DMLWithInput) SetInputs(inputs []Operator) {
- if len(inputs) < 2 {
- panic("unexpected number of inputs for DMLWithInput operator")
- }
d.Source = inputs[0]
d.DML = inputs[1:]
}
diff --git a/go/vt/vtgate/planbuilder/operators/expressions.go b/go/vt/vtgate/planbuilder/operators/expressions.go
index 17b4bc7c3f1..38848693775 100644
--- a/go/vt/vtgate/planbuilder/operators/expressions.go
+++ b/go/vt/vtgate/planbuilder/operators/expressions.go
@@ -59,3 +59,65 @@ func breakExpressionInLHSandRHS(
col.Original = expr
return
}
+
+// nothingNeedsFetching will return true if all the nodes in the expression are constant
+func nothingNeedsFetching(ctx *plancontext.PlanningContext, expr sqlparser.Expr) (constant bool) {
+ constant = true
+ _ = sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) {
+ if mustFetchFromInput(ctx, node) {
+ constant = false
+ }
+ return true, nil
+ }, expr)
+ return
+}
+
+func simplifyPredicates(ctx *plancontext.PlanningContext, in sqlparser.Expr) sqlparser.Expr {
+ var replace sqlparser.Expr
+
+ // if expr is constant true, replace with trueReplacement, if constant false, replace with falseReplacement
+ handleExpr := func(expr, trueReplacement, falseReplacement sqlparser.Expr) bool {
+ b := ctx.IsConstantBool(expr)
+ if b != nil {
+ if *b {
+ replace = trueReplacement
+ } else {
+ replace = falseReplacement
+ }
+ return true
+ }
+ return false
+ }
+
+ pre := func(node, _ sqlparser.SQLNode) bool {
+ switch node := node.(type) {
+ case *sqlparser.OrExpr:
+ if handleExpr(node.Left, sqlparser.NewIntLiteral("1"), node.Right) {
+ return false
+ }
+ if handleExpr(node.Right, sqlparser.NewIntLiteral("1"), node.Left) {
+ return false
+ }
+ case *sqlparser.AndExpr:
+ if handleExpr(node.Left, node.Right, sqlparser.NewIntLiteral("0")) {
+ return false
+ }
+ if handleExpr(node.Right, node.Left, sqlparser.NewIntLiteral("0")) {
+ return false
+ }
+ }
+ return true
+ }
+ post := func(cursor *sqlparser.CopyOnWriteCursor) {
+ if replace != nil {
+ cursor.Replace(replace)
+ replace = nil
+ }
+ }
+ output := sqlparser.CopyOnRewrite(in, pre, post, ctx.SemTable.CopySemanticInfo).(sqlparser.Expr)
+ if in != output {
+ // we need to do this, since one simplification might lead to another
+ return simplifyPredicates(ctx, output)
+ }
+ return output
+}
diff --git a/go/vt/vtgate/planbuilder/operators/filter.go b/go/vt/vtgate/planbuilder/operators/filter.go
index d68b2a43a24..d58d218908e 100644
--- a/go/vt/vtgate/planbuilder/operators/filter.go
+++ b/go/vt/vtgate/planbuilder/operators/filter.go
@@ -29,7 +29,7 @@ import (
)
type Filter struct {
- Source Operator
+ unaryOperator
Predicates []sqlparser.Expr
// PredicateWithOffsets is the evalengine expression that will finally be used.
@@ -45,28 +45,17 @@ func newFilterSinglePredicate(op Operator, expr sqlparser.Expr) Operator {
func newFilter(op Operator, expr ...sqlparser.Expr) Operator {
return &Filter{
- Source: op, Predicates: expr,
+ unaryOperator: newUnaryOp(op),
+ Predicates: expr,
}
}
// Clone implements the Operator interface
func (f *Filter) Clone(inputs []Operator) Operator {
- return &Filter{
- Source: inputs[0],
- Predicates: slices.Clone(f.Predicates),
- PredicateWithOffsets: f.PredicateWithOffsets,
- ResultColumns: f.ResultColumns,
- }
-}
-
-// Inputs implements the Operator interface
-func (f *Filter) Inputs() []Operator {
- return []Operator{f.Source}
-}
-
-// SetInputs implements the Operator interface
-func (f *Filter) SetInputs(ops []Operator) {
- f.Source = ops[0]
+ klon := *f
+ klon.Source = inputs[0]
+ klon.Predicates = slices.Clone(f.Predicates)
+ return &klon
}
// UnsolvedPredicates implements the unresolved interface
diff --git a/go/vt/vtgate/planbuilder/operators/fk_cascade.go b/go/vt/vtgate/planbuilder/operators/fk_cascade.go
index f24b59ca5ab..0aff5b3bea2 100644
--- a/go/vt/vtgate/planbuilder/operators/fk_cascade.go
+++ b/go/vt/vtgate/planbuilder/operators/fk_cascade.go
@@ -61,9 +61,6 @@ func (fkc *FkCascade) Inputs() []Operator {
// SetInputs implements the Operator interface
func (fkc *FkCascade) SetInputs(operators []Operator) {
- if len(operators) < 2 {
- panic("incorrect count of inputs for FkCascade")
- }
fkc.Parent = operators[0]
fkc.Selection = operators[1]
for idx, operator := range operators {
diff --git a/go/vt/vtgate/planbuilder/operators/fk_verify.go b/go/vt/vtgate/planbuilder/operators/fk_verify.go
index 8275a8d462f..a27f88f3335 100644
--- a/go/vt/vtgate/planbuilder/operators/fk_verify.go
+++ b/go/vt/vtgate/planbuilder/operators/fk_verify.go
@@ -52,9 +52,6 @@ func (fkv *FkVerify) Inputs() []Operator {
// SetInputs implements the Operator interface
func (fkv *FkVerify) SetInputs(operators []Operator) {
fkv.Input = operators[0]
- if len(fkv.Verify) != len(operators)-1 {
- panic("mismatched number of verify inputs")
- }
for i := 1; i < len(operators); i++ {
fkv.Verify[i-1].Op = operators[i]
}
diff --git a/go/vt/vtgate/planbuilder/operators/hash_join.go b/go/vt/vtgate/planbuilder/operators/hash_join.go
index 23d0d061e21..3761c4b87a6 100644
--- a/go/vt/vtgate/planbuilder/operators/hash_join.go
+++ b/go/vt/vtgate/planbuilder/operators/hash_join.go
@@ -31,7 +31,7 @@ import (
type (
HashJoin struct {
- LHS, RHS Operator
+ binaryOperator
// LeftJoin will be true in the case of an outer join
LeftJoin bool
@@ -79,10 +79,9 @@ var _ JoinOp = (*HashJoin)(nil)
func NewHashJoin(lhs, rhs Operator, outerJoin bool) *HashJoin {
hj := &HashJoin{
- LHS: lhs,
- RHS: rhs,
- LeftJoin: outerJoin,
- columns: &hashJoinColumns{},
+ binaryOperator: newBinaryOp(lhs, rhs),
+ LeftJoin: outerJoin,
+ columns: &hashJoinColumns{},
}
return hj
}
@@ -97,14 +96,6 @@ func (hj *HashJoin) Clone(inputs []Operator) Operator {
return &kopy
}
-func (hj *HashJoin) Inputs() []Operator {
- return []Operator{hj.LHS, hj.RHS}
-}
-
-func (hj *HashJoin) SetInputs(operators []Operator) {
- hj.LHS, hj.RHS = operators[0], operators[1]
-}
-
func (hj *HashJoin) AddPredicate(ctx *plancontext.PlanningContext, expr sqlparser.Expr) Operator {
return AddPredicate(ctx, hj, expr, false, newFilterSinglePredicate)
}
diff --git a/go/vt/vtgate/planbuilder/operators/hash_join_test.go b/go/vt/vtgate/planbuilder/operators/hash_join_test.go
index 2bf1d08d2b6..7325cc015a1 100644
--- a/go/vt/vtgate/planbuilder/operators/hash_join_test.go
+++ b/go/vt/vtgate/planbuilder/operators/hash_join_test.go
@@ -41,10 +41,9 @@ func TestJoinPredicates(t *testing.T) {
lhs := &fakeOp{id: lid}
rhs := &fakeOp{id: rid}
hj := &HashJoin{
- LHS: lhs,
- RHS: rhs,
- LeftJoin: false,
- columns: &hashJoinColumns{},
+ binaryOperator: newBinaryOp(lhs, rhs),
+ LeftJoin: false,
+ columns: &hashJoinColumns{},
}
cmp := &sqlparser.ComparisonExpr{
@@ -99,10 +98,9 @@ func TestOffsetPlanning(t *testing.T) {
for _, test := range tests {
t.Run(sqlparser.String(test.expr), func(t *testing.T) {
hj := &HashJoin{
- LHS: lhs,
- RHS: rhs,
- LeftJoin: false,
- columns: &hashJoinColumns{},
+ binaryOperator: newBinaryOp(lhs, rhs),
+ LeftJoin: false,
+ columns: &hashJoinColumns{},
}
hj.AddColumn(ctx, true, false, aeWrap(test.expr))
hj.planOffsets(ctx)
diff --git a/go/vt/vtgate/planbuilder/operators/helpers.go b/go/vt/vtgate/planbuilder/operators/helpers.go
index 31d9bcfd279..36b10c96ae1 100644
--- a/go/vt/vtgate/planbuilder/operators/helpers.go
+++ b/go/vt/vtgate/planbuilder/operators/helpers.go
@@ -18,6 +18,7 @@ package operators
import (
"fmt"
+ "slices"
"sort"
"vitess.io/vitess/go/vt/sqlparser"
@@ -82,20 +83,21 @@ func TableID(op Operator) (result semantics.TableSet) {
// TableUser is used to signal that this operator directly interacts with one or more tables
type TableUser interface {
- TablesUsed() []string
+ TablesUsed([]string) []string
}
func TablesUsed(op Operator) []string {
- addString, collect := collectSortedUniqueStrings()
+ var in []string
_ = Visit(op, func(this Operator) error {
if tbl, ok := this.(TableUser); ok {
- for _, u := range tbl.TablesUsed() {
- addString(u)
- }
+ in = tbl.TablesUsed(in)
}
return nil
})
- return collect()
+
+ slices.Sort(in)
+ compacted := slices.Compact(in)
+ return compacted
}
func CostOf(op Operator) (cost int) {
diff --git a/go/vt/vtgate/planbuilder/operators/horizon.go b/go/vt/vtgate/planbuilder/operators/horizon.go
index 7539704c2a9..292be1b37c5 100644
--- a/go/vt/vtgate/planbuilder/operators/horizon.go
+++ b/go/vt/vtgate/planbuilder/operators/horizon.go
@@ -18,6 +18,7 @@ package operators
import (
"errors"
+ "fmt"
"slices"
"vitess.io/vitess/go/vt/sqlparser"
@@ -34,7 +35,7 @@ import (
// Project/Aggregate/Sort/Limit operations, some which can be pushed down,
// and some that have to be evaluated at the vtgate level.
type Horizon struct {
- Source Operator
+ unaryOperator
// If this is a derived table, the two following fields will contain the tableID and name of it
TableId *semantics.TableSet
@@ -49,10 +50,15 @@ type Horizon struct {
// Columns needed to feed other plans
Columns []*sqlparser.ColName
ColumnsOffset []int
+
+ Truncate bool
}
func newHorizon(src Operator, query sqlparser.SelectStatement) *Horizon {
- return &Horizon{Source: src, Query: query}
+ return &Horizon{
+ unaryOperator: newUnaryOp(src),
+ Query: query,
+ }
}
// Clone implements the Operator interface
@@ -75,16 +81,6 @@ func (h *Horizon) IsMergeable(ctx *plancontext.PlanningContext) bool {
return isMergeable(ctx, h.Query, h)
}
-// Inputs implements the Operator interface
-func (h *Horizon) Inputs() []Operator {
- return []Operator{h.Source}
-}
-
-// SetInputs implements the Operator interface
-func (h *Horizon) SetInputs(ops []Operator) {
- h.Source = ops[0]
-}
-
func (h *Horizon) AddPredicate(ctx *plancontext.PlanningContext, expr sqlparser.Expr) Operator {
if _, isUNion := h.Source.(*Union); isUNion {
// If we have a derived table on top of a UNION, we can let the UNION do the expression rewriting
@@ -205,7 +201,7 @@ func (h *Horizon) getQP(ctx *plancontext.PlanningContext) *QueryProjection {
}
func (h *Horizon) ShortDescription() string {
- return h.Alias
+ return fmt.Sprintf("Horizon (Alias: %s)", h.Alias)
}
func (h *Horizon) introducesTableID() semantics.TableSet {
diff --git a/go/vt/vtgate/planbuilder/operators/horizon_expanding.go b/go/vt/vtgate/planbuilder/operators/horizon_expanding.go
index fd3d992d0ca..7b058627b17 100644
--- a/go/vt/vtgate/planbuilder/operators/horizon_expanding.go
+++ b/go/vt/vtgate/planbuilder/operators/horizon_expanding.go
@@ -44,17 +44,11 @@ func expandUnionHorizon(ctx *plancontext.PlanningContext, horizon *Horizon, unio
qp := horizon.getQP(ctx)
if len(qp.OrderExprs) > 0 {
- op = &Ordering{
- Source: op,
- Order: qp.OrderExprs,
- }
+ op = newOrdering(op, qp.OrderExprs)
}
if union.Limit != nil {
- op = &Limit{
- Source: op,
- AST: union.Limit,
- }
+ op = newLimit(op, union.Limit, false)
}
if horizon.TableId != nil {
@@ -94,11 +88,7 @@ func expandSelectHorizon(ctx *plancontext.PlanningContext, horizon *Horizon, sel
}
if qp.NeedsDistinct() {
- op = &Distinct{
- Required: true,
- Source: op,
- QP: qp,
- }
+ op = newDistinct(op, qp, true)
extracted = append(extracted, "Distinct")
}
@@ -113,11 +103,7 @@ func expandSelectHorizon(ctx *plancontext.PlanningContext, horizon *Horizon, sel
}
if sel.Limit != nil {
- op = &Limit{
- Source: op,
- AST: sel.Limit,
- Top: true,
- }
+ op = newLimit(op, sel.Limit, true)
extracted = append(extracted, "Limit")
}
@@ -144,10 +130,7 @@ func expandOrderBy(ctx *plancontext.PlanningContext, op Operator, qp *QueryProje
// If the operator is not a projection, we cannot handle subqueries with aggregation if we are unable to push everything into a single route.
if !ok {
ctx.SemTable.NotSingleRouteErr = vterrors.VT12001("subquery with aggregation in order by")
- return &Ordering{
- Source: op,
- Order: qp.OrderExprs,
- }
+ return newOrdering(op, qp.OrderExprs)
} else {
// Add the new subquery expression to the projection
proj.addSubqueryExpr(ctx, aeWrap(newExpr), newExpr, subqs...)
@@ -169,10 +152,7 @@ func expandOrderBy(ctx *plancontext.PlanningContext, op Operator, qp *QueryProje
}
// Return the updated operator with the new order by expressions
- return &Ordering{
- Source: op,
- Order: newOrder,
- }
+ return newOrdering(op, newOrder)
}
// exposeOrderingColumn will expose the ordering column to the outer query
@@ -208,7 +188,7 @@ func createProjectionFromSelect(ctx *plancontext.PlanningContext, horizon *Horiz
}
if qp.NeedsAggregation() {
- return createProjectionWithAggr(ctx, qp, dt, horizon.src())
+ return createProjectionWithAggr(ctx, qp, dt, horizon)
}
projX := createProjectionWithoutAggr(ctx, qp, horizon.src())
@@ -216,16 +196,17 @@ func createProjectionFromSelect(ctx *plancontext.PlanningContext, horizon *Horiz
return projX
}
-func createProjectionWithAggr(ctx *plancontext.PlanningContext, qp *QueryProjection, dt *DerivedTable, src Operator) Operator {
+func createProjectionWithAggr(ctx *plancontext.PlanningContext, qp *QueryProjection, dt *DerivedTable, horizon *Horizon) Operator {
aggregations, complexAggr := qp.AggregationExpressions(ctx, true)
+ src := horizon.Source
aggrOp := &Aggregator{
- Source: src,
- Original: true,
- QP: qp,
- Grouping: qp.GetGrouping(),
- WithRollup: qp.WithRollup,
- Aggregations: aggregations,
- DT: dt,
+ unaryOperator: newUnaryOp(src),
+ Original: true,
+ QP: qp,
+ Grouping: qp.GetGrouping(),
+ WithRollup: qp.WithRollup,
+ Aggregations: aggregations,
+ DT: dt,
}
// Go through all aggregations and check for any subquery.
@@ -239,7 +220,11 @@ func createProjectionWithAggr(ctx *plancontext.PlanningContext, qp *QueryProject
if complexAggr {
return createProjectionForComplexAggregation(aggrOp, qp)
}
- return createProjectionForSimpleAggregation(ctx, aggrOp, qp)
+
+ addAllColumnsToAggregator(ctx, aggrOp, qp)
+ aggrOp.Truncate = horizon.Truncate
+
+ return aggrOp
}
func pullOutValueSubqueries(ctx *plancontext.PlanningContext, aggr Aggr, sqc *SubQueryBuilder, outerID semantics.TableSet) Aggr {
@@ -261,7 +246,7 @@ func pullOutValueSubqueries(ctx *plancontext.PlanningContext, aggr Aggr, sqc *Su
return aggr
}
-func createProjectionForSimpleAggregation(ctx *plancontext.PlanningContext, a *Aggregator, qp *QueryProjection) Operator {
+func addAllColumnsToAggregator(ctx *plancontext.PlanningContext, a *Aggregator, qp *QueryProjection) {
outer:
for colIdx, expr := range qp.SelectExprs {
ae, err := expr.GetAliasedExpr()
@@ -292,7 +277,6 @@ outer:
}
panic(vterrors.VT13001(fmt.Sprintf("Could not find the %s in aggregation in the original query", sqlparser.String(ae))))
}
- return a
}
func createProjectionForComplexAggregation(a *Aggregator, qp *QueryProjection) Operator {
@@ -368,7 +352,7 @@ func newStarProjection(src Operator, qp *QueryProjection) *Projection {
}
return &Projection{
- Source: src,
- Columns: StarProjections(cols),
+ unaryOperator: newUnaryOp(src),
+ Columns: StarProjections(cols),
}
}
diff --git a/go/vt/vtgate/planbuilder/operators/insert.go b/go/vt/vtgate/planbuilder/operators/insert.go
index 6832dc363d5..4ce37901a77 100644
--- a/go/vt/vtgate/planbuilder/operators/insert.go
+++ b/go/vt/vtgate/planbuilder/operators/insert.go
@@ -50,7 +50,7 @@ type Insert struct {
// that will appear in the result set of the select query.
VindexValueOffset [][]int
- noInputs
+ nullaryOperator
noColumns
noPredicates
}
@@ -96,8 +96,12 @@ func (i *Insert) Clone([]Operator) Operator {
}
}
-func (i *Insert) TablesUsed() []string {
- return SingleQualifiedIdentifier(i.VTable.Keyspace, i.VTable.Name)
+func (i *Insert) TablesUsed(in []string) []string {
+ return append(in, i.tableTarget())
+}
+
+func (i *Insert) tableTarget() string {
+ return QualifiedString(i.VTable.Keyspace, i.VTable.Name.String())
}
func (i *Insert) Statement() sqlparser.Statement {
@@ -363,8 +367,8 @@ func createInsertOperator(ctx *plancontext.PlanningContext, insStmt *sqlparser.I
AST: insStmt,
}
route := &Route{
- Source: insOp,
- Routing: routing,
+ unaryOperator: newUnaryOp(insOp),
+ Routing: routing,
}
// Table column list is nil then add all the columns
@@ -394,10 +398,7 @@ func createInsertOperator(ctx *plancontext.PlanningContext, insStmt *sqlparser.I
op = insertSelectPlan(ctx, insOp, route, insStmt, rows)
}
if insStmt.Comments != nil {
- op = &LockAndComment{
- Source: op,
- Comments: insStmt.Comments,
- }
+ op = newLockAndComment(op, insStmt.Comments, sqlparser.NoLock)
}
return op
}
@@ -420,17 +421,13 @@ func insertSelectPlan(
// output of the select plan will be used to insert rows into the table.
insertSelect := &InsertSelection{
- Select: &LockAndComment{
- Source: selOp,
- Lock: sqlparser.ShareModeLock,
- },
- Insert: routeOp,
+ binaryOperator: newBinaryOp(newLockAndComment(selOp, nil, sqlparser.ShareModeLock), routeOp),
}
// When the table you are streaming data from and table you are inserting from are same.
// Then due to locking of the index range on the table we might not be able to insert into the table.
// Therefore, instead of streaming, this flag will ensure the records are first read and then inserted.
- insertTbl := insOp.TablesUsed()[0]
+ insertTbl := insOp.tableTarget()
selTables := TablesUsed(selOp)
for _, tbl := range selTables {
if insertTbl == tbl {
diff --git a/go/vt/vtgate/planbuilder/operators/insert_selection.go b/go/vt/vtgate/planbuilder/operators/insert_selection.go
index 70bda0a990a..5f806bbda0b 100644
--- a/go/vt/vtgate/planbuilder/operators/insert_selection.go
+++ b/go/vt/vtgate/planbuilder/operators/insert_selection.go
@@ -23,8 +23,7 @@ import (
// InsertSelection operator represents an INSERT into SELECT FROM query.
// It holds the operators for running the selection and insertion.
type InsertSelection struct {
- Select Operator
- Insert Operator
+ binaryOperator
// ForceNonStreaming when true, select first then insert, this is to avoid locking rows by select for insert.
ForceNonStreaming bool
@@ -33,21 +32,13 @@ type InsertSelection struct {
noPredicates
}
-func (is *InsertSelection) Clone(inputs []Operator) Operator {
- return &InsertSelection{
- Select: inputs[0],
- Insert: inputs[1],
- ForceNonStreaming: is.ForceNonStreaming,
- }
-}
-
-func (is *InsertSelection) Inputs() []Operator {
- return []Operator{is.Select, is.Insert}
-}
+var _ Operator = (*InsertSelection)(nil)
-func (is *InsertSelection) SetInputs(inputs []Operator) {
- is.Select = inputs[0]
- is.Insert = inputs[1]
+func (is *InsertSelection) Clone(inputs []Operator) Operator {
+ klone := *is
+ klone.LHS = inputs[0]
+ klone.RHS = inputs[1]
+ return &klone
}
func (is *InsertSelection) ShortDescription() string {
@@ -61,4 +52,10 @@ func (is *InsertSelection) GetOrdering(*plancontext.PlanningContext) []OrderBy {
return nil
}
-var _ Operator = (*InsertSelection)(nil)
+func (is *InsertSelection) Select() Operator {
+ return is.LHS
+}
+
+func (is *InsertSelection) Insert() Operator {
+ return is.RHS
+}
diff --git a/go/vt/vtgate/planbuilder/operators/join.go b/go/vt/vtgate/planbuilder/operators/join.go
index 71d2e5a8048..ff4915527a7 100644
--- a/go/vt/vtgate/planbuilder/operators/join.go
+++ b/go/vt/vtgate/planbuilder/operators/join.go
@@ -17,14 +17,16 @@ limitations under the License.
package operators
import (
+ "vitess.io/vitess/go/slice"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vterrors"
"vitess.io/vitess/go/vt/vtgate/planbuilder/plancontext"
+ "vitess.io/vitess/go/vt/vtgate/semantics"
)
// Join represents a join. If we have a predicate, this is an inner join. If no predicate exists, it is a cross join
type Join struct {
- LHS, RHS Operator
+ binaryOperator
Predicate sqlparser.Expr
// JoinType is permitted to store only 3 of the possible values
// NormalJoinType, StraightJoinType and LeftJoinType.
@@ -40,28 +42,13 @@ func (j *Join) Clone(inputs []Operator) Operator {
clone := *j
clone.LHS = inputs[0]
clone.RHS = inputs[1]
- return &Join{
- LHS: inputs[0],
- RHS: inputs[1],
- Predicate: j.Predicate,
- JoinType: j.JoinType,
- }
+ return &clone
}
func (j *Join) GetOrdering(*plancontext.PlanningContext) []OrderBy {
return nil
}
-// Inputs implements the Operator interface
-func (j *Join) Inputs() []Operator {
- return []Operator{j.LHS, j.RHS}
-}
-
-// SetInputs implements the Operator interface
-func (j *Join) SetInputs(ops []Operator) {
- j.LHS, j.RHS = ops[0], ops[1]
-}
-
func (j *Join) Compact(ctx *plancontext.PlanningContext) (Operator, *ApplyResult) {
if !j.JoinType.IsCommutative() {
// if we can't move tables around, we can't merge these inputs
@@ -87,7 +74,10 @@ func (j *Join) Compact(ctx *plancontext.PlanningContext) (Operator, *ApplyResult
func createStraightJoin(ctx *plancontext.PlanningContext, join *sqlparser.JoinTableExpr, lhs, rhs Operator) Operator {
// for inner joins we can treat the predicates as filters on top of the join
- joinOp := &Join{LHS: lhs, RHS: rhs, JoinType: join.Join}
+ joinOp := &Join{
+ binaryOperator: newBinaryOp(lhs, rhs),
+ JoinType: join.Join,
+ }
return addJoinPredicates(ctx, join.Condition.On, joinOp)
}
@@ -103,7 +93,10 @@ func createLeftOuterJoin(ctx *plancontext.PlanningContext, join *sqlparser.JoinT
join.Join = sqlparser.NaturalLeftJoinType
}
- joinOp := &Join{LHS: lhs, RHS: rhs, JoinType: join.Join}
+ joinOp := &Join{
+ binaryOperator: newBinaryOp(lhs, rhs),
+ JoinType: join.Join,
+ }
// mark the RHS as outer tables so we know which columns are nullable
ctx.OuterTables = ctx.OuterTables.Merge(TableID(rhs))
@@ -141,11 +134,49 @@ func addJoinPredicates(
if subq != nil {
continue
}
+
+ // if we are inside a CTE, we need to check if we depend on the recursion table
+ if cte := ctx.ActiveCTE(); cte != nil && ctx.SemTable.DirectDeps(pred).IsOverlapping(cte.Id) {
+ original := pred
+ pred = addCTEPredicate(ctx, pred, cte)
+ ctx.AddJoinPredicates(original, pred)
+ }
op = op.AddPredicate(ctx, pred)
}
return sqc.getRootOperator(op, nil)
}
+// addCTEPredicate breaks the expression into LHS and RHS
+func addCTEPredicate(
+ ctx *plancontext.PlanningContext,
+ pred sqlparser.Expr,
+ cte *plancontext.ContextCTE,
+) sqlparser.Expr {
+ expr := breakCTEExpressionInLhsAndRhs(ctx, pred, cte.Id)
+ cte.Predicates = append(cte.Predicates, expr)
+ return expr.RightExpr
+}
+
+func breakCTEExpressionInLhsAndRhs(ctx *plancontext.PlanningContext, pred sqlparser.Expr, lhsID semantics.TableSet) *plancontext.RecurseExpression {
+ col := breakExpressionInLHSandRHS(ctx, pred, lhsID)
+
+ lhsExprs := slice.Map(col.LHSExprs, func(bve BindVarExpr) plancontext.BindVarExpr {
+ col, ok := bve.Expr.(*sqlparser.ColName)
+ if !ok {
+ panic(vterrors.VT13001("expected column name"))
+ }
+ return plancontext.BindVarExpr{
+ Name: bve.Name,
+ Expr: col,
+ }
+ })
+ return &plancontext.RecurseExpression{
+ Original: col.Original,
+ RightExpr: col.RHSExpr,
+ LeftExprs: lhsExprs,
+ }
+}
+
func createJoin(ctx *plancontext.PlanningContext, LHS, RHS Operator) Operator {
lqg, lok := LHS.(*QueryGraph)
rqg, rok := RHS.(*QueryGraph)
@@ -157,7 +188,9 @@ func createJoin(ctx *plancontext.PlanningContext, LHS, RHS Operator) Operator {
}
return op
}
- return &Join{LHS: LHS, RHS: RHS}
+ return &Join{
+ binaryOperator: newBinaryOp(LHS, RHS),
+ }
}
func (j *Join) AddPredicate(ctx *plancontext.PlanningContext, expr sqlparser.Expr) Operator {
diff --git a/go/vt/vtgate/planbuilder/operators/join_merging.go b/go/vt/vtgate/planbuilder/operators/join_merging.go
index 6f2af8b5ff9..c035b7d11ed 100644
--- a/go/vt/vtgate/planbuilder/operators/join_merging.go
+++ b/go/vt/vtgate/planbuilder/operators/join_merging.go
@@ -18,7 +18,6 @@ package operators
import (
"fmt"
- "reflect"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vtgate/planbuilder/plancontext"
@@ -28,7 +27,7 @@ import (
// mergeJoinInputs checks whether two operators can be merged into a single one.
// If they can be merged, a new operator with the merged routing is returned
// If they cannot be merged, nil is returned.
-func mergeJoinInputs(ctx *plancontext.PlanningContext, lhs, rhs Operator, joinPredicates []sqlparser.Expr, m *joinMerger) *Route {
+func (jm *joinMerger) mergeJoinInputs(ctx *plancontext.PlanningContext, lhs, rhs Operator, joinPredicates []sqlparser.Expr) *Route {
lhsRoute, rhsRoute, routingA, routingB, a, b, sameKeyspace := prepareInputRoutes(lhs, rhs)
if lhsRoute == nil {
return nil
@@ -44,39 +43,39 @@ func mergeJoinInputs(ctx *plancontext.PlanningContext, lhs, rhs Operator, joinPr
rhsClone.AddPredicate(ctx, predicate)
}
}
- if !m.joinType.IsInner() && !rhsClone.Routing.OpCode().IsSingleShard() {
+ if !jm.joinType.IsInner() && !rhsClone.Routing.OpCode().IsSingleShard() {
return nil
}
- return m.merge(ctx, lhsRoute, rhsClone, rhsClone.Routing)
+ return jm.merge(ctx, lhsRoute, rhsClone, rhsClone.Routing)
// If a dual is on the right side.
case b == dual:
- return m.merge(ctx, lhsRoute, rhsRoute, routingA)
+ return jm.merge(ctx, lhsRoute, rhsRoute, routingA)
// As both are reference route. We need to merge the alternates as well.
case a == anyShard && b == anyShard && sameKeyspace:
- newrouting := mergeAnyShardRoutings(ctx, routingA.(*AnyShardRouting), routingB.(*AnyShardRouting), joinPredicates, m.joinType)
- return m.merge(ctx, lhsRoute, rhsRoute, newrouting)
+ newrouting := mergeAnyShardRoutings(ctx, routingA.(*AnyShardRouting), routingB.(*AnyShardRouting), joinPredicates, jm.joinType)
+ return jm.merge(ctx, lhsRoute, rhsRoute, newrouting)
// an unsharded/reference route can be merged with anything going to that keyspace
case a == anyShard && sameKeyspace:
- return m.merge(ctx, lhsRoute, rhsRoute, routingB)
+ return jm.merge(ctx, lhsRoute, rhsRoute, routingB)
case b == anyShard && sameKeyspace:
- return m.merge(ctx, lhsRoute, rhsRoute, routingA)
+ return jm.merge(ctx, lhsRoute, rhsRoute, routingA)
// None routing can always be merged, as long as we are aiming for the same keyspace
case a == none && sameKeyspace:
- return m.merge(ctx, lhsRoute, rhsRoute, routingA)
+ return jm.merge(ctx, lhsRoute, rhsRoute, routingA)
case b == none && sameKeyspace:
- return m.merge(ctx, lhsRoute, rhsRoute, routingB)
+ return jm.merge(ctx, lhsRoute, rhsRoute, routingB)
// infoSchema routing is complex, so we handle it in a separate method
case a == infoSchema && b == infoSchema:
- return tryMergeInfoSchemaRoutings(ctx, routingA, routingB, m, lhsRoute, rhsRoute)
+ return tryMergeInfoSchemaRoutings(ctx, routingA, routingB, jm, lhsRoute, rhsRoute)
// sharded routing is complex, so we handle it in a separate method
case a == sharded && b == sharded:
- return tryMergeShardedRouting(ctx, lhsRoute, rhsRoute, m, joinPredicates)
+ return tryMergeShardedRouting(ctx, lhsRoute, rhsRoute, jm, joinPredicates)
default:
return nil
@@ -112,7 +111,6 @@ func prepareInputRoutes(lhs Operator, rhs Operator) (*Route, *Route, Routing, Ro
lhsRoute, rhsRoute, routingA, routingB, sameKeyspace := getRoutesOrAlternates(lhsRoute, rhsRoute)
a, b := getRoutingType(routingA), getRoutingType(routingB)
-
return lhsRoute, rhsRoute, routingA, routingB, a, b, sameKeyspace
}
@@ -188,10 +186,6 @@ func getRoutesOrAlternates(lhsRoute, rhsRoute *Route) (*Route, *Route, Routing,
return lhsRoute, rhsRoute, routingA, routingB, sameKeyspace
}
-func getTypeName(myvar interface{}) string {
- return reflect.TypeOf(myvar).String()
-}
-
func getRoutingType(r Routing) routingType {
switch r.(type) {
case *InfoSchemaRouting:
@@ -242,8 +236,8 @@ func (jm *joinMerger) getApplyJoin(ctx *plancontext.PlanningContext, op1, op2 *R
func (jm *joinMerger) merge(ctx *plancontext.PlanningContext, op1, op2 *Route, r Routing) *Route {
return &Route{
- Source: jm.getApplyJoin(ctx, op1, op2),
- MergedWith: []*Route{op2},
- Routing: r,
+ unaryOperator: newUnaryOp(jm.getApplyJoin(ctx, op1, op2)),
+ MergedWith: []*Route{op2},
+ Routing: r,
}
}
diff --git a/go/vt/vtgate/planbuilder/operators/keys.go b/go/vt/vtgate/planbuilder/operators/keys.go
new file mode 100644
index 00000000000..ccebcbd7c10
--- /dev/null
+++ b/go/vt/vtgate/planbuilder/operators/keys.go
@@ -0,0 +1,105 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package operators
+
+import (
+ "fmt"
+ "slices"
+
+ "vitess.io/vitess/go/vt/sqlparser"
+ "vitess.io/vitess/go/vt/vtgate/planbuilder/plancontext"
+)
+
+type VExplainKeys struct {
+ GroupingColumns []string `json:"groupingColumns,omitempty"`
+ TableName []string `json:"tableName,omitempty"`
+ JoinColumns []string `json:"joinColumns,omitempty"`
+ FilterColumns []string `json:"filterColumns,omitempty"`
+ StatementType string `json:"statementType"`
+}
+
+func GetVExplainKeys(ctx *plancontext.PlanningContext, stmt sqlparser.Statement) (result VExplainKeys) {
+ var filterColumns, joinColumns, groupingColumns []*sqlparser.ColName
+
+ addPredicate := func(predicate sqlparser.Expr) {
+ predicates := sqlparser.SplitAndExpression(nil, predicate)
+ for _, expr := range predicates {
+ cmp, ok := expr.(*sqlparser.ComparisonExpr)
+ if !ok {
+ continue
+ }
+ lhs, lhsOK := cmp.Left.(*sqlparser.ColName)
+ rhs, rhsOK := cmp.Right.(*sqlparser.ColName)
+ if lhsOK && rhsOK && ctx.SemTable.RecursiveDeps(lhs) != ctx.SemTable.RecursiveDeps(rhs) {
+ joinColumns = append(joinColumns, lhs, rhs)
+ continue
+ }
+ if lhsOK {
+ filterColumns = append(filterColumns, lhs)
+ }
+ if rhsOK {
+ filterColumns = append(filterColumns, rhs)
+ }
+ }
+ }
+
+ _ = sqlparser.VisitSQLNode(stmt, func(node sqlparser.SQLNode) (kontinue bool, err error) {
+ switch node := node.(type) {
+ case *sqlparser.Where:
+ addPredicate(node.Expr)
+ case *sqlparser.JoinCondition:
+ addPredicate(node.On)
+ case *sqlparser.GroupBy:
+ for _, expr := range node.Exprs {
+ predicates := sqlparser.SplitAndExpression(nil, expr)
+ for _, expr := range predicates {
+ col, ok := expr.(*sqlparser.ColName)
+ if ok {
+ groupingColumns = append(groupingColumns, col)
+ }
+ }
+ }
+ }
+
+ return true, nil
+ })
+
+ return VExplainKeys{
+ GroupingColumns: getUniqueColNames(ctx, groupingColumns),
+ JoinColumns: getUniqueColNames(ctx, joinColumns),
+ FilterColumns: getUniqueColNames(ctx, filterColumns),
+ StatementType: sqlparser.ASTToStatementType(stmt).String(),
+ }
+}
+
+func getUniqueColNames(ctx *plancontext.PlanningContext, columns []*sqlparser.ColName) []string {
+ var colNames []string
+ for _, col := range columns {
+ tableInfo, err := ctx.SemTable.TableInfoForExpr(col)
+ if err != nil {
+ continue
+ }
+ table := tableInfo.GetVindexTable()
+ if table == nil {
+ continue
+ }
+ colNames = append(colNames, fmt.Sprintf("%s.%s", table.Name.String(), col.Name.String()))
+ }
+
+ slices.Sort(colNames)
+ return slices.Compact(colNames)
+}
diff --git a/go/vt/vtgate/planbuilder/operators/limit.go b/go/vt/vtgate/planbuilder/operators/limit.go
index 1801e57c1c9..4549b85fcda 100644
--- a/go/vt/vtgate/planbuilder/operators/limit.go
+++ b/go/vt/vtgate/planbuilder/operators/limit.go
@@ -22,8 +22,8 @@ import (
)
type Limit struct {
- Source Operator
- AST *sqlparser.Limit
+ unaryOperator
+ AST *sqlparser.Limit
// Top is true if the limit is a top level limit. To optimise, we push LIMIT to the RHS of joins,
// but we need to still LIMIT the total result set to the top level limit.
@@ -33,21 +33,19 @@ type Limit struct {
Pushed bool
}
-func (l *Limit) Clone(inputs []Operator) Operator {
+func newLimit(op Operator, ast *sqlparser.Limit, top bool) *Limit {
return &Limit{
- Source: inputs[0],
- AST: sqlparser.Clone(l.AST),
- Top: l.Top,
- Pushed: l.Pushed,
+ unaryOperator: newUnaryOp(op),
+ AST: ast,
+ Top: top,
}
}
-func (l *Limit) Inputs() []Operator {
- return []Operator{l.Source}
-}
-
-func (l *Limit) SetInputs(operators []Operator) {
- l.Source = operators[0]
+func (l *Limit) Clone(inputs []Operator) Operator {
+ k := *l
+ k.Source = inputs[0]
+ k.AST = sqlparser.Clone(l.AST)
+ return &k
}
func (l *Limit) AddPredicate(ctx *plancontext.PlanningContext, expr sqlparser.Expr) Operator {
diff --git a/go/vt/vtgate/planbuilder/operators/mirror.go b/go/vt/vtgate/planbuilder/operators/mirror.go
new file mode 100644
index 00000000000..82a431af0a2
--- /dev/null
+++ b/go/vt/vtgate/planbuilder/operators/mirror.go
@@ -0,0 +1,93 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package operators
+
+import (
+ "fmt"
+
+ "vitess.io/vitess/go/vt/sqlparser"
+ "vitess.io/vitess/go/vt/vterrors"
+ "vitess.io/vitess/go/vt/vtgate/planbuilder/plancontext"
+)
+
+type (
+ PercentBasedMirror struct {
+ binaryOperator
+ Percent float32
+ }
+)
+
+var _ Operator = (*PercentBasedMirror)(nil)
+
+func (m *PercentBasedMirror) Operator() Operator {
+ return m.LHS
+}
+
+func (m *PercentBasedMirror) Target() Operator {
+ return m.RHS
+}
+
+func NewPercentBasedMirror(percent float32, operator, target Operator) *PercentBasedMirror {
+ return &PercentBasedMirror{
+ binaryOperator: newBinaryOp(operator, target),
+ Percent: percent,
+ }
+}
+
+// Clone will return a copy of this operator, protected so changed to the original will not impact the clone
+func (m *PercentBasedMirror) Clone(inputs []Operator) Operator {
+ cloneMirror := *m
+ cloneMirror.SetInputs(inputs)
+ return &cloneMirror
+}
+
+// AddPredicate is used to push predicates. It pushed it as far down as is possible in the tree.
+// If we encounter a join and the predicate depends on both sides of the join, the predicate will be split into two parts,
+// where data is fetched from the LHS of the join to be used in the evaluation on the RHS
+// TODO: we should remove this and replace it with rewriters
+func (m *PercentBasedMirror) AddPredicate(*plancontext.PlanningContext, sqlparser.Expr) Operator {
+ panic(vterrors.VT13001("not supported"))
+}
+
+func (m *PercentBasedMirror) AddColumn(*plancontext.PlanningContext, bool, bool, *sqlparser.AliasedExpr) int {
+ panic(vterrors.VT13001("not supported"))
+}
+
+func (m *PercentBasedMirror) FindCol(ctx *plancontext.PlanningContext, expr sqlparser.Expr, underRoute bool) int {
+ return m.Operator().FindCol(ctx, expr, underRoute)
+}
+
+func (m *PercentBasedMirror) GetColumns(ctx *plancontext.PlanningContext) []*sqlparser.AliasedExpr {
+ return m.Operator().GetColumns(ctx)
+}
+
+func (m *PercentBasedMirror) GetSelectExprs(ctx *plancontext.PlanningContext) sqlparser.SelectExprs {
+ return m.Operator().GetSelectExprs(ctx)
+}
+
+func (m *PercentBasedMirror) ShortDescription() string {
+ return fmt.Sprintf("PercentBasedMirror (%.02f%%)", m.Percent)
+}
+
+func (m *PercentBasedMirror) GetOrdering(ctx *plancontext.PlanningContext) []OrderBy {
+ return m.Operator().GetOrdering(ctx)
+}
+
+// AddWSColumn implements Operator.
+func (m *PercentBasedMirror) AddWSColumn(*plancontext.PlanningContext, int, bool) int {
+ panic(vterrors.VT13001("not supported"))
+}
diff --git a/go/vt/vtgate/planbuilder/operators/offset_planning.go b/go/vt/vtgate/planbuilder/operators/offset_planning.go
index e8301c18823..62abff29e57 100644
--- a/go/vt/vtgate/planbuilder/operators/offset_planning.go
+++ b/go/vt/vtgate/planbuilder/operators/offset_planning.go
@@ -25,13 +25,13 @@ import (
"vitess.io/vitess/go/vt/vtgate/semantics"
)
+type offsettable interface {
+ Operator
+ planOffsets(ctx *plancontext.PlanningContext) Operator
+}
+
// planOffsets will walk the tree top down, adding offset information to columns in the tree for use in further optimization,
func planOffsets(ctx *plancontext.PlanningContext, root Operator) Operator {
- type offsettable interface {
- Operator
- planOffsets(ctx *plancontext.PlanningContext) Operator
- }
-
visitor := func(in Operator, _ semantics.TableSet, _ bool) (Operator, *ApplyResult) {
switch op := in.(type) {
case *Horizon:
@@ -120,50 +120,6 @@ func findAggregatorInSource(op Operator) *Aggregator {
}
}
-// addColumnsToInput adds columns needed by an operator to its input.
-// This happens only when the filter expression can be retrieved as an offset from the underlying mysql.
-func addColumnsToInput(ctx *plancontext.PlanningContext, root Operator) Operator {
-
- addColumnsNeededByFilter := func(in Operator, _ semantics.TableSet, _ bool) (Operator, *ApplyResult) {
- addedCols := false
- filter, ok := in.(*Filter)
- if !ok {
- return in, NoRewrite
- }
-
- var neededAggrs []sqlparser.Expr
- extractAggrs := func(cursor *sqlparser.CopyOnWriteCursor) {
- node := cursor.Node()
- if ctx.IsAggr(node) {
- neededAggrs = append(neededAggrs, node.(sqlparser.Expr))
- }
- }
-
- for _, expr := range filter.Predicates {
- _ = sqlparser.CopyOnRewrite(expr, dontEnterSubqueries, extractAggrs, nil)
- }
-
- if neededAggrs == nil {
- return in, NoRewrite
- }
-
- aggregator := findAggregatorInSource(filter.Source)
- for _, aggr := range neededAggrs {
- if aggregator.FindCol(ctx, aggr, false) == -1 {
- aggregator.addColumnWithoutPushing(ctx, aeWrap(aggr), false)
- addedCols = true
- }
- }
-
- if addedCols {
- return in, Rewrote("added columns because filter needs it")
- }
- return in, NoRewrite
- }
-
- return TopDown(root, TableID, addColumnsNeededByFilter, stopAtRoute)
-}
-
// isolateDistinctFromUnion will pull out the distinct from a union operator
func isolateDistinctFromUnion(_ *plancontext.PlanningContext, root Operator) Operator {
visitor := func(in Operator, _ semantics.TableSet, isRoot bool) (Operator, *ApplyResult) {
@@ -174,10 +130,7 @@ func isolateDistinctFromUnion(_ *plancontext.PlanningContext, root Operator) Ope
union.distinct = false
- distinct := &Distinct{
- Required: true,
- Source: union,
- }
+ distinct := newDistinct(union, nil, true)
return distinct, Rewrote("pulled out DISTINCT from union")
}
diff --git a/go/vt/vtgate/planbuilder/operators/operator.go b/go/vt/vtgate/planbuilder/operators/operator.go
index f1a38974c93..42658e4c52e 100644
--- a/go/vt/vtgate/planbuilder/operators/operator.go
+++ b/go/vt/vtgate/planbuilder/operators/operator.go
@@ -54,7 +54,8 @@ type (
// Inputs returns the inputs for this operator
Inputs() []Operator
- // SetInputs changes the inputs for this op
+ // SetInputs changes the inputs for this op.
+ // We don't need to check the size of the inputs, as the planner will ensure that the inputs are correct
SetInputs([]Operator)
// AddPredicate is used to push predicates. It pushed it as far down as is possible in the tree.
@@ -85,8 +86,46 @@ type (
// See GroupBy#SimplifiedExpr for more details about this
SimplifiedExpr sqlparser.Expr
}
+
+ unaryOperator struct {
+ Operator
+ Source Operator
+ }
+
+ binaryOperator struct {
+ Operator
+ LHS, RHS Operator
+ }
)
+func newUnaryOp(source Operator) unaryOperator {
+ return unaryOperator{Source: source}
+}
+
+func newBinaryOp(l, r Operator) binaryOperator {
+ return binaryOperator{
+ LHS: l,
+ RHS: r,
+ }
+}
+
+func (s *unaryOperator) Inputs() []Operator {
+ return []Operator{s.Source}
+}
+
+func (s *unaryOperator) SetInputs(operators []Operator) {
+ s.Source = operators[0]
+}
+
+func (b *binaryOperator) Inputs() []Operator {
+ return []Operator{b.LHS, b.RHS}
+}
+
+func (b *binaryOperator) SetInputs(operators []Operator) {
+ b.LHS = operators[0]
+ b.RHS = operators[1]
+}
+
// Map takes in a mapping function and applies it to both the expression in OrderBy.
func (ob OrderBy) Map(mappingFunc func(sqlparser.Expr) sqlparser.Expr) OrderBy {
return OrderBy{
diff --git a/go/vt/vtgate/planbuilder/operators/ordering.go b/go/vt/vtgate/planbuilder/operators/ordering.go
index 94c4f3dd846..7e40b420f9e 100644
--- a/go/vt/vtgate/planbuilder/operators/ordering.go
+++ b/go/vt/vtgate/planbuilder/operators/ordering.go
@@ -26,7 +26,7 @@ import (
)
type Ordering struct {
- Source Operator
+ unaryOperator
Offset []int
WOffset []int
@@ -35,21 +35,20 @@ type Ordering struct {
}
func (o *Ordering) Clone(inputs []Operator) Operator {
- return &Ordering{
- Source: inputs[0],
- Offset: slices.Clone(o.Offset),
- WOffset: slices.Clone(o.WOffset),
- Order: slices.Clone(o.Order),
- ResultColumns: o.ResultColumns,
- }
-}
+ klone := *o
+ klone.Source = inputs[0]
+ klone.Offset = slices.Clone(o.Offset)
+ klone.WOffset = slices.Clone(o.WOffset)
+ klone.Order = slices.Clone(o.Order)
-func (o *Ordering) Inputs() []Operator {
- return []Operator{o.Source}
+ return &klone
}
-func (o *Ordering) SetInputs(operators []Operator) {
- o.Source = operators[0]
+func newOrdering(src Operator, order []OrderBy) Operator {
+ return &Ordering{
+ unaryOperator: newUnaryOp(src),
+ Order: order,
+ }
}
func (o *Ordering) AddPredicate(ctx *plancontext.PlanningContext, expr sqlparser.Expr) Operator {
@@ -82,17 +81,25 @@ func (o *Ordering) GetOrdering(*plancontext.PlanningContext) []OrderBy {
}
func (o *Ordering) planOffsets(ctx *plancontext.PlanningContext) Operator {
+ var weightStrings []*OrderBy
+
for _, order := range o.Order {
offset := o.Source.AddColumn(ctx, true, false, aeWrap(order.SimplifiedExpr))
o.Offset = append(o.Offset, offset)
if !ctx.NeedsWeightString(order.SimplifiedExpr) {
- o.WOffset = append(o.WOffset, -1)
+ weightStrings = append(weightStrings, nil)
continue
}
+ weightStrings = append(weightStrings, &order)
+ }
- wsExpr := &sqlparser.WeightStringFuncExpr{Expr: order.SimplifiedExpr}
- offset = o.Source.AddColumn(ctx, true, false, aeWrap(wsExpr))
+ for i, order := range weightStrings {
+ if order == nil {
+ o.WOffset = append(o.WOffset, -1)
+ continue
+ }
+ offset := o.Source.AddWSColumn(ctx, o.Offset[i], false)
o.WOffset = append(o.WOffset, offset)
}
return nil
diff --git a/go/vt/vtgate/planbuilder/operators/phases.go b/go/vt/vtgate/planbuilder/operators/phases.go
index 9f2178bae05..eb6c42b8724 100644
--- a/go/vt/vtgate/planbuilder/operators/phases.go
+++ b/go/vt/vtgate/planbuilder/operators/phases.go
@@ -36,6 +36,7 @@ const (
initialPlanning
pullDistinctFromUnion
delegateAggregation
+ recursiveCTEHorizons
addAggrOrdering
cleanOutPerfDistinct
dmlWithInput
@@ -53,6 +54,8 @@ func (p Phase) String() string {
return "pull distinct from UNION"
case delegateAggregation:
return "split aggregation between vtgate and mysql"
+ case recursiveCTEHorizons:
+ return "expand recursive CTE horizons"
case addAggrOrdering:
return "optimize aggregations with ORDER BY"
case cleanOutPerfDistinct:
@@ -72,6 +75,8 @@ func (p Phase) shouldRun(s semantics.QuerySignature) bool {
return s.Union
case delegateAggregation:
return s.Aggregation
+ case recursiveCTEHorizons:
+ return s.RecursiveCTE
case addAggrOrdering:
return s.Aggregation
case cleanOutPerfDistinct:
@@ -93,6 +98,8 @@ func (p Phase) act(ctx *plancontext.PlanningContext, op Operator) Operator {
return enableDelegateAggregation(ctx, op)
case addAggrOrdering:
return addOrderingForAllAggregations(ctx, op)
+ case recursiveCTEHorizons:
+ return planRecursiveCTEHorizons(ctx, op)
case cleanOutPerfDistinct:
return removePerformanceDistinctAboveRoute(ctx, op)
case subquerySettling:
@@ -207,7 +214,7 @@ func removePerformanceDistinctAboveRoute(_ *plancontext.PlanningContext, op Oper
}
func enableDelegateAggregation(ctx *plancontext.PlanningContext, op Operator) Operator {
- return addColumnsToInput(ctx, op)
+ return prepareForAggregationPushing(ctx, op)
}
// addOrderingForAllAggregations is run we have pushed down Aggregators as far down as possible.
@@ -242,10 +249,7 @@ func addOrderingFor(aggrOp *Aggregator) {
SimplifiedExpr: aggrOp.DistinctExpr,
})
}
- aggrOp.Source = &Ordering{
- Source: aggrOp.Source,
- Order: orderBys,
- }
+ aggrOp.Source = newOrdering(aggrOp.Source, orderBys)
}
func needsOrdering(ctx *plancontext.PlanningContext, in *Aggregator) bool {
@@ -290,10 +294,101 @@ func addLiteralGroupingToRHS(in *ApplyJoin) (Operator, *ApplyResult) {
return nil
}
if len(aggr.Grouping) == 0 {
- gb := sqlparser.NewIntLiteral(".0")
+ gb := sqlparser.NewFloatLiteral(".0")
aggr.Grouping = append(aggr.Grouping, NewGroupBy(gb))
}
return nil
})
return in, NoRewrite
}
+
+// prepareForAggregationPushing adds columns needed by an operator to its input.
+// This happens only when the filter expression can be retrieved as an offset from the underlying mysql.
+func prepareForAggregationPushing(ctx *plancontext.PlanningContext, root Operator) Operator {
+ return TopDown(root, TableID, func(in Operator, _ semantics.TableSet, _ bool) (Operator, *ApplyResult) {
+ filter, ok := in.(*Filter)
+ if !ok {
+ return in, NoRewrite
+ }
+
+ var neededAggrs []sqlparser.Expr
+ extractAggrs := func(cursor *sqlparser.CopyOnWriteCursor) {
+ node := cursor.Node()
+ if ctx.IsAggr(node) {
+ neededAggrs = append(neededAggrs, node.(sqlparser.Expr))
+ }
+ }
+
+ for _, expr := range filter.Predicates {
+ _ = sqlparser.CopyOnRewrite(expr, dontEnterSubqueries, extractAggrs, nil)
+ }
+
+ if neededAggrs == nil {
+ return in, NoRewrite
+ }
+
+ addedCols := false
+ aggregator := findAggregatorInSource(filter.Source)
+ for _, aggr := range neededAggrs {
+ if aggregator.FindCol(ctx, aggr, false) == -1 {
+ aggregator.addColumnWithoutPushing(ctx, aeWrap(aggr), false)
+ addedCols = true
+ }
+ }
+
+ if addedCols {
+ return in, Rewrote("added columns because filter needs it")
+ }
+ return in, NoRewrite
+ }, stopAtRoute)
+}
+
+// prepareForAggregationPushing adds columns needed by an operator to its input.
+// This happens only when the filter expression can be retrieved as an offset from the underlying mysql.
+func planRecursiveCTEHorizons(ctx *plancontext.PlanningContext, root Operator) Operator {
+ return TopDown(root, TableID, func(in Operator, _ semantics.TableSet, _ bool) (Operator, *ApplyResult) {
+ // These recursive CTEs have not been pushed under a route, so we will have to evaluate it one the vtgate
+ // That means that we need to turn anything that is coming from the recursion into arguments
+ rcte, ok := in.(*RecurseCTE)
+ if !ok {
+ return in, NoRewrite
+ }
+ hz := rcte.Horizon
+ hz.Source = rcte.Term()
+ newTerm, _ := expandHorizon(ctx, hz)
+ pr := findProjection(newTerm)
+ ap, err := pr.GetAliasedProjections()
+ if err != nil {
+ panic(vterrors.VT09015())
+ }
+
+ // We need to break the expressions into LHS and RHS, and store them in the CTE for later use
+ projections := slice.Map(ap, func(p *ProjExpr) *plancontext.RecurseExpression {
+ recurseExpression := breakCTEExpressionInLhsAndRhs(ctx, p.EvalExpr, rcte.LeftID)
+ p.EvalExpr = recurseExpression.RightExpr
+ return recurseExpression
+ })
+ rcte.Projections = projections
+ rcte.RHS = newTerm
+ return rcte, Rewrote("expanded horizon on term side of recursive CTE")
+ }, stopAtRoute)
+}
+
+func findProjection(op Operator) *Projection {
+ for {
+ proj, ok := op.(*Projection)
+ if ok {
+ return proj
+ }
+ inputs := op.Inputs()
+ if len(inputs) != 1 {
+ panic(vterrors.VT13001("unexpected multiple inputs"))
+ }
+ src := inputs[0]
+ _, isRoute := src.(*Route)
+ if isRoute {
+ panic(vterrors.VT13001("failed to find the projection"))
+ }
+ op = src
+ }
+}
diff --git a/go/vt/vtgate/planbuilder/operators/plan_query.go b/go/vt/vtgate/planbuilder/operators/plan_query.go
index 4d371942c26..baa9a7883e2 100644
--- a/go/vt/vtgate/planbuilder/operators/plan_query.go
+++ b/go/vt/vtgate/planbuilder/operators/plan_query.go
@@ -47,7 +47,9 @@ import (
type (
// helper type that implements Inputs() returning nil
- noInputs struct{}
+ nullaryOperator struct {
+ Operator
+ }
// helper type that implements AddColumn() returning an error
noColumns struct{}
@@ -60,7 +62,7 @@ type (
func PlanQuery(ctx *plancontext.PlanningContext, stmt sqlparser.Statement) (result Operator, err error) {
defer PanicHandler(&err)
- op := translateQueryToOp(ctx, stmt)
+ op := translateQueryToOpWithMirroring(ctx, stmt)
if DebugOperatorTree {
fmt.Println("Initial tree:")
@@ -94,14 +96,14 @@ func PanicHandler(err *error) {
}
// Inputs implements the Operator interface
-func (noInputs) Inputs() []Operator {
+func (nullaryOperator) Inputs() []Operator {
return nil
}
// SetInputs implements the Operator interface
-func (noInputs) SetInputs(ops []Operator) {
+func (nullaryOperator) SetInputs(ops []Operator) {
if len(ops) > 0 {
- panic("the noInputs operator does not have inputs")
+ panic("the nullaryOperator operator does not have inputs")
}
}
diff --git a/go/vt/vtgate/planbuilder/operators/projection.go b/go/vt/vtgate/planbuilder/operators/projection.go
index d8ede63b612..e894ab433b4 100644
--- a/go/vt/vtgate/planbuilder/operators/projection.go
+++ b/go/vt/vtgate/planbuilder/operators/projection.go
@@ -32,7 +32,7 @@ import (
// Projection is used when we need to evaluate expressions on the vtgate
// It uses the evalengine to accomplish its goal
type Projection struct {
- Source Operator
+ unaryOperator
// Columns contain the expressions as viewed from the outside of this operator
Columns ProjCols
@@ -87,7 +87,7 @@ type (
ProjExpr struct {
Original *sqlparser.AliasedExpr // this is the expression the user asked for. should only be used to decide on the column alias
- EvalExpr sqlparser.Expr // EvalExpr is the expression that will be evaluated at runtime
+ EvalExpr sqlparser.Expr // EvalExpr represents the expression evaluated at runtime or used when the ProjExpr is pushed under a route
ColExpr sqlparser.Expr // ColExpr is used during planning to figure out which column this ProjExpr is representing
Info ExprInfo // Here we store information about evalengine, offsets or subqueries
}
@@ -127,8 +127,8 @@ func newProjExprWithInner(ae *sqlparser.AliasedExpr, in sqlparser.Expr) *ProjExp
func newAliasedProjection(src Operator) *Projection {
return &Projection{
- Source: src,
- Columns: AliasedProjections{},
+ unaryOperator: newUnaryOp(src),
+ Columns: AliasedProjections{},
}
}
@@ -383,8 +383,18 @@ func (p *Projection) addColumn(
return p.addProjExpr(pe)
}
- // we need to push down this column to our input
- inputOffset := p.Source.AddColumn(ctx, true, addToGroupBy, ae)
+ var inputOffset int
+ if nothingNeedsFetching(ctx, expr) {
+ // if we don't need to fetch anything, we could just evaluate it in the projection
+ // we still check if it's there - if it is, we can, we should use it
+ inputOffset = p.Source.FindCol(ctx, expr, false)
+ if inputOffset < 0 {
+ return p.addProjExpr(pe)
+ }
+ } else {
+ // we need to push down this column to our input
+ inputOffset = p.Source.AddColumn(ctx, true, addToGroupBy, ae)
+ }
pe.Info = Offset(inputOffset) // since we already know the offset, let's save the information
return p.addProjExpr(pe)
@@ -395,20 +405,9 @@ func (po *EvalEngine) expr() {}
func (po SubQueryExpression) expr() {}
func (p *Projection) Clone(inputs []Operator) Operator {
- return &Projection{
- Source: inputs[0],
- Columns: p.Columns, // TODO don't think we need to deep clone here
- DT: p.DT,
- FromAggr: p.FromAggr,
- }
-}
-
-func (p *Projection) Inputs() []Operator {
- return []Operator{p.Source}
-}
-
-func (p *Projection) SetInputs(operators []Operator) {
- p.Source = operators[0]
+ klone := *p
+ klone.Source = inputs[0]
+ return &klone
}
func (p *Projection) AddPredicate(ctx *plancontext.PlanningContext, expr sqlparser.Expr) Operator {
diff --git a/go/vt/vtgate/planbuilder/operators/projection_pushing.go b/go/vt/vtgate/planbuilder/operators/projection_pushing.go
index b5c6a10bb78..1d1a5a04501 100644
--- a/go/vt/vtgate/planbuilder/operators/projection_pushing.go
+++ b/go/vt/vtgate/planbuilder/operators/projection_pushing.go
@@ -320,7 +320,7 @@ func splitSubqueryExpression(
alias string,
) applyJoinColumn {
col := join.getJoinColumnFor(ctx, pe.Original, pe.ColExpr, false)
- return pushDownSplitJoinCol(col, lhs, pe, alias, rhs)
+ return pushDownSplitJoinCol(col, lhs, rhs, pe, alias)
}
func splitUnexploredExpression(
@@ -334,23 +334,49 @@ func splitUnexploredExpression(
original := sqlparser.Clone(pe.Original)
expr := pe.ColExpr
- var colName *sqlparser.ColName
- if dt != nil {
- if !pe.isSameInAndOut(ctx) {
- panic(vterrors.VT13001("derived table columns must be the same in and out"))
- }
- colName = sqlparser.NewColNameWithQualifier(pe.Original.ColumnName(), sqlparser.NewTableName(dt.Alias))
- ctx.SemTable.CopySemanticInfo(expr, colName)
- }
-
// Get a applyJoinColumn for the current expression.
col := join.getJoinColumnFor(ctx, original, expr, false)
- col.DTColName = colName
- return pushDownSplitJoinCol(col, lhs, pe, alias, rhs)
+ if dt == nil {
+ return pushDownSplitJoinCol(col, lhs, rhs, pe, alias)
+ }
+
+ if !pe.isSameInAndOut(ctx) {
+ panic(vterrors.VT13001("derived table columns must be the same in and out"))
+ }
+ // we are pushing a derived projection through a join. that means that after this rewrite, we are on top of the
+ // derived table divider, and can only see the projected columns, not the underlying expressions
+ colName := sqlparser.NewColNameWithQualifier(pe.Original.ColumnName(), sqlparser.NewTableName(dt.Alias))
+ ctx.SemTable.CopySemanticInfo(expr, colName)
+ col.Original = colName
+ if alias == "" {
+ alias = pe.Original.ColumnName()
+ }
+
+ // Update the left and right child columns and names based on the applyJoinColumn type.
+ switch {
+ case col.IsPureLeft():
+ lhs.add(pe, alias)
+ col.LHSExprs[0].Expr = colName
+ case col.IsPureRight():
+ rhs.add(pe, alias)
+ col.RHSExpr = colName
+ default:
+ for _, lhsExpr := range col.LHSExprs {
+ ae := aeWrap(lhsExpr.Expr)
+ columnName := ae.ColumnName()
+ lhs.add(newProjExpr(ae), columnName)
+ }
+ innerPE := newProjExprWithInner(pe.Original, col.RHSExpr)
+ innerPE.ColExpr = col.RHSExpr
+ col.RHSExpr = colName
+ innerPE.Info = pe.Info
+ rhs.add(innerPE, alias)
+ }
+ return col
}
-func pushDownSplitJoinCol(col applyJoinColumn, lhs *projector, pe *ProjExpr, alias string, rhs *projector) applyJoinColumn {
+func pushDownSplitJoinCol(col applyJoinColumn, lhs, rhs *projector, pe *ProjExpr, alias string) applyJoinColumn {
// Update the left and right child columns and names based on the applyJoinColumn type.
switch {
case col.IsPureLeft():
diff --git a/go/vt/vtgate/planbuilder/operators/query_planning.go b/go/vt/vtgate/planbuilder/operators/query_planning.go
index e88fb53edb3..5fe0c7773c1 100644
--- a/go/vt/vtgate/planbuilder/operators/query_planning.go
+++ b/go/vt/vtgate/planbuilder/operators/query_planning.go
@@ -102,11 +102,21 @@ func runRewriters(ctx *plancontext.PlanningContext, root Operator) Operator {
return tryPushDelete(in)
case *Update:
return tryPushUpdate(in)
+ case *RecurseCTE:
+ return tryMergeRecurse(ctx, in)
+
default:
return in, NoRewrite
}
}
+ if pbm, ok := root.(*PercentBasedMirror); ok {
+ pbm.SetInputs([]Operator{
+ runRewriters(ctx, pbm.Operator()),
+ runRewriters(ctx.UseMirror(), pbm.Target()),
+ })
+ }
+
return FixedPointBottomUp(root, TableID, visitor, stopAtRoute)
}
@@ -150,27 +160,15 @@ func pushLockAndComment(l *LockAndComment) (Operator, *ApplyResult) {
src.Lock = l.Lock.GetHighestOrderLock(src.Lock)
return src, Rewrote("put lock and comment into route")
case *SubQueryContainer:
- src.Outer = &LockAndComment{
- Source: src.Outer,
- Comments: l.Comments,
- Lock: l.Lock,
- }
+ src.Outer = newLockAndComment(src.Outer, l.Comments, l.Lock)
for _, sq := range src.Inner {
- sq.Subquery = &LockAndComment{
- Source: sq.Subquery,
- Comments: l.Comments,
- Lock: l.Lock,
- }
+ sq.Subquery = newLockAndComment(sq.Subquery, l.Comments, l.Lock)
}
return src, Rewrote("push lock and comment into subquery container")
default:
inputs := src.Inputs()
for i, op := range inputs {
- inputs[i] = &LockAndComment{
- Source: op,
- Comments: l.Comments,
- Lock: l.Lock,
- }
+ inputs[i] = newLockAndComment(op, l.Comments, l.Lock)
}
src.SetInputs(inputs)
return src, Rewrote("pushed down lock and comments")
@@ -426,10 +424,7 @@ func createPushedLimit(ctx *plancontext.PlanningContext, src Operator, orig *Lim
pushedLimit.Rowcount = getLimitExpression(ctx, plus)
pushedLimit.Offset = nil
}
- return &Limit{
- Source: src,
- AST: pushedLimit,
- }
+ return newLimit(src, pushedLimit, false)
}
// getLimitExpression is a helper function to simplify an expression using the evalengine
@@ -496,11 +491,8 @@ func setUpperLimit(in *Limit) (Operator, *ApplyResult) {
return SkipChildren
}
case *Route:
- newSrc := &Limit{
- Source: op.Source,
- AST: &sqlparser.Limit{Rowcount: sqlparser.NewArgument(engine.UpperLimitStr)},
- }
- op.Source = newSrc
+ ast := &sqlparser.Limit{Rowcount: sqlparser.NewArgument(engine.UpperLimitStr)}
+ op.Source = newLimit(op.Source, ast, false)
result = result.Merge(Rewrote("push upper limit under route"))
return SkipChildren
}
@@ -733,7 +725,6 @@ func pushFilterUnderProjection(ctx *plancontext.PlanningContext, filter *Filter,
}
}
return Swap(filter, projection, "push filter under projection")
-
}
func tryPushDistinct(in *Distinct) (Operator, *ApplyResult) {
@@ -753,7 +744,7 @@ func tryPushDistinct(in *Distinct) (Operator, *ApplyResult) {
return in, NoRewrite
}
- src.Source = &Distinct{Source: src.Source}
+ src.Source = newDistinct(src.Source, nil, false)
in.PushedPerformance = true
return in, Rewrote("added distinct under route - kept original")
@@ -763,14 +754,14 @@ func tryPushDistinct(in *Distinct) (Operator, *ApplyResult) {
return src, Rewrote("remove double distinct")
case *Union:
for i := range src.Sources {
- src.Sources[i] = &Distinct{Source: src.Sources[i]}
+ src.Sources[i] = newDistinct(src.Sources[i], nil, false)
}
in.PushedPerformance = true
return in, Rewrote("push down distinct under union")
case JoinOp:
- src.SetLHS(&Distinct{Source: src.GetLHS()})
- src.SetRHS(&Distinct{Source: src.GetRHS()})
+ src.SetLHS(newDistinct(src.GetLHS(), nil, false))
+ src.SetRHS(newDistinct(src.GetRHS(), nil, false))
in.PushedPerformance = true
if in.Required {
@@ -821,10 +812,7 @@ func tryPushUnion(ctx *plancontext.PlanningContext, op *Union) (Operator, *Apply
return result, Rewrote("push union under route")
}
- return &Distinct{
- Source: result,
- Required: true,
- }, Rewrote("push union under route")
+ return newDistinct(result, nil, true), Rewrote("push union under route")
}
if len(sources) == len(op.Sources) {
diff --git a/go/vt/vtgate/planbuilder/operators/querygraph.go b/go/vt/vtgate/planbuilder/operators/querygraph.go
index 8e8572f7dfa..98cd9ada64a 100644
--- a/go/vt/vtgate/planbuilder/operators/querygraph.go
+++ b/go/vt/vtgate/planbuilder/operators/querygraph.go
@@ -42,7 +42,7 @@ type (
// NoDeps contains the predicates that can be evaluated anywhere.
NoDeps sqlparser.Expr
- noInputs
+ nullaryOperator
noColumns
}
diff --git a/go/vt/vtgate/planbuilder/operators/recurse_cte.go b/go/vt/vtgate/planbuilder/operators/recurse_cte.go
new file mode 100644
index 00000000000..61474b663d6
--- /dev/null
+++ b/go/vt/vtgate/planbuilder/operators/recurse_cte.go
@@ -0,0 +1,211 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package operators
+
+import (
+ "fmt"
+ "slices"
+ "strings"
+
+ "golang.org/x/exp/maps"
+
+ "vitess.io/vitess/go/slice"
+ "vitess.io/vitess/go/vt/sqlparser"
+ "vitess.io/vitess/go/vt/vterrors"
+ "vitess.io/vitess/go/vt/vtgate/planbuilder/plancontext"
+ "vitess.io/vitess/go/vt/vtgate/semantics"
+)
+
+// RecurseCTE is used to represent a recursive CTE
+type RecurseCTE struct {
+ binaryOperator
+
+ // Def is the CTE definition according to the semantics
+ Def *semantics.CTE
+
+ // Expressions are the predicates that are needed on the recurse side of the CTE
+ Predicates []*plancontext.RecurseExpression
+ Projections []*plancontext.RecurseExpression
+
+ // Vars is the map of variables that are sent between the two parts of the recursive CTE
+ // It's filled in at offset planning time
+ Vars map[string]int
+
+ // MyTableID is the id of the CTE
+ MyTableInfo *semantics.CTETable
+
+ // Horizon is stored here until we either expand it or push it under a route
+ Horizon *Horizon
+
+ // The LeftID is the id of the left side of the CTE
+ LeftID,
+
+ // The OuterID is the id for this use of the CTE
+ OuterID semantics.TableSet
+
+ // Distinct is used to determine if the result set should be distinct
+ Distinct bool
+}
+
+var _ Operator = (*RecurseCTE)(nil)
+
+func newRecurse(
+ ctx *plancontext.PlanningContext,
+ def *semantics.CTE,
+ seed, term Operator,
+ predicates []*plancontext.RecurseExpression,
+ horizon *Horizon,
+ leftID, outerID semantics.TableSet,
+ distinct bool,
+) *RecurseCTE {
+ for _, pred := range predicates {
+ ctx.AddJoinPredicates(pred.Original, pred.RightExpr)
+ }
+ return &RecurseCTE{
+ binaryOperator: newBinaryOp(seed, term),
+ Def: def,
+ Predicates: predicates,
+ Horizon: horizon,
+ LeftID: leftID,
+ OuterID: outerID,
+ Distinct: distinct,
+ }
+}
+
+func (r *RecurseCTE) Clone(inputs []Operator) Operator {
+ klone := *r
+ klone.LHS = inputs[0]
+ klone.RHS = inputs[1]
+ klone.Vars = maps.Clone(r.Vars)
+ klone.Predicates = slices.Clone(r.Predicates)
+ klone.Projections = slices.Clone(r.Projections)
+ return &klone
+}
+
+func (r *RecurseCTE) AddPredicate(_ *plancontext.PlanningContext, e sqlparser.Expr) Operator {
+ return newFilter(r, e)
+}
+
+func (r *RecurseCTE) AddColumn(ctx *plancontext.PlanningContext, _, _ bool, expr *sqlparser.AliasedExpr) int {
+ r.makeSureWeHaveTableInfo(ctx)
+ e := semantics.RewriteDerivedTableExpression(expr.Expr, r.MyTableInfo)
+ offset := r.Seed().FindCol(ctx, e, false)
+ if offset == -1 {
+ panic(vterrors.VT13001("CTE column not found"))
+ }
+ return offset
+}
+
+func (r *RecurseCTE) makeSureWeHaveTableInfo(ctx *plancontext.PlanningContext) {
+ if r.MyTableInfo == nil {
+ for _, table := range ctx.SemTable.Tables {
+ cte, ok := table.(*semantics.CTETable)
+ if !ok {
+ continue
+ }
+ if cte.CTE == r.Def {
+ r.MyTableInfo = cte
+ break
+ }
+ }
+ if r.MyTableInfo == nil {
+ panic(vterrors.VT13001("CTE not found"))
+ }
+ }
+}
+
+func (r *RecurseCTE) AddWSColumn(ctx *plancontext.PlanningContext, offset int, underRoute bool) int {
+ seed := r.Seed().AddWSColumn(ctx, offset, underRoute)
+ term := r.Term().AddWSColumn(ctx, offset, underRoute)
+ if seed != term {
+ panic(vterrors.VT13001("CTE columns don't match"))
+ }
+ return seed
+}
+
+func (r *RecurseCTE) FindCol(ctx *plancontext.PlanningContext, expr sqlparser.Expr, underRoute bool) int {
+ r.makeSureWeHaveTableInfo(ctx)
+ expr = semantics.RewriteDerivedTableExpression(expr, r.MyTableInfo)
+ return r.Seed().FindCol(ctx, expr, underRoute)
+}
+
+func (r *RecurseCTE) GetColumns(ctx *plancontext.PlanningContext) []*sqlparser.AliasedExpr {
+ return r.Seed().GetColumns(ctx)
+}
+
+func (r *RecurseCTE) GetSelectExprs(ctx *plancontext.PlanningContext) sqlparser.SelectExprs {
+ return r.Seed().GetSelectExprs(ctx)
+}
+
+func (r *RecurseCTE) ShortDescription() string {
+ distinct := ""
+ if r.Distinct {
+ distinct = "distinct "
+ }
+ if len(r.Vars) > 0 {
+ return fmt.Sprintf("%s%v", distinct, r.Vars)
+ }
+ expressions := slice.Map(r.expressions(), func(expr *plancontext.RecurseExpression) string {
+ return sqlparser.String(expr.Original)
+ })
+ return fmt.Sprintf("%s%v %v", distinct, r.Def.Name, strings.Join(expressions, ", "))
+}
+
+func (r *RecurseCTE) GetOrdering(*plancontext.PlanningContext) []OrderBy {
+ // RecurseCTE is a special case. It never guarantees any ordering.
+ return nil
+}
+
+func (r *RecurseCTE) expressions() []*plancontext.RecurseExpression {
+ return append(r.Predicates, r.Projections...)
+}
+
+func (r *RecurseCTE) planOffsets(ctx *plancontext.PlanningContext) Operator {
+ r.Vars = make(map[string]int)
+ columns := r.Seed().GetColumns(ctx)
+ for _, expr := range r.expressions() {
+ outer:
+ for _, lhsExpr := range expr.LeftExprs {
+ _, found := r.Vars[lhsExpr.Name]
+ if found {
+ continue
+ }
+
+ for offset, column := range columns {
+ if lhsExpr.Expr.Name.EqualString(column.ColumnName()) {
+ r.Vars[lhsExpr.Name] = offset
+ continue outer
+ }
+ }
+
+ panic(vterrors.VT13001("couldn't find column"))
+ }
+ }
+ return r
+}
+
+func (r *RecurseCTE) introducesTableID() semantics.TableSet {
+ return r.OuterID
+}
+
+func (r *RecurseCTE) Seed() Operator {
+ return r.LHS
+}
+
+func (r *RecurseCTE) Term() Operator {
+ return r.RHS
+}
diff --git a/go/vt/vtgate/planbuilder/operators/rewriters.go b/go/vt/vtgate/planbuilder/operators/rewriters.go
index ab9fe66e368..1864eb952e1 100644
--- a/go/vt/vtgate/planbuilder/operators/rewriters.go
+++ b/go/vt/vtgate/planbuilder/operators/rewriters.go
@@ -164,6 +164,16 @@ func TopDown(
// Swap takes a tree like a->b->c and swaps `a` and `b`, so we end up with b->a->c
func Swap(parent, child Operator, message string) (Operator, *ApplyResult) {
+ unaryParent, isUnary := parent.(*unaryOperator)
+ if isUnary {
+ unaryChild, isUnary := child.(*unaryOperator)
+ if isUnary {
+ // If both the parent and child are unary operators, we can just swap the sources
+ unaryParent.Source, unaryChild.Source = unaryChild.Source, unaryParent.Source
+ return parent, Rewrote(message)
+ }
+ }
+
c := child.Inputs()
if len(c) != 1 {
panic(vterrors.VT13001("Swap can only be used on single input operators"))
@@ -200,34 +210,60 @@ func bottomUp(
return root, NoRewrite
}
- oldInputs := root.Inputs()
var anythingChanged *ApplyResult
- newInputs := make([]Operator, len(oldInputs))
- childID := rootID
-
- // noLHSTableSet is used to mark which operators that do not send data from the LHS to the RHS
- // It's only UNION at this moment, but this package can't depend on the actual operators, so
- // we use this interface to avoid direct dependencies
- type noLHSTableSet interface{ NoLHSTableSet() }
-
- for i, operator := range oldInputs {
- // We merge the table set of all the LHS above the current root so that we can
- // send it down to the current RHS.
- // We don't want to send the LHS table set to the RHS if the root is a UNION.
- // Some operators, like SubQuery, can have multiple child operators on the RHS
- if _, isUnion := root.(noLHSTableSet); !isUnion && i > 0 {
- childID = childID.Merge(resolveID(oldInputs[0]))
+
+ switch root := root.(type) {
+ case nullaryOperator:
+ // no inputs, nothing to do
+ case *unaryOperator:
+ newSource, changed := bottomUp(root.Source, rootID, resolveID, rewriter, shouldVisit, false)
+ if DebugOperatorTree && changed.Changed() {
+ fmt.Println(ToTree(newSource))
}
- in, changed := bottomUp(operator, childID, resolveID, rewriter, shouldVisit, false)
+ anythingChanged = anythingChanged.Merge(changed)
+ root.Source = newSource
+ case *binaryOperator:
+ newLHS, changed := bottomUp(root.LHS, rootID, resolveID, rewriter, shouldVisit, false)
if DebugOperatorTree && changed.Changed() {
- fmt.Println(ToTree(in))
+ fmt.Println(ToTree(newLHS))
}
anythingChanged = anythingChanged.Merge(changed)
- newInputs[i] = in
- }
+ root.LHS = newLHS
+ newRHS, changed := bottomUp(root.RHS, rootID, resolveID, rewriter, shouldVisit, false)
+ if DebugOperatorTree && changed.Changed() {
+ fmt.Println(ToTree(newRHS))
+ }
+ anythingChanged = anythingChanged.Merge(changed)
+ root.RHS = newRHS
+ default:
+ oldInputs := root.Inputs()
+ newInputs := make([]Operator, len(oldInputs))
+ childID := rootID
+
+ // noLHSTableSet is used to mark which operators that do not send data from the LHS to the RHS
+ // It's only UNION at this moment, but this package can't depend on the actual operators, so
+ // we use this interface to avoid direct dependencies
+ type noLHSTableSet interface{ NoLHSTableSet() }
+
+ for i, operator := range oldInputs {
+ // We merge the table set of all the LHS above the current root so that we can
+ // send it down to the current RHS.
+ // We don't want to send the LHS table set to the RHS if the root is a UNION.
+ // Some operators, like SubQuery, can have multiple child operators on the RHS
+ if _, isUnion := root.(noLHSTableSet); !isUnion && i > 0 {
+ childID = childID.Merge(resolveID(oldInputs[0]))
+ }
+ in, changed := bottomUp(operator, childID, resolveID, rewriter, shouldVisit, false)
+ if DebugOperatorTree && changed.Changed() {
+ fmt.Println(ToTree(in))
+ }
+ anythingChanged = anythingChanged.Merge(changed)
+ newInputs[i] = in
+ }
- if anythingChanged.Changed() {
- root = root.Clone(newInputs)
+ if anythingChanged.Changed() {
+ root.SetInputs(newInputs)
+ }
}
newOp, treeIdentity := rewriter(root, rootID, isRoot)
@@ -247,21 +283,42 @@ func breakableTopDown(
var anythingChanged *ApplyResult
- oldInputs := newOp.Inputs()
- newInputs := make([]Operator, len(oldInputs))
- for i, oldInput := range oldInputs {
- newInputs[i], identity, err = breakableTopDown(oldInput, rewriter)
+ switch newOp := newOp.(type) {
+ case nullaryOperator:
+ // no inputs, nothing to do
+ case *unaryOperator:
+ newSource, identity, err := breakableTopDown(newOp.Source, rewriter)
+ if err != nil {
+ return nil, NoRewrite, err
+ }
anythingChanged = anythingChanged.Merge(identity)
+ newOp.Source = newSource
+ case *binaryOperator:
+ newLHS, identity, err := breakableTopDown(newOp.LHS, rewriter)
if err != nil {
return nil, NoRewrite, err
}
+ anythingChanged = anythingChanged.Merge(identity)
+ newRHS, identity, err := breakableTopDown(newOp.RHS, rewriter)
+ if err != nil {
+ return nil, NoRewrite, err
+ }
+ anythingChanged = anythingChanged.Merge(identity)
+ newOp.LHS = newLHS
+ newOp.RHS = newRHS
+ default:
+ oldInputs := newOp.Inputs()
+ newInputs := make([]Operator, len(oldInputs))
+ for i, oldInput := range oldInputs {
+ newInputs[i], identity, err = breakableTopDown(oldInput, rewriter)
+ if err != nil {
+ return nil, NoRewrite, err
+ }
+ anythingChanged = anythingChanged.Merge(identity)
+ }
}
- if anythingChanged.Changed() {
- return newOp, NoRewrite, nil
- }
-
- return newOp.Clone(newInputs), anythingChanged, nil
+ return newOp, anythingChanged, nil
}
// topDown is a helper function that recursively traverses the operator tree from the
@@ -285,24 +342,39 @@ func topDown(
root = newOp
}
- oldInputs := root.Inputs()
- newInputs := make([]Operator, len(oldInputs))
- childID := rootID
-
- type noLHSTableSet interface{ NoLHSTableSet() }
-
- for i, operator := range oldInputs {
- if _, isUnion := root.(noLHSTableSet); !isUnion && i > 0 {
- childID = childID.Merge(resolveID(oldInputs[0]))
- }
- in, changed := topDown(operator, childID, resolveID, rewriter, shouldVisit, false)
+ switch newOp := newOp.(type) {
+ case nullaryOperator:
+ // no inputs, nothing to do
+ case *unaryOperator:
+ newSource, changed := topDown(newOp.Source, rootID, resolveID, rewriter, shouldVisit, false)
anythingChanged = anythingChanged.Merge(changed)
- newInputs[i] = in
- }
+ newOp.Source = newSource
+ case *binaryOperator:
+ newLHS, changed := topDown(newOp.LHS, rootID, resolveID, rewriter, shouldVisit, false)
+ anythingChanged = anythingChanged.Merge(changed)
+ newRHS, changed := topDown(newOp.RHS, rootID, resolveID, rewriter, shouldVisit, false)
+ anythingChanged = anythingChanged.Merge(changed)
+ newOp.LHS, newOp.RHS = newLHS, newRHS
+ default:
+ oldInputs := root.Inputs()
+ newInputs := make([]Operator, len(oldInputs))
+ childID := rootID
+
+ type noLHSTableSet interface{ NoLHSTableSet() }
+
+ for i, operator := range oldInputs {
+ if _, isUnion := root.(noLHSTableSet); !isUnion && i > 0 {
+ childID = childID.Merge(resolveID(oldInputs[0]))
+ }
+ in, changed := topDown(operator, childID, resolveID, rewriter, shouldVisit, false)
+ anythingChanged = anythingChanged.Merge(changed)
+ newInputs[i] = in
+ }
- if anythingChanged != NoRewrite {
- return root.Clone(newInputs), anythingChanged
+ if anythingChanged != NoRewrite {
+ root.SetInputs(newInputs)
+ }
}
- return root, NoRewrite
+ return root, anythingChanged
}
diff --git a/go/vt/vtgate/planbuilder/operators/route.go b/go/vt/vtgate/planbuilder/operators/route.go
index 1c91077c2e4..e398fb05607 100644
--- a/go/vt/vtgate/planbuilder/operators/route.go
+++ b/go/vt/vtgate/planbuilder/operators/route.go
@@ -19,12 +19,10 @@ package operators
import (
"fmt"
- "vitess.io/vitess/go/mysql/collations"
"vitess.io/vitess/go/slice"
"vitess.io/vitess/go/vt/key"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
"vitess.io/vitess/go/vt/sqlparser"
- "vitess.io/vitess/go/vt/vtenv"
"vitess.io/vitess/go/vt/vterrors"
"vitess.io/vitess/go/vt/vtgate/engine"
"vitess.io/vitess/go/vt/vtgate/evalengine"
@@ -35,7 +33,7 @@ import (
type (
Route struct {
- Source Operator
+ unaryOperator
// Routes that have been merged into this one.
MergedWith []*Route
@@ -121,7 +119,7 @@ func UpdateRoutingLogic(ctx *plancontext.PlanningContext, expr sqlparser.Expr, r
}
nr := &NoneRouting{keyspace: ks}
- if isConstantFalse(ctx.VSchema.Environment(), expr, ctx.VSchema.ConnCollation()) {
+ if b := ctx.IsConstantBool(expr); b != nil && !*b {
return nr
}
@@ -163,31 +161,6 @@ func UpdateRoutingLogic(ctx *plancontext.PlanningContext, expr sqlparser.Expr, r
return exit()
}
-// isConstantFalse checks whether this predicate can be evaluated at plan-time. If it returns `false` or `null`,
-// we know that the query will not return anything, and this can be used to produce better plans
-func isConstantFalse(env *vtenv.Environment, expr sqlparser.Expr, collation collations.ID) bool {
- eenv := evalengine.EmptyExpressionEnv(env)
- eexpr, err := evalengine.Translate(expr, &evalengine.Config{
- Collation: collation,
- Environment: env,
- })
- if err != nil {
- return false
- }
- eres, err := eenv.Evaluate(eexpr)
- if err != nil {
- return false
- }
- if eres.Value(collation).IsNull() {
- return false
- }
- b, err := eres.ToBooleanStrict()
- if err != nil {
- return false
- }
- return !b
-}
-
// Cost implements the Operator interface
func (r *Route) Cost() int {
return r.Routing.Cost()
@@ -201,16 +174,6 @@ func (r *Route) Clone(inputs []Operator) Operator {
return &cloneRoute
}
-// Inputs implements the Operator interface
-func (r *Route) Inputs() []Operator {
- return []Operator{r.Source}
-}
-
-// SetInputs implements the Operator interface
-func (r *Route) SetInputs(ops []Operator) {
- r.Source = ops[0]
-}
-
func createOption(
colVindex *vindexes.ColumnVindex,
vfunc func(*vindexes.ColumnVindex) vindexes.Vindex,
@@ -459,10 +422,10 @@ func createRouteFromVSchemaTable(
}
}
plan := &Route{
- Source: &Table{
+ unaryOperator: newUnaryOp(&Table{
QTable: queryTable,
VTable: vschemaTable,
- },
+ }),
}
// We create the appropriate Routing struct here, depending on the type of table we are dealing with.
@@ -716,8 +679,8 @@ func wrapInDerivedProjection(
columns = append(columns, sqlparser.NewIdentifierCI(fmt.Sprintf("c%d", i)))
}
derivedProj := &Projection{
- Source: op,
- Columns: AliasedProjections(slice.Map(unionColumns, newProjExpr)),
+ unaryOperator: newUnaryOp(op),
+ Columns: AliasedProjections(slice.Map(unionColumns, newProjExpr)),
DT: &DerivedTable{
TableID: ctx.SemTable.NewTableId(),
Alias: "dt",
@@ -754,14 +717,11 @@ func (r *Route) GetOrdering(ctx *plancontext.PlanningContext) []OrderBy {
// TablesUsed returns tables used by MergedWith routes, which are not included
// in Inputs() and thus not a part of the operator tree
-func (r *Route) TablesUsed() []string {
- addString, collect := collectSortedUniqueStrings()
+func (r *Route) TablesUsed(in []string) []string {
for _, mw := range r.MergedWith {
- for _, u := range TablesUsed(mw) {
- addString(u)
- }
+ in = append(in, TablesUsed(mw)...)
}
- return collect()
+ return in
}
func isSpecialOrderBy(o OrderBy) bool {
diff --git a/go/vt/vtgate/planbuilder/operators/route_planning.go b/go/vt/vtgate/planbuilder/operators/route_planning.go
index 22db69f287b..90eb16e1562 100644
--- a/go/vt/vtgate/planbuilder/operators/route_planning.go
+++ b/go/vt/vtgate/planbuilder/operators/route_planning.go
@@ -189,8 +189,8 @@ func createInfSchemaRoute(ctx *plancontext.PlanningContext, table *QueryTable) O
routing = UpdateRoutingLogic(ctx, pred, routing)
}
return &Route{
- Source: src,
- Routing: routing,
+ unaryOperator: newUnaryOp(src),
+ Routing: routing,
}
}
@@ -288,7 +288,8 @@ func requiresSwitchingSides(ctx *plancontext.PlanningContext, op Operator) (requ
}
func mergeOrJoin(ctx *plancontext.PlanningContext, lhs, rhs Operator, joinPredicates []sqlparser.Expr, joinType sqlparser.JoinType) (Operator, *ApplyResult) {
- newPlan := mergeJoinInputs(ctx, lhs, rhs, joinPredicates, newJoinMerge(joinPredicates, joinType))
+ jm := newJoinMerge(joinPredicates, joinType)
+ newPlan := jm.mergeJoinInputs(ctx, lhs, rhs, joinPredicates)
if newPlan != nil {
return newPlan, Rewrote("merge routes into single operator")
}
diff --git a/go/vt/vtgate/planbuilder/operators/subquery.go b/go/vt/vtgate/planbuilder/operators/subquery.go
index b919bbfaed9..9610a2b10c9 100644
--- a/go/vt/vtgate/planbuilder/operators/subquery.go
+++ b/go/vt/vtgate/planbuilder/operators/subquery.go
@@ -232,11 +232,7 @@ var subqueryNotAtTopErr = vterrors.VT12001("unmergable subquery can not be insid
func (sq *SubQuery) addLimit() {
// for a correlated subquery, we can add a limit 1 to the subquery
- sq.Subquery = &Limit{
- Source: sq.Subquery,
- AST: &sqlparser.Limit{Rowcount: sqlparser.NewIntLiteral("1")},
- Top: true,
- }
+ sq.Subquery = newLimit(sq.Subquery, &sqlparser.Limit{Rowcount: sqlparser.NewIntLiteral("1")}, true)
}
func (sq *SubQuery) settleFilter(ctx *plancontext.PlanningContext, outer Operator) Operator {
diff --git a/go/vt/vtgate/planbuilder/operators/subquery_planning.go b/go/vt/vtgate/planbuilder/operators/subquery_planning.go
index 0893afbeead..a2aca74fb6e 100644
--- a/go/vt/vtgate/planbuilder/operators/subquery_planning.go
+++ b/go/vt/vtgate/planbuilder/operators/subquery_planning.go
@@ -633,7 +633,7 @@ func (s *subqueryRouteMerger) merge(ctx *plancontext.PlanningContext, inner, out
if !s.subq.TopLevel {
// if the subquery we are merging isn't a top level predicate, we can't use it for routing
return &Route{
- Source: outer.Source,
+ unaryOperator: newUnaryOp(outer.Source),
MergedWith: mergedWith(inner, outer),
Routing: outer.Routing,
Ordering: outer.Ordering,
@@ -651,7 +651,7 @@ func (s *subqueryRouteMerger) merge(ctx *plancontext.PlanningContext, inner, out
src = s.rewriteASTExpression(ctx, inner)
}
return &Route{
- Source: src,
+ unaryOperator: newUnaryOp(src),
MergedWith: mergedWith(inner, outer),
Routing: r,
Ordering: s.outer.Ordering,
diff --git a/go/vt/vtgate/planbuilder/operators/table.go b/go/vt/vtgate/planbuilder/operators/table.go
index 3ecd4982ece..4391380480c 100644
--- a/go/vt/vtgate/planbuilder/operators/table.go
+++ b/go/vt/vtgate/planbuilder/operators/table.go
@@ -33,7 +33,7 @@ type (
VTable *vindexes.Table
Columns []*sqlparser.ColName
- noInputs
+ nullaryOperator
}
ColNameColumns interface {
GetColNames() []*sqlparser.ColName
@@ -107,11 +107,11 @@ func (to *Table) AddCol(col *sqlparser.ColName) {
to.Columns = append(to.Columns, col)
}
-func (to *Table) TablesUsed() []string {
+func (to *Table) TablesUsed(in []string) []string {
if sqlparser.SystemSchema(to.QTable.Table.Qualifier.String()) {
- return nil
+ return in
}
- return SingleQualifiedIdentifier(to.VTable.Keyspace, to.VTable.Name)
+ return append(in, QualifiedString(to.VTable.Keyspace, to.VTable.Name.String()))
}
func addColumn(ctx *plancontext.PlanningContext, op ColNameColumns, e sqlparser.Expr) int {
diff --git a/go/vt/vtgate/planbuilder/operators/union_merging.go b/go/vt/vtgate/planbuilder/operators/union_merging.go
index 20c20673665..000d176b61a 100644
--- a/go/vt/vtgate/planbuilder/operators/union_merging.go
+++ b/go/vt/vtgate/planbuilder/operators/union_merging.go
@@ -222,9 +222,9 @@ func createMergedUnion(
union := newUnion([]Operator{lhsRoute.Source, rhsRoute.Source}, []sqlparser.SelectExprs{lhsExprs, rhsExprs}, cols, distinct)
selectExprs := unionSelects(lhsExprs)
return &Route{
- Source: union,
- MergedWith: []*Route{rhsRoute},
- Routing: routing,
+ unaryOperator: newUnaryOp(union),
+ MergedWith: []*Route{rhsRoute},
+ Routing: routing,
}, selectExprs
}
diff --git a/go/vt/vtgate/planbuilder/operators/update.go b/go/vt/vtgate/planbuilder/operators/update.go
index e843155246c..dd0a86c2de2 100644
--- a/go/vt/vtgate/planbuilder/operators/update.go
+++ b/go/vt/vtgate/planbuilder/operators/update.go
@@ -66,9 +66,6 @@ func (u *Update) Inputs() []Operator {
}
func (u *Update) SetInputs(inputs []Operator) {
- if len(inputs) != 1 {
- panic(vterrors.VT13001("unexpected number of inputs for Update operator"))
- }
u.Source = inputs[0]
}
@@ -89,8 +86,8 @@ func (u *Update) GetOrdering(*plancontext.PlanningContext) []OrderBy {
return nil
}
-func (u *Update) TablesUsed() []string {
- return SingleQualifiedIdentifier(u.Target.VTable.Keyspace, u.Target.VTable.Name)
+func (u *Update) TablesUsed(in []string) []string {
+ return append(in, QualifiedString(u.Target.VTable.Keyspace, u.Target.VTable.Name.String()))
}
func (u *Update) ShortDescription() string {
@@ -113,11 +110,7 @@ func createOperatorFromUpdate(ctx *plancontext.PlanningContext, updStmt *sqlpars
var targetTbl TargetTable
op, targetTbl, updClone = createUpdateOperator(ctx, updStmt)
- op = &LockAndComment{
- Source: op,
- Comments: updStmt.Comments,
- Lock: sqlparser.ShareModeLock,
- }
+ op = newLockAndComment(op, updStmt.Comments, sqlparser.ShareModeLock)
parentFks = ctx.SemTable.GetParentForeignKeysForTableSet(targetTbl.ID)
childFks = ctx.SemTable.GetChildForeignKeysForTableSet(targetTbl.ID)
@@ -206,10 +199,7 @@ func createUpdateWithInputOp(ctx *plancontext.PlanningContext, upd *sqlparser.Up
}
if upd.Comments != nil {
- op = &LockAndComment{
- Source: op,
- Comments: upd.Comments,
- }
+ op = newLockAndComment(op, upd.Comments, sqlparser.NoLock)
}
return op
}
@@ -388,7 +378,6 @@ func createUpdateOperator(ctx *plancontext.PlanningContext, updStmt *sqlparser.U
Ignore: updStmt.Ignore,
Target: targetTbl,
OwnedVindexQuery: ovq,
- Source: op,
},
Assignments: assignments,
ChangedVindexValues: cvv,
@@ -397,14 +386,13 @@ func createUpdateOperator(ctx *plancontext.PlanningContext, updStmt *sqlparser.U
}
if len(updStmt.OrderBy) > 0 {
- addOrdering(ctx, updStmt.OrderBy, updOp)
+ updOp.Source = addOrdering(ctx, op, updStmt.OrderBy)
+ } else {
+ updOp.Source = op
}
if updStmt.Limit != nil {
- updOp.Source = &Limit{
- Source: updOp.Source,
- AST: updStmt.Limit,
- }
+ updOp.Source = newLimit(updOp.Source, updStmt.Limit, false)
}
return sqc.getRootOperator(updOp, nil), targetTbl, updClone
diff --git a/go/vt/vtgate/planbuilder/operators/vindex.go b/go/vt/vtgate/planbuilder/operators/vindex.go
index fd907fdad27..30f13701df6 100644
--- a/go/vt/vtgate/planbuilder/operators/vindex.go
+++ b/go/vt/vtgate/planbuilder/operators/vindex.go
@@ -35,7 +35,7 @@ type (
Columns []*sqlparser.ColName
Value sqlparser.Expr
- noInputs
+ nullaryOperator
}
// VindexTable contains information about the vindex table we want to query
@@ -164,8 +164,8 @@ func (v *Vindex) AddPredicate(ctx *plancontext.PlanningContext, expr sqlparser.E
// TablesUsed implements the Operator interface.
// It is not keyspace-qualified.
-func (v *Vindex) TablesUsed() []string {
- return []string{v.Table.Table.Name.String()}
+func (v *Vindex) TablesUsed(in []string) []string {
+ return append(in, v.Table.Table.Name.String())
}
func (v *Vindex) ShortDescription() string {
diff --git a/go/vt/vtgate/planbuilder/plan_test.go b/go/vt/vtgate/planbuilder/plan_test.go
index f49994d37b2..9cf92a91ddf 100644
--- a/go/vt/vtgate/planbuilder/plan_test.go
+++ b/go/vt/vtgate/planbuilder/plan_test.go
@@ -459,11 +459,7 @@ func benchmarkWorkload(b *testing.B, name string) {
testCases := readJSONTests(name + "_cases.json")
b.ResetTimer()
- for _, version := range plannerVersions {
- b.Run(version.String(), func(b *testing.B) {
- benchmarkPlanner(b, version, testCases, vschemaWrapper)
- })
- }
+ benchmarkPlanner(b, Gen4, testCases, vschemaWrapper)
}
func (s *planTestSuite) TestBypassPlanningShardTargetFromFile() {
@@ -591,6 +587,32 @@ func (s *planTestSuite) TestOtherPlanningFromFile() {
s.testFile("other_admin_cases.json", vschema, false)
}
+func (s *planTestSuite) TestMirrorPlanning() {
+ vschema := &vschemawrapper.VSchemaWrapper{
+ V: loadSchema(s.T(), "vschemas/mirror_schema.json", true),
+ TabletType_: topodatapb.TabletType_PRIMARY,
+ SysVarEnabled: true,
+ TestBuilder: TestBuilder,
+ Env: vtenv.NewTestEnv(),
+ }
+
+ s.testFile("mirror_cases.json", vschema, false)
+}
+
+func (s *planTestSuite) TestOneMirror() {
+ reset := operators.EnableDebugPrinting()
+ defer reset()
+ vschema := &vschemawrapper.VSchemaWrapper{
+ V: loadSchema(s.T(), "vschemas/mirror_schema.json", true),
+ TabletType_: topodatapb.TabletType_PRIMARY,
+ SysVarEnabled: true,
+ TestBuilder: TestBuilder,
+ Env: vtenv.NewTestEnv(),
+ }
+
+ s.testFile("onecase.json", vschema, false)
+}
+
func loadSchema(t testing.TB, filename string, setCollation bool) *vindexes.VSchema {
formal, err := vindexes.LoadFormal(locateFile(filename))
require.NoError(t, err)
@@ -683,7 +705,7 @@ func (s *planTestSuite) testFile(filename string, vschema *vschemawrapper.VSchem
if tcase.Skip {
t.Skip(message)
} else {
- t.Errorf(message)
+ t.Error(message)
}
} else if tcase.Skip {
t.Errorf("query is correct even though it is skipped:\n %s", tcase.Query)
@@ -771,9 +793,6 @@ func BenchmarkPlanner(b *testing.B) {
b.Run(filename+"-gen4", func(b *testing.B) {
benchmarkPlanner(b, Gen4, testCases, vschema)
})
- b.Run(filename+"-gen4left2right", func(b *testing.B) {
- benchmarkPlanner(b, Gen4Left2Right, testCases, vschema)
- })
}
}
@@ -839,6 +858,35 @@ func BenchmarkSelectVsDML(b *testing.B) {
})
}
+func BenchmarkBaselineVsMirrored(b *testing.B) {
+ baseline := loadSchema(b, "vschemas/mirror_schema.json", true)
+ baseline.MirrorRules = map[string]*vindexes.MirrorRule{}
+ baselineVschema := &vschemawrapper.VSchemaWrapper{
+ V: baseline,
+ SysVarEnabled: true,
+ Version: Gen4,
+ Env: vtenv.NewTestEnv(),
+ }
+
+ mirroredSchema := loadSchema(b, "vschemas/mirror_schema.json", true)
+ mirroredVschema := &vschemawrapper.VSchemaWrapper{
+ V: mirroredSchema,
+ SysVarEnabled: true,
+ Version: Gen4,
+ Env: vtenv.NewTestEnv(),
+ }
+
+ cases := readJSONTests("mirror_cases.json")
+
+ b.Run("Baseline", func(b *testing.B) {
+ benchmarkPlanner(b, Gen4, cases, baselineVschema)
+ })
+
+ b.Run("Mirrored", func(b *testing.B) {
+ benchmarkPlanner(b, Gen4, cases, mirroredVschema)
+ })
+}
+
func benchmarkPlanner(b *testing.B, version plancontext.PlannerVersion, testCases []planTest, vschema *vschemawrapper.VSchemaWrapper) {
b.ReportAllocs()
for n := 0; n < b.N; n++ {
diff --git a/go/vt/vtgate/planbuilder/plancontext/planning_context.go b/go/vt/vtgate/planbuilder/plancontext/planning_context.go
index 58be17febab..607ca83aa31 100644
--- a/go/vt/vtgate/planbuilder/plancontext/planning_context.go
+++ b/go/vt/vtgate/planbuilder/plancontext/planning_context.go
@@ -66,6 +66,19 @@ type PlanningContext struct {
// OuterTables contains the tables that are outer to the current query
// Used to set the nullable flag on the columns
OuterTables semantics.TableSet
+
+ // This is a stack of CTEs being built. It's used when we have CTEs inside CTEs,
+ // to remember which is the CTE currently being assembled
+ CurrentCTE []*ContextCTE
+
+ // mirror contains a mirrored clone of this planning context.
+ mirror *PlanningContext
+
+ // isMirrored indicates that mirrored tables should be used.
+ isMirrored bool
+
+ emptyEnv *evalengine.ExpressionEnv
+ constantCfg *evalengine.Config
}
// CreatePlanningContext initializes a new PlanningContext with the given parameters.
@@ -376,3 +389,112 @@ func (ctx *PlanningContext) ContainsAggr(e sqlparser.SQLNode) (hasAggr bool) {
}, e)
return
}
+
+func (ctx *PlanningContext) IsMirrored() bool {
+ return ctx.isMirrored
+}
+
+type ContextCTE struct {
+ *semantics.CTE
+ Id semantics.TableSet
+ Predicates []*RecurseExpression
+}
+
+type RecurseExpression struct {
+ Original sqlparser.Expr
+ RightExpr sqlparser.Expr
+ LeftExprs []BindVarExpr
+}
+
+type BindVarExpr struct {
+ Name string
+ Expr *sqlparser.ColName
+}
+
+func (ctx *PlanningContext) PushCTE(def *semantics.CTE, id semantics.TableSet) {
+ ctx.CurrentCTE = append(ctx.CurrentCTE, &ContextCTE{
+ CTE: def,
+ Id: id,
+ })
+}
+
+func (ctx *PlanningContext) PopCTE() (*ContextCTE, error) {
+ if len(ctx.CurrentCTE) == 0 {
+ return nil, vterrors.VT13001("no CTE to pop")
+ }
+ activeCTE := ctx.CurrentCTE[len(ctx.CurrentCTE)-1]
+ ctx.CurrentCTE = ctx.CurrentCTE[:len(ctx.CurrentCTE)-1]
+ return activeCTE, nil
+}
+
+func (ctx *PlanningContext) ActiveCTE() *ContextCTE {
+ if len(ctx.CurrentCTE) == 0 {
+ return nil
+ }
+ return ctx.CurrentCTE[len(ctx.CurrentCTE)-1]
+}
+
+func (ctx *PlanningContext) UseMirror() *PlanningContext {
+ if ctx.isMirrored {
+ panic(vterrors.VT13001("cannot mirror already mirrored planning context"))
+ }
+ if ctx.mirror != nil {
+ return ctx.mirror
+ }
+ ctx.mirror = &PlanningContext{
+ ReservedVars: ctx.ReservedVars,
+ SemTable: ctx.SemTable,
+ VSchema: ctx.VSchema,
+ joinPredicates: map[sqlparser.Expr][]sqlparser.Expr{},
+ skipPredicates: map[sqlparser.Expr]any{},
+ PlannerVersion: ctx.PlannerVersion,
+ ReservedArguments: map[sqlparser.Expr]string{},
+ VerifyAllFKs: ctx.VerifyAllFKs,
+ MergedSubqueries: ctx.MergedSubqueries,
+ CurrentPhase: ctx.CurrentPhase,
+ Statement: ctx.Statement,
+ OuterTables: ctx.OuterTables,
+ CurrentCTE: ctx.CurrentCTE,
+ emptyEnv: ctx.emptyEnv,
+ isMirrored: true,
+ }
+ return ctx.mirror
+}
+
+// IsConstantBool checks whether this predicate can be evaluated at plan-time.
+// If it can, it returns the constant value.
+func (ctx *PlanningContext) IsConstantBool(expr sqlparser.Expr) *bool {
+ if !ctx.SemTable.RecursiveDeps(expr).IsEmpty() {
+ // we have column dependencies, so we can be pretty sure
+ // we won't be able to use the evalengine to check if this is constant false
+ return nil
+ }
+ env := ctx.VSchema.Environment()
+ collation := ctx.VSchema.ConnCollation()
+ if ctx.constantCfg == nil {
+ ctx.constantCfg = &evalengine.Config{
+ Collation: collation,
+ Environment: env,
+ NoCompilation: true,
+ }
+ }
+ eexpr, err := evalengine.Translate(expr, ctx.constantCfg)
+ if ctx.emptyEnv == nil {
+ ctx.emptyEnv = evalengine.EmptyExpressionEnv(env)
+ }
+ if err != nil {
+ return nil
+ }
+ eres, err := ctx.emptyEnv.Evaluate(eexpr)
+ if err != nil {
+ return nil
+ }
+ if eres.Value(collation).IsNull() {
+ return nil
+ }
+ b, err := eres.ToBooleanStrict()
+ if err != nil {
+ return nil
+ }
+ return &b
+}
diff --git a/go/vt/vtgate/planbuilder/plancontext/planning_context_test.go b/go/vt/vtgate/planbuilder/plancontext/planning_context_test.go
index 3ab58cba724..d7315f376b6 100644
--- a/go/vt/vtgate/planbuilder/plancontext/planning_context_test.go
+++ b/go/vt/vtgate/planbuilder/plancontext/planning_context_test.go
@@ -365,4 +365,9 @@ func (v *vschema) GetAggregateUDFs() []string {
panic("implement me")
}
+// FindMirrorRule implements VSchema.
+func (v *vschema) FindMirrorRule(tablename sqlparser.TableName) (*vindexes.MirrorRule, error) {
+ panic("unimplemented")
+}
+
var _ VSchema = (*vschema)(nil)
diff --git a/go/vt/vtgate/planbuilder/plancontext/vschema.go b/go/vt/vtgate/planbuilder/plancontext/vschema.go
index 8ac4c57bfd7..6e92ad0d83b 100644
--- a/go/vt/vtgate/planbuilder/plancontext/vschema.go
+++ b/go/vt/vtgate/planbuilder/plancontext/vschema.go
@@ -96,6 +96,10 @@ type VSchema interface {
// GetAggregateUDFs returns the list of aggregate UDFs.
GetAggregateUDFs() []string
+
+ // FindMirrorRule finds the mirror rule for the requested keyspace, table
+ // name, and the tablet type in the VSchema.
+ FindMirrorRule(tablename sqlparser.TableName) (*vindexes.MirrorRule, error)
}
// PlannerNameToVersion returns the numerical representation of the planner
diff --git a/go/vt/vtgate/planbuilder/select.go b/go/vt/vtgate/planbuilder/select.go
index 6927c5315ac..9cc1c8efe06 100644
--- a/go/vt/vtgate/planbuilder/select.go
+++ b/go/vt/vtgate/planbuilder/select.go
@@ -205,7 +205,7 @@ func newBuildSelectPlan(
return nil, nil, err
}
- if ks, _ := ctx.SemTable.SingleUnshardedKeyspace(); ks != nil {
+ if ks, ok := ctx.SemTable.CanTakeSelectUnshardedShortcut(); ok {
plan, tablesUsed, err = selectUnshardedShortcut(ctx, selStmt, ks)
if err != nil {
return nil, nil, err
@@ -214,7 +214,6 @@ func newBuildSelectPlan(
return plan, tablesUsed, err
}
- // From this point on, we know it is not an unsharded query and return the NotUnshardedErr if there is any
if ctx.SemTable.NotUnshardedErr != nil {
return nil, nil, ctx.SemTable.NotUnshardedErr
}
diff --git a/go/vt/vtgate/planbuilder/show.go b/go/vt/vtgate/planbuilder/show.go
index f79da3a2034..82035adaa87 100644
--- a/go/vt/vtgate/planbuilder/show.go
+++ b/go/vt/vtgate/planbuilder/show.go
@@ -45,14 +45,14 @@ const (
func buildShowPlan(sql string, stmt *sqlparser.Show, _ *sqlparser.ReservedVars, vschema plancontext.VSchema) (*planResult, error) {
if vschema.Destination() != nil {
- return buildByPassPlan(sql, vschema)
+ return buildByPassPlan(sql, vschema, false)
}
var prim engine.Primitive
var err error
switch show := stmt.Internal.(type) {
case *sqlparser.ShowTransactionStatus:
- prim, err = buildShowTransactionStatusPlan(show, vschema)
+ prim, err = buildShowTransactionStatusPlan(show)
case *sqlparser.ShowBasic:
prim, err = buildShowBasicPlan(show, vschema)
case *sqlparser.ShowCreate:
@@ -70,8 +70,9 @@ func buildShowPlan(sql string, stmt *sqlparser.Show, _ *sqlparser.ReservedVars,
}
// buildShowTransactionStatusPlan builds the transaction status plan
-func buildShowTransactionStatusPlan(show *sqlparser.ShowTransactionStatus, vschema plancontext.VSchema) (engine.Primitive, error) {
+func buildShowTransactionStatusPlan(show *sqlparser.ShowTransactionStatus) (engine.Primitive, error) {
return &engine.TransactionStatus{
+ Keyspace: show.Keyspace,
TransactionID: show.TransactionID,
}, nil
}
diff --git a/go/vt/vtgate/planbuilder/testdata/aggr_cases.json b/go/vt/vtgate/planbuilder/testdata/aggr_cases.json
index 628a959af1d..343159bccaa 100644
--- a/go/vt/vtgate/planbuilder/testdata/aggr_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/aggr_cases.json
@@ -689,13 +689,13 @@
"OperatorType": "Sort",
"Variant": "Memory",
"OrderBy": "1 ASC",
+ "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "count_distinct(1|3) AS k",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Route",
@@ -2149,13 +2149,13 @@
"Instructions": {
"OperatorType": "Filter",
"Predicate": "count(*) <= 10",
+ "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "sum_count_star(1) AS a",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Route",
@@ -2187,13 +2187,13 @@
"Instructions": {
"OperatorType": "Filter",
"Predicate": "count(*) = 1.00",
+ "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "sum_count_star(0) AS a",
"GroupBy": "(1|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Route",
@@ -2918,16 +2918,16 @@
{
"OperatorType": "Join",
"Variant": "Join",
- "JoinColumnIndexes": "L:0,L:1,L:2",
+ "JoinColumnIndexes": "L:0,L:1,L:3",
"JoinVars": {
- "u2_val2": 3
+ "u2_val2": 2
},
"TableName": "`user`_`user`_music",
"Inputs": [
{
"OperatorType": "Join",
"Variant": "Join",
- "JoinColumnIndexes": "L:0,L:1,L:2,R:0",
+ "JoinColumnIndexes": "L:0,L:1,R:0,L:2",
"JoinVars": {
"u_val2": 1
},
@@ -3097,13 +3097,13 @@
"Instructions": {
"OperatorType": "Filter",
"Predicate": "count(*) = 3",
+ "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "sum_count_star(1) AS count(*)",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Route",
@@ -3135,13 +3135,13 @@
"Instructions": {
"OperatorType": "Filter",
"Predicate": "sum(foo) + sum(bar) = 42",
+ "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "sum(1) AS sum(foo), sum(2) AS sum(bar)",
"GroupBy": "(0|3)",
- "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Route",
@@ -3173,13 +3173,13 @@
"Instructions": {
"OperatorType": "Filter",
"Predicate": "sum(`user`.foo) + sum(bar) = 42",
+ "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "sum(1) AS fooSum, sum(2) AS barSum",
"GroupBy": "(0|3)",
- "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Route",
@@ -3218,7 +3218,6 @@
"Variant": "Ordered",
"Aggregates": "sum_count_star(1) AS count(*)",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Route",
@@ -3257,7 +3256,6 @@
"Variant": "Ordered",
"Aggregates": "sum_count(1) AS count(u.`name`)",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Projection",
@@ -3362,7 +3360,6 @@
"Variant": "Ordered",
"Aggregates": "sum_count_star(1) AS count(*)",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Projection",
@@ -3621,8 +3618,10 @@
"Aggregates": "count_star(0) AS count(*)",
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "3",
+ "OperatorType": "Projection",
+ "Expressions": [
+ "1 as 1"
+ ],
"Inputs": [
{
"OperatorType": "Limit",
@@ -3635,8 +3634,8 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select x.phone, x.id, x.city, 1 from (select phone, id, city from `user` where 1 != 1) as x where 1 != 1",
- "Query": "select x.phone, x.id, x.city, 1 from (select phone, id, city from `user` where id > 12) as x limit 10",
+ "FieldQuery": "select 1 from (select phone, id, city from `user` where 1 != 1) as x where 1 != 1",
+ "Query": "select 1 from (select phone, id, city from `user` where id > 12) as x limit 10",
"Table": "`user`"
}
]
@@ -3734,8 +3733,12 @@
"ResultColumns": 2,
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "1,2,3",
+ "OperatorType": "Projection",
+ "Expressions": [
+ ":1 as val1",
+ "1 as 1",
+ ":2 as weight_string(val1)"
+ ],
"Inputs": [
{
"OperatorType": "Limit",
@@ -3748,9 +3751,9 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select x.id, x.val1, 1, weight_string(x.val1) from (select id, val1 from `user` where 1 != 1) as x where 1 != 1",
- "OrderBy": "(1|3) ASC",
- "Query": "select x.id, x.val1, 1, weight_string(x.val1) from (select id, val1 from `user` where val2 < 4) as x order by x.val1 asc limit 2",
+ "FieldQuery": "select x.id, x.val1, weight_string(x.val1) from (select id, val1 from `user` where 1 != 1) as x where 1 != 1",
+ "OrderBy": "(1|2) ASC",
+ "Query": "select x.id, x.val1, weight_string(x.val1) from (select id, val1 from `user` where val2 < 4) as x order by x.val1 asc limit 2",
"Table": "`user`"
}
]
@@ -4112,7 +4115,6 @@
"Variant": "Ordered",
"Aggregates": "max(1|3) AS bazo",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Route",
@@ -4151,7 +4153,6 @@
"Variant": "Ordered",
"Aggregates": "sum_count(1) AS bazo",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Route",
@@ -4999,13 +5000,13 @@
"Collations": [
"0"
],
+ "ResultColumns": 1,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "sum_count_star(0) AS count(*)",
"GroupBy": "1",
- "ResultColumns": 1,
"Inputs": [
{
"OperatorType": "Route",
@@ -5681,7 +5682,6 @@
"OperatorType": "Aggregate",
"Variant": "Ordered",
"GroupBy": "0, (1|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "SimpleProjection",
@@ -5690,7 +5690,7 @@
{
"OperatorType": "Aggregate",
"Variant": "Scalar",
- "Aggregates": "any_value(0) AS id, sum_count_star(1) AS a, any_value(2)",
+ "Aggregates": "any_value(0|2) AS id, sum_count_star(1) AS a",
"Inputs": [
{
"OperatorType": "Route",
@@ -5699,9 +5699,9 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select id, count(*) as a, weight_string(id) from `user` where 1 != 1",
- "OrderBy": "1 ASC, (0|2) ASC",
- "Query": "select id, count(*) as a, weight_string(id) from `user` order by count(*) asc, id asc",
+ "FieldQuery": "select dt.c0 as id, dt.c1 as a, weight_string(dt.c0), weight_string(dt.c0) from (select id, count(*) as a from `user` where 1 != 1) as dt(c0, c1) where 1 != 1",
+ "OrderBy": "1 ASC, (0|3) ASC",
+ "Query": "select dt.c0 as id, dt.c1 as a, weight_string(dt.c0), weight_string(dt.c0) from (select id, count(*) as a from `user` order by count(*) asc, id asc) as dt(c0, c1)",
"Table": "`user`"
}
]
@@ -5846,16 +5846,15 @@
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
- "Aggregates": "group_concat(1) AS group_concat(u.bar), any_value(2) AS baz, any_value(4)",
+ "Aggregates": "group_concat(1) AS group_concat(u.bar), any_value(2|4) AS baz",
"GroupBy": "(0|3)",
- "ResultColumns": 5,
"Inputs": [
{
"OperatorType": "Join",
"Variant": "Join",
- "JoinColumnIndexes": "L:0,L:1,L:2,L:3,L:4",
+ "JoinColumnIndexes": "L:0,L:1,L:2,L:4,L:5",
"JoinVars": {
- "u_col": 5
+ "u_col": 3
},
"TableName": "`user`_music",
"Inputs": [
@@ -5866,9 +5865,9 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select u.foo, u.bar, u.baz, weight_string(u.foo), weight_string(u.baz), u.col from `user` as u where 1 != 1",
- "OrderBy": "(0|3) ASC",
- "Query": "select u.foo, u.bar, u.baz, weight_string(u.foo), weight_string(u.baz), u.col from `user` as u order by u.foo asc",
+ "FieldQuery": "select u.foo, u.bar, u.baz, u.col, weight_string(u.foo), weight_string(u.baz) from `user` as u where 1 != 1",
+ "OrderBy": "(0|4) ASC",
+ "Query": "select u.foo, u.bar, u.baz, u.col, weight_string(u.foo), weight_string(u.baz) from `user` as u order by u.foo asc",
"Table": "`user`"
},
{
@@ -6104,18 +6103,19 @@
"Variant": "Ordered",
"Aggregates": "count_star(0)",
"GroupBy": "1",
- "ResultColumns": 1,
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "2,1",
+ "OperatorType": "Projection",
+ "Expressions": [
+ "1 as 1",
+ "0 as .0"
+ ],
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
- "Aggregates": "sum_count_star(0) AS count(*), any_value(2)",
+ "Aggregates": "sum_count_star(0) AS count(*)",
"GroupBy": "1",
- "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Route",
@@ -6124,8 +6124,8 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select count(*), .0, 1 from `user` where 1 != 1 group by .0",
- "Query": "select count(*), .0, 1 from `user` group by .0",
+ "FieldQuery": "select count(*), .0 from `user` where 1 != 1 group by .0",
+ "Query": "select count(*), .0 from `user` group by .0",
"Table": "`user`"
}
]
@@ -6289,7 +6289,6 @@
"Variant": "Ordered",
"Aggregates": "sum(1) AS avg(id), sum_count(2) AS count(foo), sum_count(3) AS count(id)",
"GroupBy": "(0|4)",
- "ResultColumns": 4,
"Inputs": [
{
"OperatorType": "Route",
@@ -6339,7 +6338,6 @@
"Variant": "Ordered",
"Aggregates": "sum(1) AS avg(id), sum_count(2) AS count(foo), sum_count(3) AS count(id)",
"GroupBy": "(0|4)",
- "ResultColumns": 4,
"Inputs": [
{
"OperatorType": "Route",
@@ -6523,7 +6521,6 @@
"OperatorType": "Aggregate",
"Variant": "Scalar",
"Aggregates": "min(0|2) AS min_id, max(1|3) AS max_id",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Route",
@@ -6663,70 +6660,59 @@
"OrderBy": "(4|6) ASC, (5|7) ASC",
"Inputs": [
{
- "OperatorType": "Projection",
- "Expressions": [
- "count(*) as count(*)",
- "count(*) as count(*)",
- "`user`.col as col",
- "ue.col as col",
- "`user`.foo as foo",
- "ue.bar as bar",
- "weight_string(`user`.foo) as weight_string(`user`.foo)",
- "weight_string(ue.bar) as weight_string(ue.bar)"
- ],
+ "OperatorType": "Join",
+ "Variant": "HashLeftJoin",
+ "Collation": "binary",
+ "ComparisonType": "INT16",
+ "JoinColumnIndexes": "-1,1,-2,2,-3,3,-3,4",
+ "Predicate": "`user`.col = ue.col",
+ "TableName": "`user`_user_extra",
"Inputs": [
{
- "OperatorType": "Join",
- "Variant": "HashLeftJoin",
- "Collation": "binary",
- "ComparisonType": "INT16",
- "JoinColumnIndexes": "-1,1,-2,2,-3,3,-3,3",
- "Predicate": "`user`.col = ue.col",
- "TableName": "`user`_user_extra",
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select count(*), `user`.col, `user`.foo from `user` where 1 != 1 group by `user`.col, `user`.foo",
+ "Query": "select count(*), `user`.col, `user`.foo from `user` group by `user`.col, `user`.foo",
+ "Table": "`user`"
+ },
+ {
+ "OperatorType": "Aggregate",
+ "Variant": "Ordered",
+ "Aggregates": "count_star(0)",
+ "GroupBy": "1, (2|3)",
"Inputs": [
{
- "OperatorType": "Route",
- "Variant": "Scatter",
- "Keyspace": {
- "Name": "user",
- "Sharded": true
- },
- "FieldQuery": "select count(*), `user`.col, `user`.foo from `user` where 1 != 1 group by `user`.col, `user`.foo",
- "Query": "select count(*), `user`.col, `user`.foo from `user` group by `user`.col, `user`.foo",
- "Table": "`user`"
- },
- {
- "OperatorType": "Aggregate",
- "Variant": "Ordered",
- "Aggregates": "count_star(0)",
- "GroupBy": "1, (2|3)",
- "ResultColumns": 3,
+ "OperatorType": "Projection",
+ "Expressions": [
+ "1 as 1",
+ ":0 as col",
+ ":1 as bar",
+ ":2 as weight_string(ue.bar)"
+ ],
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "2,0,1,3",
+ "OperatorType": "Sort",
+ "Variant": "Memory",
+ "OrderBy": "0 ASC, (1|2) ASC",
"Inputs": [
{
- "OperatorType": "Sort",
- "Variant": "Memory",
- "OrderBy": "0 ASC, (1|3) ASC",
+ "OperatorType": "Limit",
+ "Count": "10",
"Inputs": [
{
- "OperatorType": "Limit",
- "Count": "10",
- "Inputs": [
- {
- "OperatorType": "Route",
- "Variant": "Scatter",
- "Keyspace": {
- "Name": "user",
- "Sharded": true
- },
- "FieldQuery": "select ue.col, ue.bar, 1, weight_string(ue.bar) from (select col, bar from user_extra where 1 != 1) as ue where 1 != 1",
- "Query": "select ue.col, ue.bar, 1, weight_string(ue.bar) from (select col, bar from user_extra) as ue limit 10",
- "Table": "user_extra"
- }
- ]
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select ue.col, ue.bar, weight_string(ue.bar) from (select col, bar from user_extra where 1 != 1) as ue where 1 != 1",
+ "Query": "select ue.col, ue.bar, weight_string(ue.bar) from (select col, bar from user_extra) as ue limit 10",
+ "Table": "user_extra"
}
]
}
@@ -7271,8 +7257,10 @@
"Aggregates": "count_star(0) AS count(*)",
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "2",
+ "OperatorType": "Projection",
+ "Expressions": [
+ "1 as 1"
+ ],
"Inputs": [
{
"OperatorType": "Limit",
@@ -7286,9 +7274,9 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select subquery_for_count.one, subquery_for_count.id, 1, weight_string(subquery_for_count.id) from (select 1 as one, id from `user` where 1 != 1) as subquery_for_count where 1 != 1",
- "OrderBy": "(1|3) DESC",
- "Query": "select subquery_for_count.one, subquery_for_count.id, 1, weight_string(subquery_for_count.id) from (select 1 as one, id from `user` where `user`.is_not_deleted = true) as subquery_for_count order by subquery_for_count.id desc limit 25",
+ "FieldQuery": "select subquery_for_count.one, subquery_for_count.id, weight_string(subquery_for_count.id) from (select 1 as one, id from `user` where 1 != 1) as subquery_for_count where 1 != 1",
+ "OrderBy": "(1|2) DESC",
+ "Query": "select subquery_for_count.one, subquery_for_count.id, weight_string(subquery_for_count.id) from (select 1 as one, id from `user` where `user`.is_not_deleted = true) as subquery_for_count order by subquery_for_count.id desc limit 25",
"Table": "`user`"
}
]
diff --git a/go/vt/vtgate/planbuilder/testdata/cte_cases.json b/go/vt/vtgate/planbuilder/testdata/cte_cases.json
index 1fd398012e3..b00dc0a060f 100644
--- a/go/vt/vtgate/planbuilder/testdata/cte_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/cte_cases.json
@@ -223,8 +223,10 @@
"Aggregates": "count_star(0) AS count(*)",
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "3",
+ "OperatorType": "Projection",
+ "Expressions": [
+ "1 as 1"
+ ],
"Inputs": [
{
"OperatorType": "Limit",
@@ -237,8 +239,8 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select x.phone, x.id, x.city, 1 from (select phone, id, city from `user` where 1 != 1) as x where 1 != 1",
- "Query": "select x.phone, x.id, x.city, 1 from (select phone, id, city from `user` where id > 12) as x limit 10",
+ "FieldQuery": "select 1 from (select phone, id, city from `user` where 1 != 1) as x where 1 != 1",
+ "Query": "select 1 from (select phone, id, city from `user` where id > 12) as x limit 10",
"Table": "`user`"
}
]
@@ -336,8 +338,12 @@
"ResultColumns": 2,
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "1,2,3",
+ "OperatorType": "Projection",
+ "Expressions": [
+ ":1 as val1",
+ "1 as 1",
+ ":2 as weight_string(val1)"
+ ],
"Inputs": [
{
"OperatorType": "Limit",
@@ -350,9 +356,9 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select x.id, x.val1, 1, weight_string(x.val1) from (select id, val1 from `user` where 1 != 1) as x where 1 != 1",
- "OrderBy": "(1|3) ASC",
- "Query": "select x.id, x.val1, 1, weight_string(x.val1) from (select id, val1 from `user` where val2 < 4) as x order by x.val1 asc limit 2",
+ "FieldQuery": "select x.id, x.val1, weight_string(x.val1) from (select id, val1 from `user` where 1 != 1) as x where 1 != 1",
+ "OrderBy": "(1|2) ASC",
+ "Query": "select x.id, x.val1, weight_string(x.val1) from (select id, val1 from `user` where val2 < 4) as x order by x.val1 asc limit 2",
"Table": "`user`"
}
]
@@ -479,7 +485,6 @@
"Variant": "Ordered",
"Aggregates": "max(1|3) AS bazo",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Route",
@@ -518,7 +523,6 @@
"Variant": "Ordered",
"Aggregates": "sum_count(1) AS bazo",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Route",
@@ -565,7 +569,6 @@
"OperatorType": "Aggregate",
"Variant": "Ordered",
"GroupBy": "0, (1|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "SimpleProjection",
@@ -574,7 +577,7 @@
{
"OperatorType": "Aggregate",
"Variant": "Scalar",
- "Aggregates": "any_value(0) AS id, sum_count_star(1) AS a, any_value(2)",
+ "Aggregates": "any_value(0|2) AS id, sum_count_star(1) AS a",
"Inputs": [
{
"OperatorType": "Route",
@@ -583,9 +586,9 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select id, count(*) as a, weight_string(id) from `user` where 1 != 1",
- "OrderBy": "1 ASC, (0|2) ASC",
- "Query": "select id, count(*) as a, weight_string(id) from `user` order by count(*) asc, id asc",
+ "FieldQuery": "select dt.c0 as id, dt.c1 as a, weight_string(dt.c0), weight_string(dt.c0) from (select id, count(*) as a from `user` where 1 != 1) as dt(c0, c1) where 1 != 1",
+ "OrderBy": "1 ASC, (0|3) ASC",
+ "Query": "select dt.c0 as id, dt.c1 as a, weight_string(dt.c0), weight_string(dt.c0) from (select id, count(*) as a from `user` order by count(*) asc, id asc) as dt(c0, c1)",
"Table": "`user`"
}
]
@@ -718,13 +721,15 @@
"Aggregates": "count_star(0) AS count(*)",
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "1",
+ "OperatorType": "Projection",
+ "Expressions": [
+ "1 as 1"
+ ],
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Scalar",
- "Aggregates": "sum_count_star(0) AS count(*), any_value(1)",
+ "Aggregates": "sum_count_star(0) AS count(*)",
"Inputs": [
{
"OperatorType": "Route",
@@ -733,8 +738,8 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select count(*), 1 from `user` where 1 != 1",
- "Query": "select count(*), 1 from `user`",
+ "FieldQuery": "select count(*) from `user` where 1 != 1",
+ "Query": "select count(*) from `user`",
"Table": "`user`"
}
]
@@ -1999,8 +2004,11 @@
"Aggregates": "any_value(0), sum(1) AS sum(num)",
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "1,0",
+ "OperatorType": "Projection",
+ "Expressions": [
+ "1000 as 1000",
+ ":0 as num"
+ ],
"Inputs": [
{
"OperatorType": "Concatenate",
@@ -2012,11 +2020,13 @@
{
"OperatorType": "Aggregate",
"Variant": "Scalar",
- "Aggregates": "count_star(0) AS num, any_value(1)",
+ "Aggregates": "count_star(0) AS num",
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "1,2",
+ "OperatorType": "Projection",
+ "Expressions": [
+ "1 as 1"
+ ],
"Inputs": [
{
"OperatorType": "Limit",
@@ -2029,8 +2039,8 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select t.id, 1, 1000 from (select `user`.id from `user` where 1 != 1) as t where 1 != 1",
- "Query": "select t.id, 1, 1000 from (select `user`.id from `user` where `user`.textcol1 = 'open' and `user`.intcol = 1) as t limit :__upper_limit",
+ "FieldQuery": "select 1 from (select `user`.id from `user` where 1 != 1) as t where 1 != 1",
+ "Query": "select 1 from (select `user`.id from `user` where `user`.textcol1 = 'open' and `user`.intcol = 1) as t limit :__upper_limit",
"Table": "`user`"
}
]
@@ -2048,11 +2058,13 @@
{
"OperatorType": "Aggregate",
"Variant": "Scalar",
- "Aggregates": "count_star(0) AS num, any_value(1)",
+ "Aggregates": "count_star(0) AS num",
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "1,2",
+ "OperatorType": "Projection",
+ "Expressions": [
+ "1 as 1"
+ ],
"Inputs": [
{
"OperatorType": "Limit",
@@ -2065,8 +2077,8 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select t.id, 1, 1000 from (select `user`.id from `user` where 1 != 1) as t where 1 != 1",
- "Query": "select t.id, 1, 1000 from (select `user`.id from `user` where `user`.textcol1 = 'closed' and `user`.intcol = 1) as t limit :__upper_limit",
+ "FieldQuery": "select 1 from (select `user`.id from `user` where 1 != 1) as t where 1 != 1",
+ "Query": "select 1 from (select `user`.id from `user` where `user`.textcol1 = 'closed' and `user`.intcol = 1) as t limit :__upper_limit",
"Table": "`user`"
}
]
@@ -2093,5 +2105,461 @@
"user.user"
]
}
+ },
+ {
+ "comment": "Recursive CTE that cannot be merged",
+ "query": "with recursive cte as (select name, id from user where manager_id is null union all select e.name, e.id from user e inner join cte on e.manager_id = cte.id) select name from cte",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "with recursive cte as (select name, id from user where manager_id is null union all select e.name, e.id from user e inner join cte on e.manager_id = cte.id) select name from cte",
+ "Instructions": {
+ "OperatorType": "SimpleProjection",
+ "ColumnNames": [
+ "0:name"
+ ],
+ "Columns": "0",
+ "Inputs": [
+ {
+ "OperatorType": "RecurseCTE",
+ "JoinVars": {
+ "cte_id": 1
+ },
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select `name`, id from `user` where 1 != 1",
+ "Query": "select `name`, id from `user` where manager_id is null",
+ "Table": "`user`"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select e.`name`, e.id from `user` as e where 1 != 1",
+ "Query": "select e.`name`, e.id from `user` as e where e.manager_id = :cte_id",
+ "Table": "`user`, dual"
+ }
+ ]
+ }
+ ]
+ },
+ "TablesUsed": [
+ "main.dual",
+ "user.user"
+ ]
+ }
+ },
+ {
+ "comment": "Recursive CTE that cannot be merged 2",
+ "query": "with recursive cte as (select name, id from user where manager_id is null union all select e.name, e.id from cte join user e on e.manager_id = cte.id) select name from cte",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "with recursive cte as (select name, id from user where manager_id is null union all select e.name, e.id from cte join user e on e.manager_id = cte.id) select name from cte",
+ "Instructions": {
+ "OperatorType": "SimpleProjection",
+ "ColumnNames": [
+ "0:name"
+ ],
+ "Columns": "0",
+ "Inputs": [
+ {
+ "OperatorType": "RecurseCTE",
+ "JoinVars": {
+ "cte_id": 1
+ },
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select `name`, id from `user` where 1 != 1",
+ "Query": "select `name`, id from `user` where manager_id is null",
+ "Table": "`user`"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select e.`name`, e.id from `user` as e where 1 != 1",
+ "Query": "select e.`name`, e.id from `user` as e where e.manager_id = :cte_id",
+ "Table": "`user`, dual"
+ }
+ ]
+ }
+ ]
+ },
+ "TablesUsed": [
+ "main.dual",
+ "user.user"
+ ]
+ }
+ },
+ {
+ "comment": "Merge into a single dual route",
+ "query": "WITH RECURSIVE cte AS (SELECT 1 as n UNION ALL SELECT n + 1 FROM cte WHERE n < 5) SELECT n FROM cte",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "WITH RECURSIVE cte AS (SELECT 1 as n UNION ALL SELECT n + 1 FROM cte WHERE n < 5) SELECT n FROM cte",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "Reference",
+ "Keyspace": {
+ "Name": "main",
+ "Sharded": false
+ },
+ "FieldQuery": "with recursive cte as (select 1 as n from dual where 1 != 1 union all select n + 1 from cte where 1 != 1) select n from cte where 1 != 1",
+ "Query": "with recursive cte as (select 1 as n from dual union all select n + 1 from cte where n < 5) select n from cte",
+ "Table": "dual"
+ },
+ "TablesUsed": [
+ "main.dual"
+ ]
+ }
+ },
+ {
+ "comment": "Recursive CTE with star projection",
+ "query": "WITH RECURSIVE cte (n) AS (SELECT 1 UNION ALL SELECT n + 1 FROM cte WHERE n < 5) SELECT * FROM cte",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "WITH RECURSIVE cte (n) AS (SELECT 1 UNION ALL SELECT n + 1 FROM cte WHERE n < 5) SELECT * FROM cte",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "Reference",
+ "Keyspace": {
+ "Name": "main",
+ "Sharded": false
+ },
+ "FieldQuery": "with recursive cte as (select 1 from dual where 1 != 1 union all select n + 1 from cte where 1 != 1) select n from cte where 1 != 1",
+ "Query": "with recursive cte as (select 1 from dual union all select n + 1 from cte where n < 5) select n from cte",
+ "Table": "dual"
+ },
+ "TablesUsed": [
+ "main.dual"
+ ]
+ }
+ },
+ {
+ "comment": "Recursive CTE calculations on the term side - merged",
+ "query": "WITH RECURSIVE emp_cte AS (SELECT id, 1 AS level FROM user WHERE manager_id IS NULL and id = 6 UNION ALL SELECT e.id, cte.level + 1 FROM user e JOIN emp_cte cte ON e.manager_id = cte.id and e.id = 6) SELECT * FROM emp_cte",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "WITH RECURSIVE emp_cte AS (SELECT id, 1 AS level FROM user WHERE manager_id IS NULL and id = 6 UNION ALL SELECT e.id, cte.level + 1 FROM user e JOIN emp_cte cte ON e.manager_id = cte.id and e.id = 6) SELECT * FROM emp_cte",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "EqualUnique",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "with recursive emp_cte as (select id, 1 as `level` from `user` where 1 != 1 union all select e.id, cte.`level` + 1 from cte as cte, `user` as e where 1 != 1) select id, `level` from emp_cte where 1 != 1",
+ "Query": "with recursive emp_cte as (select id, 1 as `level` from `user` where manager_id is null and id = 6 union all select e.id, cte.`level` + 1 from cte as cte, `user` as e where e.id = 6 and e.manager_id = cte.id) select id, `level` from emp_cte",
+ "Table": "`user`, dual",
+ "Values": [
+ "6"
+ ],
+ "Vindex": "user_index"
+ },
+ "TablesUsed": [
+ "main.dual",
+ "user.user"
+ ]
+ }
+ },
+ {
+ "comment": "Recursive CTE calculations on the term side - unmerged",
+ "query": "WITH RECURSIVE emp_cte AS (SELECT id, 1 AS level FROM user WHERE manager_id IS NULL UNION ALL SELECT e.id, cte.level + 1 FROM user e JOIN emp_cte cte ON e.manager_id = cte.id) SELECT * FROM emp_cte",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "WITH RECURSIVE emp_cte AS (SELECT id, 1 AS level FROM user WHERE manager_id IS NULL UNION ALL SELECT e.id, cte.level + 1 FROM user e JOIN emp_cte cte ON e.manager_id = cte.id) SELECT * FROM emp_cte",
+ "Instructions": {
+ "OperatorType": "RecurseCTE",
+ "JoinVars": {
+ "cte_id": 0,
+ "cte_level": 1
+ },
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select id, 1 as `level` from `user` where 1 != 1",
+ "Query": "select id, 1 as `level` from `user` where manager_id is null",
+ "Table": "`user`"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select e.id, :cte_level + 1 as `cte.``level`` + 1` from `user` as e where 1 != 1",
+ "Query": "select e.id, :cte_level + 1 as `cte.``level`` + 1` from `user` as e where e.manager_id = :cte_id",
+ "Table": "`user`, dual"
+ }
+ ]
+ },
+ "TablesUsed": [
+ "main.dual",
+ "user.user"
+ ]
+ }
+ },
+ {
+ "comment": "Outer join with recursive CTE",
+ "query": "WITH RECURSIVE literal_cte AS (SELECT 1 AS id, 100 AS value, 1 AS manager_id UNION ALL SELECT id + 1, value * 2, id FROM literal_cte WHERE id < 5) SELECT l.id, l.value, l.manager_id, e.name AS employee_name FROM literal_cte l LEFT JOIN user e ON l.id = e.id",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "WITH RECURSIVE literal_cte AS (SELECT 1 AS id, 100 AS value, 1 AS manager_id UNION ALL SELECT id + 1, value * 2, id FROM literal_cte WHERE id < 5) SELECT l.id, l.value, l.manager_id, e.name AS employee_name FROM literal_cte l LEFT JOIN user e ON l.id = e.id",
+ "Instructions": {
+ "OperatorType": "Join",
+ "Variant": "LeftJoin",
+ "JoinColumnIndexes": "L:0,L:1,L:2,R:0",
+ "JoinVars": {
+ "l_id": 0
+ },
+ "TableName": "dual_`user`",
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Reference",
+ "Keyspace": {
+ "Name": "main",
+ "Sharded": false
+ },
+ "FieldQuery": "with recursive literal_cte as (select 1 as id, 100 as value, 1 as manager_id from dual where 1 != 1 union all select id + 1, value * 2, id from literal_cte where 1 != 1) select l.id, l.value, l.manager_id from literal_cte as l where 1 != 1",
+ "Query": "with recursive literal_cte as (select 1 as id, 100 as value, 1 as manager_id from dual union all select id + 1, value * 2, id from literal_cte where id < 5) select l.id, l.value, l.manager_id from literal_cte as l",
+ "Table": "dual"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "EqualUnique",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select e.`name` as employee_name from `user` as e where 1 != 1",
+ "Query": "select e.`name` as employee_name from `user` as e where e.id = :l_id",
+ "Table": "`user`",
+ "Values": [
+ ":l_id"
+ ],
+ "Vindex": "user_index"
+ }
+ ]
+ },
+ "TablesUsed": [
+ "main.dual",
+ "user.user"
+ ]
+ }
+ },
+ {
+ "comment": "Aggregation on the output of a recursive CTE",
+ "query": "WITH RECURSIVE emp_cte AS (SELECT id, name, manager_id FROM user WHERE manager_id IS NULL UNION ALL SELECT e.id, e.name, e.manager_id FROM user e INNER JOIN emp_cte cte ON e.manager_id = cte.id) SELECT manager_id, COUNT(*) AS employee_count FROM emp_cte GROUP BY manager_id",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "WITH RECURSIVE emp_cte AS (SELECT id, name, manager_id FROM user WHERE manager_id IS NULL UNION ALL SELECT e.id, e.name, e.manager_id FROM user e INNER JOIN emp_cte cte ON e.manager_id = cte.id) SELECT manager_id, COUNT(*) AS employee_count FROM emp_cte GROUP BY manager_id",
+ "Instructions": {
+ "OperatorType": "Aggregate",
+ "Variant": "Ordered",
+ "Aggregates": "count_star(1) AS employee_count",
+ "GroupBy": "(0|2)",
+ "ResultColumns": 2,
+ "Inputs": [
+ {
+ "OperatorType": "Projection",
+ "Expressions": [
+ ":2 as manager_id",
+ "1 as 1",
+ "weight_string(:2) as weight_string(manager_id)"
+ ],
+ "Inputs": [
+ {
+ "OperatorType": "Sort",
+ "Variant": "Memory",
+ "OrderBy": "(2|3) ASC",
+ "Inputs": [
+ {
+ "OperatorType": "RecurseCTE",
+ "JoinVars": {
+ "cte_id": 0
+ },
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select dt.c0 as id, dt.c1 as `name`, dt.c2 as manager_id, weight_string(dt.c2) from (select id, `name`, manager_id from `user` where 1 != 1) as dt(c0, c1, c2) where 1 != 1",
+ "Query": "select dt.c0 as id, dt.c1 as `name`, dt.c2 as manager_id, weight_string(dt.c2) from (select id, `name`, manager_id from `user` where manager_id is null) as dt(c0, c1, c2)",
+ "Table": "`user`"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select e.id, e.`name`, e.manager_id, weight_string(e.manager_id) from `user` as e where 1 != 1",
+ "Query": "select e.id, e.`name`, e.manager_id, weight_string(e.manager_id) from `user` as e where e.manager_id = :cte_id",
+ "Table": "`user`, dual"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "TablesUsed": [
+ "main.dual",
+ "user.user"
+ ]
+ }
+ },
+ {
+ "comment": "Query that can be merged, dual on the RHS of the UNION",
+ "query": "with recursive cte as (select id from user where id = 72 union all select id+1 from cte where id < 100) select * from cte",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "with recursive cte as (select id from user where id = 72 union all select id+1 from cte where id < 100) select * from cte",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "EqualUnique",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "with recursive cte as (select id from `user` where 1 != 1 union all select id + 1 from cte where 1 != 1) select id from cte where 1 != 1",
+ "Query": "with recursive cte as (select id from `user` where id = 72 union all select id + 1 from cte where id < 100) select id from cte",
+ "Table": "`user`, dual",
+ "Values": [
+ "72"
+ ],
+ "Vindex": "user_index"
+ },
+ "TablesUsed": [
+ "main.dual",
+ "user.user"
+ ]
+ }
+ },
+ {
+ "comment": "Merge CTE with reference tables",
+ "query": "with recursive cte as (select ue.id, ue.foo from user u join user_extra ue on u.id = ue.user_id union all select sr.id, sr.foo from cte join main.source_of_ref sr on sr.foo = cte.foo join main.rerouted_ref rr on rr.bar = sr.bar) select * from cte",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "with recursive cte as (select ue.id, ue.foo from user u join user_extra ue on u.id = ue.user_id union all select sr.id, sr.foo from cte join main.source_of_ref sr on sr.foo = cte.foo join main.rerouted_ref rr on rr.bar = sr.bar) select * from cte",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "with recursive cte as (select ue.id, ue.foo from `user` as u, user_extra as ue where 1 != 1 union all select sr.id, sr.foo from ref_with_source as sr, ref as rr where 1 != 1) select id, foo from cte where 1 != 1",
+ "Query": "with recursive cte as (select ue.id, ue.foo from `user` as u, user_extra as ue where u.id = ue.user_id union all select sr.id, sr.foo from ref_with_source as sr, ref as rr where rr.bar = sr.bar and sr.foo = cte.foo) select id, foo from cte",
+ "Table": "`user`, ref, ref_with_source, user_extra"
+ },
+ "TablesUsed": [
+ "user.ref",
+ "user.ref_with_source",
+ "user.user",
+ "user.user_extra"
+ ]
+ }
+ },
+ {
+ "comment": "Merge CTE with reference tables 2",
+ "query": "with recursive cte as (select sr.id, sr.foo from main.source_of_ref sr join main.rerouted_ref rr on rr.bar = sr.bar union all select ue.id, ue.foo from cte join user_extra ue on cte.foo = ue.foo join user u on ue.user_id = u.id) select * from cte",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "with recursive cte as (select sr.id, sr.foo from main.source_of_ref sr join main.rerouted_ref rr on rr.bar = sr.bar union all select ue.id, ue.foo from cte join user_extra ue on cte.foo = ue.foo join user u on ue.user_id = u.id) select * from cte",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "with recursive cte as (select 1 from ref_with_source as sr, ref as rr where 1 != 1 union all select ue.id, ue.foo from cte, user_extra as ue, `user` as u where 1 != 1) select id, foo from cte where 1 != 1",
+ "Query": "with recursive cte as (select 1 from ref_with_source as sr, ref as rr where rr.bar = sr.bar union all select ue.id, ue.foo from cte, user_extra as ue, `user` as u where ue.user_id = u.id and cte.foo = ue.foo) select id, foo from cte",
+ "Table": "`user`, dual, ref, ref_with_source, user_extra"
+ },
+ "TablesUsed": [
+ "main.dual",
+ "user.ref",
+ "user.ref_with_source",
+ "user.user",
+ "user.user_extra"
+ ]
+ }
+ },
+ {
+ "comment": "Merged recursive CTE with DISTINCT",
+ "query": "WITH RECURSIVE hierarchy AS (SELECT id, name, manager_id FROM user UNION ALL SELECT id, name, manager_id FROM user UNION DISTINCT SELECT id*2, name, manager_id from hierarchy WHERE id < 10 ) SELECT * FROM hierarchy",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "WITH RECURSIVE hierarchy AS (SELECT id, name, manager_id FROM user UNION ALL SELECT id, name, manager_id FROM user UNION DISTINCT SELECT id*2, name, manager_id from hierarchy WHERE id < 10 ) SELECT * FROM hierarchy",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "with recursive hierarchy as (select id, `name`, manager_id from `user` where 1 != 1 union all select id, `name`, manager_id from `user` where 1 != 1 union select id * 2, `name`, manager_id from hierarchy where 1 != 1) select id, `name`, manager_id from hierarchy where 1 != 1",
+ "Query": "with recursive hierarchy as (select id, `name`, manager_id from `user` union all select id, `name`, manager_id from `user` union select id * 2, `name`, manager_id from hierarchy where id < 10) select id, `name`, manager_id from hierarchy",
+ "Table": "`user`, dual"
+ },
+ "TablesUsed": [
+ "main.dual",
+ "user.user"
+ ]
+ }
+ },
+ {
+ "comment": "Query that caused planner to stack overflow",
+ "query": "SELECT * FROM (SELECT 1 UNION ALL SELECT 2) AS dt(a) WHERE EXISTS(WITH RECURSIVE qn AS (SELECT a * 0 AS b UNION ALL SELECT b + 1 FROM qn WHERE b = 0) SELECT * FROM qn WHERE b = a)",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "SELECT * FROM (SELECT 1 UNION ALL SELECT 2) AS dt(a) WHERE EXISTS(WITH RECURSIVE qn AS (SELECT a * 0 AS b UNION ALL SELECT b + 1 FROM qn WHERE b = 0) SELECT * FROM qn WHERE b = a)",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "Reference",
+ "Keyspace": {
+ "Name": "main",
+ "Sharded": false
+ },
+ "FieldQuery": "select a from (select 1 from dual where 1 != 1 union all select 2 from dual where 1 != 1) as dt(a) where 1 != 1",
+ "Query": "select a from (select 1 from dual union all select 2 from dual) as dt(a) where exists (with recursive qn as (select a * 0 as b from dual union all select b + 1 from qn where b = 0) select 1 from qn where b = a)",
+ "Table": "dual"
+ },
+ "TablesUsed": [
+ "main.dual"
+ ]
+ }
}
]
diff --git a/go/vt/vtgate/planbuilder/testdata/filter_cases.json b/go/vt/vtgate/planbuilder/testdata/filter_cases.json
index b60e8812dda..3dc379b9aae 100644
--- a/go/vt/vtgate/planbuilder/testdata/filter_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/filter_cases.json
@@ -789,7 +789,7 @@
"Sharded": true
},
"FieldQuery": "select Id from `user` where 1 != 1",
- "Query": "select Id from `user` where 1 in ('aa', 'bb')",
+ "Query": "select Id from `user` where 0",
"Table": "`user`"
},
"TablesUsed": [
@@ -1251,7 +1251,7 @@
"Sharded": true
},
"FieldQuery": "select `user`.col from `user` where 1 != 1",
- "Query": "select `user`.col from `user` where 1 = 1",
+ "Query": "select `user`.col from `user`",
"Table": "`user`"
},
{
@@ -1262,7 +1262,7 @@
"Sharded": true
},
"FieldQuery": "select user_extra.id from user_extra where 1 != 1",
- "Query": "select user_extra.id from user_extra where user_extra.col = :user_col /* INT16 */ and 1 = 1",
+ "Query": "select user_extra.id from user_extra where user_extra.col = :user_col /* INT16 */",
"Table": "user_extra"
}
]
diff --git a/go/vt/vtgate/planbuilder/testdata/foreignkey_cases.json b/go/vt/vtgate/planbuilder/testdata/foreignkey_cases.json
index 47f10cd273b..799c9bd4420 100644
--- a/go/vt/vtgate/planbuilder/testdata/foreignkey_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/foreignkey_cases.json
@@ -1518,7 +1518,7 @@
"Sharded": false
},
"FieldQuery": "select 1 from u_tbl8 left join u_tbl9 on u_tbl9.col9 = cast('foo' as CHAR) where 1 != 1",
- "Query": "select 1 from u_tbl8 left join u_tbl9 on u_tbl9.col9 = cast('foo' as CHAR) where u_tbl9.col9 is null and cast('foo' as CHAR) is not null and not (u_tbl8.col8) <=> (cast('foo' as CHAR)) and (u_tbl8.col8) in ::fkc_vals limit 1 for share nowait",
+ "Query": "select 1 from u_tbl8 left join u_tbl9 on u_tbl9.col9 = cast('foo' as CHAR) where u_tbl9.col9 is null and not (u_tbl8.col8) <=> (cast('foo' as CHAR)) and (u_tbl8.col8) in ::fkc_vals limit 1 for share nowait",
"Table": "u_tbl8, u_tbl9"
},
{
@@ -1594,7 +1594,7 @@
"Sharded": false
},
"FieldQuery": "select 1 from u_tbl4 left join u_tbl3 on u_tbl3.col3 = cast('foo' as CHAR) where 1 != 1",
- "Query": "select 1 from u_tbl4 left join u_tbl3 on u_tbl3.col3 = cast('foo' as CHAR) where u_tbl3.col3 is null and cast('foo' as CHAR) is not null and not (u_tbl4.col4) <=> (cast('foo' as CHAR)) and (u_tbl4.col4) in ::fkc_vals limit 1 for share",
+ "Query": "select 1 from u_tbl4 left join u_tbl3 on u_tbl3.col3 = cast('foo' as CHAR) where u_tbl3.col3 is null and not (u_tbl4.col4) <=> (cast('foo' as CHAR)) and (u_tbl4.col4) in ::fkc_vals limit 1 for share",
"Table": "u_tbl3, u_tbl4"
},
{
@@ -1606,7 +1606,7 @@
"Sharded": false
},
"FieldQuery": "select 1 from u_tbl4, u_tbl9 where 1 != 1",
- "Query": "select 1 from u_tbl4, u_tbl9 where u_tbl4.col4 = u_tbl9.col9 and (u_tbl4.col4) in ::fkc_vals and (cast('foo' as CHAR) is null or (u_tbl9.col9) not in ((cast('foo' as CHAR)))) limit 1 for share",
+ "Query": "select 1 from u_tbl4, u_tbl9 where u_tbl4.col4 = u_tbl9.col9 and (u_tbl4.col4) in ::fkc_vals and (u_tbl9.col9) not in ((cast('foo' as CHAR))) limit 1 for share",
"Table": "u_tbl4, u_tbl9"
},
{
@@ -2532,7 +2532,7 @@
"Sharded": false
},
"FieldQuery": "select 1 from u_multicol_tbl2 left join u_multicol_tbl1 on u_multicol_tbl1.cola = 2 and u_multicol_tbl1.colb = u_multicol_tbl2.colc - 2 where 1 != 1",
- "Query": "select 1 from u_multicol_tbl2 left join u_multicol_tbl1 on u_multicol_tbl1.cola = 2 and u_multicol_tbl1.colb = u_multicol_tbl2.colc - 2 where u_multicol_tbl1.cola is null and 2 is not null and u_multicol_tbl1.colb is null and u_multicol_tbl2.colc - 2 is not null and not (u_multicol_tbl2.cola, u_multicol_tbl2.colb) <=> (2, u_multicol_tbl2.colc - 2) and u_multicol_tbl2.id = 7 limit 1 for share",
+ "Query": "select 1 from u_multicol_tbl2 left join u_multicol_tbl1 on u_multicol_tbl1.cola = 2 and u_multicol_tbl1.colb = u_multicol_tbl2.colc - 2 where u_multicol_tbl1.cola is null and u_multicol_tbl1.colb is null and u_multicol_tbl2.colc - 2 is not null and not (u_multicol_tbl2.cola, u_multicol_tbl2.colb) <=> (2, u_multicol_tbl2.colc - 2) and u_multicol_tbl2.id = 7 limit 1 for share",
"Table": "u_multicol_tbl1, u_multicol_tbl2"
},
{
@@ -4110,7 +4110,7 @@
"Sharded": false
},
"FieldQuery": "select 1 from u_tbl8 left join u_tbl9 on u_tbl9.col9 = cast('foo' as CHAR) where 1 != 1",
- "Query": "select 1 from u_tbl8 left join u_tbl9 on u_tbl9.col9 = cast('foo' as CHAR) where u_tbl9.col9 is null and cast('foo' as CHAR) is not null and not (u_tbl8.col8) <=> (cast('foo' as CHAR)) and (u_tbl8.col8) in ::fkc_vals limit 1 for share nowait",
+ "Query": "select 1 from u_tbl8 left join u_tbl9 on u_tbl9.col9 = cast('foo' as CHAR) where u_tbl9.col9 is null and not (u_tbl8.col8) <=> (cast('foo' as CHAR)) and (u_tbl8.col8) in ::fkc_vals limit 1 for share nowait",
"Table": "u_tbl8, u_tbl9"
},
{
diff --git a/go/vt/vtgate/planbuilder/testdata/foreignkey_checks_on_cases.json b/go/vt/vtgate/planbuilder/testdata/foreignkey_checks_on_cases.json
index 7b525b2dcc9..5464ccbd619 100644
--- a/go/vt/vtgate/planbuilder/testdata/foreignkey_checks_on_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/foreignkey_checks_on_cases.json
@@ -1595,7 +1595,7 @@
"Sharded": false
},
"FieldQuery": "select 1 from u_tbl8 left join u_tbl9 on u_tbl9.col9 = cast('foo' as CHAR) where 1 != 1",
- "Query": "select 1 from u_tbl8 left join u_tbl9 on u_tbl9.col9 = cast('foo' as CHAR) where u_tbl9.col9 is null and cast('foo' as CHAR) is not null and not (u_tbl8.col8) <=> (cast('foo' as CHAR)) and (u_tbl8.col8) in ::fkc_vals limit 1 for share nowait",
+ "Query": "select 1 from u_tbl8 left join u_tbl9 on u_tbl9.col9 = cast('foo' as CHAR) where u_tbl9.col9 is null and not (u_tbl8.col8) <=> (cast('foo' as CHAR)) and (u_tbl8.col8) in ::fkc_vals limit 1 for share nowait",
"Table": "u_tbl8, u_tbl9"
},
{
@@ -1671,7 +1671,7 @@
"Sharded": false
},
"FieldQuery": "select 1 from u_tbl4 left join u_tbl3 on u_tbl3.col3 = cast('foo' as CHAR) where 1 != 1",
- "Query": "select 1 from u_tbl4 left join u_tbl3 on u_tbl3.col3 = cast('foo' as CHAR) where u_tbl3.col3 is null and cast('foo' as CHAR) is not null and not (u_tbl4.col4) <=> (cast('foo' as CHAR)) and (u_tbl4.col4) in ::fkc_vals limit 1 for share",
+ "Query": "select 1 from u_tbl4 left join u_tbl3 on u_tbl3.col3 = cast('foo' as CHAR) where u_tbl3.col3 is null and not (u_tbl4.col4) <=> (cast('foo' as CHAR)) and (u_tbl4.col4) in ::fkc_vals limit 1 for share",
"Table": "u_tbl3, u_tbl4"
},
{
@@ -1683,7 +1683,7 @@
"Sharded": false
},
"FieldQuery": "select 1 from u_tbl4, u_tbl9 where 1 != 1",
- "Query": "select 1 from u_tbl4, u_tbl9 where u_tbl4.col4 = u_tbl9.col9 and (u_tbl4.col4) in ::fkc_vals and (cast('foo' as CHAR) is null or (u_tbl9.col9) not in ((cast('foo' as CHAR)))) limit 1 for share",
+ "Query": "select 1 from u_tbl4, u_tbl9 where u_tbl4.col4 = u_tbl9.col9 and (u_tbl4.col4) in ::fkc_vals and (u_tbl9.col9) not in ((cast('foo' as CHAR))) limit 1 for share",
"Table": "u_tbl4, u_tbl9"
},
{
diff --git a/go/vt/vtgate/planbuilder/testdata/from_cases.json b/go/vt/vtgate/planbuilder/testdata/from_cases.json
index ca94f4ee866..2e0fe429c1f 100644
--- a/go/vt/vtgate/planbuilder/testdata/from_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/from_cases.json
@@ -788,7 +788,6 @@
"OperatorType": "Aggregate",
"Variant": "Ordered",
"GroupBy": "(0|1)",
- "ResultColumns": 1,
"Inputs": [
{
"OperatorType": "SimpleProjection",
@@ -799,7 +798,6 @@
"Variant": "Ordered",
"Aggregates": "sum_count_star(1) AS count",
"GroupBy": "(0|2)",
- "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Route",
@@ -4594,20 +4592,21 @@
"Aggregates": "count_star(0) AS count(*)",
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "1",
+ "OperatorType": "Projection",
+ "Expressions": [
+ "1 as 1"
+ ],
"Inputs": [
{
"OperatorType": "Distinct",
"Collations": [
- "(0:2)",
- "1"
+ "(0:1)"
],
"Inputs": [
{
"OperatorType": "Join",
"Variant": "Join",
- "JoinColumnIndexes": "R:0,L:1,R:1",
+ "JoinColumnIndexes": "R:0,R:1",
"JoinVars": {
"m_id": 0
},
@@ -4620,8 +4619,8 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select subquery_for_count.`m.id`, 1 from (select m.id as `m.id` from music as m where 1 != 1) as subquery_for_count where 1 != 1",
- "Query": "select distinct subquery_for_count.`m.id`, 1 from (select m.id as `m.id` from music as m) as subquery_for_count",
+ "FieldQuery": "select subquery_for_count.`m.id` from (select m.id as `m.id` from music as m where 1 != 1) as subquery_for_count where 1 != 1",
+ "Query": "select distinct subquery_for_count.`m.id` from (select m.id as `m.id` from music as m) as subquery_for_count",
"Table": "music"
},
{
diff --git a/go/vt/vtgate/planbuilder/testdata/memory_sort_cases.json b/go/vt/vtgate/planbuilder/testdata/memory_sort_cases.json
index f26b160ef69..060f073a366 100644
--- a/go/vt/vtgate/planbuilder/testdata/memory_sort_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/memory_sort_cases.json
@@ -14,9 +14,8 @@
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
- "Aggregates": "any_value(1) AS b, sum_count_star(2) AS count(*), any_value(4)",
+ "Aggregates": "any_value(1|4) AS b, sum_count_star(2) AS count(*)",
"GroupBy": "(0|3)",
- "ResultColumns": 5,
"Inputs": [
{
"OperatorType": "Route",
@@ -25,9 +24,9 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select a, b, count(*), weight_string(a), weight_string(`user`.b) from `user` where 1 != 1 group by a, weight_string(a)",
+ "FieldQuery": "select dt.c0 as a, dt.c1 as b, dt.c2 as `count(*)`, dt.c3 as `weight_string(a)`, weight_string(dt.c1) from (select a, b, count(*), weight_string(a) from `user` where 1 != 1 group by a, weight_string(a)) as dt(c0, c1, c2, c3) where 1 != 1",
"OrderBy": "(0|3) ASC",
- "Query": "select a, b, count(*), weight_string(a), weight_string(`user`.b) from `user` group by a, weight_string(a) order by a asc",
+ "Query": "select dt.c0 as a, dt.c1 as b, dt.c2 as `count(*)`, dt.c3 as `weight_string(a)`, weight_string(dt.c1) from (select a, b, count(*), weight_string(a) from `user` group by a, weight_string(a) order by a asc) as dt(c0, c1, c2, c3)",
"Table": "`user`"
}
]
@@ -49,13 +48,13 @@
"OperatorType": "Sort",
"Variant": "Memory",
"OrderBy": "2 ASC",
+ "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "any_value(1) AS b, sum_count_star(2) AS k",
"GroupBy": "(0|3)",
- "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Route",
@@ -93,9 +92,8 @@
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
- "Aggregates": "any_value(1) AS b, sum_count_star(2) AS k, any_value(4)",
+ "Aggregates": "any_value(1|4) AS b, sum_count_star(2) AS k",
"GroupBy": "(0|3)",
- "ResultColumns": 5,
"Inputs": [
{
"OperatorType": "Route",
@@ -104,9 +102,9 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select a, b, count(*) as k, weight_string(a), weight_string(`user`.b) from `user` where 1 != 1 group by a, weight_string(a)",
+ "FieldQuery": "select dt.c0 as a, dt.c1 as b, dt.c2 as k, dt.c3 as `weight_string(a)`, weight_string(dt.c1) from (select a, b, count(*) as k, weight_string(a) from `user` where 1 != 1 group by a, weight_string(a)) as dt(c0, c1, c2, c3) where 1 != 1",
"OrderBy": "(0|3) ASC",
- "Query": "select a, b, count(*) as k, weight_string(a), weight_string(`user`.b) from `user` group by a, weight_string(a) order by a asc",
+ "Query": "select dt.c0 as a, dt.c1 as b, dt.c2 as k, dt.c3 as `weight_string(a)`, weight_string(dt.c1) from (select a, b, count(*) as k, weight_string(a) from `user` group by a, weight_string(a) order by a asc) as dt(c0, c1, c2, c3)",
"Table": "`user`"
}
]
@@ -132,13 +130,13 @@
"OperatorType": "Sort",
"Variant": "Memory",
"OrderBy": "2 DESC",
+ "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "any_value(1) AS b, sum_count_star(2) AS k",
"GroupBy": "(0|3)",
- "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Route",
@@ -180,7 +178,6 @@
"Variant": "Ordered",
"Aggregates": "any_value(1) AS b, sum_count_star(2) AS k",
"GroupBy": "(0|3)",
- "ResultColumns": 4,
"Inputs": [
{
"OperatorType": "Route",
@@ -360,9 +357,9 @@
{
"OperatorType": "Join",
"Variant": "Join",
- "JoinColumnIndexes": "L:0,L:1,R:0,L:2,R:1,L:3",
+ "JoinColumnIndexes": "L:0,L:1,R:0,L:3,R:1,L:4",
"JoinVars": {
- "user_id": 4
+ "user_id": 2
},
"TableName": "`user`_music",
"Inputs": [
@@ -373,8 +370,8 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select `user`.col1 as a, `user`.col2, weight_string(`user`.col1), weight_string(`user`.col2), `user`.id from `user` where 1 != 1",
- "Query": "select `user`.col1 as a, `user`.col2, weight_string(`user`.col1), weight_string(`user`.col2), `user`.id from `user` where `user`.id = 1",
+ "FieldQuery": "select `user`.col1 as a, `user`.col2, `user`.id, weight_string(`user`.col1), weight_string(`user`.col2) from `user` where 1 != 1",
+ "Query": "select `user`.col1 as a, `user`.col2, `user`.id, weight_string(`user`.col1), weight_string(`user`.col2) from `user` where `user`.id = 1",
"Table": "`user`",
"Values": [
"1"
diff --git a/go/vt/vtgate/planbuilder/testdata/mirror_cases.json b/go/vt/vtgate/planbuilder/testdata/mirror_cases.json
new file mode 100644
index 00000000000..2466b3dca12
--- /dev/null
+++ b/go/vt/vtgate/planbuilder/testdata/mirror_cases.json
@@ -0,0 +1,397 @@
+[
+ {
+ "comment": "select unsharded, qualified, table mirrored to unsharded table",
+ "query": "select t1.id from unsharded_src1.t1 where t1.id = 1",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "select t1.id from unsharded_src1.t1 where t1.id = 1",
+ "Instructions": {
+ "OperatorType": "Mirror",
+ "Variant": "PercentBased",
+ "Percent": 1,
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_src1",
+ "Sharded": false
+ },
+ "FieldQuery": "select t1.id from t1 where 1 != 1",
+ "Query": "select t1.id from t1 where t1.id = 1",
+ "Table": "t1"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_dst1",
+ "Sharded": false
+ },
+ "FieldQuery": "select t1.id from t1 where 1 != 1",
+ "Query": "select t1.id from t1 where t1.id = 1",
+ "Table": "t1"
+ }
+ ]
+ },
+ "TablesUsed": [
+ "unsharded_dst1.t1",
+ "unsharded_src1.t1"
+ ]
+ }
+ },
+ {
+ "comment": "select unsharded, qualified, table mirrored to unsharded table with zero percentage",
+ "query": "select t3.id from unsharded_src1.t3 where t3.id = 1",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "select t3.id from unsharded_src1.t3 where t3.id = 1",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_src1",
+ "Sharded": false
+ },
+ "FieldQuery": "select t3.id from t3 where 1 != 1",
+ "Query": "select t3.id from t3 where t3.id = 1",
+ "Table": "t3"
+ },
+ "TablesUsed": [
+ "unsharded_src1.t3"
+ ]
+ }
+ },
+ {
+ "comment": "select unsharded, qualified, table mirrored to sharded table",
+ "query": "select t2.id from unsharded_src1.t2 where t2.id = 1",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "select t2.id from unsharded_src1.t2 where t2.id = 1",
+ "Instructions": {
+ "OperatorType": "Mirror",
+ "Variant": "PercentBased",
+ "Percent": 2,
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_src1",
+ "Sharded": false
+ },
+ "FieldQuery": "select t2.id from t2 where 1 != 1",
+ "Query": "select t2.id from t2 where t2.id = 1",
+ "Table": "t2"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "EqualUnique",
+ "Keyspace": {
+ "Name": "sharded_dst1",
+ "Sharded": true
+ },
+ "FieldQuery": "select t2.id from t1 as t2 where 1 != 1",
+ "Query": "select t2.id from t1 as t2 where t2.id = 1",
+ "Table": "t1",
+ "Values": [
+ "1"
+ ],
+ "Vindex": "xxhash"
+ }
+ ]
+ },
+ "TablesUsed": [
+ "sharded_dst1.t1",
+ "unsharded_src1.t2"
+ ]
+ }
+ },
+ {
+ "comment": "select two unsharded, qualified, tables, one mirrored to unsharded table, other to sharded table",
+ "query": "select t1.id, t2.id from unsharded_src1.t1, unsharded_src1.t2 where t1.id = t2.id",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "select t1.id, t2.id from unsharded_src1.t1, unsharded_src1.t2 where t1.id = t2.id",
+ "Instructions": {
+ "OperatorType": "Mirror",
+ "Variant": "PercentBased",
+ "Percent": 1,
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_src1",
+ "Sharded": false
+ },
+ "FieldQuery": "select t1.id, t2.id from t1, t2 where 1 != 1",
+ "Query": "select t1.id, t2.id from t1, t2 where t1.id = t2.id",
+ "Table": "t1, t2"
+ },
+ {
+ "OperatorType": "Join",
+ "Variant": "Join",
+ "JoinColumnIndexes": "L:0,R:0",
+ "JoinVars": {
+ "t1_id1": 0
+ },
+ "TableName": "t1_t1",
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_dst1",
+ "Sharded": false
+ },
+ "FieldQuery": "select t1.id from t1 where 1 != 1",
+ "Query": "select t1.id from t1",
+ "Table": "t1"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "EqualUnique",
+ "Keyspace": {
+ "Name": "sharded_dst1",
+ "Sharded": true
+ },
+ "FieldQuery": "select t2.id from t1 as t2 where 1 != 1",
+ "Query": "select t2.id from t1 as t2 where t2.id = :t1_id1",
+ "Table": "t1",
+ "Values": [
+ ":t1_id1"
+ ],
+ "Vindex": "xxhash"
+ }
+ ]
+ }
+ ]
+ },
+ "TablesUsed": [
+ "sharded_dst1.t1",
+ "unsharded_dst1.t1",
+ "unsharded_src1.t1",
+ "unsharded_src1.t2"
+ ]
+ }
+ },
+ {
+ "comment": "union of selects from unsharded, qualified, tables, one mirrored to unsharded table, other to sharded table",
+ "query": "select t1.id from unsharded_src1.t1 union select t2.id from unsharded_src1.t2",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "select t1.id from unsharded_src1.t1 union select t2.id from unsharded_src1.t2",
+ "Instructions": {
+ "OperatorType": "Mirror",
+ "Variant": "PercentBased",
+ "Percent": 1,
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_src1",
+ "Sharded": false
+ },
+ "FieldQuery": "select t1.id from t1 where 1 != 1 union select t2.id from t2 where 1 != 1",
+ "Query": "select t1.id from t1 union select t2.id from t2",
+ "Table": "t1, t2"
+ },
+ {
+ "OperatorType": "Distinct",
+ "Collations": [
+ "(0:1)"
+ ],
+ "Inputs": [
+ {
+ "OperatorType": "Concatenate",
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_dst1",
+ "Sharded": false
+ },
+ "FieldQuery": "select dt.c0 as id, weight_string(dt.c0) from (select t1.id from t1 where 1 != 1) as dt(c0) where 1 != 1",
+ "Query": "select dt.c0 as id, weight_string(dt.c0) from (select distinct t1.id from t1) as dt(c0)",
+ "Table": "t1"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "sharded_dst1",
+ "Sharded": true
+ },
+ "FieldQuery": "select dt.c0 as id, weight_string(dt.c0) from (select t2.id from t1 as t2 where 1 != 1) as dt(c0) where 1 != 1",
+ "Query": "select dt.c0 as id, weight_string(dt.c0) from (select distinct t2.id from t1 as t2) as dt(c0)",
+ "Table": "t1"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "TablesUsed": [
+ "sharded_dst1.t1",
+ "unsharded_dst1.t1",
+ "unsharded_src1.t1",
+ "unsharded_src1.t2"
+ ]
+ }
+ },
+ {
+ "comment": "inserts are not mirrored",
+ "query": "insert into unsharded_src1.t1 (id) values(1)",
+ "plan": {
+ "QueryType": "INSERT",
+ "Original": "insert into unsharded_src1.t1 (id) values(1)",
+ "Instructions": {
+ "OperatorType": "Insert",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_src1",
+ "Sharded": false
+ },
+ "TargetTabletType": "PRIMARY",
+ "Query": "insert into t1(id) values (1)",
+ "TableName": "t1"
+ },
+ "TablesUsed": [
+ "unsharded_src1.t1"
+ ]
+ }
+ },
+ {
+ "comment": "updates are not mirrored",
+ "query": "update unsharded_src1.t1 set data = 'a' where id = 1",
+ "plan": {
+ "QueryType": "UPDATE",
+ "Original": "update unsharded_src1.t1 set data = 'a' where id = 1",
+ "Instructions": {
+ "OperatorType": "Update",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_src1",
+ "Sharded": false
+ },
+ "TargetTabletType": "PRIMARY",
+ "Query": "update t1 set `data` = 'a' where id = 1",
+ "Table": "t1"
+ },
+ "TablesUsed": [
+ "unsharded_src1.t1"
+ ]
+ }
+ },
+ {
+ "comment": "deletes are not mirrored",
+ "query": "delete from unsharded_src1.t1 where id = 1",
+ "plan": {
+ "QueryType": "DELETE",
+ "Original": "delete from unsharded_src1.t1 where id = 1",
+ "Instructions": {
+ "OperatorType": "Delete",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_src1",
+ "Sharded": false
+ },
+ "TargetTabletType": "PRIMARY",
+ "Query": "delete from t1 where id = 1",
+ "Table": "t1"
+ },
+ "TablesUsed": [
+ "unsharded_src1.t1"
+ ]
+ }
+ },
+ {
+ "comment": "self-mirror is not allowed",
+ "query": "select t1.id from unsharded_src2.t1",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "select t1.id from unsharded_src2.t1",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_src2",
+ "Sharded": false
+ },
+ "FieldQuery": "select t1.id from t1 where 1 != 1",
+ "Query": "select t1.id from t1",
+ "Table": "t1"
+ },
+ "TablesUsed": [
+ "unsharded_src2.t1"
+ ]
+ }
+ },
+ {
+ "comment": "chained mirror is not allowed",
+ "query": "select t2.id from unsharded_src2.t2",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "select t2.id from unsharded_src2.t2",
+ "Instructions": {
+ "OperatorType": "Mirror",
+ "Variant": "PercentBased",
+ "Percent": 4,
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_src2",
+ "Sharded": false
+ },
+ "FieldQuery": "select t2.id from t2 where 1 != 1",
+ "Query": "select t2.id from t2",
+ "Table": "t2"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_dst2",
+ "Sharded": false
+ },
+ "FieldQuery": "select t2.id from t2 where 1 != 1",
+ "Query": "select t2.id from t2",
+ "Table": "t2"
+ }
+ ]
+ },
+ "TablesUsed": [
+ "unsharded_dst2.t2",
+ "unsharded_src2.t2"
+ ]
+ }
+ },
+ {
+ "comment": "circular mirror is not allowed",
+ "query": "select t1.id from unsharded_src3.t1",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "select t1.id from unsharded_src3.t1",
+ "Instructions": {
+ "OperatorType": "Route",
+ "Variant": "Unsharded",
+ "Keyspace": {
+ "Name": "unsharded_src3",
+ "Sharded": false
+ },
+ "FieldQuery": "select t1.id from t1 where 1 != 1",
+ "Query": "select t1.id from t1",
+ "Table": "t1"
+ },
+ "TablesUsed": [
+ "unsharded_src3.t1"
+ ]
+ }
+ }
+]
diff --git a/go/vt/vtgate/planbuilder/testdata/onecase.json b/go/vt/vtgate/planbuilder/testdata/onecase.json
index da7543f706a..9d653b2f6e9 100644
--- a/go/vt/vtgate/planbuilder/testdata/onecase.json
+++ b/go/vt/vtgate/planbuilder/testdata/onecase.json
@@ -3,7 +3,6 @@
"comment": "Add your test case here for debugging and run go test -run=One.",
"query": "",
"plan": {
-
}
}
]
\ No newline at end of file
diff --git a/go/vt/vtgate/planbuilder/testdata/postprocess_cases.json b/go/vt/vtgate/planbuilder/testdata/postprocess_cases.json
index 74e5229016a..36f1472007d 100644
--- a/go/vt/vtgate/planbuilder/testdata/postprocess_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/postprocess_cases.json
@@ -1554,7 +1554,7 @@
{
"OperatorType": "Aggregate",
"Variant": "Scalar",
- "Aggregates": "sum_count(0) AS count(id), any_value(1) AS num, any_value(2)",
+ "Aggregates": "sum_count(0) AS count(id), any_value(1|2) AS num",
"Inputs": [
{
"OperatorType": "Route",
@@ -1618,13 +1618,13 @@
"OperatorType": "Sort",
"Variant": "Memory",
"OrderBy": "0 ASC",
+ "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "sum_count(0) AS count(id)",
"GroupBy": "(1|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Route",
@@ -1729,7 +1729,7 @@
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
- "Aggregates": "sum_count_star(1) AS count(*), any_value(2) AS c1, any_value(3)",
+ "Aggregates": "sum_count_star(1) AS count(*), any_value(2|3) AS c1",
"GroupBy": "0",
"Inputs": [
{
@@ -1739,9 +1739,9 @@
"Name": "user",
"Sharded": true
},
- "FieldQuery": "select col, count(*), c1, weight_string(c1) from `user` where 1 != 1 group by col",
+ "FieldQuery": "select dt.c0 as col, dt.c1 as `count(*)`, dt.c2 as c1, weight_string(dt.c2) from (select col, count(*), c1 from `user` where 1 != 1 group by col) as dt(c0, c1, c2) where 1 != 1",
"OrderBy": "0 ASC",
- "Query": "select col, count(*), c1, weight_string(c1) from `user` group by col order by col asc",
+ "Query": "select dt.c0 as col, dt.c1 as `count(*)`, dt.c2 as c1, weight_string(dt.c2) from (select col, count(*), c1 from `user` group by col order by col asc) as dt(c0, c1, c2)",
"Table": "`user`"
}
]
@@ -2090,7 +2090,6 @@
"Variant": "Ordered",
"Aggregates": "min(1|3) AS min(a.id)",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Join",
diff --git a/go/vt/vtgate/planbuilder/testdata/select_cases.json b/go/vt/vtgate/planbuilder/testdata/select_cases.json
index 1099f62175f..856e56265ca 100644
--- a/go/vt/vtgate/planbuilder/testdata/select_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/select_cases.json
@@ -1836,7 +1836,6 @@
"Variant": "Ordered",
"Aggregates": "sum(0) AS avg_col, sum_count(3) AS count(intcol)",
"GroupBy": "1 COLLATE latin1_swedish_ci, (2|4) COLLATE ",
- "ResultColumns": 4,
"Inputs": [
{
"OperatorType": "Route",
@@ -1875,7 +1874,7 @@
"Sharded": false
},
"FieldQuery": "select 42 from dual where 1 != 1",
- "Query": "select 42 from dual where false",
+ "Query": "select 42 from dual where 0",
"Table": "dual"
},
"TablesUsed": [
@@ -4330,7 +4329,6 @@
"Variant": "Ordered",
"Aggregates": "any_value(0) AS id",
"GroupBy": "(1|2)",
- "ResultColumns": 1,
"Inputs": [
{
"OperatorType": "Route",
@@ -4496,7 +4494,6 @@
"OperatorType": "Aggregate",
"Variant": "Scalar",
"Aggregates": "max(0|1) AS max(music.id)",
- "ResultColumns": 1,
"Inputs": [
{
"OperatorType": "Route",
@@ -5033,7 +5030,6 @@
"Variant": "Ordered",
"Aggregates": "sum_count_star(1) AS b",
"GroupBy": "(2|3), (0|4)",
- "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Route",
diff --git a/go/vt/vtgate/planbuilder/testdata/show_cases.json b/go/vt/vtgate/planbuilder/testdata/show_cases.json
index f7fbce608bc..00bd37fe8f2 100644
--- a/go/vt/vtgate/planbuilder/testdata/show_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/show_cases.json
@@ -850,5 +850,28 @@
"TransactionID": "ks:-80:v24s7843sf78934l3"
}
}
+ },
+ {
+ "comment": "show unresolved transactions for default keyspace",
+ "query": "show unresolved transactions",
+ "plan": {
+ "QueryType": "SHOW",
+ "Original": "show unresolved transactions",
+ "Instructions": {
+ "OperatorType": "TransactionStatus"
+ }
+ }
+ },
+ {
+ "comment": "show unresolved transactions for explicitly provided keyspace",
+ "query": "show unresolved transactions for ks",
+ "plan": {
+ "QueryType": "SHOW",
+ "Original": "show unresolved transactions for ks",
+ "Instructions": {
+ "OperatorType": "TransactionStatus",
+ "Keyspace": "ks"
+ }
+ }
}
]
diff --git a/go/vt/vtgate/planbuilder/testdata/tpch_cases.json b/go/vt/vtgate/planbuilder/testdata/tpch_cases.json
index 442f4d6b8b6..6b3f84d01d6 100644
--- a/go/vt/vtgate/planbuilder/testdata/tpch_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/tpch_cases.json
@@ -25,7 +25,6 @@
"Variant": "Ordered",
"Aggregates": "sum(2) AS sum_qty, sum(3) AS sum_base_price, sum(4) AS sum_disc_price, sum(5) AS sum_charge, sum(6) AS avg_qty, sum(7) AS avg_price, sum(8) AS avg_disc, sum_count_star(9) AS count_order, sum_count(10) AS count(l_quantity), sum_count(11) AS count(l_extendedprice), sum_count(12) AS count(l_discount)",
"GroupBy": "(0|13), (1|14)",
- "ResultColumns": 13,
"Inputs": [
{
"OperatorType": "Route",
@@ -74,7 +73,6 @@
"Variant": "Ordered",
"Aggregates": "sum(1) AS revenue",
"GroupBy": "(0|4), (2|5), (3|6)",
- "ResultColumns": 6,
"Inputs": [
{
"OperatorType": "Projection",
@@ -279,13 +277,13 @@
"OperatorType": "Sort",
"Variant": "Memory",
"OrderBy": "1 DESC COLLATE utf8mb4_0900_ai_ci",
+ "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "sum(1) AS revenue",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Projection",
@@ -802,7 +800,6 @@
"Variant": "Ordered",
"Aggregates": "sum(1) AS sum(case when nation = 'BRAZIL' then volume else 0 end), sum(2) AS sum(volume)",
"GroupBy": "(0|3)",
- "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Projection",
@@ -832,7 +829,6 @@
"Variant": "Ordered",
"Aggregates": "sum(0) AS sum(case when nation = 'BRAZIL' then volume else 0 end), sum(1) AS sum(volume)",
"GroupBy": "(2|3)",
- "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Join",
@@ -1112,12 +1108,11 @@
"Variant": "Ordered",
"Aggregates": "sum(0) AS sum_profit",
"GroupBy": "(1|3), (2|4)",
- "ResultColumns": 4,
"Inputs": [
{
"OperatorType": "Join",
"Variant": "Join",
- "JoinColumnIndexes": "R:0,L:0,L:4,L:6,L:7",
+ "JoinColumnIndexes": "R:0,L:0,L:4,L:6,L:8",
"JoinVars": {
"l_discount": 2,
"l_extendedprice": 1,
@@ -1130,7 +1125,7 @@
{
"OperatorType": "Sort",
"Variant": "Memory",
- "OrderBy": "(0|6) ASC, (4|7) ASC",
+ "OrderBy": "(0|6) ASC, (4|8) ASC",
"Inputs": [
{
"OperatorType": "Join",
@@ -1349,13 +1344,13 @@
"OperatorType": "Sort",
"Variant": "Memory",
"OrderBy": "2 DESC COLLATE utf8mb4_0900_ai_ci",
+ "ResultColumns": 8,
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
"Aggregates": "sum(2) AS revenue",
"GroupBy": "(0|8), (1|9), (3|10), (6|11), (4|12), (5|13), (7|14)",
- "ResultColumns": 8,
"Inputs": [
{
"OperatorType": "Projection",
@@ -1660,6 +1655,7 @@
"InputName": "Outer",
"OperatorType": "Filter",
"Predicate": "sum(ps_supplycost * ps_availqty) > :__sq1",
+ "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Sort",
@@ -1671,7 +1667,6 @@
"Variant": "Ordered",
"Aggregates": "sum(1) AS value",
"GroupBy": "(0|2)",
- "ResultColumns": 2,
"Inputs": [
{
"OperatorType": "Projection",
@@ -1892,23 +1887,24 @@
"GroupBy": "0",
"Inputs": [
{
- "OperatorType": "SimpleProjection",
- "Columns": "1,3",
+ "OperatorType": "Projection",
+ "Expressions": [
+ ":1 as c_count",
+ "1 as 1"
+ ],
"Inputs": [
{
"OperatorType": "Aggregate",
"Variant": "Ordered",
- "Aggregates": "sum_count(1) AS count(o_orderkey), any_value(3)",
+ "Aggregates": "sum_count(1) AS count(o_orderkey)",
"GroupBy": "(0|2)",
- "ResultColumns": 4,
"Inputs": [
{
"OperatorType": "Projection",
"Expressions": [
":2 as c_custkey",
"count(*) * count(o_orderkey) as count(o_orderkey)",
- ":3 as weight_string(c_custkey)",
- ":4 as 1"
+ ":3 as weight_string(c_custkey)"
],
"Inputs": [
{
@@ -1919,7 +1915,7 @@
{
"OperatorType": "Join",
"Variant": "LeftJoin",
- "JoinColumnIndexes": "R:0,L:0,L:1,L:2,L:3",
+ "JoinColumnIndexes": "R:0,L:0,L:1,L:2",
"JoinVars": {
"c_custkey": 1
},
@@ -1932,9 +1928,9 @@
"Name": "main",
"Sharded": true
},
- "FieldQuery": "select count(*), c_custkey, weight_string(c_custkey), 1 from customer where 1 != 1 group by c_custkey, weight_string(c_custkey)",
+ "FieldQuery": "select count(*), c_custkey, weight_string(c_custkey) from customer where 1 != 1 group by c_custkey, weight_string(c_custkey)",
"OrderBy": "(1|2) ASC",
- "Query": "select count(*), c_custkey, weight_string(c_custkey), 1 from customer group by c_custkey, weight_string(c_custkey) order by c_custkey asc",
+ "Query": "select count(*), c_custkey, weight_string(c_custkey) from customer group by c_custkey, weight_string(c_custkey) order by c_custkey asc",
"Table": "customer"
},
{
@@ -1986,41 +1982,51 @@
"Aggregates": "any_value(0), sum(1) AS sum(case when p_type like 'PROMO%' then l_extendedprice * (1 - l_discount) else 0 end), sum(2) AS sum(l_extendedprice * (1 - l_discount))",
"Inputs": [
{
- "OperatorType": "Join",
- "Variant": "Join",
- "JoinColumnIndexes": "L:0,R:0,L:3",
- "JoinVars": {
- "l_discount": 2,
- "l_extendedprice": 1,
- "l_partkey": 4
- },
- "TableName": "lineitem_part",
+ "OperatorType": "Projection",
+ "Expressions": [
+ "100.00 as 100.00",
+ ":0 as case when p_type like 'PROMO%' then l_extendedprice * (1 - l_discount) else 0 end",
+ ":1 as l_extendedprice * (1 - l_discount)"
+ ],
"Inputs": [
{
- "OperatorType": "Route",
- "Variant": "Scatter",
- "Keyspace": {
- "Name": "main",
- "Sharded": true
- },
- "FieldQuery": "select 100.00, l_extendedprice, l_discount, l_extendedprice * (1 - l_discount), l_partkey from lineitem where 1 != 1",
- "Query": "select 100.00, l_extendedprice, l_discount, l_extendedprice * (1 - l_discount), l_partkey from lineitem where l_shipdate >= date('1995-09-01') and l_shipdate < date('1995-09-01') + interval '1' month",
- "Table": "lineitem"
- },
- {
- "OperatorType": "Route",
- "Variant": "EqualUnique",
- "Keyspace": {
- "Name": "main",
- "Sharded": true
+ "OperatorType": "Join",
+ "Variant": "Join",
+ "JoinColumnIndexes": "R:0,L:2",
+ "JoinVars": {
+ "l_discount": 1,
+ "l_extendedprice": 0,
+ "l_partkey": 3
},
- "FieldQuery": "select case when p_type like 'PROMO%' then :l_extendedprice * (1 - :l_discount) else 0 end from part where 1 != 1",
- "Query": "select case when p_type like 'PROMO%' then :l_extendedprice * (1 - :l_discount) else 0 end from part where p_partkey = :l_partkey",
- "Table": "part",
- "Values": [
- ":l_partkey"
- ],
- "Vindex": "hash"
+ "TableName": "lineitem_part",
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "main",
+ "Sharded": true
+ },
+ "FieldQuery": "select l_extendedprice, l_discount, l_extendedprice * (1 - l_discount), l_partkey from lineitem where 1 != 1",
+ "Query": "select l_extendedprice, l_discount, l_extendedprice * (1 - l_discount), l_partkey from lineitem where l_shipdate >= date('1995-09-01') and l_shipdate < date('1995-09-01') + interval '1' month",
+ "Table": "lineitem"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "EqualUnique",
+ "Keyspace": {
+ "Name": "main",
+ "Sharded": true
+ },
+ "FieldQuery": "select case when p_type like 'PROMO%' then :l_extendedprice * (1 - :l_discount) else 0 end from part where 1 != 1",
+ "Query": "select case when p_type like 'PROMO%' then :l_extendedprice * (1 - :l_discount) else 0 end from part where p_partkey = :l_partkey",
+ "Table": "part",
+ "Values": [
+ ":l_partkey"
+ ],
+ "Vindex": "hash"
+ }
+ ]
}
]
}
@@ -2052,7 +2058,6 @@
"OperatorType": "Aggregate",
"Variant": "Scalar",
"Aggregates": "max(0|1) AS max(total_revenue)",
- "ResultColumns": 1,
"Inputs": [
{
"OperatorType": "Route",
@@ -2106,7 +2111,6 @@
"Variant": "Ordered",
"Aggregates": "count_distinct(3|7) AS supplier_cnt",
"GroupBy": "(0|4), (1|5), (2|6)",
- "ResultColumns": 7,
"Inputs": [
{
"OperatorType": "Sort",
@@ -2116,9 +2120,9 @@
{
"OperatorType": "Join",
"Variant": "Join",
- "JoinColumnIndexes": "R:0,R:1,R:2,L:0,R:3,R:4,R:5,L:1",
+ "JoinColumnIndexes": "R:0,R:1,R:2,L:0,R:3,R:4,R:5,L:2",
"JoinVars": {
- "ps_partkey": 2,
+ "ps_partkey": 1,
"ps_suppkey": 0
},
"TableName": "partsupp_part",
@@ -2151,8 +2155,8 @@
"Name": "main",
"Sharded": true
},
- "FieldQuery": "select ps_suppkey, weight_string(ps_suppkey), ps_partkey from partsupp where 1 != 1",
- "Query": "select ps_suppkey, weight_string(ps_suppkey), ps_partkey from partsupp where not :__sq_has_values or ps_suppkey not in ::__sq1",
+ "FieldQuery": "select ps_suppkey, ps_partkey, weight_string(ps_suppkey) from partsupp where 1 != 1",
+ "Query": "select ps_suppkey, ps_partkey, weight_string(ps_suppkey) from partsupp where not :__sq_has_values or ps_suppkey not in ::__sq1",
"Table": "partsupp"
}
]
@@ -2444,7 +2448,6 @@
"Variant": "Ordered",
"Aggregates": "sum_count_star(1) AS numwait",
"GroupBy": "(0|2)",
- "ResultColumns": 3,
"Inputs": [
{
"OperatorType": "Projection",
diff --git a/go/vt/vtgate/planbuilder/testdata/unsupported_cases.json b/go/vt/vtgate/planbuilder/testdata/unsupported_cases.json
index 0e230b3e44d..9241cec595c 100644
--- a/go/vt/vtgate/planbuilder/testdata/unsupported_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/unsupported_cases.json
@@ -329,11 +329,6 @@
"query": "with user as (select aa from user where user.id=1) select ref.col from ref join user",
"plan": "VT12001: unsupported: do not support CTE that use the CTE alias inside the CTE query"
},
- {
- "comment": "Recursive WITH",
- "query": "WITH RECURSIVE cte (n) AS (SELECT 1 UNION ALL SELECT n + 1 FROM cte WHERE n < 5) SELECT * FROM cte",
- "plan": "VT12001: unsupported: recursive common table expression"
- },
{
"comment": "Alias cannot clash with base tables",
"query": "WITH user AS (SELECT col FROM user) SELECT * FROM user",
diff --git a/go/vt/vtgate/planbuilder/testdata/vexplain_cases.json b/go/vt/vtgate/planbuilder/testdata/vexplain_cases.json
index 630e59f3526..cafdc2851af 100644
--- a/go/vt/vtgate/planbuilder/testdata/vexplain_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/vexplain_cases.json
@@ -69,5 +69,20 @@
"user.user"
]
}
+ },
+ {
+ "comment": "vexplain keys",
+ "query": "vexplain keys select * from user",
+ "plan": {
+ "QueryType": "EXPLAIN",
+ "Original": "vexplain keys select * from user",
+ "Instructions": {
+ "OperatorType": "Rows",
+ "Fields": {
+ "ColumnUsage": "VARCHAR"
+ },
+ "RowCount": 1
+ }
+ }
}
]
diff --git a/go/vt/vtgate/planbuilder/testdata/vschemas/mirror_schema.json b/go/vt/vtgate/planbuilder/testdata/vschemas/mirror_schema.json
new file mode 100644
index 00000000000..4feaa09c126
--- /dev/null
+++ b/go/vt/vtgate/planbuilder/testdata/vschemas/mirror_schema.json
@@ -0,0 +1,103 @@
+{
+ "mirror_rules": {
+ "rules": [
+ {
+ "from_table": "unsharded_src1.t1",
+ "to_table": "unsharded_dst1.t1",
+ "percent": 1
+ },
+ {
+ "from_table": "unsharded_src1.t2",
+ "to_table": "sharded_dst1.t1",
+ "percent": 2
+ },
+ {
+ "from_table": "unsharded_src2.t1",
+ "to_table": "unsharded_src2.t1",
+ "percent": 3
+ },
+ {
+ "from_table": "unsharded_src2.t2",
+ "to_table": "unsharded_dst2.t2",
+ "percent": 4
+ },
+ {
+ "from_table": "unsharded_dst2.t2",
+ "to_table": "unsharded_dst3.t2",
+ "percent": 5
+ },
+ {
+ "from_table": "unsharded_src3.t1",
+ "to_table": "unsharded_dst4.t1",
+ "percent": 6
+ },
+ {
+ "from_table": "unsharded_dst4.t2",
+ "to_table": "unsharded_src3.t2",
+ "percent": 7
+ },
+ {
+ "from_table": "sharded_src1.t1",
+ "to_table": "sharded_dst1.t1",
+ "percent": 8
+ },
+ {
+ "from_table": "unsharded_src1.t3",
+ "to_table": "unsharded_dst1.t2",
+ "percent": 0
+ }
+ ]
+ },
+ "keyspaces": {
+ "main": {
+ "sharded": false,
+ "tables": {}
+ },
+ "unsharded_src1": {
+ "sharded": false,
+ "tables": {}
+ },
+ "unsharded_src2": {
+ "sharded": false,
+ "tables": {}
+ },
+ "unsharded_src3": {
+ "sharded": false,
+ "tables": {}
+ },
+ "unsharded_dst1": {
+ "sharded": false,
+ "tables": {}
+ },
+ "unsharded_dst2": {
+ "sharded": false,
+ "tables": {}
+ },
+ "unsharded_dst3": {
+ "sharded": false,
+ "tables": {}
+ },
+ "unsharded_dst4": {
+ "sharded": false,
+ "tables": {}
+ },
+ "sharded_dst1": {
+ "sharded": true,
+ "vindexes": {
+ "xxhash": {
+ "type": "xxhash"
+ }
+ },
+ "tables": {
+ "t1": {
+ "columnVindexes": [
+ {
+ "column": "id",
+ "name": "xxhash"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/go/vt/vtgate/planbuilder/vexplain.go b/go/vt/vtgate/planbuilder/vexplain.go
index 21a35f02967..f66af7bfc33 100644
--- a/go/vt/vtgate/planbuilder/vexplain.go
+++ b/go/vt/vtgate/planbuilder/vexplain.go
@@ -32,12 +32,22 @@ import (
"vitess.io/vitess/go/vt/vtgate/vindexes"
)
-func buildVExplainPlan(ctx context.Context, vexplainStmt *sqlparser.VExplainStmt, reservedVars *sqlparser.ReservedVars, vschema plancontext.VSchema, enableOnlineDDL, enableDirectDDL bool) (*planResult, error) {
+func buildVExplainPlan(
+ ctx context.Context,
+ vexplainStmt *sqlparser.VExplainStmt,
+ reservedVars *sqlparser.ReservedVars,
+ vschema plancontext.VSchema,
+ enableOnlineDDL, enableDirectDDL bool,
+) (*planResult, error) {
switch vexplainStmt.Type {
case sqlparser.QueriesVExplainType, sqlparser.AllVExplainType:
return buildVExplainLoggingPlan(ctx, vexplainStmt, reservedVars, vschema, enableOnlineDDL, enableDirectDDL)
case sqlparser.PlanVExplainType:
return buildVExplainVtgatePlan(ctx, vexplainStmt.Statement, reservedVars, vschema, enableOnlineDDL, enableDirectDDL)
+ case sqlparser.TraceVExplainType:
+ return buildVExplainTracePlan(ctx, vexplainStmt.Statement, reservedVars, vschema, enableOnlineDDL, enableDirectDDL)
+ case sqlparser.KeysVExplainType:
+ return buildVExplainKeysPlan(vexplainStmt.Statement, vschema)
}
return nil, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "[BUG] unexpected vtexplain type: %s", vexplainStmt.Type.ToString())
}
@@ -87,22 +97,33 @@ func buildVExplainVtgatePlan(ctx context.Context, explainStatement sqlparser.Sta
if err != nil {
return nil, err
}
- description := engine.PrimitiveToPlanDescription(innerInstruction.primitive)
- output, err := json.MarshalIndent(description, "", "\t")
+
+ return getJsonResultPlan(
+ engine.PrimitiveToPlanDescription(innerInstruction.primitive, nil),
+ "JSON",
+ )
+}
+
+// getJsonResultPlan marshals the given struct into a JSON string and returns it as a planResult.
+func getJsonResultPlan(v any, colName string) (*planResult, error) {
+ output, err := json.MarshalIndent(v, "", "\t")
if err != nil {
return nil, err
}
- fields := []*querypb.Field{
- {Name: "JSON", Type: querypb.Type_VARCHAR},
- }
- rows := []sqltypes.Row{
- {
- sqltypes.NewVarChar(string(output)),
- },
- }
+ fields := []*querypb.Field{{Name: colName, Type: querypb.Type_VARCHAR}}
+ rows := []sqltypes.Row{{sqltypes.NewVarChar(string(output))}}
return newPlanResult(engine.NewRowsPrimitive(rows, fields)), nil
}
+func buildVExplainKeysPlan(statement sqlparser.Statement, vschema plancontext.VSchema) (*planResult, error) {
+ ctx, err := plancontext.CreatePlanningContext(statement, sqlparser.NewReservedVars("", sqlparser.BindVars{}), vschema, querypb.ExecuteOptions_Gen4)
+ if err != nil {
+ return nil, err
+ }
+ result := operators.GetVExplainKeys(ctx, statement)
+ return getJsonResultPlan(result, "ColumnUsage")
+}
+
func buildVExplainLoggingPlan(ctx context.Context, explain *sqlparser.VExplainStmt, reservedVars *sqlparser.ReservedVars, vschema plancontext.VSchema, enableOnlineDDL, enableDirectDDL bool) (*planResult, error) {
input, err := createInstructionFor(ctx, sqlparser.String(explain.Statement), explain.Statement, reservedVars, vschema, enableOnlineDDL, enableDirectDDL)
if err != nil {
@@ -166,3 +187,17 @@ func explainPlan(explain *sqlparser.ExplainStmt, reservedVars *sqlparser.Reserve
SingleShardOnly: true,
}, tables...), nil
}
+
+func buildVExplainTracePlan(ctx context.Context, explainStatement sqlparser.Statement, reservedVars *sqlparser.ReservedVars, vschema plancontext.VSchema, enableOnlineDDL, enableDirectDDL bool) (*planResult, error) {
+ innerInstruction, err := createInstructionFor(ctx, sqlparser.String(explainStatement), explainStatement, reservedVars, vschema, enableOnlineDDL, enableDirectDDL)
+ if err != nil {
+ return nil, err
+ }
+
+ // We'll set the trace engine as the root primitive
+ innerInstruction.primitive = &engine.VExplain{
+ Input: innerInstruction.primitive,
+ Type: sqlparser.TraceVExplainType,
+ }
+ return innerInstruction, nil
+}
diff --git a/go/vt/vtgate/plugin_mysql_server.go b/go/vt/vtgate/plugin_mysql_server.go
index 4004ae24566..dec7794c9bd 100644
--- a/go/vt/vtgate/plugin_mysql_server.go
+++ b/go/vt/vtgate/plugin_mysql_server.go
@@ -399,7 +399,7 @@ func (vh *vtgateHandler) KillConnection(ctx context.Context, connectionID uint32
c, exists := vh.connections[connectionID]
if !exists {
- return sqlerror.NewSQLError(sqlerror.ERNoSuchThread, sqlerror.SSUnknownSQLState, "Unknown thread id: %d", connectionID)
+ return sqlerror.NewSQLErrorf(sqlerror.ERNoSuchThread, sqlerror.SSUnknownSQLState, "Unknown thread id: %d", connectionID)
}
// First, we mark the connection for close, so that even when the context is cancelled, while returning the response back to client,
@@ -417,7 +417,7 @@ func (vh *vtgateHandler) KillQuery(connectionID uint32) error {
defer vh.mu.Unlock()
c, exists := vh.connections[connectionID]
if !exists {
- return sqlerror.NewSQLError(sqlerror.ERNoSuchThread, sqlerror.SSUnknownSQLState, "Unknown thread id: %d", connectionID)
+ return sqlerror.NewSQLErrorf(sqlerror.ERNoSuchThread, sqlerror.SSUnknownSQLState, "Unknown thread id: %d", connectionID)
}
c.CancelCtx()
return nil
diff --git a/go/vt/vtgate/safe_session.go b/go/vt/vtgate/safe_session.go
index 45fff46f629..1d57c63ef35 100644
--- a/go/vt/vtgate/safe_session.go
+++ b/go/vt/vtgate/safe_session.go
@@ -23,6 +23,8 @@ import (
"sync"
"time"
+ "vitess.io/vitess/go/sqltypes"
+
"google.golang.org/protobuf/proto"
"vitess.io/vitess/go/mysql/datetime"
@@ -563,13 +565,21 @@ func (session *SafeSession) HasSystemVariables() (found bool) {
func (session *SafeSession) TimeZone() *time.Location {
session.mu.Lock()
- tz, ok := session.SystemVariables["time_zone"]
+ zoneSQL, ok := session.SystemVariables["time_zone"]
session.mu.Unlock()
if !ok {
return nil
}
+
+ tz, err := sqltypes.DecodeStringSQL(zoneSQL)
+ if err != nil {
+ return nil
+ }
+
loc, _ := datetime.ParseTimeZone(tz)
+ // it's safe to ignore the error - if we get an error, loc will be nil,
+ // and this is exactly the behaviour we want anyway
return loc
}
diff --git a/go/vt/vtgate/safe_session_test.go b/go/vt/vtgate/safe_session_test.go
index 21bb2d6697a..ce681fe7fd3 100644
--- a/go/vt/vtgate/safe_session_test.go
+++ b/go/vt/vtgate/safe_session_test.go
@@ -73,11 +73,11 @@ func TestTimeZone(t *testing.T) {
want string
}{
{
- tz: "Europe/Amsterdam",
+ tz: "'Europe/Amsterdam'",
want: "Europe/Amsterdam",
},
{
- tz: "+02:00",
+ tz: "'+02:00'",
want: "UTC+02:00",
},
{
diff --git a/go/vt/vtgate/sandbox_test.go b/go/vt/vtgate/sandbox_test.go
index 70b96a63126..fa5ffbbffd8 100644
--- a/go/vt/vtgate/sandbox_test.go
+++ b/go/vt/vtgate/sandbox_test.go
@@ -48,6 +48,7 @@ const (
func init() {
ksToSandbox = make(map[string]*sandbox)
+ sandboxMirrorRules = `{"rules":[]}`
createSandbox(KsTestSharded)
createSandbox(KsTestUnsharded)
createSandbox(KsTestBadVSchema)
@@ -57,6 +58,7 @@ func init() {
var sandboxMu sync.Mutex
var ksToSandbox map[string]*sandbox
+var sandboxMirrorRules string
func createSandbox(keyspace string) *sandbox {
sandboxMu.Lock()
@@ -86,9 +88,20 @@ func getSandboxSrvVSchema() *vschemapb.SrvVSchema {
}
result.Keyspaces[keyspace] = &vs
}
+ var mrs vschemapb.MirrorRules
+ if err := json2.Unmarshal([]byte(sandboxMirrorRules), &mrs); err != nil {
+ panic(err)
+ }
+ result.MirrorRules = &mrs
return result
}
+func setSandboxMirrorRules(mirrorRules string) {
+ sandboxMu.Lock()
+ defer sandboxMu.Unlock()
+ sandboxMirrorRules = mirrorRules
+}
+
type sandbox struct {
// Use sandmu to access the variables below
sandmu sync.Mutex
diff --git a/go/vt/vtgate/scatter_conn.go b/go/vt/vtgate/scatter_conn.go
index 8b571f7b67d..f7db598127e 100644
--- a/go/vt/vtgate/scatter_conn.go
+++ b/go/vt/vtgate/scatter_conn.go
@@ -72,6 +72,15 @@ type shardActionFunc func(rs *srvtopo.ResolvedShard, i int) error
// the results and errors for the caller.
type shardActionTransactionFunc func(rs *srvtopo.ResolvedShard, i int, shardActionInfo *shardActionInfo) (*shardActionInfo, error)
+type (
+ resultsObserver interface {
+ observe(*sqltypes.Result)
+ }
+ nullResultsObserver struct{}
+)
+
+func (nullResultsObserver) observe(*sqltypes.Result) {}
+
// NewScatterConn creates a new ScatterConn.
func NewScatterConn(statsName string, txConn *TxConn, gw *TabletGateway) *ScatterConn {
// this only works with TabletGateway
@@ -146,6 +155,7 @@ func (stc *ScatterConn) ExecuteMultiShard(
session *SafeSession,
autocommit bool,
ignoreMaxMemoryRows bool,
+ resultsObserver resultsObserver,
) (qr *sqltypes.Result, errs []error) {
if len(rss) != len(queries) {
@@ -260,6 +270,10 @@ func (stc *ScatterConn) ExecuteMultiShard(
mu.Lock()
defer mu.Unlock()
+ if innerqr != nil {
+ resultsObserver.observe(innerqr)
+ }
+
// Don't append more rows if row count is exceeded.
if ignoreMaxMemoryRows || len(qr.Rows) <= maxMemoryRows {
qr.AppendResult(innerqr)
@@ -354,11 +368,18 @@ func (stc *ScatterConn) StreamExecuteMulti(
session *SafeSession,
autocommit bool,
callback func(reply *sqltypes.Result) error,
+ resultsObserver resultsObserver,
) []error {
if session.InLockSession() && session.TriggerLockHeartBeat() {
go stc.runLockQuery(ctx, session)
}
+ observedCallback := func(reply *sqltypes.Result) error {
+ if reply != nil {
+ resultsObserver.observe(reply)
+ }
+ return callback(reply)
+ }
allErrors := stc.multiGoTransaction(
ctx,
"StreamExecute",
@@ -407,20 +428,20 @@ func (stc *ScatterConn) StreamExecuteMulti(
switch info.actionNeeded {
case nothing:
- err = qs.StreamExecute(ctx, rs.Target, query, bindVars[i], transactionID, reservedID, opts, callback)
+ err = qs.StreamExecute(ctx, rs.Target, query, bindVars[i], transactionID, reservedID, opts, observedCallback)
if err != nil {
retryRequest(func() {
// we seem to have lost our connection. it was a reserved connection, let's try to recreate it
info.actionNeeded = reserve
var state queryservice.ReservedState
- state, err = qs.ReserveStreamExecute(ctx, rs.Target, session.SetPreQueries(), query, bindVars[i], 0 /*transactionId*/, opts, callback)
+ state, err = qs.ReserveStreamExecute(ctx, rs.Target, session.SetPreQueries(), query, bindVars[i], 0 /*transactionId*/, opts, observedCallback)
reservedID = state.ReservedID
alias = state.TabletAlias
})
}
case begin:
var state queryservice.TransactionState
- state, err = qs.BeginStreamExecute(ctx, rs.Target, session.SavePoints(), query, bindVars[i], reservedID, opts, callback)
+ state, err = qs.BeginStreamExecute(ctx, rs.Target, session.SavePoints(), query, bindVars[i], reservedID, opts, observedCallback)
transactionID = state.TransactionID
alias = state.TabletAlias
if err != nil {
@@ -428,7 +449,7 @@ func (stc *ScatterConn) StreamExecuteMulti(
// we seem to have lost our connection. it was a reserved connection, let's try to recreate it
info.actionNeeded = reserveBegin
var state queryservice.ReservedTransactionState
- state, err = qs.ReserveBeginStreamExecute(ctx, rs.Target, session.SetPreQueries(), session.SavePoints(), query, bindVars[i], opts, callback)
+ state, err = qs.ReserveBeginStreamExecute(ctx, rs.Target, session.SetPreQueries(), session.SavePoints(), query, bindVars[i], opts, observedCallback)
transactionID = state.TransactionID
reservedID = state.ReservedID
alias = state.TabletAlias
@@ -436,12 +457,12 @@ func (stc *ScatterConn) StreamExecuteMulti(
}
case reserve:
var state queryservice.ReservedState
- state, err = qs.ReserveStreamExecute(ctx, rs.Target, session.SetPreQueries(), query, bindVars[i], transactionID, opts, callback)
+ state, err = qs.ReserveStreamExecute(ctx, rs.Target, session.SetPreQueries(), query, bindVars[i], transactionID, opts, observedCallback)
reservedID = state.ReservedID
alias = state.TabletAlias
case reserveBegin:
var state queryservice.ReservedTransactionState
- state, err = qs.ReserveBeginStreamExecute(ctx, rs.Target, session.SetPreQueries(), session.SavePoints(), query, bindVars[i], opts, callback)
+ state, err = qs.ReserveBeginStreamExecute(ctx, rs.Target, session.SetPreQueries(), session.SavePoints(), query, bindVars[i], opts, observedCallback)
transactionID = state.TransactionID
reservedID = state.ReservedID
alias = state.TabletAlias
diff --git a/go/vt/vtgate/scatter_conn_test.go b/go/vt/vtgate/scatter_conn_test.go
index 0e863805d9c..c5d4f350433 100644
--- a/go/vt/vtgate/scatter_conn_test.go
+++ b/go/vt/vtgate/scatter_conn_test.go
@@ -100,7 +100,7 @@ func TestExecuteFailOnAutocommit(t *testing.T) {
},
Autocommit: false,
}
- _, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, NewSafeSession(session), true /*autocommit*/, false)
+ _, errs := sc.ExecuteMultiShard(ctx, nil, rss, queries, NewSafeSession(session), true /*autocommit*/, false, nullResultsObserver{})
err := vterrors.Aggregate(errs)
require.Error(t, err)
require.Contains(t, err.Error(), "in autocommit mode, transactionID should be zero but was: 123")
@@ -183,7 +183,7 @@ func TestExecutePanic(t *testing.T) {
require.Contains(t, logMessage, "(*ScatterConn).multiGoTransaction")
}()
- _, _ = sc.ExecuteMultiShard(ctx, nil, rss, queries, NewSafeSession(session), true /*autocommit*/, false)
+ _, _ = sc.ExecuteMultiShard(ctx, nil, rss, queries, NewSafeSession(session), true /*autocommit*/, false, nullResultsObserver{})
}
diff --git a/go/vt/vtgate/semantics/FakeSI.go b/go/vt/vtgate/semantics/FakeSI.go
index 1ca6718f1a8..cb1b9cec094 100644
--- a/go/vt/vtgate/semantics/FakeSI.go
+++ b/go/vt/vtgate/semantics/FakeSI.go
@@ -85,3 +85,8 @@ func (s *FakeSI) KeyspaceError(keyspace string) error {
func (s *FakeSI) GetAggregateUDFs() []string {
return s.UDFs
}
+
+// FindMirrorRule implements SchemaInformation.
+func (s *FakeSI) FindMirrorRule(tablename sqlparser.TableName) (*vindexes.MirrorRule, error) {
+ return nil, nil
+}
diff --git a/go/vt/vtgate/semantics/analyzer.go b/go/vt/vtgate/semantics/analyzer.go
index 8bb7cc393fc..0a9d2480d9b 100644
--- a/go/vt/vtgate/semantics/analyzer.go
+++ b/go/vt/vtgate/semantics/analyzer.go
@@ -357,7 +357,7 @@ func (a *analyzer) collationEnv() *collations.Environment {
}
func (a *analyzer) analyze(statement sqlparser.Statement) error {
- _ = sqlparser.Rewrite(statement, nil, a.earlyUp)
+ _ = sqlparser.Rewrite(statement, a.earlyTables.down, a.earlyTables.up)
if a.err != nil {
return a.err
}
@@ -387,7 +387,14 @@ func (a *analyzer) reAnalyze(statement sqlparser.SQLNode) error {
// canShortCut checks if we are dealing with a single unsharded keyspace and no tables that have managed foreign keys
// if so, we can stop the analyzer early
func (a *analyzer) canShortCut(statement sqlparser.Statement) (canShortCut bool) {
- ks, _ := singleUnshardedKeyspace(a.earlyTables.Tables)
+ var ks *vindexes.Keyspace
+ switch statement.(type) {
+ case sqlparser.SelectStatement:
+ ks, canShortCut = canTakeSelectUnshardedShortcut(a.earlyTables.Tables)
+ default:
+ ks, canShortCut = canTakeUnshardedShortcut(a.earlyTables.Tables)
+ }
+
a.singleUnshardedKeyspace = ks != nil
if !a.singleUnshardedKeyspace {
return false
@@ -424,13 +431,6 @@ func (a *analyzer) canShortCut(statement sqlparser.Statement) (canShortCut bool)
return true
}
-// earlyUp collects tables in the query, so we can check
-// if this a single unsharded query we are dealing with
-func (a *analyzer) earlyUp(cursor *sqlparser.Cursor) bool {
- a.earlyTables.up(cursor)
- return true
-}
-
func (a *analyzer) shouldContinue() bool {
return a.err == nil
}
@@ -455,6 +455,10 @@ func (a *analyzer) noteQuerySignature(node sqlparser.SQLNode) {
if node.GroupBy != nil {
a.sig.Aggregation = true
}
+ case *sqlparser.With:
+ if node.Recursive {
+ a.sig.RecursiveCTE = true
+ }
case sqlparser.AggrFunc:
a.sig.Aggregation = true
case *sqlparser.Delete, *sqlparser.Update, *sqlparser.Insert:
diff --git a/go/vt/vtgate/semantics/analyzer_test.go b/go/vt/vtgate/semantics/analyzer_test.go
index 0fbf0911f3a..0c42456b0ab 100644
--- a/go/vt/vtgate/semantics/analyzer_test.go
+++ b/go/vt/vtgate/semantics/analyzer_test.go
@@ -195,6 +195,59 @@ func TestBindingMultiTablePositive(t *testing.T) {
}
}
+func TestBindingRecursiveCTEs(t *testing.T) {
+ type testCase struct {
+ query string
+ rdeps TableSet
+ ddeps TableSet
+ }
+ queries := []testCase{{
+ query: "with recursive x as (select id from user union select x.id + 1 from x where x.id < 15) select t.id from x join x t;",
+ rdeps: TS3,
+ ddeps: TS3,
+ }, {
+ query: "WITH RECURSIVE user_cte AS (SELECT id, name FROM user WHERE id = 42 UNION ALL SELECT u.id, u.name FROM user u JOIN user_cte cte ON u.id = cte.id + 1 WHERE u.id = 42) SELECT id FROM user_cte",
+ rdeps: TS3,
+ ddeps: TS3,
+ }}
+ for _, query := range queries {
+ t.Run(query.query, func(t *testing.T) {
+ stmt, semTable := parseAndAnalyzeStrict(t, query.query, "user")
+ sel := stmt.(*sqlparser.Select)
+ assert.Equal(t, query.rdeps, semTable.RecursiveDeps(extract(sel, 0)), "recursive")
+ assert.Equal(t, query.ddeps, semTable.DirectDeps(extract(sel, 0)), "direct")
+ })
+ }
+}
+
+func TestRecursiveCTEChecking(t *testing.T) {
+ type testCase struct {
+ name, query, err string
+ }
+ queries := []testCase{{
+ name: "recursive CTE using aggregation",
+ query: "with recursive x as (select id from user union select count(*) from x) select t.id from x join x t",
+ err: "VT09027: Recursive Common Table Expression 'x' can contain neither aggregation nor window functions in recursive query block",
+ }, {
+ name: "recursive CTE using grouping",
+ query: "with recursive x as (select id from user union select id+1 from x where id < 10 group by 1) select t.id from x join x t",
+ err: "VT09027: Recursive Common Table Expression 'x' can contain neither aggregation nor window functions in recursive query block",
+ }, {
+ name: "use the same recursive cte twice in definition",
+ query: "with recursive x as (select 1 union select id+1 from x where id < 10 union select id+2 from x where id < 20) select t.id from x",
+ err: "VT09029: In recursive query block of Recursive Common Table Expression x, the recursive table must be referenced only once, and not in any subquery",
+ }}
+ for _, tc := range queries {
+ t.Run(tc.query, func(t *testing.T) {
+ parse, err := sqlparser.NewTestParser().Parse(tc.query)
+ require.NoError(t, err)
+
+ _, err = AnalyzeStrict(parse, "user", fakeSchemaInfo())
+ require.EqualError(t, err, tc.err)
+ })
+ }
+}
+
func TestBindingMultiAliasedTablePositive(t *testing.T) {
type testCase struct {
query string
@@ -887,9 +940,6 @@ func TestInvalidQueries(t *testing.T) {
}, {
sql: "select 1 from t1 where (id, id) in (select 1, 2, 3)",
serr: "Operand should contain 2 column(s)",
- }, {
- sql: "WITH RECURSIVE cte (n) AS (SELECT 1 UNION ALL SELECT n + 1 FROM cte WHERE n < 5) SELECT * FROM cte",
- serr: "VT12001: unsupported: recursive common table expression",
}, {
sql: "with x as (select 1), x as (select 1) select * from x",
serr: "VT03013: not unique table/alias: 'x'",
@@ -956,7 +1006,7 @@ func TestScopingWithWITH(t *testing.T) {
}, {
query: "with c as (select x as foo from user), t as (select foo as id from c) select id from t",
recursive: TS0,
- direct: TS3,
+ direct: TS2,
}, {
query: "with t as (select foo as id from user) select t.id from t",
recursive: TS0,
diff --git a/go/vt/vtgate/semantics/check_invalid.go b/go/vt/vtgate/semantics/check_invalid.go
index a739e857c00..6509f5f5ee8 100644
--- a/go/vt/vtgate/semantics/check_invalid.go
+++ b/go/vt/vtgate/semantics/check_invalid.go
@@ -48,10 +48,6 @@ func (a *analyzer) checkForInvalidConstructs(cursor *sqlparser.Cursor) error {
}
case *sqlparser.Subquery:
return a.checkSubqueryColumns(cursor.Parent(), node)
- case *sqlparser.With:
- if node.Recursive {
- return vterrors.VT12001("recursive common table expression")
- }
case *sqlparser.Insert:
if !a.singleUnshardedKeyspace && node.Action == sqlparser.ReplaceAct {
return ShardedError{Inner: &UnsupportedConstruct{errString: "REPLACE INTO with sharded keyspace"}}
diff --git a/go/vt/vtgate/semantics/cte_table.go b/go/vt/vtgate/semantics/cte_table.go
new file mode 100644
index 00000000000..498fc5076c1
--- /dev/null
+++ b/go/vt/vtgate/semantics/cte_table.go
@@ -0,0 +1,182 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package semantics
+
+import (
+ "strings"
+
+ vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
+ "vitess.io/vitess/go/vt/sqlparser"
+ "vitess.io/vitess/go/vt/vterrors"
+ "vitess.io/vitess/go/vt/vtgate/evalengine"
+ "vitess.io/vitess/go/vt/vtgate/vindexes"
+)
+
+// CTETable contains the information about the CTE table.
+// This is a special TableInfo that is used to represent the recursive table inside a CTE. For the query:
+// WITH RECURSIVE cte AS (SELECT 1 UNION ALL SELECT * FROM cte as C1) SELECT * FROM cte as C2
+// The CTE table C1 is represented by a CTETable.
+type CTETable struct {
+ TableName string
+ ASTNode *sqlparser.AliasedTableExpr
+ *CTE
+}
+
+var _ TableInfo = (*CTETable)(nil)
+
+func newCTETable(node *sqlparser.AliasedTableExpr, t sqlparser.TableName, cteDef *CTE) *CTETable {
+ var name string
+ if node.As.IsEmpty() {
+ name = t.Name.String()
+ } else {
+ name = node.As.String()
+ }
+
+ authoritative := true
+ for _, expr := range cteDef.Query.GetColumns() {
+ _, isStar := expr.(*sqlparser.StarExpr)
+ if isStar {
+ authoritative = false
+ break
+ }
+ }
+ cteDef.isAuthoritative = authoritative
+
+ return &CTETable{
+ TableName: name,
+ ASTNode: node,
+ CTE: cteDef,
+ }
+}
+
+func (cte *CTETable) Name() (sqlparser.TableName, error) {
+ return sqlparser.NewTableName(cte.TableName), nil
+}
+
+func (cte *CTETable) GetVindexTable() *vindexes.Table {
+ return nil
+}
+
+func (cte *CTETable) IsInfSchema() bool {
+ return false
+}
+
+func (cte *CTETable) matches(name sqlparser.TableName) bool {
+ return cte.TableName == name.Name.String() && name.Qualifier.IsEmpty()
+}
+
+func (cte *CTETable) authoritative() bool {
+ return cte.isAuthoritative
+}
+
+func (cte *CTETable) GetAliasedTableExpr() *sqlparser.AliasedTableExpr {
+ return cte.ASTNode
+}
+
+func (cte *CTETable) canShortCut() shortCut {
+ return canShortCut
+}
+
+func (cte *CTETable) getColumns(bool) []ColumnInfo {
+ selExprs := cte.Query.GetColumns()
+ cols := make([]ColumnInfo, 0, len(selExprs))
+ for i, selExpr := range selExprs {
+ ae, isAe := selExpr.(*sqlparser.AliasedExpr)
+ if !isAe {
+ panic(vterrors.VT12001("should not be called"))
+ }
+ if len(cte.Columns) == 0 {
+ cols = append(cols, ColumnInfo{Name: ae.ColumnName()})
+ continue
+ }
+
+ // We have column aliases defined on the CTE
+ cols = append(cols, ColumnInfo{Name: cte.Columns[i].String()})
+ }
+ return cols
+}
+
+func (cte *CTETable) dependencies(colName string, org originable) (dependencies, error) {
+ directDeps := org.tableSetFor(cte.ASTNode)
+ columns := cte.getColumns(false)
+ for _, columnInfo := range columns {
+ if strings.EqualFold(columnInfo.Name, colName) {
+ return createCertain(directDeps, directDeps, evalengine.NewUnknownType()), nil
+ }
+ }
+
+ if cte.authoritative() {
+ return ¬hing{}, nil
+ }
+
+ return createUncertain(directDeps, directDeps), nil
+}
+
+func (cte *CTETable) getExprFor(s string) (sqlparser.Expr, error) {
+ for _, se := range cte.Query.GetColumns() {
+ ae, ok := se.(*sqlparser.AliasedExpr)
+ if !ok {
+ return nil, vterrors.VT09015()
+ }
+ if ae.ColumnName() == s {
+ return ae.Expr, nil
+ }
+ }
+ return nil, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "Unknown column '%s' in 'field list'", s)
+}
+
+func (cte *CTETable) getTableSet(org originable) TableSet {
+ return org.tableSetFor(cte.ASTNode)
+}
+
+// GetMirrorRule implements TableInfo.
+func (cte *CTETable) GetMirrorRule() *vindexes.MirrorRule {
+ return nil
+}
+
+type CTE struct {
+ Name string
+ Query sqlparser.SelectStatement
+ isAuthoritative bool
+ recursiveDeps *TableSet
+ Columns sqlparser.Columns
+ IDForRecurse *TableSet
+
+ // Was this CTE marked for being recursive?
+ Recursive bool
+
+ // The CTE had the seed and term parts merged
+ Merged bool
+}
+
+func (cte *CTE) recursive(org originable) (id TableSet) {
+ if cte.recursiveDeps != nil {
+ return *cte.recursiveDeps
+ }
+
+ // We need to find the recursive dependencies of the CTE
+ // We'll do this by walking the inner query and finding all the tables
+ _ = sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) {
+ ate, ok := node.(*sqlparser.AliasedTableExpr)
+ if !ok {
+ return true, nil
+ }
+ id = id.Merge(org.tableSetFor(ate))
+ return true, nil
+ }, cte.Query)
+ return
+}
diff --git a/go/vt/vtgate/semantics/dependencies.go b/go/vt/vtgate/semantics/dependencies.go
index 70167ff02fc..42b7a918384 100644
--- a/go/vt/vtgate/semantics/dependencies.go
+++ b/go/vt/vtgate/semantics/dependencies.go
@@ -17,6 +17,8 @@ limitations under the License.
package semantics
import (
+ "fmt"
+
querypb "vitess.io/vitess/go/vt/proto/query"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vtgate/evalengine"
@@ -29,6 +31,7 @@ type (
empty() bool
get(col *sqlparser.ColName) (dependency, error)
merge(other dependencies, allowMulti bool) dependencies
+ debugString() string
}
dependency struct {
certain bool
@@ -100,6 +103,10 @@ func (u *uncertain) merge(d dependencies, _ bool) dependencies {
}
}
+func (u *uncertain) debugString() string {
+ return fmt.Sprintf("uncertain: %v %v %s", u.direct, u.recursive, u.typ.Type().String())
+}
+
func (c *certain) empty() bool {
return false
}
@@ -117,26 +124,34 @@ func (c *certain) merge(d dependencies, allowMulti bool) dependencies {
if d.recursive == c.recursive {
return c
}
- c.direct = c.direct.Merge(d.direct)
- c.recursive = c.recursive.Merge(d.recursive)
+
+ res := createCertain(c.direct.Merge(d.direct), c.recursive.Merge(d.recursive), c.typ)
if !allowMulti {
- c.err = true
+ res.err = true
}
- return c
+ return res
}
return c
}
-func (n *nothing) empty() bool {
+func (c *certain) debugString() string {
+ return fmt.Sprintf("certain: %v %v %s", c.direct, c.recursive, c.typ.Type().String())
+}
+
+func (*nothing) empty() bool {
return true
}
-func (n *nothing) get(*sqlparser.ColName) (dependency, error) {
+func (*nothing) get(*sqlparser.ColName) (dependency, error) {
return dependency{certain: true}, nil
}
-func (n *nothing) merge(d dependencies, _ bool) dependencies {
+func (*nothing) merge(d dependencies, _ bool) dependencies {
return d
}
+
+func (*nothing) debugString() string {
+ return "nothing"
+}
diff --git a/go/vt/vtgate/semantics/derived_table.go b/go/vt/vtgate/semantics/derived_table.go
index aabbe9f0b22..fc7e1cb391c 100644
--- a/go/vt/vtgate/semantics/derived_table.go
+++ b/go/vt/vtgate/semantics/derived_table.go
@@ -146,7 +146,7 @@ func (dt *DerivedTable) GetAliasedTableExpr() *sqlparser.AliasedTableExpr {
}
func (dt *DerivedTable) canShortCut() shortCut {
- panic(vterrors.VT12001("should not be called"))
+ return canShortCut
}
// GetVindexTable implements the TableInfo interface
@@ -195,3 +195,8 @@ func (dt *DerivedTable) checkForDuplicates() error {
}
return nil
}
+
+// GetMirrorRule implements TableInfo.
+func (dt *DerivedTable) GetMirrorRule() *vindexes.MirrorRule {
+ return nil
+}
diff --git a/go/vt/vtgate/semantics/early_rewriter.go b/go/vt/vtgate/semantics/early_rewriter.go
index 611c91e512c..3e53ed0816a 100644
--- a/go/vt/vtgate/semantics/early_rewriter.go
+++ b/go/vt/vtgate/semantics/early_rewriter.go
@@ -24,7 +24,6 @@ import (
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vtenv"
"vitess.io/vitess/go/vt/vterrors"
- "vitess.io/vitess/go/vt/vtgate/evalengine"
)
type earlyRewriter struct {
@@ -48,16 +47,14 @@ func (r *earlyRewriter) down(cursor *sqlparser.Cursor) error {
switch node := cursor.Node().(type) {
case sqlparser.SelectExprs:
return r.handleSelectExprs(cursor, node)
- case *sqlparser.OrExpr:
- rewriteOrExpr(r.env, cursor, node)
- case *sqlparser.AndExpr:
- rewriteAndExpr(r.env, cursor, node)
case *sqlparser.NotExpr:
rewriteNotExpr(cursor, node)
case *sqlparser.ComparisonExpr:
return handleComparisonExpr(cursor, node)
case *sqlparser.With:
- return r.handleWith(node)
+ if !node.Recursive {
+ return r.handleWith(node)
+ }
case *sqlparser.AliasedTableExpr:
return r.handleAliasedTable(node)
case *sqlparser.Delete:
@@ -144,7 +141,7 @@ func (r *earlyRewriter) handleAliasedTable(node *sqlparser.AliasedTableExpr) err
node.As = tbl.Name
}
node.Expr = &sqlparser.DerivedTable{
- Select: cte.Subquery.Select,
+ Select: cte.Subquery,
}
if len(cte.Columns) > 0 {
node.Columns = cte.Columns
@@ -852,57 +849,6 @@ func (r *earlyRewriter) rewriteGroupByExpr(node *sqlparser.Literal) (sqlparser.E
return realCloneOfColNames(aliasedExpr.Expr, false), nil
}
-// rewriteOrExpr rewrites OR expressions when the right side is FALSE.
-func rewriteOrExpr(env *vtenv.Environment, cursor *sqlparser.Cursor, node *sqlparser.OrExpr) {
- newNode := rewriteOrFalse(env, *node)
- if newNode != nil {
- cursor.ReplaceAndRevisit(newNode)
- }
-}
-
-// rewriteAndExpr rewrites AND expressions when either side is TRUE.
-func rewriteAndExpr(env *vtenv.Environment, cursor *sqlparser.Cursor, node *sqlparser.AndExpr) {
- newNode := rewriteAndTrue(env, *node)
- if newNode != nil {
- cursor.ReplaceAndRevisit(newNode)
- }
-}
-
-func rewriteAndTrue(env *vtenv.Environment, andExpr sqlparser.AndExpr) sqlparser.Expr {
- // we are looking for the pattern `WHERE c = 1 AND 1 = 1`
- isTrue := func(subExpr sqlparser.Expr) bool {
- coll := env.CollationEnv().DefaultConnectionCharset()
- evalEnginePred, err := evalengine.Translate(subExpr, &evalengine.Config{
- Environment: env,
- Collation: coll,
- })
- if err != nil {
- return false
- }
-
- env := evalengine.EmptyExpressionEnv(env)
- res, err := env.Evaluate(evalEnginePred)
- if err != nil {
- return false
- }
-
- boolValue, err := res.Value(coll).ToBool()
- if err != nil {
- return false
- }
-
- return boolValue
- }
-
- if isTrue(andExpr.Left) {
- return andExpr.Right
- } else if isTrue(andExpr.Right) {
- return andExpr.Left
- }
-
- return nil
-}
-
// handleComparisonExpr processes Comparison expressions, specifically for tuples with equal length and EqualOp operator.
func handleComparisonExpr(cursor *sqlparser.Cursor, node *sqlparser.ComparisonExpr) error {
lft, lftOK := node.Left.(sqlparser.ValTuple)
@@ -968,41 +914,6 @@ func realCloneOfColNames(expr sqlparser.Expr, union bool) sqlparser.Expr {
}, nil).(sqlparser.Expr)
}
-func rewriteOrFalse(env *vtenv.Environment, orExpr sqlparser.OrExpr) sqlparser.Expr {
- // we are looking for the pattern `WHERE c = 1 OR 1 = 0`
- isFalse := func(subExpr sqlparser.Expr) bool {
- coll := env.CollationEnv().DefaultConnectionCharset()
- evalEnginePred, err := evalengine.Translate(subExpr, &evalengine.Config{
- Environment: env,
- Collation: coll,
- })
- if err != nil {
- return false
- }
-
- env := evalengine.EmptyExpressionEnv(env)
- res, err := env.Evaluate(evalEnginePred)
- if err != nil {
- return false
- }
-
- boolValue, err := res.Value(coll).ToBool()
- if err != nil {
- return false
- }
-
- return !boolValue
- }
-
- if isFalse(orExpr.Left) {
- return orExpr.Right
- } else if isFalse(orExpr.Right) {
- return orExpr.Left
- }
-
- return nil
-}
-
// rewriteJoinUsing rewrites SQL JOINs that use the USING clause to their equivalent
// JOINs with the ON condition. This function finds all the tables that have the
// specified columns in the USING clause, constructs an equality predicate for
diff --git a/go/vt/vtgate/semantics/early_rewriter_test.go b/go/vt/vtgate/semantics/early_rewriter_test.go
index 16b3756189f..4f550d46392 100644
--- a/go/vt/vtgate/semantics/early_rewriter_test.go
+++ b/go/vt/vtgate/semantics/early_rewriter_test.go
@@ -184,6 +184,9 @@ func TestExpandStar(t *testing.T) {
// if we are only star-expanding authoritative tables, we don't need to stop the expansion
sql: "SELECT * FROM (SELECT t2.*, 12 AS foo FROM t3, t2) as results",
expSQL: "select c1, c2, foo from (select t2.c1, t2.c2, 12 as foo from t3, t2) as results",
+ }, {
+ sql: "with recursive hierarchy as (select t1.a, t1.b from t1 where t1.a is null union select t1.a, t1.b from t1 join hierarchy on t1.a = hierarchy.b) select * from hierarchy",
+ expSQL: "with recursive hierarchy as (select t1.a, t1.b from t1 where t1.a is null union select t1.a, t1.b from t1 join hierarchy on t1.a = hierarchy.b) select a, b from hierarchy",
}}
for _, tcase := range tcases {
t.Run(tcase.sql, func(t *testing.T) {
@@ -902,53 +905,6 @@ func TestOrderByDerivedTable(t *testing.T) {
}
}
-// TestConstantFolding tests that the rewriter is able to do various constant foldings properly.
-func TestConstantFolding(t *testing.T) {
- ks := &vindexes.Keyspace{
- Name: "main",
- Sharded: true,
- }
- schemaInfo := &FakeSI{
- Tables: map[string]*vindexes.Table{
- "t1": {
- Keyspace: ks,
- Name: sqlparser.NewIdentifierCS("t1"),
- Columns: []vindexes.Column{{
- Name: sqlparser.NewIdentifierCI("a"),
- Type: sqltypes.VarChar,
- }, {
- Name: sqlparser.NewIdentifierCI("b"),
- Type: sqltypes.VarChar,
- }, {
- Name: sqlparser.NewIdentifierCI("c"),
- Type: sqltypes.VarChar,
- }},
- ColumnListAuthoritative: true,
- },
- },
- }
- cDB := "db"
- tcases := []struct {
- sql string
- expSQL string
- }{{
- sql: "select 1 from t1 where (a, b) in ::fkc_vals and (2 is null or (1 is null or a in (1)))",
- expSQL: "select 1 from t1 where (a, b) in ::fkc_vals and a in (1)",
- }, {
- sql: "select 1 from t1 where (false or (false or a in (1)))",
- expSQL: "select 1 from t1 where a in (1)",
- }}
- for _, tcase := range tcases {
- t.Run(tcase.sql, func(t *testing.T) {
- ast, err := sqlparser.NewTestParser().Parse(tcase.sql)
- require.NoError(t, err)
- _, err = Analyze(ast, cDB, schemaInfo)
- require.NoError(t, err)
- require.Equal(t, tcase.expSQL, sqlparser.String(ast))
- })
- }
-}
-
// TestCTEToDerivedTableRewrite checks that CTEs are correctly rewritten to derived tables
func TestCTEToDerivedTableRewrite(t *testing.T) {
cDB := "db"
diff --git a/go/vt/vtgate/semantics/foreign_keys_test.go b/go/vt/vtgate/semantics/foreign_keys_test.go
index e1c26ecf569..a46c67c9710 100644
--- a/go/vt/vtgate/semantics/foreign_keys_test.go
+++ b/go/vt/vtgate/semantics/foreign_keys_test.go
@@ -141,13 +141,10 @@ func TestGetAllManagedForeignKeys(t *testing.T) {
{
name: "Collect all foreign key constraints",
fkManager: &fkManager{
- tables: &tableCollector{
- Tables: []TableInfo{
- tbl["t0"],
- tbl["t1"],
- &DerivedTable{},
- },
- },
+ tables: makeTableCollector(nil,
+ tbl["t0"],
+ tbl["t1"],
+ &DerivedTable{}),
si: &FakeSI{
KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
"ks": vschemapb.Keyspace_managed,
@@ -171,12 +168,10 @@ func TestGetAllManagedForeignKeys(t *testing.T) {
{
name: "keyspace not found in schema information",
fkManager: &fkManager{
- tables: &tableCollector{
- Tables: []TableInfo{
- tbl["t2"],
- tbl["t3"],
- },
- },
+ tables: makeTableCollector(nil,
+ tbl["t2"],
+ tbl["t3"],
+ ),
si: &FakeSI{
KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
"ks": vschemapb.Keyspace_managed,
@@ -188,12 +183,9 @@ func TestGetAllManagedForeignKeys(t *testing.T) {
{
name: "Cyclic fk constraints error",
fkManager: &fkManager{
- tables: &tableCollector{
- Tables: []TableInfo{
- tbl["t0"], tbl["t1"],
- &DerivedTable{},
- },
- },
+ tables: makeTableCollector(nil,
+ tbl["t0"], tbl["t1"],
+ &DerivedTable{}),
si: &FakeSI{
KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
"ks": vschemapb.Keyspace_managed,
@@ -236,17 +228,11 @@ func TestFilterForeignKeysUsingUpdateExpressions(t *testing.T) {
},
},
getError: func() error { return fmt.Errorf("ambiguous test error") },
- tables: &tableCollector{
- Tables: []TableInfo{
- tbl["t4"],
- tbl["t5"],
- },
- si: &FakeSI{
- KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
- "ks": vschemapb.Keyspace_managed,
- },
- },
- },
+ tables: makeTableCollector(&FakeSI{
+ KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
+ "ks": vschemapb.Keyspace_managed,
+ }}, tbl["t4"],
+ tbl["t5"]),
}
updateExprs := sqlparser.UpdateExprs{
&sqlparser.UpdateExpr{Name: cola, Expr: sqlparser.NewIntLiteral("1")},
@@ -350,12 +336,10 @@ func TestGetInvolvedForeignKeys(t *testing.T) {
name: "Delete Query",
stmt: &sqlparser.Delete{},
fkManager: &fkManager{
- tables: &tableCollector{
- Tables: []TableInfo{
- tbl["t0"],
- tbl["t1"],
- },
- },
+ tables: makeTableCollector(nil,
+ tbl["t0"],
+ tbl["t1"],
+ ),
si: &FakeSI{
KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
"ks": vschemapb.Keyspace_managed,
@@ -389,12 +373,10 @@ func TestGetInvolvedForeignKeys(t *testing.T) {
cold: SingleTableSet(1),
},
},
- tables: &tableCollector{
- Tables: []TableInfo{
- tbl["t4"],
- tbl["t5"],
- },
- },
+ tables: makeTableCollector(nil,
+ tbl["t4"],
+ tbl["t5"],
+ ),
si: &FakeSI{
KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
"ks": vschemapb.Keyspace_managed,
@@ -433,12 +415,10 @@ func TestGetInvolvedForeignKeys(t *testing.T) {
Action: sqlparser.ReplaceAct,
},
fkManager: &fkManager{
- tables: &tableCollector{
- Tables: []TableInfo{
- tbl["t0"],
- tbl["t1"],
- },
- },
+ tables: makeTableCollector(nil,
+ tbl["t0"],
+ tbl["t1"],
+ ),
si: &FakeSI{
KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
"ks": vschemapb.Keyspace_managed,
@@ -465,12 +445,9 @@ func TestGetInvolvedForeignKeys(t *testing.T) {
Action: sqlparser.InsertAct,
},
fkManager: &fkManager{
- tables: &tableCollector{
- Tables: []TableInfo{
- tbl["t0"],
- tbl["t1"],
- },
- },
+ tables: makeTableCollector(nil,
+ tbl["t0"],
+ tbl["t1"]),
si: &FakeSI{
KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
"ks": vschemapb.Keyspace_managed,
@@ -502,12 +479,9 @@ func TestGetInvolvedForeignKeys(t *testing.T) {
colb: SingleTableSet(0),
},
},
- tables: &tableCollector{
- Tables: []TableInfo{
- tbl["t6"],
- tbl["t1"],
- },
- },
+ tables: makeTableCollector(nil,
+ tbl["t6"],
+ tbl["t1"]),
si: &FakeSI{
KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
"ks": vschemapb.Keyspace_managed,
@@ -536,12 +510,9 @@ func TestGetInvolvedForeignKeys(t *testing.T) {
name: "Insert error",
stmt: &sqlparser.Insert{},
fkManager: &fkManager{
- tables: &tableCollector{
- Tables: []TableInfo{
- tbl["t2"],
- tbl["t3"],
- },
- },
+ tables: makeTableCollector(nil,
+ tbl["t2"],
+ tbl["t3"]),
si: &FakeSI{
KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
"ks": vschemapb.Keyspace_managed,
@@ -554,12 +525,9 @@ func TestGetInvolvedForeignKeys(t *testing.T) {
name: "Update error",
stmt: &sqlparser.Update{},
fkManager: &fkManager{
- tables: &tableCollector{
- Tables: []TableInfo{
- tbl["t2"],
- tbl["t3"],
- },
- },
+ tables: makeTableCollector(nil,
+ tbl["t2"],
+ tbl["t3"]),
si: &FakeSI{
KsForeignKeyMode: map[string]vschemapb.Keyspace_ForeignKeyMode{
"ks": vschemapb.Keyspace_managed,
@@ -600,3 +568,12 @@ func pkInfo(parentTable *vindexes.Table, pCols []string, cCols []string) vindexe
ChildColumns: sqlparser.MakeColumns(cCols...),
}
}
+
+func makeTableCollector(si SchemaInformation, tables ...TableInfo) *tableCollector {
+ return &tableCollector{
+ earlyTableCollector: earlyTableCollector{
+ Tables: tables,
+ si: si,
+ },
+ }
+}
diff --git a/go/vt/vtgate/semantics/info_schema.go b/go/vt/vtgate/semantics/info_schema.go
index 11e577f3fa7..127f4a00960 100644
--- a/go/vt/vtgate/semantics/info_schema.go
+++ b/go/vt/vtgate/semantics/info_schema.go
@@ -1603,11 +1603,15 @@ type infoSchemaWithColumns struct {
infoSchemaData map[string][]vindexes.Column
}
+var _ SchemaInformation = (*infoSchemaWithColumns)(nil)
+
// MySQLVersion implements SchemaInformation.
// We cache this information, since these are maps that are not changed
-var infoSchema57 = getInfoSchema57()
-var infoSchema80 = getInfoSchema80()
+var (
+ infoSchema57 = getInfoSchema57()
+ infoSchema80 = getInfoSchema80()
+)
// newSchemaInfo returns a SchemaInformation that has the column information for all info_schema tables
func newSchemaInfo(inner SchemaInformation) SchemaInformation {
@@ -1665,3 +1669,8 @@ func (i *infoSchemaWithColumns) KeyspaceError(keyspace string) error {
func (i *infoSchemaWithColumns) GetAggregateUDFs() []string {
return i.inner.GetAggregateUDFs()
}
+
+// FindMirrorRule implements SchemaInformation.
+func (i *infoSchemaWithColumns) FindMirrorRule(tablename sqlparser.TableName) (*vindexes.MirrorRule, error) {
+ return i.inner.FindMirrorRule(tablename)
+}
diff --git a/go/vt/vtgate/semantics/real_table.go b/go/vt/vtgate/semantics/real_table.go
index 4f1639d0897..64f3ac5f3f0 100644
--- a/go/vt/vtgate/semantics/real_table.go
+++ b/go/vt/vtgate/semantics/real_table.go
@@ -20,9 +20,11 @@ import (
"strings"
"vitess.io/vitess/go/mysql/collations"
+ "vitess.io/vitess/go/slice"
vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vterrors"
+ "vitess.io/vitess/go/vt/vtgate/evalengine"
"vitess.io/vitess/go/vt/vtgate/vindexes"
)
@@ -31,26 +33,41 @@ type RealTable struct {
dbName, tableName string
ASTNode *sqlparser.AliasedTableExpr
Table *vindexes.Table
+ CTE *CTE
VindexHint *sqlparser.IndexHint
+ MirrorRule *vindexes.MirrorRule
isInfSchema bool
collationEnv *collations.Environment
+ cache map[string]dependencies
}
var _ TableInfo = (*RealTable)(nil)
// dependencies implements the TableInfo interface
-func (r *RealTable) dependencies(colName string, org originable) (dependencies, error) {
- ts := org.tableSetFor(r.ASTNode)
- for _, info := range r.getColumns(false /* ignoreInvisbleCol */) {
- if strings.EqualFold(info.Name, colName) {
- return createCertain(ts, ts, info.Type), nil
+func (r *RealTable) dependencies(colName string, org originable) (deps dependencies, err error) {
+ var myID *TableSet
+ if r.cache == nil {
+ r.cache = make(map[string]dependencies)
+ ts := org.tableSetFor(r.ASTNode)
+ myID = &ts
+ for _, info := range r.getColumns(false /* ignoreInvisbleCol */) {
+ r.cache[strings.ToLower(info.Name)] = createCertain(ts, ts, info.Type)
}
}
+ if deps, ok := r.cache[strings.ToLower(colName)]; ok {
+ return deps, nil
+ }
+
if r.authoritative() {
return ¬hing{}, nil
}
- return createUncertain(ts, ts), nil
+
+ if myID == nil {
+ ts := org.tableSetFor(r.ASTNode)
+ myID = &ts
+ }
+ return createUncertain(*myID, *myID), nil
}
// GetTables implements the TableInfo interface
@@ -70,9 +87,17 @@ func (r *RealTable) IsInfSchema() bool {
// GetColumns implements the TableInfo interface
func (r *RealTable) getColumns(ignoreInvisbleCol bool) []ColumnInfo {
- if r.Table == nil {
+ switch {
+ case r.CTE != nil:
+ return r.getCTEColumns()
+ case r.Table == nil:
return nil
+ default:
+ return r.getVindexTableColumns(ignoreInvisbleCol)
}
+}
+
+func (r *RealTable) getVindexTableColumns(ignoreInvisbleCol bool) []ColumnInfo {
nameMap := map[string]any{}
cols := make([]ColumnInfo, 0, len(r.Table.Columns))
for _, col := range r.Table.Columns {
@@ -105,6 +130,57 @@ func (r *RealTable) getColumns(ignoreInvisbleCol bool) []ColumnInfo {
return cols
}
+func (r *RealTable) getCTEColumns() []ColumnInfo {
+ selectExprs := r.CTE.Query.GetColumns()
+ ci := extractColumnsFromCTE(r.CTE.Columns, selectExprs)
+ if ci != nil {
+ return ci
+ }
+ return extractSelectExprsFromCTE(selectExprs)
+}
+
+// Authoritative implements the TableInfo interface
+func (r *RealTable) authoritative() bool {
+ switch {
+ case r.Table != nil:
+ return r.Table.ColumnListAuthoritative
+ case r.CTE != nil:
+ return r.CTE.isAuthoritative
+ default:
+ return false
+ }
+}
+
+func extractSelectExprsFromCTE(selectExprs sqlparser.SelectExprs) []ColumnInfo {
+ var ci []ColumnInfo
+ for _, expr := range selectExprs {
+ ae, ok := expr.(*sqlparser.AliasedExpr)
+ if !ok {
+ return nil
+ }
+ ci = append(ci, ColumnInfo{
+ Name: ae.ColumnName(),
+ Type: evalengine.NewUnknownType(), // TODO: set the proper type
+ })
+ }
+ return ci
+}
+
+func extractColumnsFromCTE(columns sqlparser.Columns, selectExprs sqlparser.SelectExprs) []ColumnInfo {
+ if len(columns) == 0 {
+ return nil
+ }
+ if len(selectExprs) != len(columns) {
+ panic("mismatch of columns")
+ }
+ return slice.Map(columns, func(from sqlparser.IdentifierCI) ColumnInfo {
+ return ColumnInfo{
+ Name: from.String(),
+ Type: evalengine.NewUnknownType(),
+ }
+ })
+}
+
// GetExpr implements the TableInfo interface
func (r *RealTable) GetAliasedTableExpr() *sqlparser.AliasedTableExpr {
return r.ASTNode
@@ -145,12 +221,12 @@ func (r *RealTable) Name() (sqlparser.TableName, error) {
return r.ASTNode.TableName()
}
-// Authoritative implements the TableInfo interface
-func (r *RealTable) authoritative() bool {
- return r.Table != nil && r.Table.ColumnListAuthoritative
-}
-
// Matches implements the TableInfo interface
func (r *RealTable) matches(name sqlparser.TableName) bool {
return (name.Qualifier.IsEmpty() || name.Qualifier.String() == r.dbName) && r.tableName == name.Name.String()
}
+
+// GetMirrorRule implements TableInfo.
+func (r *RealTable) GetMirrorRule() *vindexes.MirrorRule {
+ return r.MirrorRule
+}
diff --git a/go/vt/vtgate/semantics/scoper.go b/go/vt/vtgate/semantics/scoper.go
index ae3e5b7e88d..9d596d9ecd1 100644
--- a/go/vt/vtgate/semantics/scoper.go
+++ b/go/vt/vtgate/semantics/scoper.go
@@ -35,9 +35,10 @@ type (
binder *binder
// These scopes are only used for rewriting ORDER BY 1 and GROUP BY 1
- specialExprScopes map[*sqlparser.Literal]*scope
- statementIDs map[sqlparser.Statement]TableSet
- si SchemaInformation
+ specialExprScopes map[*sqlparser.Literal]*scope
+ statementIDs map[sqlparser.Statement]TableSet
+ commonTableExprScopes []*sqlparser.CommonTableExpr
+ si SchemaInformation
}
scope struct {
@@ -105,6 +106,8 @@ func (s *scoper) down(cursor *sqlparser.Cursor) error {
s.currentScope().inHaving = true
return nil
}
+ case *sqlparser.CommonTableExpr:
+ s.commonTableExprScopes = append(s.commonTableExprScopes, node)
}
return nil
}
@@ -240,6 +243,9 @@ func (s *scoper) up(cursor *sqlparser.Cursor) error {
case sqlparser.AggrFunc:
s.currentScope().inHavingAggr = false
case sqlparser.TableExpr:
+ // inside joins and derived tables, we can only see the tables in the table/join.
+ // we also want the tables available in the outer query, for SELECT expressions and the WHERE clause,
+ // so we copy the tables from the current scope to the parent scope
if isParentSelect(cursor) {
curScope := s.currentScope()
s.popScope()
@@ -258,6 +264,8 @@ func (s *scoper) up(cursor *sqlparser.Cursor) error {
s.binder.usingJoinInfo[ts] = m
}
}
+ case *sqlparser.CommonTableExpr:
+ s.commonTableExprScopes = s.commonTableExprScopes[:len(s.commonTableExprScopes)-1]
}
return nil
}
@@ -367,7 +375,7 @@ func checkForInvalidAliasUse(cte *sqlparser.CommonTableExpr, name string) (err e
}
return err == nil
}
- _ = sqlparser.CopyOnRewrite(cte.Subquery.Select, down, nil, nil)
+ _ = sqlparser.CopyOnRewrite(cte.Subquery, down, nil, nil)
return err
}
diff --git a/go/vt/vtgate/semantics/semantic_state.go b/go/vt/vtgate/semantics/semantic_table.go
similarity index 94%
rename from go/vt/vtgate/semantics/semantic_state.go
rename to go/vt/vtgate/semantics/semantic_table.go
index ac2fd9c1604..f9856a901a6 100644
--- a/go/vt/vtgate/semantics/semantic_state.go
+++ b/go/vt/vtgate/semantics/semantic_table.go
@@ -63,6 +63,9 @@ type (
dependencies(colName string, org originable) (dependencies, error)
getExprFor(s string) (sqlparser.Expr, error)
getTableSet(org originable) TableSet
+
+ // GetMirrorRule returns the vschema mirror rule for this TableInfo
+ GetMirrorRule() *vindexes.MirrorRule
}
// ColumnInfo contains information about columns
@@ -77,12 +80,19 @@ type (
// QuerySignature is used to identify shortcuts in the planning process
QuerySignature struct {
- Aggregation bool
- DML bool
- Distinct bool
- HashJoin bool
- SubQueries bool
- Union bool
+ Aggregation bool
+ DML bool
+ Distinct bool
+ HashJoin bool
+ SubQueries bool
+ Union bool
+ RecursiveCTE bool
+ }
+
+ // MirrorInfo stores information used to produce mirror
+ // operators.
+ MirrorInfo struct {
+ Percent float32
}
// SemTable contains semantic analysis information about the query.
@@ -162,6 +172,7 @@ type (
GetForeignKeyChecksState() *bool
KeyspaceError(keyspace string) error
GetAggregateUDFs() []string
+ FindMirrorRule(tablename sqlparser.TableName) (*vindexes.MirrorRule, error)
}
shortCut = int
@@ -173,10 +184,8 @@ const (
dependsOnKeyspace
)
-var (
- // ErrNotSingleTable refers to an error happening when something should be used only for single tables
- ErrNotSingleTable = vterrors.Errorf(vtrpcpb.Code_INTERNAL, "[BUG] should only be used for single tables")
-)
+// ErrNotSingleTable refers to an error happening when something should be used only for single tables
+var ErrNotSingleTable = vterrors.VT13001("should only be used for single tables")
// CopyDependencies copies the dependencies from one expression into the other
func (st *SemTable) CopyDependencies(from, to sqlparser.Expr) {
@@ -733,7 +742,6 @@ func RewriteDerivedTableExpression(expr sqlparser.Expr, vt TableInfo) sqlparser.
col := *node
col.Qualifier = sqlparser.TableName{}
cursor.Replace(&col)
-
}, nil).(sqlparser.Expr)
}
@@ -773,10 +781,6 @@ func singleUnshardedKeyspace(tableInfos []TableInfo) (ks *vindexes.Keyspace, tab
}
for _, table := range tableInfos {
- if _, isDT := table.(*DerivedTable); isDT {
- continue
- }
-
sc := table.canShortCut()
var vtbl *vindexes.Table
@@ -800,6 +804,7 @@ func singleUnshardedKeyspace(tableInfos []TableInfo) (ks *vindexes.Keyspace, tab
tables = append(tables, vtbl)
}
+
return ks, tables
}
@@ -983,3 +988,45 @@ func (st *SemTable) NewTableId() TableSet {
st.Tables = append(st.Tables, nil)
return tableID
}
+
+func (st *SemTable) CanTakeSelectUnshardedShortcut() (*vindexes.Keyspace, bool) {
+ return canTakeSelectUnshardedShortcut(st.Tables)
+}
+
+func (st *SemTable) CanTakeUnshardedShortcut() (*vindexes.Keyspace, bool) {
+ return canTakeUnshardedShortcut(st.Tables)
+}
+
+func canTakeUnshardedShortcut(tableInfos []TableInfo) (*vindexes.Keyspace, bool) {
+ uks, _ := singleUnshardedKeyspace(tableInfos)
+ return uks, uks != nil
+}
+
+func canTakeSelectUnshardedShortcut(tableInfos []TableInfo) (*vindexes.Keyspace, bool) {
+ if mi := mirrorInfo(tableInfos); mi.Percent > 0 {
+ return nil, false
+ }
+ return canTakeUnshardedShortcut(tableInfos)
+}
+
+func (st *SemTable) GetMirrorInfo() MirrorInfo {
+ return mirrorInfo(st.Tables)
+}
+
+// mirrorInfo looks through all tables with mirror rules defined, and returns a
+// MirrorInfo containing the lowest mirror percentage found across all rules.
+//
+// The idea here is that if you have two tables with mirror rules both involved
+// in a query, and one of those rules is 1% while the other is 100%, to mirror
+// the query with 1% chance.
+func mirrorInfo(tableInfos []TableInfo) MirrorInfo {
+ mi := MirrorInfo{}
+ for _, t := range tableInfos {
+ if mr := t.GetMirrorRule(); mr != nil {
+ if mi.Percent == 0 || mr.Percent < mi.Percent {
+ mi.Percent = mr.Percent
+ }
+ }
+ }
+ return mi
+}
diff --git a/go/vt/vtgate/semantics/semantic_state_test.go b/go/vt/vtgate/semantics/semantic_table_test.go
similarity index 99%
rename from go/vt/vtgate/semantics/semantic_state_test.go
rename to go/vt/vtgate/semantics/semantic_table_test.go
index 84f8cec6cf9..1f324215326 100644
--- a/go/vt/vtgate/semantics/semantic_state_test.go
+++ b/go/vt/vtgate/semantics/semantic_table_test.go
@@ -464,7 +464,7 @@ func TestRemoveParentForeignKey(t *testing.T) {
},
},
},
- expectedErr: "[BUG] should only be used for single tables",
+ expectedErr: "VT13001: [BUG] should only be used for single tables",
},
}
for _, tt := range tests {
@@ -716,7 +716,7 @@ func TestRemoveNonRequiredForeignKeys(t *testing.T) {
SingleTableSet(0).Merge(SingleTableSet(1)): {},
},
},
- expectedErr: "[BUG] should only be used for single tables",
+ expectedErr: "VT13001: [BUG] should only be used for single tables",
},
{
name: "Error - Reading table info for child foreign keys",
@@ -734,7 +734,7 @@ func TestRemoveNonRequiredForeignKeys(t *testing.T) {
},
parentForeignKeysInvolved: map[TableSet][]vindexes.ParentFKInfo{},
},
- expectedErr: "[BUG] should only be used for single tables",
+ expectedErr: "VT13001: [BUG] should only be used for single tables",
},
}
for _, tt := range tests {
diff --git a/go/vt/vtgate/semantics/table_collector.go b/go/vt/vtgate/semantics/table_collector.go
index 948edb37d47..191d9c3b38e 100644
--- a/go/vt/vtgate/semantics/table_collector.go
+++ b/go/vt/vtgate/semantics/table_collector.go
@@ -28,45 +28,59 @@ import (
"vitess.io/vitess/go/vt/vtgate/vindexes"
)
-// tableCollector is responsible for gathering information about the tables listed in the FROM clause,
-// and adding them to the current scope, plus keeping the global list of tables used in the query
-type tableCollector struct {
- Tables []TableInfo
- scoper *scoper
- si SchemaInformation
- currentDb string
- org originable
- unionInfo map[*sqlparser.Union]unionInfo
- done map[*sqlparser.AliasedTableExpr]TableInfo
-}
+type (
+ // tableCollector is responsible for gathering information about the tables listed in the FROM clause,
+ // and adding them to the current scope, plus keeping the global list of tables used in the query
+ tableCollector struct {
+ earlyTableCollector
+ scoper *scoper
+ org originable
+ unionInfo map[*sqlparser.Union]unionInfo
+ }
-type earlyTableCollector struct {
- si SchemaInformation
- currentDb string
- Tables []TableInfo
- done map[*sqlparser.AliasedTableExpr]TableInfo
- withTables map[sqlparser.IdentifierCS]any
-}
+ earlyTableCollector struct {
+ si SchemaInformation
+ currentDb string
+ Tables []TableInfo
+ done map[*sqlparser.AliasedTableExpr]TableInfo
+
+ // cte is a map of CTE definitions that are used in the query
+ cte map[string]*CTE
+ }
+)
func newEarlyTableCollector(si SchemaInformation, currentDb string) *earlyTableCollector {
return &earlyTableCollector{
- si: si,
- currentDb: currentDb,
- done: map[*sqlparser.AliasedTableExpr]TableInfo{},
- withTables: map[sqlparser.IdentifierCS]any{},
+ si: si,
+ currentDb: currentDb,
+ done: map[*sqlparser.AliasedTableExpr]TableInfo{},
+ cte: map[string]*CTE{},
}
}
-func (etc *earlyTableCollector) up(cursor *sqlparser.Cursor) {
- switch node := cursor.Node().(type) {
- case *sqlparser.AliasedTableExpr:
- etc.visitAliasedTableExpr(node)
- case *sqlparser.With:
- for _, cte := range node.CTEs {
- etc.withTables[cte.ID] = nil
+func (etc *earlyTableCollector) down(cursor *sqlparser.Cursor) bool {
+ with, ok := cursor.Node().(*sqlparser.With)
+ if !ok {
+ return true
+ }
+ for _, cte := range with.CTEs {
+ etc.cte[cte.ID.String()] = &CTE{
+ Name: cte.ID.String(),
+ Query: cte.Subquery,
+ Columns: cte.Columns,
+ Recursive: with.Recursive,
}
}
+ return true
+}
+func (etc *earlyTableCollector) up(cursor *sqlparser.Cursor) bool {
+ ate, ok := cursor.Node().(*sqlparser.AliasedTableExpr)
+ if !ok {
+ return true
+ }
+ etc.visitAliasedTableExpr(ate)
+ return true
}
func (etc *earlyTableCollector) visitAliasedTableExpr(aet *sqlparser.AliasedTableExpr) {
@@ -79,25 +93,22 @@ func (etc *earlyTableCollector) visitAliasedTableExpr(aet *sqlparser.AliasedTabl
func (etc *earlyTableCollector) newTableCollector(scoper *scoper, org originable) *tableCollector {
return &tableCollector{
- Tables: etc.Tables,
- scoper: scoper,
- si: etc.si,
- currentDb: etc.currentDb,
- unionInfo: map[*sqlparser.Union]unionInfo{},
- done: etc.done,
- org: org,
+ earlyTableCollector: *etc,
+ scoper: scoper,
+ unionInfo: map[*sqlparser.Union]unionInfo{},
+ org: org,
}
}
func (etc *earlyTableCollector) handleTableName(tbl sqlparser.TableName, aet *sqlparser.AliasedTableExpr) {
if tbl.Qualifier.IsEmpty() {
- _, isCTE := etc.withTables[tbl.Name]
+ _, isCTE := etc.cte[tbl.Name.String()]
if isCTE {
// no need to handle these tables here, we wait for the late phase instead
return
}
}
- tableInfo, err := getTableInfo(aet, tbl, etc.si, etc.currentDb)
+ tableInfo, err := etc.getTableInfo(aet, tbl, nil)
if err != nil {
// this could just be a CTE that we haven't processed, so we'll give it the benefit of the doubt for now
return
@@ -304,7 +315,7 @@ func (tc *tableCollector) handleTableName(node *sqlparser.AliasedTableExpr, t sq
tableInfo, found = tc.done[node]
if !found {
- tableInfo, err = getTableInfo(node, t, tc.si, tc.currentDb)
+ tableInfo, err = tc.earlyTableCollector.getTableInfo(node, t, tc.scoper)
if err != nil {
return err
}
@@ -315,12 +326,32 @@ func (tc *tableCollector) handleTableName(node *sqlparser.AliasedTableExpr, t sq
return scope.addTable(tableInfo)
}
-func getTableInfo(node *sqlparser.AliasedTableExpr, t sqlparser.TableName, si SchemaInformation, currentDb string) (TableInfo, error) {
+func (etc *earlyTableCollector) getCTE(t sqlparser.TableName) *CTE {
+ if t.Qualifier.NotEmpty() {
+ return nil
+ }
+
+ return etc.cte[t.Name.String()]
+}
+
+func (etc *earlyTableCollector) getTableInfo(node *sqlparser.AliasedTableExpr, t sqlparser.TableName, sc *scoper) (TableInfo, error) {
var tbl *vindexes.Table
var vindex vindexes.Vindex
+ if cteDef := etc.getCTE(t); cteDef != nil {
+ cte, err := etc.buildRecursiveCTE(node, t, sc, cteDef)
+ if err != nil {
+ return nil, err
+ }
+ if cte != nil {
+ // if we didn't get a table, it means we can't build a recursive CTE,
+ // so we need to look for a regular table instead
+ return cte, nil
+ }
+ }
+
isInfSchema := sqlparser.SystemSchema(t.Qualifier.String())
var err error
- tbl, vindex, _, _, _, err = si.FindTableOrVindex(t)
+ tbl, vindex, _, _, _, err = etc.si.FindTableOrVindex(t)
if err != nil && !isInfSchema {
// if we are dealing with a system table, it might not be available in the vschema, but that is OK
return nil, err
@@ -329,13 +360,64 @@ func getTableInfo(node *sqlparser.AliasedTableExpr, t sqlparser.TableName, si Sc
tbl = newVindexTable(t.Name)
}
- tableInfo, err := createTable(t, node, tbl, isInfSchema, vindex, si, currentDb)
+ tableInfo, err := etc.createTable(t, node, tbl, isInfSchema, vindex)
if err != nil {
return nil, err
}
return tableInfo, nil
}
+func (etc *earlyTableCollector) buildRecursiveCTE(node *sqlparser.AliasedTableExpr, t sqlparser.TableName, sc *scoper, cteDef *CTE) (TableInfo, error) {
+ // If sc is nil, then we are in the early table collector.
+ // In early table collector, we don't go over the CTE definitions, so we must be seeing a usage of the CTE.
+ if sc != nil && len(sc.commonTableExprScopes) > 0 {
+ cte := sc.commonTableExprScopes[len(sc.commonTableExprScopes)-1]
+ if cte.ID.String() == t.Name.String() {
+
+ if err := checkValidRecursiveCTE(cteDef); err != nil {
+ return nil, err
+ }
+
+ cteTable := newCTETable(node, t, cteDef)
+ cteTableSet := SingleTableSet(len(etc.Tables))
+ cteDef.IDForRecurse = &cteTableSet
+ if !cteDef.Recursive {
+ return nil, nil
+ }
+ return cteTable, nil
+ }
+ }
+ return &RealTable{
+ tableName: node.TableNameString(),
+ ASTNode: node,
+ CTE: cteDef,
+ collationEnv: etc.si.Environment().CollationEnv(),
+ }, nil
+}
+
+func checkValidRecursiveCTE(cteDef *CTE) error {
+ if cteDef.IDForRecurse != nil {
+ return vterrors.VT09029(cteDef.Name)
+ }
+
+ union, isUnion := cteDef.Query.(*sqlparser.Union)
+ if !isUnion {
+ return vterrors.VT09026(cteDef.Name)
+ }
+
+ firstSelect := sqlparser.GetFirstSelect(union.Right)
+ if firstSelect.GroupBy != nil {
+ return vterrors.VT09027(cteDef.Name)
+ }
+
+ for _, expr := range firstSelect.GetColumns() {
+ if sqlparser.ContainsAggregation(expr) {
+ return vterrors.VT09027(cteDef.Name)
+ }
+ }
+ return nil
+}
+
func (tc *tableCollector) handleDerivedTable(node *sqlparser.AliasedTableExpr, t *sqlparser.DerivedTable) error {
switch sel := t.Select.(type) {
case *sqlparser.Select:
@@ -437,14 +519,12 @@ func (tc *tableCollector) tableInfoFor(id TableSet) (TableInfo, error) {
return tc.Tables[offset], nil
}
-func createTable(
+func (etc *earlyTableCollector) createTable(
t sqlparser.TableName,
alias *sqlparser.AliasedTableExpr,
tbl *vindexes.Table,
isInfSchema bool,
vindex vindexes.Vindex,
- si SchemaInformation,
- currentDb string,
) (TableInfo, error) {
hint := getVindexHint(alias.Hints)
@@ -452,19 +532,28 @@ func createTable(
return nil, err
}
+ mr, err := etc.si.FindMirrorRule(t)
+ if err != nil {
+ // Mirroring is best effort. If we get an error while mirroring, keep going
+ // as if mirroring was disabled. We don't want to interrupt production work
+ // because of an issue with mirroring.
+ mr = nil
+ }
+
table := &RealTable{
tableName: alias.As.String(),
ASTNode: alias,
Table: tbl,
VindexHint: hint,
+ MirrorRule: mr,
isInfSchema: isInfSchema,
- collationEnv: si.Environment().CollationEnv(),
+ collationEnv: etc.si.Environment().CollationEnv(),
}
if alias.As.IsEmpty() {
dbName := t.Qualifier.String()
if dbName == "" {
- dbName = currentDb
+ dbName = etc.currentDb
}
table.dbName = dbName
diff --git a/go/vt/vtgate/semantics/vindex_table.go b/go/vt/vtgate/semantics/vindex_table.go
index b598c93f36a..c8ef271af5d 100644
--- a/go/vt/vtgate/semantics/vindex_table.go
+++ b/go/vt/vtgate/semantics/vindex_table.go
@@ -84,3 +84,8 @@ func (v *VindexTable) getColumns(ignoreInvisbleCol bool) []ColumnInfo {
func (v *VindexTable) IsInfSchema() bool {
return v.Table.IsInfSchema()
}
+
+// GetMirrorRule implements TableInfo.
+func (v *VindexTable) GetMirrorRule() *vindexes.MirrorRule {
+ return nil
+}
diff --git a/go/vt/vtgate/semantics/vtable.go b/go/vt/vtgate/semantics/vtable.go
index 14519a7e938..6cd7e34aecc 100644
--- a/go/vt/vtgate/semantics/vtable.go
+++ b/go/vt/vtgate/semantics/vtable.go
@@ -175,3 +175,8 @@ func selectExprsToInfos(
}
return
}
+
+// GetMirrorRule implements TableInfo.
+func (v *vTableInfo) GetMirrorRule() *vindexes.MirrorRule {
+ return nil
+}
diff --git a/go/vt/vtgate/tabletgateway.go b/go/vt/vtgate/tabletgateway.go
index 63ae836d715..7ed10d3813b 100644
--- a/go/vt/vtgate/tabletgateway.go
+++ b/go/vt/vtgate/tabletgateway.go
@@ -20,7 +20,9 @@ import (
"context"
"fmt"
"math/rand/v2"
+ "net/http"
"runtime/debug"
+ "slices"
"sort"
"sync"
"sync/atomic"
@@ -37,6 +39,7 @@ import (
"vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/topo/topoproto"
"vitess.io/vitess/go/vt/vterrors"
+ "vitess.io/vitess/go/vt/vtgate/balancer"
"vitess.io/vitess/go/vt/vtgate/buffer"
"vitess.io/vitess/go/vt/vttablet/queryservice"
@@ -54,6 +57,11 @@ var (
// retryCount is the number of times a query will be retried on error
retryCount = 2
+ // configuration flags for the tablet balancer
+ balancerEnabled bool
+ balancerVtgateCells []string
+ balancerKeyspaces []string
+
logCollations = logutil.NewThrottledLogger("CollationInconsistent", 1*time.Minute)
)
@@ -62,6 +70,9 @@ func init() {
fs.StringVar(&CellsToWatch, "cells_to_watch", "", "comma-separated list of cells for watching tablets")
fs.DurationVar(&initialTabletTimeout, "gateway_initial_tablet_timeout", 30*time.Second, "At startup, the tabletGateway will wait up to this duration to get at least one tablet per keyspace/shard/tablet type")
fs.IntVar(&retryCount, "retry-count", 2, "retry count")
+ fs.BoolVar(&balancerEnabled, "enable-balancer", false, "Enable the tablet balancer to evenly spread query load for a given tablet type")
+ fs.StringSliceVar(&balancerVtgateCells, "balancer-vtgate-cells", []string{}, "When in balanced mode, a comma-separated list of cells that contain vtgates (required)")
+ fs.StringSliceVar(&balancerKeyspaces, "balancer-keyspaces", []string{}, "When in balanced mode, a comma-separated list of keyspaces for which to use the balancer (optional)")
})
}
@@ -84,10 +95,17 @@ type TabletGateway struct {
// buffer, if enabled, buffers requests during a detected PRIMARY failover.
buffer *buffer.Buffer
+
+ // balancer used for routing to tablets
+ balancer balancer.TabletBalancer
}
func createHealthCheck(ctx context.Context, retryDelay, timeout time.Duration, ts *topo.Server, cell, cellsToWatch string) discovery.HealthCheck {
- return discovery.NewHealthCheck(ctx, retryDelay, timeout, ts, cell, cellsToWatch)
+ filters, err := discovery.NewVTGateHealthCheckFilters()
+ if err != nil {
+ log.Exit(err)
+ }
+ return discovery.NewHealthCheck(ctx, retryDelay, timeout, ts, cell, cellsToWatch, filters)
}
// NewTabletGateway creates and returns a new TabletGateway
@@ -112,6 +130,9 @@ func NewTabletGateway(ctx context.Context, hc discovery.HealthCheck, serv srvtop
statusAggregators: make(map[string]*TabletStatusAggregator),
}
gw.setupBuffering(ctx)
+ if balancerEnabled {
+ gw.setupBalancer(ctx)
+ }
gw.QueryService = queryservice.Wrap(nil, gw.withRetry)
return gw
}
@@ -145,6 +166,13 @@ func (gw *TabletGateway) setupBuffering(ctx context.Context) {
}(bufferCtx, ksChan, gw.buffer)
}
+func (gw *TabletGateway) setupBalancer(ctx context.Context) {
+ if len(balancerVtgateCells) == 0 {
+ log.Exitf("balancer-vtgate-cells is required for balanced mode")
+ }
+ gw.balancer = balancer.NewTabletBalancer(gw.localCell, balancerVtgateCells)
+}
+
// QueryServiceByAlias satisfies the Gateway interface
func (gw *TabletGateway) QueryServiceByAlias(ctx context.Context, alias *topodatapb.TabletAlias, target *querypb.Target) (queryservice.QueryService, error) {
qs, err := gw.hc.TabletConnection(ctx, alias, target)
@@ -191,11 +219,24 @@ func (gw *TabletGateway) WaitForTablets(ctx context.Context, tabletTypesToWait [
}
// Finds the targets to look for.
- targets, err := srvtopo.FindAllTargets(ctx, gw.srvTopoServer, gw.localCell, discovery.KeyspacesToWatch, tabletTypesToWait)
+ targets, keyspaces, err := srvtopo.FindAllTargetsAndKeyspaces(ctx, gw.srvTopoServer, gw.localCell, discovery.KeyspacesToWatch, tabletTypesToWait)
+ if err != nil {
+ return err
+ }
+ err = gw.hc.WaitForAllServingTablets(ctx, targets)
if err != nil {
return err
}
- return gw.hc.WaitForAllServingTablets(ctx, targets)
+ // After having waited for all serving tablets. We should also wait for the keyspace event watcher to have seen
+ // the updates and marked all the keyspaces as consistent (if we want to wait for primary tablets).
+ // Otherwise, we could be in a situation where even though the healthchecks have arrived, the keyspace event watcher hasn't finished processing them.
+ // So, if a primary tablet goes non-serving (because of a PRS or some other reason), we won't be able to start buffering.
+ // Waiting for the keyspaces to become consistent ensures that all the primary tablets for all the shards should be serving as seen by the keyspace event watcher
+ // and any disruption from now on, will make sure we start buffering properly.
+ if topoproto.IsTypeInList(topodatapb.TabletType_PRIMARY, tabletTypesToWait) && gw.kev != nil {
+ return gw.kev.WaitForConsistentKeyspaces(ctx, keyspaces)
+ }
+ return nil
}
// Close shuts down underlying connections.
@@ -220,6 +261,15 @@ func (gw *TabletGateway) CacheStatus() TabletCacheStatusList {
return res
}
+func (gw *TabletGateway) DebugBalancerHandler(w http.ResponseWriter, r *http.Request) {
+ if balancerEnabled {
+ gw.balancer.DebugHandler(w, r)
+ } else {
+ w.Header().Set("Content-Type", "text/plain")
+ w.Write([]byte("not enabled"))
+ }
+}
+
// withRetry gets available connections and executes the action. If there are retryable errors,
// it retries retryCount times before failing. It does not retry if the connection is in
// the middle of a transaction. While returning the error check if it maybe a result of
@@ -282,18 +332,21 @@ func (gw *TabletGateway) withRetry(ctx context.Context, target *querypb.Target,
if len(tablets) == 0 {
// if we have a keyspace event watcher, check if the reason why our primary is not available is that it's currently being resharded
// or if a reparent operation is in progress.
- if kev := gw.kev; kev != nil {
+ // We only check for whether reshard is ongoing or primary is serving or not, only if the target is primary. We don't want to buffer
+ // replica queries, so it doesn't make any sense to check for resharding or reparenting in that case.
+ if kev := gw.kev; kev != nil && target.TabletType == topodatapb.TabletType_PRIMARY {
if kev.TargetIsBeingResharded(ctx, target) {
log.V(2).Infof("current keyspace is being resharded, retrying: %s: %s", target.Keyspace, debug.Stack())
err = vterrors.Errorf(vtrpcpb.Code_CLUSTER_EVENT, buffer.ClusterEventReshardingInProgress)
continue
}
- primary, notServing := kev.PrimaryIsNotServing(ctx, target)
- if notServing {
+ primary, shouldBuffer := kev.ShouldStartBufferingForTarget(ctx, target)
+ if shouldBuffer {
err = vterrors.Errorf(vtrpcpb.Code_CLUSTER_EVENT, buffer.ClusterEventReparentInProgress)
continue
}
- // if primary is serving, but we initially found no tablet, we're in an inconsistent state
+ // if the keyspace event manager doesn't think we should buffer queries, and also sees a primary tablet,
+ // but we initially found no tablet, we're in an inconsistent state
// we then retry the entire loop
if primary != nil {
err = vterrors.Errorf(vtrpcpb.Code_UNAVAILABLE, "inconsistent state detected, primary is serving but initially found no available tablet")
@@ -306,16 +359,35 @@ func (gw *TabletGateway) withRetry(ctx context.Context, target *querypb.Target,
break
}
- gw.shuffleTablets(gw.localCell, tablets)
-
var th *discovery.TabletHealth
- // skip tablets we tried before
- for _, t := range tablets {
- if _, ok := invalidTablets[topoproto.TabletAliasString(t.Tablet.Alias)]; !ok {
- th = t
- break
+
+ useBalancer := balancerEnabled
+ if balancerEnabled && len(balancerKeyspaces) > 0 {
+ useBalancer = slices.Contains(balancerKeyspaces, target.Keyspace)
+ }
+ if useBalancer {
+ // filter out the tablets that we've tried before (if any), then pick the best one
+ if len(invalidTablets) > 0 {
+ tablets = slices.DeleteFunc(tablets, func(t *discovery.TabletHealth) bool {
+ _, isInvalid := invalidTablets[topoproto.TabletAliasString(t.Tablet.Alias)]
+ return isInvalid
+ })
+ }
+
+ th = gw.balancer.Pick(target, tablets)
+
+ } else {
+ gw.shuffleTablets(gw.localCell, tablets)
+
+ // skip tablets we tried before
+ for _, t := range tablets {
+ if _, ok := invalidTablets[topoproto.TabletAliasString(t.Tablet.Alias)]; !ok {
+ th = t
+ break
+ }
}
}
+
if th == nil {
// do not override error from last attempt.
if err == nil {
diff --git a/go/vt/vtgate/tabletgateway_flaky_test.go b/go/vt/vtgate/tabletgateway_flaky_test.go
index 21107c8d30e..e74f613b682 100644
--- a/go/vt/vtgate/tabletgateway_flaky_test.go
+++ b/go/vt/vtgate/tabletgateway_flaky_test.go
@@ -67,7 +67,7 @@ func TestGatewayBufferingWhenPrimarySwitchesServingState(t *testing.T) {
waitForBuffering := func(enabled bool) {
timer := time.NewTimer(bufferingWaitTimeout)
defer timer.Stop()
- for _, buffering := tg.kev.PrimaryIsNotServing(ctx, target); buffering != enabled; _, buffering = tg.kev.PrimaryIsNotServing(ctx, target) {
+ for _, buffering := tg.kev.ShouldStartBufferingForTarget(ctx, target); buffering != enabled; _, buffering = tg.kev.ShouldStartBufferingForTarget(ctx, target) {
select {
case <-timer.C:
require.Fail(t, "timed out waiting for buffering of enabled: %t", enabled)
@@ -213,8 +213,8 @@ func TestGatewayBufferingWhileReparenting(t *testing.T) {
hc.Broadcast(primaryTablet)
require.Len(t, tg.hc.GetHealthyTabletStats(target), 0, "GetHealthyTabletStats has tablets even though it shouldn't")
- _, isNotServing := tg.kev.PrimaryIsNotServing(ctx, target)
- require.True(t, isNotServing)
+ _, shouldStartBuffering := tg.kev.ShouldStartBufferingForTarget(ctx, target)
+ require.True(t, shouldStartBuffering)
// add a result to the sandbox connection of the new primary
sbcReplica.SetResults([]*sqltypes.Result{sqlResult1})
@@ -244,8 +244,8 @@ outer:
case <-timeout:
require.Fail(t, "timed out - could not verify the new primary")
case <-time.After(10 * time.Millisecond):
- newPrimary, notServing := tg.kev.PrimaryIsNotServing(ctx, target)
- if newPrimary != nil && newPrimary.Uid == 1 && !notServing {
+ newPrimary, shouldBuffer := tg.kev.ShouldStartBufferingForTarget(ctx, target)
+ if newPrimary != nil && newPrimary.Uid == 1 && !shouldBuffer {
break outer
}
}
diff --git a/go/vt/vtgate/tabletgateway_test.go b/go/vt/vtgate/tabletgateway_test.go
index 32d18dcc9ab..2aafb78af99 100644
--- a/go/vt/vtgate/tabletgateway_test.go
+++ b/go/vt/vtgate/tabletgateway_test.go
@@ -26,6 +26,7 @@ import (
"github.com/stretchr/testify/require"
"vitess.io/vitess/go/test/utils"
+ "vitess.io/vitess/go/vt/vttablet/queryservice"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/vt/discovery"
@@ -34,6 +35,7 @@ import (
vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
"vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/vterrors"
+ "vitess.io/vitess/go/vt/vttablet/sandboxconn"
)
func TestTabletGatewayExecute(t *testing.T) {
@@ -41,7 +43,10 @@ func TestTabletGatewayExecute(t *testing.T) {
testTabletGatewayGeneric(t, ctx, func(ctx context.Context, tg *TabletGateway, target *querypb.Target) error {
_, err := tg.Execute(ctx, target, "query", nil, 0, 0, nil)
return err
- })
+ },
+ func(t *testing.T, sc *sandboxconn.SandboxConn, want int64) {
+ assert.Equal(t, want, sc.ExecCount.Load())
+ })
testTabletGatewayTransact(t, ctx, func(ctx context.Context, tg *TabletGateway, target *querypb.Target) error {
_, err := tg.Execute(ctx, target, "query", nil, 1, 0, nil)
return err
@@ -55,7 +60,10 @@ func TestTabletGatewayExecuteStream(t *testing.T) {
return nil
})
return err
- })
+ },
+ func(t *testing.T, sc *sandboxconn.SandboxConn, want int64) {
+ assert.Equal(t, want, sc.ExecCount.Load())
+ })
}
func TestTabletGatewayBegin(t *testing.T) {
@@ -63,7 +71,10 @@ func TestTabletGatewayBegin(t *testing.T) {
testTabletGatewayGeneric(t, ctx, func(ctx context.Context, tg *TabletGateway, target *querypb.Target) error {
_, err := tg.Begin(ctx, target, nil)
return err
- })
+ },
+ func(t *testing.T, sc *sandboxconn.SandboxConn, want int64) {
+ assert.Equal(t, want, sc.BeginCount.Load())
+ })
}
func TestTabletGatewayCommit(t *testing.T) {
@@ -87,7 +98,11 @@ func TestTabletGatewayBeginExecute(t *testing.T) {
testTabletGatewayGeneric(t, ctx, func(ctx context.Context, tg *TabletGateway, target *querypb.Target) error {
_, _, err := tg.BeginExecute(ctx, target, nil, "query", nil, 0, nil)
return err
- })
+ },
+ func(t *testing.T, sc *sandboxconn.SandboxConn, want int64) {
+ t.Helper()
+ assert.Equal(t, want, sc.BeginCount.Load())
+ })
}
func TestTabletGatewayShuffleTablets(t *testing.T) {
@@ -177,7 +192,20 @@ func TestTabletGatewayReplicaTransactionError(t *testing.T) {
verifyContainsError(t, err, "query service can only be used for non-transactional queries on replicas", vtrpcpb.Code_INTERNAL)
}
-func testTabletGatewayGeneric(t *testing.T, ctx context.Context, f func(ctx context.Context, tg *TabletGateway, target *querypb.Target) error) {
+func testTabletGatewayGeneric(t *testing.T, ctx context.Context, f func(ctx context.Context, tg *TabletGateway, target *querypb.Target) error, verifyExpectedCount func(t *testing.T, sc *sandboxconn.SandboxConn, want int64)) {
+ t.Helper()
+ testTabletGatewayGenericHelper(t, ctx, f, verifyExpectedCount)
+
+ // test again with the balancer enabled assuming vtgates in both cells where there
+ // are tablets, so that it will still route to the local cell always, but this way
+ // it will test both implementations of skipping invalid tablets for retry
+ balancerEnabled = true
+ balancerVtgateCells = []string{"cell", "cell2"}
+ testTabletGatewayGenericHelper(t, ctx, f, verifyExpectedCount)
+ balancerEnabled = false
+}
+
+func testTabletGatewayGenericHelper(t *testing.T, ctx context.Context, f func(ctx context.Context, tg *TabletGateway, target *querypb.Target) error, verifyExpectedCount func(t *testing.T, sc *sandboxconn.SandboxConn, want int64)) {
t.Helper()
keyspace := "ks"
shard := "0"
@@ -193,7 +221,6 @@ func testTabletGatewayGeneric(t *testing.T, ctx context.Context, f func(ctx cont
ts := &fakeTopoServer{}
tg := NewTabletGateway(ctx, hc, ts, "cell")
defer tg.Close(ctx)
-
// no tablet
want := []string{"target: ks.0.replica", `no healthy tablet available for 'keyspace:"ks" shard:"0" tablet_type:REPLICA`}
err := f(ctx, tg, target)
@@ -217,31 +244,50 @@ func testTabletGatewayGeneric(t *testing.T, ctx context.Context, f func(ctx cont
sc2 := hc.AddTestTablet("cell", host, port+1, keyspace, shard, tabletType, true, 10, nil)
sc1.MustFailCodes[vtrpcpb.Code_FAILED_PRECONDITION] = 1
sc2.MustFailCodes[vtrpcpb.Code_FAILED_PRECONDITION] = 1
-
err = f(ctx, tg, target)
verifyContainsError(t, err, "target: ks.0.replica", vtrpcpb.Code_FAILED_PRECONDITION)
+ verifyExpectedCount(t, sc1, 1)
+ verifyExpectedCount(t, sc2, 1)
// fatal error
hc.Reset()
sc1 = hc.AddTestTablet("cell", host, port, keyspace, shard, tabletType, true, 10, nil)
- sc2 = hc.AddTestTablet("cell", host, port+1, keyspace, shard, tabletType, true, 10, nil)
+ sc2 = hc.AddTestTablet("cell2", host, port+1, keyspace, shard, tabletType, true, 10, nil)
sc1.MustFailCodes[vtrpcpb.Code_FAILED_PRECONDITION] = 1
sc2.MustFailCodes[vtrpcpb.Code_FAILED_PRECONDITION] = 1
err = f(ctx, tg, target)
verifyContainsError(t, err, "target: ks.0.replica", vtrpcpb.Code_FAILED_PRECONDITION)
+ verifyExpectedCount(t, sc1, 1)
+ verifyExpectedCount(t, sc2, 1)
// server error - no retry
hc.Reset()
sc1 = hc.AddTestTablet("cell", host, port, keyspace, shard, tabletType, true, 10, nil)
+ sc2 = hc.AddTestTablet("cell2", host, port+1, keyspace, shard, tabletType, true, 10, nil)
sc1.MustFailCodes[vtrpcpb.Code_INVALID_ARGUMENT] = 1
err = f(ctx, tg, target)
assert.Equal(t, vtrpcpb.Code_INVALID_ARGUMENT, vterrors.Code(err))
+ verifyExpectedCount(t, sc1, 1)
+ verifyExpectedCount(t, sc2, 0)
// no failure
hc.Reset()
- hc.AddTestTablet("cell", host, port, keyspace, shard, tabletType, true, 10, nil)
+ sc1 = hc.AddTestTablet("cell", host, port, keyspace, shard, tabletType, true, 10, nil)
+ sc2 = hc.AddTestTablet("cell2", host, port, keyspace, shard, tabletType, true, 10, nil)
+ err = f(ctx, tg, target)
+ assert.NoError(t, err)
+ verifyExpectedCount(t, sc1, 0)
+ verifyExpectedCount(t, sc2, 1)
+
+ // retry successful to other cell
+ hc.Reset()
+ sc1 = hc.AddTestTablet("cell", host, port, keyspace, shard, tabletType, true, 10, nil)
+ sc2 = hc.AddTestTablet("cell2", host, port+1, keyspace, shard, tabletType, true, 10, nil)
+ sc1.MustFailCodes[vtrpcpb.Code_FAILED_PRECONDITION] = 1
err = f(ctx, tg, target)
assert.NoError(t, err)
+ verifyExpectedCount(t, sc1, 1)
+ verifyExpectedCount(t, sc2, 1)
}
func testTabletGatewayTransact(t *testing.T, ctx context.Context, f func(ctx context.Context, tg *TabletGateway, target *querypb.Target) error) {
@@ -298,3 +344,58 @@ func verifyShardErrors(t *testing.T, err error, wantErrors []string, wantCode vt
}
require.Equal(t, vterrors.Code(err), wantCode, "wanted error code: %s, got: %v", wantCode, vterrors.Code(err))
}
+
+// TestWithRetry tests the functionality of withRetry function in different circumstances.
+func TestWithRetry(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ tg := NewTabletGateway(ctx, discovery.NewFakeHealthCheck(nil), &fakeTopoServer{}, "cell")
+ tg.kev = discovery.NewKeyspaceEventWatcher(ctx, tg.srvTopoServer, tg.hc, tg.localCell)
+ defer func() {
+ cancel()
+ tg.Close(ctx)
+ }()
+
+ testcases := []struct {
+ name string
+ target *querypb.Target
+ inTransaction bool
+ inner func(ctx context.Context, target *querypb.Target, conn queryservice.QueryService) (bool, error)
+ expectedErr string
+ }{
+ {
+ name: "Transaction on a replica",
+ target: &querypb.Target{
+ Keyspace: "ks",
+ Shard: "0",
+ TabletType: topodatapb.TabletType_REPLICA,
+ },
+ inTransaction: true,
+ inner: func(ctx context.Context, target *querypb.Target, conn queryservice.QueryService) (bool, error) {
+ return false, nil
+ },
+ expectedErr: "tabletGateway's query service can only be used for non-transactional queries on replicas",
+ }, {
+ name: "No replica tablets available",
+ target: &querypb.Target{
+ Keyspace: "ks",
+ Shard: "0",
+ TabletType: topodatapb.TabletType_REPLICA,
+ },
+ inTransaction: false,
+ inner: func(ctx context.Context, target *querypb.Target, conn queryservice.QueryService) (bool, error) {
+ return false, nil
+ },
+ expectedErr: `target: ks.0.replica: no healthy tablet available for 'keyspace:"ks" shard:"0" tablet_type:REPLICA'`,
+ },
+ }
+ for _, tt := range testcases {
+ t.Run(tt.name, func(t *testing.T) {
+ err := tg.withRetry(ctx, tt.target, nil, "", tt.inTransaction, tt.inner)
+ if tt.expectedErr == "" {
+ require.NoError(t, err)
+ } else {
+ require.ErrorContains(t, err, tt.expectedErr)
+ }
+ })
+ }
+}
diff --git a/go/vt/vtgate/tx_conn.go b/go/vt/vtgate/tx_conn.go
index e388740ee6a..05c47e64b6c 100644
--- a/go/vt/vtgate/tx_conn.go
+++ b/go/vt/vtgate/tx_conn.go
@@ -427,7 +427,7 @@ func (txc *TxConn) ReleaseAll(ctx context.Context, session *SafeSession) error {
// ResolveTransactions fetches all unresolved transactions and resolves them.
func (txc *TxConn) ResolveTransactions(ctx context.Context, target *querypb.Target) error {
- transactions, err := txc.tabletGateway.UnresolvedTransactions(ctx, target)
+ transactions, err := txc.tabletGateway.UnresolvedTransactions(ctx, target, 0 /* abandonAgeSeconds */)
if err != nil {
return err
}
@@ -574,3 +574,19 @@ func (txc *TxConn) ReadTransaction(ctx context.Context, transactionID string) (*
}
return txc.tabletGateway.ReadTransaction(ctx, mmShard.Target, transactionID)
}
+
+func (txc *TxConn) UnresolvedTransactions(ctx context.Context, targets []*querypb.Target) ([]*querypb.TransactionMetadata, error) {
+ var tmList []*querypb.TransactionMetadata
+ var mu sync.Mutex
+ err := txc.runTargets(targets, func(target *querypb.Target) error {
+ res, err := txc.tabletGateway.UnresolvedTransactions(ctx, target, 0 /* abandonAgeSeconds */)
+ if err != nil {
+ return err
+ }
+ mu.Lock()
+ defer mu.Unlock()
+ tmList = append(tmList, res...)
+ return nil
+ })
+ return tmList, err
+}
diff --git a/go/vt/vtgate/tx_conn_test.go b/go/vt/vtgate/tx_conn_test.go
index ed977b75051..dd1415bce87 100644
--- a/go/vt/vtgate/tx_conn_test.go
+++ b/go/vt/vtgate/tx_conn_test.go
@@ -56,7 +56,7 @@ func TestTxConnBegin(t *testing.T) {
require.NoError(t, err)
wantSession := vtgatepb.Session{InTransaction: true}
utils.MustMatch(t, &wantSession, session, "Session")
- _, errors := sc.ExecuteMultiShard(ctx, nil, rss0, queries, safeSession, false, false)
+ _, errors := sc.ExecuteMultiShard(ctx, nil, rss0, queries, safeSession, false, false, nullResultsObserver{})
require.Empty(t, errors)
// Begin again should cause a commit and a new begin.
@@ -76,7 +76,7 @@ func TestTxConnCommitFailure(t *testing.T) {
// Sequence the executes to ensure commit order
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rssm[0], queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rssm[0], queries, session, false, false, nullResultsObserver{})
wantSession := vtgatepb.Session{
InTransaction: true,
ShardSessions: []*vtgatepb.Session_ShardSession{{
@@ -91,7 +91,7 @@ func TestTxConnCommitFailure(t *testing.T) {
}
utils.MustMatch(t, &wantSession, session.Session, "Session")
- sc.ExecuteMultiShard(ctx, nil, rssm[1], queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rssm[1], queries, session, false, false, nullResultsObserver{})
wantSession = vtgatepb.Session{
InTransaction: true,
ShardSessions: []*vtgatepb.Session_ShardSession{{
@@ -114,7 +114,7 @@ func TestTxConnCommitFailure(t *testing.T) {
}
utils.MustMatch(t, &wantSession, session.Session, "Session")
- sc.ExecuteMultiShard(ctx, nil, rssa, threeQueries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rssa, threeQueries, session, false, false, nullResultsObserver{})
wantSession = vtgatepb.Session{
InTransaction: true,
ShardSessions: []*vtgatepb.Session_ShardSession{{
@@ -183,7 +183,7 @@ func TestTxConnCommitFailureAfterNonAtomicCommitMaxShards(t *testing.T) {
}
for i := 0; i < 18; i++ {
- sc.ExecuteMultiShard(ctx, nil, rssm[i], queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rssm[i], queries, session, false, false, nullResultsObserver{})
wantSession.ShardSessions = append(wantSession.ShardSessions, &vtgatepb.Session_ShardSession{
Target: &querypb.Target{
Keyspace: "TestTxConn",
@@ -237,7 +237,7 @@ func TestTxConnCommitFailureBeforeNonAtomicCommitMaxShards(t *testing.T) {
}
for i := 0; i < 17; i++ {
- sc.ExecuteMultiShard(ctx, nil, rssm[i], queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rssm[i], queries, session, false, false, nullResultsObserver{})
wantSession.ShardSessions = append(wantSession.ShardSessions, &vtgatepb.Session_ShardSession{
Target: &querypb.Target{
Keyspace: "TestTxConn",
@@ -283,7 +283,7 @@ func TestTxConnCommitSuccess(t *testing.T) {
// Sequence the executes to ensure commit order
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
wantSession := vtgatepb.Session{
InTransaction: true,
ShardSessions: []*vtgatepb.Session_ShardSession{{
@@ -297,7 +297,7 @@ func TestTxConnCommitSuccess(t *testing.T) {
}},
}
utils.MustMatch(t, &wantSession, session.Session, "Session")
- sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false, nullResultsObserver{})
wantSession = vtgatepb.Session{
InTransaction: true,
ShardSessions: []*vtgatepb.Session_ShardSession{{
@@ -336,7 +336,7 @@ func TestTxConnReservedCommitSuccess(t *testing.T) {
// Sequence the executes to ensure commit order
session := NewSafeSession(&vtgatepb.Session{InTransaction: true, InReservedConn: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
wantSession := vtgatepb.Session{
InTransaction: true,
InReservedConn: true,
@@ -352,7 +352,7 @@ func TestTxConnReservedCommitSuccess(t *testing.T) {
}},
}
utils.MustMatch(t, &wantSession, session.Session, "Session")
- sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false, nullResultsObserver{})
wantSession = vtgatepb.Session{
InTransaction: true,
InReservedConn: true,
@@ -423,9 +423,9 @@ func TestTxConnReservedOn2ShardTxOn1ShardAndCommit(t *testing.T) {
session := NewSafeSession(&vtgatepb.Session{InReservedConn: true})
// this will create reserved connections against all tablets
- _, errs := sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ _, errs := sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
require.Empty(t, errs)
- _, errs = sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ _, errs = sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
require.Empty(t, errs)
wantSession := vtgatepb.Session{
@@ -453,7 +453,7 @@ func TestTxConnReservedOn2ShardTxOn1ShardAndCommit(t *testing.T) {
session.Session.InTransaction = true
// start a transaction against rss0
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
wantSession = vtgatepb.Session{
InTransaction: true,
InReservedConn: true,
@@ -518,9 +518,9 @@ func TestTxConnReservedOn2ShardTxOn1ShardAndRollback(t *testing.T) {
session := NewSafeSession(&vtgatepb.Session{InReservedConn: true})
// this will create reserved connections against all tablets
- _, errs := sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ _, errs := sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
require.Empty(t, errs)
- _, errs = sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ _, errs = sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
require.Empty(t, errs)
wantSession := vtgatepb.Session{
@@ -548,7 +548,7 @@ func TestTxConnReservedOn2ShardTxOn1ShardAndRollback(t *testing.T) {
session.Session.InTransaction = true
// start a transaction against rss0
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
wantSession = vtgatepb.Session{
InTransaction: true,
InReservedConn: true,
@@ -612,13 +612,13 @@ func TestTxConnCommitOrderFailure1(t *testing.T) {
// Sequence the executes to ensure commit order
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
session.SetCommitOrder(vtgatepb.CommitOrder_PRE)
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
session.SetCommitOrder(vtgatepb.CommitOrder_POST)
- sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
sbc0.MustFailCodes[vtrpcpb.Code_INVALID_ARGUMENT] = 1
err := sc.txConn.Commit(ctx, session)
@@ -647,13 +647,13 @@ func TestTxConnCommitOrderFailure2(t *testing.T) {
// Sequence the executes to ensure commit order
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(context.Background(), nil, rss1, queries, session, false, false)
+ sc.ExecuteMultiShard(context.Background(), nil, rss1, queries, session, false, false, nullResultsObserver{})
session.SetCommitOrder(vtgatepb.CommitOrder_PRE)
- sc.ExecuteMultiShard(context.Background(), nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(context.Background(), nil, rss0, queries, session, false, false, nullResultsObserver{})
session.SetCommitOrder(vtgatepb.CommitOrder_POST)
- sc.ExecuteMultiShard(context.Background(), nil, rss1, queries, session, false, false)
+ sc.ExecuteMultiShard(context.Background(), nil, rss1, queries, session, false, false, nullResultsObserver{})
sbc1.MustFailCodes[vtrpcpb.Code_INVALID_ARGUMENT] = 1
err := sc.txConn.Commit(ctx, session)
@@ -681,13 +681,13 @@ func TestTxConnCommitOrderFailure3(t *testing.T) {
// Sequence the executes to ensure commit order
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
session.SetCommitOrder(vtgatepb.CommitOrder_PRE)
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
session.SetCommitOrder(vtgatepb.CommitOrder_POST)
- sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
sbc1.MustFailCodes[vtrpcpb.Code_INVALID_ARGUMENT] = 1
require.NoError(t,
@@ -723,7 +723,7 @@ func TestTxConnCommitOrderSuccess(t *testing.T) {
// Sequence the executes to ensure commit order
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
wantSession := vtgatepb.Session{
InTransaction: true,
ShardSessions: []*vtgatepb.Session_ShardSession{{
@@ -739,7 +739,7 @@ func TestTxConnCommitOrderSuccess(t *testing.T) {
utils.MustMatch(t, &wantSession, session.Session, "Session")
session.SetCommitOrder(vtgatepb.CommitOrder_PRE)
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
wantSession = vtgatepb.Session{
InTransaction: true,
PreSessions: []*vtgatepb.Session_ShardSession{{
@@ -764,7 +764,7 @@ func TestTxConnCommitOrderSuccess(t *testing.T) {
utils.MustMatch(t, &wantSession, session.Session, "Session")
session.SetCommitOrder(vtgatepb.CommitOrder_POST)
- sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
wantSession = vtgatepb.Session{
InTransaction: true,
PreSessions: []*vtgatepb.Session_ShardSession{{
@@ -798,7 +798,7 @@ func TestTxConnCommitOrderSuccess(t *testing.T) {
utils.MustMatch(t, &wantSession, session.Session, "Session")
// Ensure nothing changes if we reuse a transaction.
- sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
utils.MustMatch(t, &wantSession, session.Session, "Session")
require.NoError(t,
@@ -821,7 +821,7 @@ func TestTxConnReservedCommitOrderSuccess(t *testing.T) {
// Sequence the executes to ensure commit order
session := NewSafeSession(&vtgatepb.Session{InTransaction: true, InReservedConn: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
wantSession := vtgatepb.Session{
InTransaction: true,
InReservedConn: true,
@@ -839,7 +839,7 @@ func TestTxConnReservedCommitOrderSuccess(t *testing.T) {
utils.MustMatch(t, &wantSession, session.Session, "Session")
session.SetCommitOrder(vtgatepb.CommitOrder_PRE)
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
wantSession = vtgatepb.Session{
InTransaction: true,
InReservedConn: true,
@@ -867,7 +867,7 @@ func TestTxConnReservedCommitOrderSuccess(t *testing.T) {
utils.MustMatch(t, &wantSession, session.Session, "Session")
session.SetCommitOrder(vtgatepb.CommitOrder_POST)
- sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
wantSession = vtgatepb.Session{
InTransaction: true,
InReservedConn: true,
@@ -905,7 +905,7 @@ func TestTxConnReservedCommitOrderSuccess(t *testing.T) {
utils.MustMatch(t, &wantSession, session.Session, "Session")
// Ensure nothing changes if we reuse a transaction.
- sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
utils.MustMatch(t, &wantSession, session.Session, "Session")
require.NoError(t,
@@ -958,8 +958,8 @@ func TestTxConnCommit2PC(t *testing.T) {
sc, sbc0, sbc1, rss0, _, rss01 := newTestTxConnEnv(t, ctx, "TestTxConnCommit2PC")
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
- sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
+ sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false, nullResultsObserver{})
session.TransactionMode = vtgatepb.TransactionMode_TWOPC
require.NoError(t,
sc.txConn.Commit(ctx, session))
@@ -975,7 +975,7 @@ func TestTxConnCommit2PCOneParticipant(t *testing.T) {
sc, sbc0, _, rss0, _, _ := newTestTxConnEnv(t, ctx, "TestTxConnCommit2PCOneParticipant")
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
session.TransactionMode = vtgatepb.TransactionMode_TWOPC
require.NoError(t,
sc.txConn.Commit(ctx, session))
@@ -988,8 +988,8 @@ func TestTxConnCommit2PCCreateTransactionFail(t *testing.T) {
sc, sbc0, sbc1, rss0, rss1, _ := newTestTxConnEnv(t, ctx, "TestTxConnCommit2PCCreateTransactionFail")
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
- sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
+ sc.ExecuteMultiShard(ctx, nil, rss1, queries, session, false, false, nullResultsObserver{})
sbc0.MustFailCreateTransaction = 1
session.TransactionMode = vtgatepb.TransactionMode_TWOPC
@@ -1012,8 +1012,8 @@ func TestTxConnCommit2PCPrepareFail(t *testing.T) {
sc, sbc0, sbc1, rss0, _, rss01 := newTestTxConnEnv(t, ctx, "TestTxConnCommit2PCPrepareFail")
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
- sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
+ sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false, nullResultsObserver{})
sbc1.MustFailPrepare = 1
session.TransactionMode = vtgatepb.TransactionMode_TWOPC
@@ -1040,8 +1040,8 @@ func TestTxConnCommit2PCStartCommitFail(t *testing.T) {
sc, sbc0, sbc1, rss0, _, rss01 := newTestTxConnEnv(t, ctx, "TestTxConnCommit2PCStartCommitFail")
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
- sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
+ sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false, nullResultsObserver{})
sbc0.MustFailStartCommit = 1
session.TransactionMode = vtgatepb.TransactionMode_TWOPC
@@ -1062,8 +1062,8 @@ func TestTxConnCommit2PCCommitPreparedFail(t *testing.T) {
sc, sbc0, sbc1, rss0, _, rss01 := newTestTxConnEnv(t, ctx, "TestTxConnCommit2PCCommitPreparedFail")
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
- sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
+ sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false, nullResultsObserver{})
sbc1.MustFailCommitPrepared = 1
session.TransactionMode = vtgatepb.TransactionMode_TWOPC
@@ -1084,8 +1084,8 @@ func TestTxConnCommit2PCConcludeTransactionFail(t *testing.T) {
sc, sbc0, sbc1, rss0, _, rss01 := newTestTxConnEnv(t, ctx, "TestTxConnCommit2PCConcludeTransactionFail")
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
- sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
+ sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false, nullResultsObserver{})
sbc0.MustFailConcludeTransaction = 1
session.TransactionMode = vtgatepb.TransactionMode_TWOPC
@@ -1104,8 +1104,8 @@ func TestTxConnRollback(t *testing.T) {
sc, sbc0, sbc1, rss0, _, rss01 := newTestTxConnEnv(t, ctx, "TxConnRollback")
session := NewSafeSession(&vtgatepb.Session{InTransaction: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
- sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
+ sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false, nullResultsObserver{})
require.NoError(t,
sc.txConn.Rollback(ctx, session))
wantSession := vtgatepb.Session{}
@@ -1120,8 +1120,8 @@ func TestTxConnReservedRollback(t *testing.T) {
sc, sbc0, sbc1, rss0, _, rss01 := newTestTxConnEnv(t, ctx, "TxConnReservedRollback")
session := NewSafeSession(&vtgatepb.Session{InTransaction: true, InReservedConn: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
- sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
+ sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false, nullResultsObserver{})
require.NoError(t,
sc.txConn.Rollback(ctx, session))
wantSession := vtgatepb.Session{
@@ -1157,8 +1157,8 @@ func TestTxConnReservedRollbackFailure(t *testing.T) {
sc, sbc0, sbc1, rss0, rss1, rss01 := newTestTxConnEnv(t, ctx, "TxConnReservedRollback")
session := NewSafeSession(&vtgatepb.Session{InTransaction: true, InReservedConn: true})
- sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false)
- sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false)
+ sc.ExecuteMultiShard(ctx, nil, rss0, queries, session, false, false, nullResultsObserver{})
+ sc.ExecuteMultiShard(ctx, nil, rss01, twoQueries, session, false, false, nullResultsObserver{})
sbc1.MustFailCodes[vtrpcpb.Code_INVALID_ARGUMENT] = 1
assert.Error(t,
diff --git a/go/vt/vtgate/vcursor_impl.go b/go/vt/vtgate/vcursor_impl.go
index ee000abed8f..4f616f77fc8 100644
--- a/go/vt/vtgate/vcursor_impl.go
+++ b/go/vt/vtgate/vcursor_impl.go
@@ -58,74 +58,87 @@ import (
"vitess.io/vitess/go/vt/vtgate/vtgateservice"
)
-var _ engine.VCursor = (*vcursorImpl)(nil)
-var _ plancontext.VSchema = (*vcursorImpl)(nil)
-var _ iExecute = (*Executor)(nil)
-var _ vindexes.VCursor = (*vcursorImpl)(nil)
-
-// vcursor_impl needs these facilities to be able to be able to execute queries for vindexes
-type iExecute interface {
- Execute(ctx context.Context, mysqlCtx vtgateservice.MySQLConnection, method string, session *SafeSession, s string, vars map[string]*querypb.BindVariable) (*sqltypes.Result, error)
- ExecuteMultiShard(ctx context.Context, primitive engine.Primitive, rss []*srvtopo.ResolvedShard, queries []*querypb.BoundQuery, session *SafeSession, autocommit bool, ignoreMaxMemoryRows bool) (qr *sqltypes.Result, errs []error)
- StreamExecuteMulti(ctx context.Context, primitive engine.Primitive, query string, rss []*srvtopo.ResolvedShard, vars []map[string]*querypb.BindVariable, session *SafeSession, autocommit bool, callback func(reply *sqltypes.Result) error) []error
- ExecuteLock(ctx context.Context, rs *srvtopo.ResolvedShard, query *querypb.BoundQuery, session *SafeSession, lockFuncType sqlparser.LockingFuncType) (*sqltypes.Result, error)
- Commit(ctx context.Context, safeSession *SafeSession) error
- ExecuteMessageStream(ctx context.Context, rss []*srvtopo.ResolvedShard, name string, callback func(*sqltypes.Result) error) error
- ExecuteVStream(ctx context.Context, rss []*srvtopo.ResolvedShard, filter *binlogdatapb.Filter, gtid string, callback func(evs []*binlogdatapb.VEvent) error) error
- ReleaseLock(ctx context.Context, session *SafeSession) error
-
- showVitessReplicationStatus(ctx context.Context, filter *sqlparser.ShowFilter) (*sqltypes.Result, error)
- showShards(ctx context.Context, filter *sqlparser.ShowFilter, destTabletType topodatapb.TabletType) (*sqltypes.Result, error)
- showTablets(filter *sqlparser.ShowFilter) (*sqltypes.Result, error)
- showVitessMetadata(ctx context.Context, filter *sqlparser.ShowFilter) (*sqltypes.Result, error)
- setVitessMetadata(ctx context.Context, name, value string) error
-
- // TODO: remove when resolver is gone
- ParseDestinationTarget(targetString string) (string, topodatapb.TabletType, key.Destination, error)
- VSchema() *vindexes.VSchema
- planPrepareStmt(ctx context.Context, vcursor *vcursorImpl, query string) (*engine.Plan, sqlparser.Statement, error)
-
- environment() *vtenv.Environment
- ReadTransaction(ctx context.Context, transactionID string) (*querypb.TransactionMetadata, error)
-}
-
-// VSchemaOperator is an interface to Vschema Operations
-type VSchemaOperator interface {
- GetCurrentSrvVschema() *vschemapb.SrvVSchema
- UpdateVSchema(ctx context.Context, ksName string, vschema *vschemapb.SrvVSchema) error
-}
-
-// vcursorImpl implements the VCursor functionality used by dependent
-// packages to call back into VTGate.
-type vcursorImpl struct {
- safeSession *SafeSession
- keyspace string
- tabletType topodatapb.TabletType
- destination key.Destination
- marginComments sqlparser.MarginComments
- executor iExecute
- resolver *srvtopo.Resolver
- topoServer *topo.Server
- logStats *logstats.LogStats
- collation collations.ID
-
- // fkChecksState stores the state of foreign key checks variable.
- // This state is meant to be the final fk checks state after consulting the
- // session state, and the given query's comments for `SET_VAR` optimizer hints.
- // A nil value represents that no foreign_key_checks value was provided.
- fkChecksState *bool
- ignoreMaxMemoryRows bool
- vschema *vindexes.VSchema
- vm VSchemaOperator
- semTable *semantics.SemTable
- warnShardedOnly bool // when using sharded only features, a warning will be warnings field
-
- warnings []*querypb.QueryWarning // any warnings that are accumulated during the planning phase are stored here
- pv plancontext.PlannerVersion
-
- warmingReadsPercent int
- warmingReadsChannel chan bool
-}
+var (
+ _ engine.VCursor = (*vcursorImpl)(nil)
+ _ plancontext.VSchema = (*vcursorImpl)(nil)
+ _ iExecute = (*Executor)(nil)
+ _ vindexes.VCursor = (*vcursorImpl)(nil)
+)
+
+type (
+ // vcursor_impl needs these facilities to be able to be able to execute queries for vindexes
+ iExecute interface {
+ Execute(ctx context.Context, mysqlCtx vtgateservice.MySQLConnection, method string, session *SafeSession, s string, vars map[string]*querypb.BindVariable) (*sqltypes.Result, error)
+ ExecuteMultiShard(ctx context.Context, primitive engine.Primitive, rss []*srvtopo.ResolvedShard, queries []*querypb.BoundQuery, session *SafeSession, autocommit bool, ignoreMaxMemoryRows bool, resultsObserver resultsObserver) (qr *sqltypes.Result, errs []error)
+ StreamExecuteMulti(ctx context.Context, primitive engine.Primitive, query string, rss []*srvtopo.ResolvedShard, vars []map[string]*querypb.BindVariable, session *SafeSession, autocommit bool, callback func(reply *sqltypes.Result) error, observer resultsObserver) []error
+ ExecuteLock(ctx context.Context, rs *srvtopo.ResolvedShard, query *querypb.BoundQuery, session *SafeSession, lockFuncType sqlparser.LockingFuncType) (*sqltypes.Result, error)
+ Commit(ctx context.Context, safeSession *SafeSession) error
+ ExecuteMessageStream(ctx context.Context, rss []*srvtopo.ResolvedShard, name string, callback func(*sqltypes.Result) error) error
+ ExecuteVStream(ctx context.Context, rss []*srvtopo.ResolvedShard, filter *binlogdatapb.Filter, gtid string, callback func(evs []*binlogdatapb.VEvent) error) error
+ ReleaseLock(ctx context.Context, session *SafeSession) error
+
+ showVitessReplicationStatus(ctx context.Context, filter *sqlparser.ShowFilter) (*sqltypes.Result, error)
+ showShards(ctx context.Context, filter *sqlparser.ShowFilter, destTabletType topodatapb.TabletType) (*sqltypes.Result, error)
+ showTablets(filter *sqlparser.ShowFilter) (*sqltypes.Result, error)
+ showVitessMetadata(ctx context.Context, filter *sqlparser.ShowFilter) (*sqltypes.Result, error)
+ setVitessMetadata(ctx context.Context, name, value string) error
+
+ // TODO: remove when resolver is gone
+ ParseDestinationTarget(targetString string) (string, topodatapb.TabletType, key.Destination, error)
+ VSchema() *vindexes.VSchema
+ planPrepareStmt(ctx context.Context, vcursor *vcursorImpl, query string) (*engine.Plan, sqlparser.Statement, error)
+
+ environment() *vtenv.Environment
+ ReadTransaction(ctx context.Context, transactionID string) (*querypb.TransactionMetadata, error)
+ UnresolvedTransactions(ctx context.Context, targets []*querypb.Target) ([]*querypb.TransactionMetadata, error)
+ }
+
+ // VSchemaOperator is an interface to Vschema Operations
+ VSchemaOperator interface {
+ GetCurrentSrvVschema() *vschemapb.SrvVSchema
+ UpdateVSchema(ctx context.Context, ksName string, vschema *vschemapb.SrvVSchema) error
+ }
+
+ // vcursorImpl implements the VCursor functionality used by dependent
+ // packages to call back into VTGate.
+ vcursorImpl struct {
+ safeSession *SafeSession
+ keyspace string
+ tabletType topodatapb.TabletType
+ destination key.Destination
+ marginComments sqlparser.MarginComments
+ executor iExecute
+ resolver *srvtopo.Resolver
+ topoServer *topo.Server
+ logStats *logstats.LogStats
+ collation collations.ID
+
+ // fkChecksState stores the state of foreign key checks variable.
+ // This state is meant to be the final fk checks state after consulting the
+ // session state, and the given query's comments for `SET_VAR` optimizer hints.
+ // A nil value represents that no foreign_key_checks value was provided.
+ fkChecksState *bool
+ ignoreMaxMemoryRows bool
+ vschema *vindexes.VSchema
+ vm VSchemaOperator
+ semTable *semantics.SemTable
+ warnShardedOnly bool // when using sharded only features, a warning will be warnings field
+ queryTimeout time.Duration
+
+ warnings []*querypb.QueryWarning // any warnings that are accumulated during the planning phase are stored here
+ pv plancontext.PlannerVersion
+
+ warmingReadsPercent int
+ warmingReadsChannel chan bool
+
+ resultsObserver resultsObserver
+
+ // this is a map of the number of rows that every primitive has returned
+ // if this field is nil, it means that we are not logging operator traffic
+ interOpStats map[engine.Primitive]engine.RowsReceived
+ shardsStats map[engine.Primitive]engine.ShardsQueried
+ }
+)
// newVcursorImpl creates a vcursorImpl. Before creating this object, you have to separate out any marginComments that came with
// the query and supply it here. Trailing comments are typically sent by the application for various reasons,
@@ -192,6 +205,7 @@ func newVCursorImpl(
pv: pv,
warmingReadsPercent: warmingReadsPct,
warmingReadsChannel: warmingReadsChan,
+ resultsObserver: nullResultsObserver{},
}, nil
}
@@ -255,6 +269,34 @@ func (vc *vcursorImpl) ReadTransaction(ctx context.Context, transactionID string
return vc.executor.ReadTransaction(ctx, transactionID)
}
+// UnresolvedTransactions gets the unresolved transactions for the given keyspace. If the keyspace is not given,
+// then we use the default keyspace.
+func (vc *vcursorImpl) UnresolvedTransactions(ctx context.Context, keyspace string) ([]*querypb.TransactionMetadata, error) {
+ if keyspace == "" {
+ keyspace = vc.GetKeyspace()
+ }
+ rss, _, err := vc.ResolveDestinations(ctx, keyspace, nil, []key.Destination{key.DestinationAllShards{}})
+ if err != nil {
+ return nil, err
+ }
+ var targets []*querypb.Target
+ for _, rs := range rss {
+ targets = append(targets, rs.Target)
+ }
+ return vc.executor.UnresolvedTransactions(ctx, targets)
+}
+
+func (vc *vcursorImpl) StartPrimitiveTrace() func() engine.Stats {
+ vc.interOpStats = make(map[engine.Primitive]engine.RowsReceived)
+ vc.shardsStats = make(map[engine.Primitive]engine.ShardsQueried)
+ return func() engine.Stats {
+ return engine.Stats{
+ InterOpStats: vc.interOpStats,
+ ShardsStats: vc.shardsStats,
+ }
+ }
+}
+
// FindTable finds the specified table. If the keyspace what specified in the input, it gets used as qualifier.
// Otherwise, the keyspace from the request is used, if one was provided.
func (vc *vcursorImpl) FindTable(name sqlparser.TableName) (*vindexes.Table, string, topodatapb.TabletType, key.Destination, error) {
@@ -488,11 +530,30 @@ func (vc *vcursorImpl) ExecutePrimitive(ctx context.Context, primitive engine.Pr
if err != nil && vterrors.RootCause(err) == buffer.ShardMissingError {
continue
}
+ vc.logOpTraffic(primitive, res)
return res, err
}
return nil, vterrors.New(vtrpcpb.Code_UNAVAILABLE, "upstream shards are not available")
}
+func (vc *vcursorImpl) logOpTraffic(primitive engine.Primitive, res *sqltypes.Result) {
+ if vc.interOpStats != nil {
+ rows := vc.interOpStats[primitive]
+ if res == nil {
+ rows = append(rows, 0)
+ } else {
+ rows = append(rows, len(res.Rows))
+ }
+ vc.interOpStats[primitive] = rows
+ }
+}
+
+func (vc *vcursorImpl) logShardsQueried(primitive engine.Primitive, shardsNb int) {
+ if vc.shardsStats != nil {
+ vc.shardsStats[primitive] += engine.ShardsQueried(shardsNb)
+ }
+}
+
func (vc *vcursorImpl) ExecutePrimitiveStandalone(ctx context.Context, primitive engine.Primitive, bindVars map[string]*querypb.BindVariable, wantfields bool) (*sqltypes.Result, error) {
// clone the vcursorImpl with a new session.
newVC := vc.cloneWithAutocommitSession()
@@ -501,12 +562,26 @@ func (vc *vcursorImpl) ExecutePrimitiveStandalone(ctx context.Context, primitive
if err != nil && vterrors.RootCause(err) == buffer.ShardMissingError {
continue
}
+ vc.logOpTraffic(primitive, res)
return res, err
}
return nil, vterrors.New(vtrpcpb.Code_UNAVAILABLE, "upstream shards are not available")
}
+func (vc *vcursorImpl) wrapCallback(callback func(*sqltypes.Result) error, primitive engine.Primitive) func(*sqltypes.Result) error {
+ if vc.interOpStats == nil {
+ return callback
+ }
+
+ return func(result *sqltypes.Result) error {
+ vc.logOpTraffic(primitive, result)
+ return callback(result)
+ }
+}
+
func (vc *vcursorImpl) StreamExecutePrimitive(ctx context.Context, primitive engine.Primitive, bindVars map[string]*querypb.BindVariable, wantfields bool, callback func(*sqltypes.Result) error) error {
+ callback = vc.wrapCallback(callback, primitive)
+
for try := 0; try < MaxBufferingRetries; try++ {
err := primitive.TryStreamExecute(ctx, vc, bindVars, wantfields, callback)
if err != nil && vterrors.RootCause(err) == buffer.ShardMissingError {
@@ -518,6 +593,8 @@ func (vc *vcursorImpl) StreamExecutePrimitive(ctx context.Context, primitive eng
}
func (vc *vcursorImpl) StreamExecutePrimitiveStandalone(ctx context.Context, primitive engine.Primitive, bindVars map[string]*querypb.BindVariable, wantfields bool, callback func(result *sqltypes.Result) error) error {
+ callback = vc.wrapCallback(callback, primitive)
+
// clone the vcursorImpl with a new session.
newVC := vc.cloneWithAutocommitSession()
for try := 0; try < MaxBufferingRetries; try++ {
@@ -582,14 +659,16 @@ func (vc *vcursorImpl) ExecuteMultiShard(ctx context.Context, primitive engine.P
return nil, []error{err}
}
- qr, errs := vc.executor.ExecuteMultiShard(ctx, primitive, rss, commentedShardQueries(queries, vc.marginComments), vc.safeSession, canAutocommit, vc.ignoreMaxMemoryRows)
+ qr, errs := vc.executor.ExecuteMultiShard(ctx, primitive, rss, commentedShardQueries(queries, vc.marginComments), vc.safeSession, canAutocommit, vc.ignoreMaxMemoryRows, vc.resultsObserver)
vc.setRollbackOnPartialExecIfRequired(len(errs) != len(rss), rollbackOnError)
-
+ vc.logShardsQueried(primitive, len(rss))
return qr, errs
}
// StreamExecuteMulti is the streaming version of ExecuteMultiShard.
func (vc *vcursorImpl) StreamExecuteMulti(ctx context.Context, primitive engine.Primitive, query string, rss []*srvtopo.ResolvedShard, bindVars []map[string]*querypb.BindVariable, rollbackOnError bool, autocommit bool, callback func(reply *sqltypes.Result) error) []error {
+ callback = vc.wrapCallback(callback, primitive)
+
noOfShards := len(rss)
atomic.AddUint64(&vc.logStats.ShardQueries, uint64(noOfShards))
err := vc.markSavepoint(ctx, rollbackOnError && (noOfShards > 1), map[string]*querypb.BindVariable{})
@@ -597,7 +676,7 @@ func (vc *vcursorImpl) StreamExecuteMulti(ctx context.Context, primitive engine.
return []error{err}
}
- errs := vc.executor.StreamExecuteMulti(ctx, primitive, vc.marginComments.Leading+query+vc.marginComments.Trailing, rss, bindVars, vc.safeSession, autocommit, callback)
+ errs := vc.executor.StreamExecuteMulti(ctx, primitive, vc.marginComments.Leading+query+vc.marginComments.Trailing, rss, bindVars, vc.safeSession, autocommit, callback, vc.resultsObserver)
vc.setRollbackOnPartialExecIfRequired(len(errs) != len(rss), rollbackOnError)
return errs
@@ -620,7 +699,8 @@ func (vc *vcursorImpl) ExecuteStandalone(ctx context.Context, primitive engine.P
}
// The autocommit flag is always set to false because we currently don't
// execute DMLs through ExecuteStandalone.
- qr, errs := vc.executor.ExecuteMultiShard(ctx, primitive, rss, bqs, NewAutocommitSession(vc.safeSession.Session), false /* autocommit */, vc.ignoreMaxMemoryRows)
+ qr, errs := vc.executor.ExecuteMultiShard(ctx, primitive, rss, bqs, NewAutocommitSession(vc.safeSession.Session), false /* autocommit */, vc.ignoreMaxMemoryRows, vc.resultsObserver)
+ vc.logShardsQueried(primitive, len(rss))
return qr, vterrors.Aggregate(errs)
}
@@ -849,22 +929,6 @@ func (vc *vcursorImpl) SetQueryTimeout(maxExecutionTime int64) {
vc.safeSession.QueryTimeout = maxExecutionTime
}
-// GetQueryTimeout implements the SessionActions interface
-// The priority of adding query timeouts -
-// 1. Query timeout comment directive.
-// 2. If the comment directive is unspecified, then we use the session setting.
-// 3. If the comment directive and session settings is unspecified, then we use the global default specified by a flag.
-func (vc *vcursorImpl) GetQueryTimeout(queryTimeoutFromComments int) int {
- if queryTimeoutFromComments != 0 {
- return queryTimeoutFromComments
- }
- sessionQueryTimeout := int(vc.safeSession.GetQueryTimeout())
- if sessionQueryTimeout != 0 {
- return sessionQueryTimeout
- }
- return queryTimeout
-}
-
// SetClientFoundRows implements the SessionActions interface
func (vc *vcursorImpl) SetClientFoundRows(_ context.Context, clientFoundRows bool) error {
vc.safeSession.GetOrCreateOptions().ClientFoundRows = clientFoundRows
@@ -904,7 +968,41 @@ func (vc *vcursorImpl) SetPriority(priority string) {
} else if vc.safeSession.Options != nil && vc.safeSession.Options.Priority != "" {
vc.safeSession.Options.Priority = ""
}
+}
+
+func (vc *vcursorImpl) SetExecQueryTimeout(timeout *int) {
+ // Determine the effective timeout: use passed timeout if non-nil, otherwise use session's query timeout if available
+ var execTimeout *int
+ if timeout != nil {
+ execTimeout = timeout
+ } else if sessionTimeout := vc.getQueryTimeout(); sessionTimeout > 0 {
+ execTimeout = &sessionTimeout
+ }
+
+ // If no effective timeout and no session options, return early
+ if execTimeout == nil {
+ if vc.safeSession.GetOptions() == nil {
+ return
+ }
+ vc.safeSession.GetOrCreateOptions().Timeout = nil
+ return
+ }
+
+ vc.queryTimeout = time.Duration(*execTimeout) * time.Millisecond
+ // Set the authoritative timeout using the determined execTimeout
+ vc.safeSession.GetOrCreateOptions().Timeout = &querypb.ExecuteOptions_AuthoritativeTimeout{
+ AuthoritativeTimeout: int64(*execTimeout),
+ }
+}
+// getQueryTimeout returns timeout based on the priority
+// session setting > global default specified by a flag.
+func (vc *vcursorImpl) getQueryTimeout() int {
+ sessionQueryTimeout := int(vc.safeSession.GetQueryTimeout())
+ if sessionQueryTimeout != 0 {
+ return sessionQueryTimeout
+ }
+ return queryTimeout
}
// SetConsolidator implements the SessionActions interface
@@ -1084,6 +1182,23 @@ func (vc *vcursorImpl) GetAggregateUDFs() []string {
return vc.vschema.GetAggregateUDFs()
}
+// FindMirrorRule finds the mirror rule for the requested table name and
+// VSchema tablet type.
+func (vc *vcursorImpl) FindMirrorRule(name sqlparser.TableName) (*vindexes.MirrorRule, error) {
+ destKeyspace, destTabletType, _, err := vc.executor.ParseDestinationTarget(name.Qualifier.String())
+ if err != nil {
+ return nil, err
+ }
+ if destKeyspace == "" {
+ destKeyspace = vc.keyspace
+ }
+ mirrorRule, err := vc.vschema.FindMirrorRule(destKeyspace, name.Name.String(), destTabletType)
+ if err != nil {
+ return nil, err
+ }
+ return mirrorRule, err
+}
+
// ParseDestinationTarget parses destination target string and sets default keyspace if possible.
func parseDestinationTarget(targetString string, vschema *vindexes.VSchema) (string, topodatapb.TabletType, key.Destination, error) {
destKeyspace, destTabletType, dest, err := topoprotopb.ParseDestination(targetString, defaultTabletType)
@@ -1144,7 +1259,6 @@ func (vc *vcursorImpl) ExecuteVSchema(ctx context.Context, keyspace string, vsch
allowed := vschemaacl.Authorized(user)
if !allowed {
return vterrors.NewErrorf(vtrpcpb.Code_PERMISSION_DENIED, vterrors.AccessDeniedError, "User '%s' is not authorized to perform vschema operations", user.GetUsername())
-
}
// Resolve the keyspace either from the table qualifier or the target keyspace
@@ -1161,7 +1275,6 @@ func (vc *vcursorImpl) ExecuteVSchema(ctx context.Context, keyspace string, vsch
ks := srvVschema.Keyspaces[ksName]
ks, err := topotools.ApplyVSchemaDDL(ksName, ks, vschemaDDL)
-
if err != nil {
return err
}
@@ -1169,7 +1282,6 @@ func (vc *vcursorImpl) ExecuteVSchema(ctx context.Context, keyspace string, vsch
srvVschema.Keyspaces[ksName] = ks
return vc.vm.UpdateVSchema(ctx, ksName, srvVschema)
-
}
func (vc *vcursorImpl) MessageStream(ctx context.Context, rss []*srvtopo.ResolvedShard, tableName string, callback func(*sqltypes.Result) error) error {
@@ -1292,6 +1404,7 @@ func (vc *vcursorImpl) cloneWithAutocommitSession() *vcursorImpl {
topoServer: vc.topoServer,
warnShardedOnly: vc.warnShardedOnly,
pv: vc.pv,
+ resultsObserver: vc.resultsObserver,
}
}
@@ -1302,6 +1415,7 @@ func (vc *vcursorImpl) VExplainLogging() {
func (vc *vcursorImpl) GetVExplainLogs() []engine.ExecuteEntry {
return vc.safeSession.logging.GetLogs()
}
+
func (vc *vcursorImpl) FindRoutedShard(keyspace, shard string) (keyspaceName string, err error) {
return vc.vschema.FindRoutedShard(keyspace, shard)
}
@@ -1363,6 +1477,7 @@ func (vc *vcursorImpl) CloneForReplicaWarming(ctx context.Context) engine.VCurso
warnShardedOnly: vc.warnShardedOnly,
warnings: vc.warnings,
pv: vc.pv,
+ resultsObserver: nullResultsObserver{},
}
v.marginComments.Trailing += "/* warming read */"
@@ -1370,6 +1485,38 @@ func (vc *vcursorImpl) CloneForReplicaWarming(ctx context.Context) engine.VCurso
return v
}
+func (vc *vcursorImpl) CloneForMirroring(ctx context.Context) engine.VCursor {
+ callerId := callerid.EffectiveCallerIDFromContext(ctx)
+ immediateCallerId := callerid.ImmediateCallerIDFromContext(ctx)
+
+ clonedCtx := callerid.NewContext(ctx, callerId, immediateCallerId)
+
+ v := &vcursorImpl{
+ safeSession: NewAutocommitSession(vc.safeSession.Session),
+ keyspace: vc.keyspace,
+ tabletType: vc.tabletType,
+ destination: vc.destination,
+ marginComments: vc.marginComments,
+ executor: vc.executor,
+ resolver: vc.resolver,
+ topoServer: vc.topoServer,
+ logStats: &logstats.LogStats{Ctx: clonedCtx},
+ collation: vc.collation,
+ ignoreMaxMemoryRows: vc.ignoreMaxMemoryRows,
+ vschema: vc.vschema,
+ vm: vc.vm,
+ semTable: vc.semTable,
+ warnShardedOnly: vc.warnShardedOnly,
+ warnings: vc.warnings,
+ pv: vc.pv,
+ resultsObserver: nullResultsObserver{},
+ }
+
+ v.marginComments.Trailing += "/* mirror query */"
+
+ return v
+}
+
// UpdateForeignKeyChecksState updates the foreign key checks state of the vcursor.
func (vc *vcursorImpl) UpdateForeignKeyChecksState(fkStateFromQuery *bool) {
// Initialize the state to unspecified.
diff --git a/go/vt/vtgate/vcursor_impl_test.go b/go/vt/vtgate/vcursor_impl_test.go
index b8e4a0d3a0a..5d2dc2cb44a 100644
--- a/go/vt/vtgate/vcursor_impl_test.go
+++ b/go/vt/vtgate/vcursor_impl_test.go
@@ -7,6 +7,7 @@ import (
"strconv"
"strings"
"testing"
+ "time"
"github.com/stretchr/testify/require"
@@ -326,3 +327,48 @@ func TestFirstSortedKeyspace(t *testing.T) {
require.NoError(t, err)
require.Equal(t, ks3Schema.Keyspace, ks)
}
+
+// TestSetExecQueryTimeout tests the SetExecQueryTimeout method.
+// Validates the timeout value is set based on override rule.
+func TestSetExecQueryTimeout(t *testing.T) {
+ executor, _, _, _, _ := createExecutorEnv(t)
+ safeSession := NewSafeSession(nil)
+ vc, err := newVCursorImpl(safeSession, sqlparser.MarginComments{}, executor, nil, nil, &vindexes.VSchema{}, nil, nil, false, querypb.ExecuteOptions_Gen4)
+ require.NoError(t, err)
+
+ // flag timeout
+ queryTimeout = 20
+ vc.SetExecQueryTimeout(nil)
+ require.Equal(t, 20*time.Millisecond, vc.queryTimeout)
+ require.NotNil(t, safeSession.Options.Timeout)
+ require.EqualValues(t, 20, safeSession.Options.GetAuthoritativeTimeout())
+
+ // session timeout
+ safeSession.SetQueryTimeout(40)
+ vc.SetExecQueryTimeout(nil)
+ require.Equal(t, 40*time.Millisecond, vc.queryTimeout)
+ require.NotNil(t, safeSession.Options.Timeout)
+ require.EqualValues(t, 40, safeSession.Options.GetAuthoritativeTimeout())
+
+ // query hint timeout
+ timeoutQueryHint := 60
+ vc.SetExecQueryTimeout(&timeoutQueryHint)
+ require.Equal(t, 60*time.Millisecond, vc.queryTimeout)
+ require.NotNil(t, safeSession.Options.Timeout)
+ require.EqualValues(t, 60, safeSession.Options.GetAuthoritativeTimeout())
+
+ // query hint timeout - infinite
+ timeoutQueryHint = 0
+ vc.SetExecQueryTimeout(&timeoutQueryHint)
+ require.Equal(t, 0*time.Millisecond, vc.queryTimeout)
+ require.NotNil(t, safeSession.Options.Timeout)
+ require.EqualValues(t, 0, safeSession.Options.GetAuthoritativeTimeout())
+
+ // reset
+ queryTimeout = 0
+ safeSession.SetQueryTimeout(0)
+ vc.SetExecQueryTimeout(nil)
+ require.Equal(t, 0*time.Millisecond, vc.queryTimeout)
+ // this should be reset.
+ require.Nil(t, safeSession.Options.Timeout)
+}
diff --git a/go/vt/vtgate/vindexes/region_experimental.go b/go/vt/vtgate/vindexes/region_experimental.go
index c116e9bd84d..c6b867647aa 100644
--- a/go/vt/vtgate/vindexes/region_experimental.go
+++ b/go/vt/vtgate/vindexes/region_experimental.go
@@ -20,7 +20,6 @@ import (
"bytes"
"context"
"encoding/binary"
- "fmt"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/vt/key"
@@ -61,7 +60,7 @@ type RegionExperimental struct {
func newRegionExperimental(name string, m map[string]string) (Vindex, error) {
rbs, ok := m[regionExperimentalParamRegionBytes]
if !ok {
- return nil, vterrors.Errorf(vtrpc.Code_INVALID_ARGUMENT, fmt.Sprintf("region_experimental missing %s param", regionExperimentalParamRegionBytes))
+ return nil, vterrors.Errorf(vtrpc.Code_INVALID_ARGUMENT, "region_experimental missing %s param", regionExperimentalParamRegionBytes)
}
var rb int
switch rbs {
diff --git a/go/vt/vtgate/vindexes/vschema.go b/go/vt/vtgate/vindexes/vschema.go
index eba3ac49969..3852bbfcde3 100644
--- a/go/vt/vtgate/vindexes/vschema.go
+++ b/go/vt/vtgate/vindexes/vschema.go
@@ -63,6 +63,7 @@ const (
// VSchema represents the denormalized version of SrvVSchema,
// used for building routing plans.
type VSchema struct {
+ MirrorRules map[string]*MirrorRule `json:"mirror_rules"`
RoutingRules map[string]*RoutingRule `json:"routing_rules"`
// globalTables contains the name of all tables in all keyspaces. If the
@@ -79,13 +80,34 @@ type VSchema struct {
created time.Time
}
+// MirrorRule represents one mirror rule.
+type MirrorRule struct {
+ Error error
+ Percent float32 `json:"percent,omitempty"`
+ Table *Table `json:"table,omitempty"`
+}
+
+// MarshalJSON returns a JSON representation of MirrorRule.
+func (mr *MirrorRule) MarshalJSON() ([]byte, error) {
+ if mr.Error != nil {
+ return json.Marshal(mr.Error.Error())
+ }
+ return json.Marshal(struct {
+ Percent float32
+ Table *Table
+ }{
+ Percent: mr.Percent,
+ Table: mr.Table,
+ })
+}
+
// RoutingRule represents one routing rule.
type RoutingRule struct {
Tables []*Table
Error error
}
-// MarshalJSON returns a JSON representation of Column.
+// MarshalJSON returns a JSON representation of RoutingRule.
func (rr *RoutingRule) MarshalJSON() ([]byte, error) {
if rr.Error != nil {
return json.Marshal(rr.Error.Error())
@@ -324,6 +346,7 @@ func (source *Source) String() string {
// BuildVSchema builds a VSchema from a SrvVSchema.
func BuildVSchema(source *vschemapb.SrvVSchema, parser *sqlparser.Parser) (vschema *VSchema) {
vschema = &VSchema{
+ MirrorRules: make(map[string]*MirrorRule),
RoutingRules: make(map[string]*RoutingRule),
globalTables: make(map[string]*Table),
uniqueVindexes: make(map[string]Vindex),
@@ -338,6 +361,7 @@ func BuildVSchema(source *vschemapb.SrvVSchema, parser *sqlparser.Parser) (vsche
buildRoutingRule(source, vschema, parser)
buildShardRoutingRule(source, vschema)
buildKeyspaceRoutingRule(source, vschema)
+ buildMirrorRule(source, vschema, parser)
// Resolve auto-increments after routing rules are built since sequence tables also obey routing rules.
resolveAutoIncrement(source, vschema, parser)
return vschema
@@ -895,7 +919,7 @@ func escapeQualifiedTable(qualifiedTableName string) (string, error) {
}
func extractTableParts(tableName string, allowUnqualified bool) (string, string, error) {
- errMsgFormat := "invalid table name: %s, it must be of the "
+ errMsgFormat := "invalid table name: '%s', it must be of the "
if allowUnqualified {
errMsgFormat = errMsgFormat + "unqualified form or the "
}
@@ -914,7 +938,6 @@ func extractTableParts(tableName string, allowUnqualified bool) (string, string,
}
// Using fmt.Errorf instead of vterrors here because this error is always wrapped in vterrors.
return "", "", fmt.Errorf(errMsgFormat, tableName)
-
}
func parseTable(tableName string) (sqlparser.TableName, error) {
@@ -963,7 +986,7 @@ outer:
toTable, err = escapeQualifiedTable(toTable)
if err != nil {
vschema.RoutingRules[rule.FromTable] = &RoutingRule{
- Error: vterrors.Errorf(
+ Error: vterrors.New(
vtrpcpb.Code_INVALID_ARGUMENT,
err.Error(),
),
@@ -972,7 +995,6 @@ outer:
}
toKeyspace, toTableName, err := parser.ParseTable(toTable)
-
if err != nil {
vschema.RoutingRules[rule.FromTable] = &RoutingRule{
Error: err,
@@ -1025,6 +1047,216 @@ func buildKeyspaceRoutingRule(source *vschemapb.SrvVSchema, vschema *VSchema) {
vschema.KeyspaceRoutingRules = rulesMap
}
+func buildMirrorRule(source *vschemapb.SrvVSchema, vschema *VSchema, parser *sqlparser.Parser) {
+ if source.MirrorRules == nil {
+ return
+ }
+
+ // Used to validate no mirror chains exist.
+ fromTableKeyspaces := make(map[string]string)
+ toKeyspaces := make(map[string]struct{})
+
+ for _, rule := range source.MirrorRules.Rules {
+ toTable := rule.ToTable
+
+ //
+ // Forbid duplicate FromTables expressions.
+ //
+
+ if _, ok := vschema.MirrorRules[rule.FromTable]; ok {
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Error: vterrors.Errorf(
+ vtrpcpb.Code_ALREADY_EXISTS,
+ "from table: duplicate rule for entry '%s'",
+ rule.FromTable,
+ ),
+ }
+ continue
+ }
+
+ //
+ // Parse and validate FromTable.
+ //
+
+ // Separate tablet-type from rest of FromTable.
+ fromTableParts := strings.Split(rule.FromTable, "@")
+ if len(fromTableParts) == 0 {
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Error: vterrors.Errorf(
+ vtrpcpb.Code_INVALID_ARGUMENT,
+ "from table: invalid table name: '%s'",
+ rule.FromTable,
+ ),
+ }
+ }
+
+ // Escape and parse the FromTable, without table-type specifier.
+ fromTable, err := escapeQualifiedTable(fromTableParts[0])
+ if err != nil {
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Error: vterrors.Errorf(
+ vtrpcpb.Code_INVALID_ARGUMENT,
+ "from table: %s",
+ err.Error(),
+ ),
+ }
+ continue
+ }
+ fromKeyspace, fromTableName, err := parser.ParseTable(fromTable)
+ if err != nil {
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Error: vterrors.Errorf(
+ vtrpcpb.Code_INVALID_ARGUMENT,
+ "from table: invalid table name: '%s'",
+ err.Error(),
+ ),
+ }
+ continue
+ }
+
+ // Find the from table.
+ _, err = vschema.FindTable(fromKeyspace, fromTableName)
+ if err != nil {
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Error: vterrors.Errorf(
+ vtrpcpb.Code_INVALID_ARGUMENT,
+ "from table: %s",
+ err.Error(),
+ ),
+ }
+ continue
+ }
+
+ // Validate the table-type, if specified.
+ if len(fromTableParts) > 1 {
+ fromTabletTypeSuffix := "@" + strings.Join(fromTableParts[1:], "")
+ var ok bool
+ for _, tabletTypeSuffix := range TabletTypeSuffix {
+ if tabletTypeSuffix == fromTabletTypeSuffix {
+ ok = true
+ break
+ }
+ }
+ if !ok {
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Error: vterrors.Errorf(
+ vtrpcpb.Code_INVALID_ARGUMENT,
+ "from table: invalid tablet type: '%s'",
+ rule.FromTable,
+ ),
+ }
+ continue
+ }
+ }
+
+ //
+ // Parse and validate ToTable.
+ //
+
+ // Forbid tablet-type specifier.
+ toTableParts := strings.Split(toTable, "@")
+ if len(toTableParts) != 1 || toTableParts[0] == "@" {
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Error: vterrors.Errorf(
+ vtrpcpb.Code_INVALID_ARGUMENT,
+ "to table: tablet type may not be specified: '%s'",
+ rule.ToTable,
+ ),
+ }
+ continue
+ }
+
+ // Escape and parse the table.
+ toTable, err = escapeQualifiedTable(toTable)
+ if err != nil {
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Error: vterrors.Errorf(
+ vtrpcpb.Code_INVALID_ARGUMENT,
+ "to table: %s",
+ err.Error(),
+ ),
+ }
+ continue
+ }
+ toKeyspace, toTableName, err := parser.ParseTable(toTable)
+ if err != nil {
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Error: vterrors.Errorf(
+ vtrpcpb.Code_INVALID_ARGUMENT,
+ "to table: invalid table name: '%s'",
+ rule.ToTable,
+ ),
+ }
+ continue
+ }
+
+ // Forbid self-mirroring.
+ if fromKeyspace == toKeyspace {
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Error: vterrors.Errorf(
+ vtrpcpb.Code_INVALID_ARGUMENT,
+ "to table: cannot reside in same keyspace as from table",
+ ),
+ }
+ continue
+ }
+
+ //
+ // Find table in VSchema.
+ //
+
+ t, err := vschema.FindTable(toKeyspace, toTableName)
+ if err != nil {
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Error: vterrors.Errorf(
+ vtrpcpb.Code_INVALID_ARGUMENT,
+ "to table: %s",
+ err.Error(),
+ ),
+ }
+ continue
+ }
+
+ //
+ // Return non-error mirror rule.
+ //
+
+ vschema.MirrorRules[rule.FromTable] = &MirrorRule{
+ Table: t,
+ Percent: rule.Percent,
+ }
+
+ //
+ // Save some info for validating no mirror chains exist
+ //
+
+ fromTableKeyspaces[rule.FromTable] = fromKeyspace
+ toKeyspaces[toKeyspace] = struct{}{}
+ }
+
+ // Forbid mirror chains. Keyspaces which are the target of a mirror rule
+ // may not be the source of another.
+ for fromTable, rule := range vschema.MirrorRules {
+ if rule.Error != nil {
+ continue
+ }
+ fromKeyspace, ok := fromTableKeyspaces[fromTable]
+ if !ok {
+ rule.Error = vterrors.Errorf(
+ vtrpcpb.Code_INTERNAL,
+ "[BUG] from table: failed to determine keyspace",
+ )
+ continue
+ }
+ if _, ok := toKeyspaces[fromKeyspace]; ok {
+ rule.Error = vterrors.Errorf(
+ vtrpcpb.Code_INVALID_ARGUMENT,
+ "mirror chaining is not allowed",
+ )
+ }
+ }
+}
+
// FindTable returns a pointer to the Table. If a keyspace is specified, only tables
// from that keyspace are searched. If the specified keyspace is unsharded
// and no tables matched, it's considered valid: FindTable will construct a table
@@ -1325,6 +1557,28 @@ func (vschema *VSchema) GetAggregateUDFs() (udfs []string) {
return
}
+// FindMirrorRule finds a mirror rule from the keyspace, table name and
+// tablet type.
+func (vschema *VSchema) FindMirrorRule(keyspace, tablename string, tabletType topodatapb.TabletType) (*MirrorRule, error) {
+ qualified := tablename
+ if keyspace != "" {
+ qualified = keyspace + "." + tablename
+ }
+ fqtn := qualified + TabletTypeSuffix[tabletType]
+ // First look for a fully qualified table name: keyspace.table@tablet_type.
+ // Then look for one without tablet type: keyspace.table.
+ for _, name := range []string{fqtn, qualified} {
+ mr, ok := vschema.MirrorRules[name]
+ if ok {
+ if mr.Error != nil {
+ return nil, mr.Error
+ }
+ return mr, nil
+ }
+ }
+ return nil, nil
+}
+
// ByCost provides the interface needed for ColumnVindexes to
// be sorted by cost order.
type ByCost []*ColumnVindex
@@ -1392,7 +1646,7 @@ func ChooseVindexForType(typ querypb.Type) (string, error) {
// FindBestColVindex finds the best ColumnVindex for VReplication.
func FindBestColVindex(table *Table) (*ColumnVindex, error) {
- if table.ColumnVindexes == nil || len(table.ColumnVindexes) == 0 {
+ if len(table.ColumnVindexes) == 0 {
return nil, vterrors.Errorf(
vtrpcpb.Code_INVALID_ARGUMENT,
"table %s has no vindex",
diff --git a/go/vt/vtgate/vindexes/vschema_test.go b/go/vt/vtgate/vindexes/vschema_test.go
index 7761b6ae8ab..25f8e135698 100644
--- a/go/vt/vtgate/vindexes/vschema_test.go
+++ b/go/vt/vtgate/vindexes/vschema_test.go
@@ -838,6 +838,7 @@ func TestVSchemaRoutingRules(t *testing.T) {
Keyspace: ks2,
}
want := &VSchema{
+ MirrorRules: map[string]*MirrorRule{},
RoutingRules: map[string]*RoutingRule{
"rt1": {
Error: errors.New("table rt1 has more than one target: [ks1.t1 ks2.t2]"),
@@ -852,10 +853,10 @@ func TestVSchemaRoutingRules(t *testing.T) {
Error: errors.New("duplicate rule for entry dup"),
},
"badname": {
- Error: errors.New("invalid table name: t1.t2.t3, it must be of the qualified form . (dots are not allowed in either name)"),
+ Error: errors.New("invalid table name: 't1.t2.t3', it must be of the qualified form . (dots are not allowed in either name)"),
},
"unqualified": {
- Error: errors.New("invalid table name: t1, it must be of the qualified form . (dots are not allowed in either name)"),
+ Error: errors.New("invalid table name: 't1', it must be of the qualified form . (dots are not allowed in either name)"),
},
"badkeyspace": {
Error: errors.New("VT05003: unknown database 'ks3' in vschema"),
@@ -897,6 +898,282 @@ func TestVSchemaRoutingRules(t *testing.T) {
assert.Equal(t, string(wantb), string(gotb), string(gotb))
}
+func TestVSchemaMirrorRules(t *testing.T) {
+ input := vschemapb.SrvVSchema{
+ MirrorRules: &vschemapb.MirrorRules{
+ Rules: []*vschemapb.MirrorRule{
+ // Empty FromTable not allowed.
+ {
+ FromTable: "",
+ ToTable: "ks2.ks2t1",
+ },
+ // Invalid FromTable, needs to be .[@].
+ {
+ FromTable: "ks1",
+ ToTable: "ks2.ks2t1",
+ },
+ // Invalid ToTable, needs to be ..
+ {
+ FromTable: "ks1.ks1t1",
+ ToTable: "ks2",
+ },
+ // Invalid ToTable, needs to be ..
+ {
+ FromTable: "ks1.ks1t2",
+ ToTable: "ks2.ks2t2.c",
+ },
+ // OK, unsharded => unsharded.
+ {
+ FromTable: "ks1.ks1t3",
+ ToTable: "ks2.ks2t3",
+ Percent: 50,
+ },
+ // Invalid ToTable, needs to be ..
+ {
+ FromTable: "ks1.ks1t4",
+ ToTable: "ks2.ks2t4@replica",
+ },
+ // OK, unsharded@tablet-type => unsharded.
+ {
+ FromTable: "ks1.ks1t5@replica",
+ ToTable: "ks2.ks2t5",
+ },
+ // Invalid FromTable tablet type..
+ {
+ FromTable: "ks1.ks1t6@stone",
+ ToTable: "ks2.ks2t6",
+ },
+ // OK, sharded => sharded.
+ {
+ FromTable: "ks3.ks3t1",
+ ToTable: "ks4.ks4t1",
+ Percent: 50,
+ },
+ // OK, unsharded => sharded.
+ {
+ FromTable: "ks1.ks1t7",
+ ToTable: "ks4.ks4t1",
+ Percent: 50,
+ },
+ // Destination sharded table must be defined in VSchema.
+ {
+ FromTable: "ks1.ks1t8",
+ ToTable: "ks4.ks4t2",
+ Percent: 50,
+ },
+ // Source sharded table must be defined in VSchema.
+ {
+ FromTable: "ks3.ks3t2",
+ ToTable: "ks4.ks4t1",
+ Percent: 50,
+ },
+ // Keyspaces that are the target of a rule may not be the
+ // source of another.
+ {
+ FromTable: "ks2.ks2t9",
+ ToTable: "ks4.ks4t1",
+ Percent: 50,
+ },
+ },
+ },
+ RoutingRules: &vschemapb.RoutingRules{},
+ Keyspaces: map[string]*vschemapb.Keyspace{
+ "ks1": {
+ ForeignKeyMode: vschemapb.Keyspace_unmanaged,
+ Tables: map[string]*vschemapb.Table{},
+ },
+ "ks2": {
+ ForeignKeyMode: vschemapb.Keyspace_unmanaged,
+ Tables: map[string]*vschemapb.Table{},
+ },
+ "ks3": {
+ Sharded: true,
+ ForeignKeyMode: vschemapb.Keyspace_unmanaged,
+ Vindexes: map[string]*vschemapb.Vindex{
+ "stfu1": {
+ Type: "stfu",
+ },
+ },
+ Tables: map[string]*vschemapb.Table{
+ "ks3t1": {
+ ColumnVindexes: []*vschemapb.ColumnVindex{
+ {
+ Column: "id",
+ Name: "stfu1",
+ },
+ },
+ },
+ },
+ },
+ "ks4": {
+ Sharded: true,
+ ForeignKeyMode: vschemapb.Keyspace_unmanaged,
+ Vindexes: map[string]*vschemapb.Vindex{
+ "stfu1": {
+ Type: "stfu",
+ },
+ },
+ Tables: map[string]*vschemapb.Table{
+ "ks4t1": {
+ ColumnVindexes: []*vschemapb.ColumnVindex{
+ {
+ Column: "id",
+ Name: "stfu1",
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+ got := BuildVSchema(&input, sqlparser.NewTestParser())
+
+ ks1 := &Keyspace{
+ Name: "ks1",
+ Sharded: false,
+ }
+ ks2 := &Keyspace{
+ Name: "ks2",
+ Sharded: false,
+ }
+ ks3 := &Keyspace{
+ Name: "ks3",
+ Sharded: true,
+ }
+ ks4 := &Keyspace{
+ Name: "ks4",
+ Sharded: true,
+ }
+
+ vindex1 := &stFU{
+ name: "stfu1",
+ }
+
+ ks3t1 := &Table{
+ Name: sqlparser.NewIdentifierCS("ks3t1"),
+ Keyspace: ks3,
+ ColumnVindexes: []*ColumnVindex{{
+ Columns: []sqlparser.IdentifierCI{sqlparser.NewIdentifierCI("id")},
+ Type: "stfu",
+ Name: "stfu1",
+ Vindex: vindex1,
+ isUnique: vindex1.IsUnique(),
+ cost: vindex1.Cost(),
+ }},
+ }
+ ks3t1.Ordered = []*ColumnVindex{
+ ks3t1.ColumnVindexes[0],
+ }
+
+ ks4t1 := &Table{
+ Name: sqlparser.NewIdentifierCS("ks4t1"),
+ Keyspace: ks4,
+ ColumnVindexes: []*ColumnVindex{{
+ Columns: []sqlparser.IdentifierCI{sqlparser.NewIdentifierCI("id")},
+ Type: "stfu",
+ Name: "stfu1",
+ Vindex: vindex1,
+ isUnique: vindex1.IsUnique(),
+ cost: vindex1.Cost(),
+ }},
+ }
+ ks4t1.Ordered = []*ColumnVindex{
+ ks4t1.ColumnVindexes[0],
+ }
+
+ want := &VSchema{
+ MirrorRules: map[string]*MirrorRule{
+ "": {
+ Error: errors.New("from table: invalid table name: '', it must be of the qualified form . (dots are not allowed in either name)"),
+ },
+ "ks1": {
+ Error: errors.New("from table: invalid table name: 'ks1', it must be of the qualified form . (dots are not allowed in either name)"),
+ },
+ "ks1.ks1t1": {
+ Error: errors.New("to table: invalid table name: 'ks2', it must be of the qualified form . (dots are not allowed in either name)"),
+ },
+ "ks1.ks1t2": {
+ Error: errors.New("to table: invalid table name: 'ks2.ks2t2.c', it must be of the qualified form . (dots are not allowed in either name)"),
+ },
+ "ks1.ks1t3": {
+ Table: &Table{
+ Name: sqlparser.NewIdentifierCS("ks2t3"),
+ },
+ Percent: 50,
+ },
+ "ks1.ks1t4": {
+ Error: errors.New("to table: tablet type may not be specified: 'ks2.ks2t4@replica'"),
+ },
+ "ks1.ks1t5@replica": {
+ Table: &Table{
+ Name: sqlparser.NewIdentifierCS("ks2t5"),
+ },
+ },
+ "ks1.ks1t6@stone": {
+ Error: errors.New("from table: invalid tablet type: 'ks1.ks1t6@stone'"),
+ },
+ "ks3.ks3t1": {
+ Table: ks4t1,
+ Percent: 50,
+ },
+ "ks1.ks1t7": {
+ Table: ks4t1,
+ Percent: 50,
+ },
+ "ks1.ks1t8": {
+ Error: errors.New("to table: table ks4t2 not found"),
+ },
+ "ks3.ks3t2": {
+ Error: errors.New("from table: table ks3t2 not found"),
+ },
+ "ks2.ks2t9": {
+ Error: errors.New("mirror chaining is not allowed"),
+ },
+ },
+ RoutingRules: map[string]*RoutingRule{},
+ Keyspaces: map[string]*KeyspaceSchema{
+ "ks1": {
+ Keyspace: ks1,
+ ForeignKeyMode: vschemapb.Keyspace_unmanaged,
+ Tables: map[string]*Table{},
+ Vindexes: map[string]Vindex{},
+ },
+ "ks2": {
+ ForeignKeyMode: vschemapb.Keyspace_unmanaged,
+ Keyspace: ks2,
+ Tables: map[string]*Table{},
+ Vindexes: map[string]Vindex{},
+ },
+ "ks3": {
+ ForeignKeyMode: vschemapb.Keyspace_unmanaged,
+ Keyspace: ks3,
+ Tables: map[string]*Table{
+ "ks3t1": ks3t1,
+ },
+ Vindexes: map[string]Vindex{
+ "stfu1": vindex1,
+ },
+ },
+ "ks4": {
+ ForeignKeyMode: vschemapb.Keyspace_unmanaged,
+ Keyspace: ks4,
+ Tables: map[string]*Table{
+ "ks4t1": ks4t1,
+ },
+ Vindexes: map[string]Vindex{
+ "stfu1": vindex1,
+ },
+ },
+ },
+ }
+
+ gotb, err := json.MarshalIndent(got, "", " ")
+ assert.NoError(t, err)
+ wantb, err := json.MarshalIndent(want, "", " ")
+ assert.NoError(t, err)
+ assert.Equal(t, string(wantb), string(gotb), string(gotb))
+}
+
func TestChooseVindexForType(t *testing.T) {
testcases := []struct {
in querypb.Type
@@ -1247,6 +1524,7 @@ func TestShardedVSchemaMultiColumnVindex(t *testing.T) {
t1.ColumnVindexes[0],
}
want := &VSchema{
+ MirrorRules: map[string]*MirrorRule{},
RoutingRules: map[string]*RoutingRule{},
globalTables: map[string]*Table{
"t1": t1,
@@ -1323,6 +1601,7 @@ func TestShardedVSchemaNotOwned(t *testing.T) {
t1.ColumnVindexes[1],
t1.ColumnVindexes[0]}
want := &VSchema{
+ MirrorRules: map[string]*MirrorRule{},
RoutingRules: map[string]*RoutingRule{},
globalTables: map[string]*Table{
"t1": t1,
@@ -1430,6 +1709,7 @@ func TestBuildVSchemaDupSeq(t *testing.T) {
Keyspace: ksb,
Type: "sequence"}
want := &VSchema{
+ MirrorRules: map[string]*MirrorRule{},
RoutingRules: map[string]*RoutingRule{},
globalTables: map[string]*Table{
"t1": nil,
@@ -1491,6 +1771,7 @@ func TestBuildVSchemaDupTable(t *testing.T) {
Keyspace: ksb,
}
want := &VSchema{
+ MirrorRules: map[string]*MirrorRule{},
RoutingRules: map[string]*RoutingRule{},
globalTables: map[string]*Table{
"t1": nil,
@@ -1620,6 +1901,7 @@ func TestBuildVSchemaDupVindex(t *testing.T) {
t2.ColumnVindexes[0],
}
want := &VSchema{
+ MirrorRules: map[string]*MirrorRule{},
RoutingRules: map[string]*RoutingRule{},
globalTables: map[string]*Table{
"t1": nil,
@@ -2206,6 +2488,7 @@ func TestSequence(t *testing.T) {
t2.ColumnVindexes[0],
}
want := &VSchema{
+ MirrorRules: map[string]*MirrorRule{},
RoutingRules: map[string]*RoutingRule{},
globalTables: map[string]*Table{
"seq": seq,
diff --git a/go/vt/vtgate/vschema_manager_test.go b/go/vt/vtgate/vschema_manager_test.go
index 8dfb889df0d..8db0c2df05b 100644
--- a/go/vt/vtgate/vschema_manager_test.go
+++ b/go/vt/vtgate/vschema_manager_test.go
@@ -234,6 +234,7 @@ func TestVSchemaUpdate(t *testing.T) {
},
},
expected: &vindexes.VSchema{
+ MirrorRules: map[string]*vindexes.MirrorRule{},
RoutingRules: map[string]*vindexes.RoutingRule{},
Keyspaces: map[string]*vindexes.KeyspaceSchema{
"ks": {
@@ -499,6 +500,7 @@ func TestVSchemaUDFsUpdate(t *testing.T) {
}, nil)
utils.MustMatchFn(".globalTables", ".uniqueVindexes")(t, &vindexes.VSchema{
+ MirrorRules: map[string]*vindexes.MirrorRule{},
RoutingRules: map[string]*vindexes.RoutingRule{},
Keyspaces: map[string]*vindexes.KeyspaceSchema{
"ks": {
@@ -821,6 +823,7 @@ func TestVSchemaUpdateWithFKReferenceToInternalTables(t *testing.T) {
}, nil)
utils.MustMatchFn(".globalTables", ".uniqueVindexes")(t, &vindexes.VSchema{
+ MirrorRules: map[string]*vindexes.MirrorRule{},
RoutingRules: map[string]*vindexes.RoutingRule{},
Keyspaces: map[string]*vindexes.KeyspaceSchema{
"ks": {
@@ -870,6 +873,7 @@ func makeTestVSchema(ks string, sharded bool, tbls map[string]*vindexes.Table) *
func makeTestEmptyVSchema() *vindexes.VSchema {
return &vindexes.VSchema{
+ MirrorRules: map[string]*vindexes.MirrorRule{},
RoutingRules: map[string]*vindexes.RoutingRule{},
Keyspaces: map[string]*vindexes.KeyspaceSchema{},
}
diff --git a/go/vt/vtgate/vstream_manager.go b/go/vt/vtgate/vstream_manager.go
index e0d195853cf..beb556f21f5 100644
--- a/go/vt/vtgate/vstream_manager.go
+++ b/go/vt/vtgate/vstream_manager.go
@@ -61,6 +61,10 @@ const maxSkewTimeoutSeconds = 10 * 60
// for a vstream
const tabletPickerContextTimeout = 90 * time.Second
+// stopOnReshardDelay is how long we wait, at a minimum, after sending a reshard journal event before
+// ending the stream from the tablet.
+const stopOnReshardDelay = 500 * time.Millisecond
+
// vstream contains the metadata for one VStream request.
type vstream struct {
// mu protects parts of vgtid, the semantics of a send, and journaler.
@@ -99,6 +103,10 @@ type vstream struct {
// default behavior is to automatically migrate the resharded streams from the old to the new shards
stopOnReshard bool
+ // This flag is set by the client, default is false.
+ // If true then the reshard journal events are sent in the stream irrespective of the stopOnReshard flag.
+ includeReshardJournalEvents bool
+
// mutex used to synchronize access to skew detection parameters
skewMu sync.Mutex
// channel is created whenever there is a skew detected. closing it implies the current skew has been fixed
@@ -122,6 +130,8 @@ type vstream struct {
ts *topo.Server
tabletPickerOptions discovery.TabletPickerOptions
+
+ flags *vtgatepb.VStreamFlags
}
type journalEvent struct {
@@ -163,26 +173,28 @@ func (vsm *vstreamManager) VStream(ctx context.Context, tabletType topodatapb.Ta
return fmt.Errorf("unable to get topo server")
}
vs := &vstream{
- vgtid: vgtid,
- tabletType: tabletType,
- optCells: flags.Cells,
- filter: filter,
- send: send,
- resolver: vsm.resolver,
- journaler: make(map[int64]*journalEvent),
- minimizeSkew: flags.GetMinimizeSkew(),
- stopOnReshard: flags.GetStopOnReshard(),
- skewTimeoutSeconds: maxSkewTimeoutSeconds,
- timestamps: make(map[string]int64),
- vsm: vsm,
- eventCh: make(chan []*binlogdatapb.VEvent),
- heartbeatInterval: flags.GetHeartbeatInterval(),
- ts: ts,
- copyCompletedShard: make(map[string]struct{}),
+ vgtid: vgtid,
+ tabletType: tabletType,
+ optCells: flags.Cells,
+ filter: filter,
+ send: send,
+ resolver: vsm.resolver,
+ journaler: make(map[int64]*journalEvent),
+ minimizeSkew: flags.GetMinimizeSkew(),
+ stopOnReshard: flags.GetStopOnReshard(),
+ includeReshardJournalEvents: flags.GetIncludeReshardJournalEvents(),
+ skewTimeoutSeconds: maxSkewTimeoutSeconds,
+ timestamps: make(map[string]int64),
+ vsm: vsm,
+ eventCh: make(chan []*binlogdatapb.VEvent),
+ heartbeatInterval: flags.GetHeartbeatInterval(),
+ ts: ts,
+ copyCompletedShard: make(map[string]struct{}),
tabletPickerOptions: discovery.TabletPickerOptions{
CellPreference: flags.GetCellPreference(),
TabletOrder: flags.GetTabletOrder(),
},
+ flags: flags,
}
return vs.stream(ctx)
}
@@ -269,7 +281,7 @@ func (vsm *vstreamManager) resolveParams(ctx context.Context, tabletType topodat
}
}
- //TODO add tablepk validations
+ // TODO add tablepk validations
return newvgtid, filter, flags, nil
}
@@ -575,15 +587,24 @@ func (vs *vstream) streamFromTablet(ctx context.Context, sgtid *binlogdatapb.Sha
})
}()
- log.Infof("Starting to vstream from %s", tablet.Alias.String())
+ var options *binlogdatapb.VStreamOptions
+ const SidecarDBHeartbeatTableName = "heartbeat"
+ if vs.flags.GetStreamKeyspaceHeartbeats() {
+ options = &binlogdatapb.VStreamOptions{
+ InternalTables: []string{SidecarDBHeartbeatTableName},
+ }
+ }
+
// Safe to access sgtid.Gtid here (because it can't change until streaming begins).
req := &binlogdatapb.VStreamRequest{
Target: target,
Position: sgtid.Gtid,
Filter: vs.filter,
TableLastPKs: sgtid.TablePKs,
+ Options: options,
}
var vstreamCreatedOnce sync.Once
+ log.Infof("Starting to vstream from %s, with req %+v", topoproto.TabletAliasString(tablet.Alias), req)
err = tabletConn.VStream(ctx, req, func(events []*binlogdatapb.VEvent) error {
// We received a valid event. Reset error count.
errCount = 0
@@ -608,7 +629,7 @@ func (vs *vstream) streamFromTablet(ctx context.Context, sgtid *binlogdatapb.Sha
}
sendevents := make([]*binlogdatapb.VEvent, 0, len(events))
- for _, event := range events {
+ for i, event := range events {
switch event.Type {
case binlogdatapb.VEventType_FIELD:
// Update table names and send.
@@ -658,12 +679,23 @@ func (vs *vstream) streamFromTablet(ctx context.Context, sgtid *binlogdatapb.Sha
if err := vs.alignStreams(ctx, event, sgtid.Keyspace, sgtid.Shard); err != nil {
return err
}
-
case binlogdatapb.VEventType_JOURNAL:
journal := event.Journal
- // Journal events are not sent to clients by default, but only when StopOnReshard is set
- if vs.stopOnReshard && journal.MigrationType == binlogdatapb.MigrationType_SHARDS {
+ // Journal events are not sent to clients by default, but only when
+ // IncludeReshardJournalEvents or StopOnReshard is set.
+ if (vs.includeReshardJournalEvents || vs.stopOnReshard) &&
+ journal.MigrationType == binlogdatapb.MigrationType_SHARDS {
sendevents = append(sendevents, event)
+ // Read any subsequent events until we get the VGTID->COMMIT events that
+ // always follow the JOURNAL event which is generated as a result of
+ // an autocommit insert into the _vt.resharding_journal table on the
+ // tablet.
+ for j := i + 1; j < len(events); j++ {
+ sendevents = append(sendevents, events[j])
+ if events[j].Type == binlogdatapb.VEventType_COMMIT {
+ break
+ }
+ }
eventss = append(eventss, sendevents)
if err := vs.sendAll(ctx, sgtid, eventss); err != nil {
return err
@@ -676,12 +708,28 @@ func (vs *vstream) streamFromTablet(ctx context.Context, sgtid *binlogdatapb.Sha
return err
}
if je != nil {
- // Wait till all other participants converge and return EOF.
+ var endTimer *time.Timer
+ if vs.stopOnReshard {
+ // We're going to be ending the tablet stream, along with the VStream, so
+ // we ensure a reasonable minimum amount of time is alloted for clients
+ // to Recv the journal event before the VStream's context is cancelled
+ // (which would cause the grpc SendMsg or RecvMsg to fail). If the client
+ // doesn't Recv the journal event before the VStream ends then they'll
+ // have to resume from the last ShardGtid they received before the
+ // journal event.
+ endTimer = time.NewTimer(stopOnReshardDelay)
+ defer endTimer.Stop()
+ }
+ // Wait until all other participants converge and then return EOF after
+ // any minimum delay has passed.
journalDone = je.done
select {
case <-ctx.Done():
return ctx.Err()
case <-journalDone:
+ if endTimer != nil {
+ <-endTimer.C
+ }
return io.EOF
}
}
@@ -690,7 +738,6 @@ func (vs *vstream) streamFromTablet(ctx context.Context, sgtid *binlogdatapb.Sha
}
lag := event.CurrentTime/1e9 - event.Timestamp
vs.vsm.vstreamsLag.Set(labels, lag)
-
}
if len(sendevents) != 0 {
eventss = append(eventss, sendevents)
@@ -954,6 +1001,9 @@ func (vs *vstream) keyspaceHasBeenResharded(ctx context.Context, keyspace string
return false, err
}
+ vs.mu.Lock()
+ defer vs.mu.Unlock()
+
// First check the typical case, where the VGTID shards match the serving shards.
// In that case it's NOT possible that an applicable reshard has happened because
// the VGTID contains shards that are all serving.
diff --git a/go/vt/vtgate/vstream_manager_test.go b/go/vt/vtgate/vstream_manager_test.go
index e51bd2785dd..4e10e60c758 100644
--- a/go/vt/vtgate/vstream_manager_test.go
+++ b/go/vt/vtgate/vstream_manager_test.go
@@ -458,7 +458,7 @@ func TestVStreamRetriableErrors(t *testing.T) {
// Always have the local cell tablet error so it's ignored on retry and we pick the other one
// if the error requires ignoring the tablet on retry.
- sbc0.AddVStreamEvents(nil, vterrors.Errorf(tcase.code, tcase.msg))
+ sbc0.AddVStreamEvents(nil, vterrors.New(tcase.code, tcase.msg))
if tcase.ignoreTablet {
sbc1.AddVStreamEvents(commit, nil)
diff --git a/go/vt/vtgate/vtgate.go b/go/vt/vtgate/vtgate.go
index 7d28c0e9697..e9e7cd65011 100644
--- a/go/vt/vtgate/vtgate.go
+++ b/go/vt/vtgate/vtgate.go
@@ -377,6 +377,7 @@ func Init(
})
vtgateInst.registerDebugHealthHandler()
vtgateInst.registerDebugEnvHandler()
+ vtgateInst.registerDebugBalancerHandler()
initAPI(gw.hc)
return vtgateInst
@@ -441,6 +442,12 @@ func (vtg *VTGate) registerDebugHealthHandler() {
})
}
+func (vtg *VTGate) registerDebugBalancerHandler() {
+ http.HandleFunc("/debug/balancer", func(w http.ResponseWriter, r *http.Request) {
+ vtg.Gateway().DebugBalancerHandler(w, r)
+ })
+}
+
// IsHealthy returns nil if server is healthy.
// Otherwise, it returns an error indicating the reason.
func (vtg *VTGate) IsHealthy() error {
diff --git a/go/vt/vtorc/inst/instance_dao.go b/go/vt/vtorc/inst/instance_dao.go
index 0615cbc0cde..4e401606a95 100644
--- a/go/vt/vtorc/inst/instance_dao.go
+++ b/go/vt/vtorc/inst/instance_dao.go
@@ -141,8 +141,8 @@ func logReadTopologyInstanceError(tabletAlias string, hint string, err error) er
strings.Replace(hint, "%", "%%", -1), // escape %
err)
}
- log.Errorf(msg)
- return fmt.Errorf(msg)
+ log.Error(msg)
+ return errors.New(msg)
}
// RegisterStats registers stats from the inst package
@@ -933,7 +933,7 @@ func mkInsertOdkuForInstances(instances []*Instance, instanceWasActuallyFound bo
if err != nil {
errMsg := fmt.Sprintf("Failed to build query: %v", err)
log.Errorf(errMsg)
- return sql, args, fmt.Errorf(errMsg)
+ return sql, args, errors.New(errMsg)
}
return sql, args, nil
@@ -1031,7 +1031,7 @@ func ForgetInstance(tabletAlias string) error {
if tabletAlias == "" {
errMsg := "ForgetInstance(): empty tabletAlias"
log.Errorf(errMsg)
- return fmt.Errorf(errMsg)
+ return errors.New(errMsg)
}
forgetAliases.Set(tabletAlias, true, cache.DefaultExpiration)
log.Infof("Forgetting: %v", tabletAlias)
@@ -1069,8 +1069,8 @@ func ForgetInstance(tabletAlias string) error {
}
if rows == 0 {
errMsg := fmt.Sprintf("ForgetInstance(): tablet %+v not found", tabletAlias)
- log.Errorf(errMsg)
- return fmt.Errorf(errMsg)
+ log.Error(errMsg)
+ return errors.New(errMsg)
}
_ = AuditOperation("forget", tabletAlias, "")
return nil
diff --git a/go/vt/vtorc/logic/disable_recovery.go b/go/vt/vtorc/logic/disable_recovery.go
index 4a3766055d2..74aa291e17a 100644
--- a/go/vt/vtorc/logic/disable_recovery.go
+++ b/go/vt/vtorc/logic/disable_recovery.go
@@ -30,6 +30,7 @@ package logic
// go to the database each time.
import (
+ "errors"
"fmt"
"vitess.io/vitess/go/vt/external/golib/sqlutils"
@@ -55,7 +56,7 @@ func IsRecoveryDisabled() (disabled bool, err error) {
if err != nil {
errMsg := fmt.Sprintf("recovery.IsRecoveryDisabled(): %v", err)
log.Errorf(errMsg)
- err = fmt.Errorf(errMsg)
+ err = errors.New(errMsg)
}
return disabled, err
}
diff --git a/go/vt/vtorc/logic/topology_recovery_dao.go b/go/vt/vtorc/logic/topology_recovery_dao.go
index e8af34bdad4..1920da4dcd8 100644
--- a/go/vt/vtorc/logic/topology_recovery_dao.go
+++ b/go/vt/vtorc/logic/topology_recovery_dao.go
@@ -17,6 +17,7 @@
package logic
import (
+ "errors"
"fmt"
"strings"
@@ -121,7 +122,7 @@ func AttemptRecoveryRegistration(analysisEntry *inst.ReplicationAnalysis) (*Topo
if len(recoveries) > 0 {
errMsg := fmt.Sprintf("AttemptRecoveryRegistration: Active recovery (id:%v) in the cluster %s:%s for %s", recoveries[0].ID, analysisEntry.ClusterDetails.Keyspace, analysisEntry.ClusterDetails.Shard, recoveries[0].AnalysisEntry.Analysis)
log.Errorf(errMsg)
- return nil, fmt.Errorf(errMsg)
+ return nil, errors.New(errMsg)
}
topologyRecovery := NewTopologyRecovery(*analysisEntry)
diff --git a/go/vt/vttablet/common/config.go b/go/vt/vttablet/common/config.go
new file mode 100644
index 00000000000..72047ce4580
--- /dev/null
+++ b/go/vt/vttablet/common/config.go
@@ -0,0 +1,281 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package vttablet
+
+import (
+ "encoding/json"
+ "fmt"
+ "maps"
+ "strconv"
+ "strings"
+ "sync"
+ "time"
+)
+
+/*
+ This file contains the model for all the configuration parameters for VReplication workflows. It also provides methods to
+ initialize the default configuration and to override the default configuration with user-provided values. The overrides
+ are stored in the `config` sub-document of the `options` attribute in `_vt.vreplication` and merged with the defaults
+ when the workflow is initialized.
+*/
+
+// VReplicationConfig has the all the configuration parameters for VReplication workflows, both applicable on the
+// target (vreplication)and the source (vstreamer) side.
+type VReplicationConfig struct {
+ // Config parameters applicable to the target side (vreplication)
+ ExperimentalFlags int64
+ NetReadTimeout int
+ NetWriteTimeout int
+ CopyPhaseDuration time.Duration
+ RetryDelay time.Duration
+ MaxTimeToRetryError time.Duration
+ RelayLogMaxSize int
+ RelayLogMaxItems int
+ ReplicaLagTolerance time.Duration
+ HeartbeatUpdateInterval int
+ StoreCompressedGTID bool
+ ParallelInsertWorkers int
+ TabletTypesStr string
+
+ // Config parameters applicable to the source side (vstreamer)
+ // The coresponding Override fields are used to determine if the user has provided a value for the parameter so
+ // that they can be sent in the VStreamer API calls to the source.
+ VStreamPacketSize int
+ VStreamPacketSizeOverride bool
+ VStreamDynamicPacketSize bool
+ VStreamDynamicPacketSizeOverride bool
+ VStreamBinlogRotationThreshold int64
+ VStreamBinlogRotationThresholdOverride bool
+
+ // Overrides is a map of user-provided configuration values that override the default configuration.
+ Overrides map[string]string
+}
+
+var configMutex sync.Mutex
+
+// DefaultVReplicationConfig has the default values for VReplicationConfig initialized from the vttablet flags
+// when the workflow is initialized.
+var DefaultVReplicationConfig *VReplicationConfig
+
+// GetVReplicationConfigDefaults returns the default VReplicationConfig. If `useCached` is true, it returns the previously
+// loaded configuration. Otherwise it reloads the configuration from the vttablet flags. useCached is set to false
+// when the vttablet flags are updated in unit tests.
+func GetVReplicationConfigDefaults(useCached bool) *VReplicationConfig {
+ configMutex.Lock()
+ defer configMutex.Unlock()
+ if useCached && DefaultVReplicationConfig != nil {
+ return DefaultVReplicationConfig
+ }
+ DefaultVReplicationConfig = &VReplicationConfig{
+ ExperimentalFlags: vreplicationExperimentalFlags,
+ NetReadTimeout: vreplicationNetReadTimeout,
+ NetWriteTimeout: vreplicationNetWriteTimeout,
+ CopyPhaseDuration: vreplicationCopyPhaseDuration,
+ RetryDelay: vreplicationRetryDelay,
+ MaxTimeToRetryError: vreplicationMaxTimeToRetryError,
+ RelayLogMaxSize: vreplicationRelayLogMaxSize,
+ RelayLogMaxItems: vreplicationRelayLogMaxItems,
+ ReplicaLagTolerance: vreplicationReplicaLagTolerance,
+ HeartbeatUpdateInterval: vreplicationHeartbeatUpdateInterval,
+ StoreCompressedGTID: vreplicationStoreCompressedGTID,
+ ParallelInsertWorkers: vreplicationParallelInsertWorkers,
+ TabletTypesStr: vreplicationTabletTypesStr,
+
+ VStreamPacketSizeOverride: false,
+ VStreamPacketSize: VStreamerDefaultPacketSize,
+ VStreamDynamicPacketSizeOverride: false,
+ VStreamDynamicPacketSize: VStreamerUseDynamicPacketSize,
+ VStreamBinlogRotationThresholdOverride: false,
+ VStreamBinlogRotationThreshold: VStreamerBinlogRotationThreshold,
+
+ Overrides: make(map[string]string),
+ }
+ return DefaultVReplicationConfig
+}
+
+// InitVReplicationConfigDefaults initializes the default VReplicationConfig in an idempotent way.
+func InitVReplicationConfigDefaults() *VReplicationConfig {
+ return GetVReplicationConfigDefaults(true)
+}
+
+// GetDefaultVReplicationConfig returns a copy of the default VReplicationConfig.
+func GetDefaultVReplicationConfig() *VReplicationConfig {
+ c := &VReplicationConfig{}
+ defaultConfig := GetVReplicationConfigDefaults(true)
+ *c = *defaultConfig
+ return c
+}
+
+// NewVReplicationConfig creates a new VReplicationConfig by merging the default configuration with the user-provided
+// overrides. It returns an error if the user-provided values are invalid.
+func NewVReplicationConfig(overrides map[string]string) (*VReplicationConfig, error) {
+ c := GetDefaultVReplicationConfig()
+ c.Overrides = maps.Clone(overrides)
+ var errors []string
+ getError := func(k, v string) string {
+ return fmt.Sprintf("invalid value for %s: %s", k, v)
+ }
+ for k, v := range overrides {
+ if v == "" {
+ continue
+ }
+ switch k {
+ case "vreplication_experimental_flags":
+ value, err := strconv.ParseInt(v, 10, 64)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.ExperimentalFlags = value
+ }
+ case "vreplication_net_read_timeout":
+ value, err := strconv.ParseInt(v, 10, 64)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.NetReadTimeout = int(value)
+ }
+ case "vreplication_net_write_timeout":
+ value, err := strconv.ParseInt(v, 10, 64)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.NetWriteTimeout = int(value)
+ }
+ case "vreplication_copy_phase_duration":
+ value, err := time.ParseDuration(v)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.CopyPhaseDuration = value
+ }
+ case "vreplication_retry_delay":
+ value, err := time.ParseDuration(v)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.RetryDelay = value
+ }
+ case "vreplication_max_time_to_retry_on_error":
+ value, err := time.ParseDuration(v)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.MaxTimeToRetryError = value
+ }
+ case "relay_log_max_size":
+ value, err := strconv.ParseInt(v, 10, 64)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.RelayLogMaxSize = int(value)
+ }
+ case "relay_log_max_items":
+ value, err := strconv.ParseInt(v, 10, 64)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.RelayLogMaxItems = int(value)
+ }
+ case "vreplication_replica_lag_tolerance":
+ value, err := time.ParseDuration(v)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.ReplicaLagTolerance = value
+ }
+ case "vreplication_heartbeat_update_interval":
+ value, err := strconv.ParseInt(v, 10, 64)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.HeartbeatUpdateInterval = int(value)
+ }
+ case "vreplication_store_compressed_gtid":
+ value, err := strconv.ParseBool(v)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.StoreCompressedGTID = value
+ }
+ case "vreplication-parallel-insert-workers":
+ value, err := strconv.ParseInt(v, 10, 64)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.ParallelInsertWorkers = int(value)
+ }
+ case "vstream_packet_size":
+ value, err := strconv.ParseInt(v, 10, 64)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.VStreamPacketSizeOverride = true
+ c.VStreamPacketSize = int(value)
+ }
+ case "vstream_dynamic_packet_size":
+ value, err := strconv.ParseBool(v)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.VStreamDynamicPacketSizeOverride = true
+ c.VStreamDynamicPacketSize = value
+ }
+ case "vstream_binlog_rotation_threshold":
+ value, err := strconv.ParseInt(v, 10, 64)
+ if err != nil {
+ errors = append(errors, getError(k, v))
+ } else {
+ c.VStreamBinlogRotationThresholdOverride = true
+ c.VStreamBinlogRotationThreshold = value
+ }
+ default:
+ errors = append(errors, fmt.Sprintf("unknown vreplication config flag: %s", k))
+ }
+ }
+ if len(errors) > 0 {
+ return c, fmt.Errorf("%s", strings.Join(errors, ", "))
+ }
+ return c, nil
+}
+
+// Map returns a map of the VReplicationConfig: the keys are the flag names and the values are string representations.
+// Used in tests to compare the expected and actual configuration values and in validations to check if the user-provided
+// keys are one of those that are supported.
+func (c VReplicationConfig) Map() map[string]string {
+ return map[string]string{
+ "vreplication_experimental_flags": strconv.FormatInt(c.ExperimentalFlags, 10),
+ "vreplication_net_read_timeout": strconv.Itoa(c.NetReadTimeout),
+ "vreplication_net_write_timeout": strconv.Itoa(c.NetWriteTimeout),
+ "vreplication_copy_phase_duration": c.CopyPhaseDuration.String(),
+ "vreplication_retry_delay": c.RetryDelay.String(),
+ "vreplication_max_time_to_retry_on_error": c.MaxTimeToRetryError.String(),
+ "relay_log_max_size": strconv.Itoa(c.RelayLogMaxSize),
+ "relay_log_max_items": strconv.Itoa(c.RelayLogMaxItems),
+ "vreplication_replica_lag_tolerance": c.ReplicaLagTolerance.String(),
+ "vreplication_heartbeat_update_interval": strconv.Itoa(c.HeartbeatUpdateInterval),
+ "vreplication_store_compressed_gtid": strconv.FormatBool(c.StoreCompressedGTID),
+ "vreplication-parallel-insert-workers": strconv.Itoa(c.ParallelInsertWorkers),
+ "vstream_packet_size": strconv.Itoa(c.VStreamPacketSize),
+ "vstream_dynamic_packet_size": strconv.FormatBool(c.VStreamDynamicPacketSize),
+ "vstream_binlog_rotation_threshold": strconv.FormatInt(c.VStreamBinlogRotationThreshold, 10),
+ }
+}
+
+func (c VReplicationConfig) String() string {
+ s, _ := json.Marshal(c.Map())
+ return string(s)
+}
diff --git a/go/vt/vttablet/common/config_test.go b/go/vt/vttablet/common/config_test.go
new file mode 100644
index 00000000000..c73259036f2
--- /dev/null
+++ b/go/vt/vttablet/common/config_test.go
@@ -0,0 +1,159 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package vttablet
+
+import (
+ "strconv"
+ "strings"
+ "testing"
+ "time"
+
+ "github.com/stretchr/testify/require"
+)
+
+func TestNewVReplicationConfig(t *testing.T) {
+ InitVReplicationConfigDefaults()
+ tests := []struct {
+ name string
+ config map[string]string
+ wantErr int
+ want *VReplicationConfig
+ }{
+ {
+ name: "Valid values",
+ config: map[string]string{
+ "vreplication_experimental_flags": "3",
+ "vreplication_net_read_timeout": "100",
+ "vreplication_net_write_timeout": "200",
+ "vreplication_copy_phase_duration": "2h",
+ "vreplication_retry_delay": "10s",
+ "vreplication_max_time_to_retry_on_error": "1h",
+ "relay_log_max_size": "500000",
+ "relay_log_max_items": "10000",
+ "vreplication_replica_lag_tolerance": "2m",
+ "vreplication_heartbeat_update_interval": "2",
+ "vreplication_store_compressed_gtid": "true",
+ "vreplication-parallel-insert-workers": "4",
+ "vstream_packet_size": "1024",
+ "vstream_dynamic_packet_size": "false",
+ "vstream_binlog_rotation_threshold": "2048",
+ },
+ wantErr: 0,
+ want: &VReplicationConfig{
+ ExperimentalFlags: 3,
+ NetReadTimeout: 100,
+ NetWriteTimeout: 200,
+ CopyPhaseDuration: 2 * time.Hour,
+ RetryDelay: 10 * time.Second,
+ MaxTimeToRetryError: 1 * time.Hour,
+ RelayLogMaxSize: 500000,
+ RelayLogMaxItems: 10000,
+ ReplicaLagTolerance: 2 * time.Minute,
+ HeartbeatUpdateInterval: 2,
+ StoreCompressedGTID: true,
+ ParallelInsertWorkers: 4,
+ VStreamPacketSize: 1024,
+ VStreamDynamicPacketSize: false,
+ VStreamBinlogRotationThreshold: 2048,
+ TabletTypesStr: DefaultVReplicationConfig.TabletTypesStr,
+ VStreamPacketSizeOverride: true,
+ VStreamDynamicPacketSizeOverride: true,
+ VStreamBinlogRotationThresholdOverride: true,
+ },
+ },
+ {
+ name: "Invalid values",
+ config: map[string]string{
+ "vreplication_experimental_flags": "invalid",
+ "vreplication_net_read_timeout": "100.0",
+ "vreplication_net_write_timeout": "invalid",
+ "vreplication_copy_phase_duration": "invalid",
+ "vreplication_retry_delay": "invalid",
+ "vreplication_max_time_to_retry_on_error": "invalid",
+ "relay_log_max_size": "invalid",
+ "relay_log_max_items": "invalid",
+ "vreplication_replica_lag_tolerance": "invalid",
+ "vreplication_heartbeat_update_interval": "invalid",
+ "vreplication_store_compressed_gtid": "nottrue",
+ "vreplication-parallel-insert-workers": "invalid",
+ "vstream_packet_size": "invalid",
+ "vstream_dynamic_packet_size": "waar",
+ "vstream_binlog_rotation_threshold": "invalid",
+ },
+ wantErr: 15,
+ },
+ {
+ name: "Partial values",
+ config: map[string]string{
+ "vreplication_experimental_flags": "5",
+ "vreplication_net_read_timeout": "150",
+ "vstream_dynamic_packet_size": strconv.FormatBool(!DefaultVReplicationConfig.VStreamDynamicPacketSize),
+ "vreplication_store_compressed_gtid": strconv.FormatBool(!DefaultVReplicationConfig.StoreCompressedGTID),
+ },
+ wantErr: 0,
+ want: &VReplicationConfig{
+ ExperimentalFlags: 5,
+ NetReadTimeout: 150,
+ NetWriteTimeout: DefaultVReplicationConfig.NetWriteTimeout,
+ CopyPhaseDuration: DefaultVReplicationConfig.CopyPhaseDuration,
+ RetryDelay: DefaultVReplicationConfig.RetryDelay,
+ MaxTimeToRetryError: DefaultVReplicationConfig.MaxTimeToRetryError,
+ RelayLogMaxSize: DefaultVReplicationConfig.RelayLogMaxSize,
+ RelayLogMaxItems: DefaultVReplicationConfig.RelayLogMaxItems,
+ ReplicaLagTolerance: DefaultVReplicationConfig.ReplicaLagTolerance,
+ HeartbeatUpdateInterval: DefaultVReplicationConfig.HeartbeatUpdateInterval,
+ StoreCompressedGTID: !DefaultVReplicationConfig.StoreCompressedGTID,
+ ParallelInsertWorkers: DefaultVReplicationConfig.ParallelInsertWorkers,
+ VStreamPacketSize: DefaultVReplicationConfig.VStreamPacketSize,
+ VStreamDynamicPacketSize: !DefaultVReplicationConfig.VStreamDynamicPacketSize,
+ VStreamBinlogRotationThreshold: DefaultVReplicationConfig.VStreamBinlogRotationThreshold,
+ VStreamDynamicPacketSizeOverride: true,
+ TabletTypesStr: DefaultVReplicationConfig.TabletTypesStr,
+ },
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ InitVReplicationConfigDefaults()
+ got, err := NewVReplicationConfig(tt.config)
+ if tt.wantErr == 0 {
+ require.EqualValuesf(t, tt.config, got.Overrides,
+ "NewVReplicationConfig() overrides got = %v, want %v", got.Overrides, tt.config)
+
+ }
+ if tt.wantErr > 0 && err == nil || tt.wantErr == 0 && err != nil {
+ t.Errorf("NewVReplicationConfig() got num errors = %v, want %v", err, tt.wantErr)
+ }
+ if tt.wantErr > 0 && err != nil {
+ errors := strings.Split(err.Error(), ", ")
+ if len(errors) != tt.wantErr {
+ t.Errorf("NewVReplicationConfig() got num errors = %v, want %v", len(errors), tt.wantErr)
+ }
+ }
+ if tt.want == nil {
+ require.EqualValuesf(t, DefaultVReplicationConfig.Map(), got.Map(),
+ "NewVReplicationConfig() Map got = %v, want %v", got.Map(), DefaultVReplicationConfig.Map())
+ } else {
+ tt.want.Overrides = tt.config
+ require.EqualValues(t, tt.want.Map(), got.Map(),
+ "NewVReplicationConfig() Map got = %v, want %v", got.Map(), tt.want.Map())
+ }
+
+ })
+ }
+}
diff --git a/go/vt/vttablet/common/flags.go b/go/vt/vttablet/common/flags.go
new file mode 100644
index 00000000000..f9775b8af3e
--- /dev/null
+++ b/go/vt/vttablet/common/flags.go
@@ -0,0 +1,97 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package vttablet
+
+import (
+ "time"
+
+ "github.com/spf13/pflag"
+
+ "vitess.io/vitess/go/vt/servenv"
+)
+
+const (
+ // VReplicationExperimentalFlags is a bitmask of experimental features in vreplication.
+ VReplicationExperimentalFlagOptimizeInserts = int64(1)
+ VReplicationExperimentalFlagAllowNoBlobBinlogRowImage = int64(2)
+ VReplicationExperimentalFlagVPlayerBatching = int64(4)
+)
+
+var (
+ // Default flags: currently VReplicationExperimentalFlagVPlayerBatching is not enabled by default.
+ vreplicationExperimentalFlags = VReplicationExperimentalFlagOptimizeInserts | VReplicationExperimentalFlagAllowNoBlobBinlogRowImage
+ vreplicationNetReadTimeout = 300
+ vreplicationNetWriteTimeout = 600
+ vreplicationCopyPhaseDuration = 1 * time.Hour
+ vreplicationRetryDelay = 5 * time.Second
+ vreplicationMaxTimeToRetryError = 0 * time.Second // Default behavior is to keep retrying, for backward compatibility
+
+ vreplicationTabletTypesStr = "in_order:REPLICA,PRIMARY" // Default value
+
+ vreplicationRelayLogMaxSize = 250000
+ vreplicationRelayLogMaxItems = 5000
+
+ vreplicationReplicaLagTolerance = 1 * time.Minute
+
+ vreplicationHeartbeatUpdateInterval = 1
+
+ vreplicationStoreCompressedGTID = false
+ vreplicationParallelInsertWorkers = 1
+
+ // VStreamerBinlogRotationThreshold is the threshold, above which we rotate binlogs, before taking a GTID snapshot
+ VStreamerBinlogRotationThreshold = int64(64 * 1024 * 1024) // 64MiB
+ VStreamerDefaultPacketSize = 250000
+ VStreamerUseDynamicPacketSize = true
+)
+
+func GetVReplicationNetReadTimeout() int {
+ return vreplicationNetReadTimeout
+}
+func GetVReplicationNetWriteTimeout() int {
+ return vreplicationNetWriteTimeout
+}
+
+func init() {
+ servenv.OnParseFor("vttablet", registerFlags)
+ servenv.OnParseFor("vtcombo", registerFlags)
+}
+
+func registerFlags(fs *pflag.FlagSet) {
+ fs.Int64Var(&vreplicationExperimentalFlags, "vreplication_experimental_flags", vreplicationExperimentalFlags,
+ "(Bitmask) of experimental features in vreplication to enable")
+ fs.IntVar(&vreplicationNetReadTimeout, "vreplication_net_read_timeout", vreplicationNetReadTimeout, "Session value of net_read_timeout for vreplication, in seconds")
+ fs.IntVar(&vreplicationNetWriteTimeout, "vreplication_net_write_timeout", vreplicationNetWriteTimeout, "Session value of net_write_timeout for vreplication, in seconds")
+ fs.DurationVar(&vreplicationCopyPhaseDuration, "vreplication_copy_phase_duration", vreplicationCopyPhaseDuration, "Duration for each copy phase loop (before running the next catchup: default 1h)")
+ fs.DurationVar(&vreplicationRetryDelay, "vreplication_retry_delay", vreplicationRetryDelay, "delay before retrying a failed workflow event in the replication phase")
+ fs.DurationVar(&vreplicationMaxTimeToRetryError, "vreplication_max_time_to_retry_on_error", vreplicationMaxTimeToRetryError, "stop automatically retrying when we've had consecutive failures with the same error for this long after the first occurrence")
+
+ fs.IntVar(&vreplicationRelayLogMaxSize, "relay_log_max_size", vreplicationRelayLogMaxSize, "Maximum buffer size (in bytes) for vreplication target buffering. If single rows are larger than this, a single row is buffered at a time.")
+ fs.IntVar(&vreplicationRelayLogMaxItems, "relay_log_max_items", vreplicationRelayLogMaxItems, "Maximum number of rows for vreplication target buffering.")
+
+ fs.DurationVar(&vreplicationReplicaLagTolerance, "vreplication_replica_lag_tolerance", vreplicationReplicaLagTolerance, "Replica lag threshold duration: once lag is below this we switch from copy phase to the replication (streaming) phase")
+
+ // vreplicationHeartbeatUpdateInterval determines how often the time_updated column is updated if there are no
+ // real events on the source and the source vstream is only sending heartbeats for this long. Keep this low if you
+ // expect high QPS and are monitoring this column to alert about potential outages. Keep this high if
+ // * you have too many streams the extra write qps or cpu load due to these updates are unacceptable
+ // * you have too many streams and/or a large source field (lot of participating tables) which generates
+ // unacceptable increase in your binlog size
+ fs.IntVar(&vreplicationHeartbeatUpdateInterval, "vreplication_heartbeat_update_interval", vreplicationHeartbeatUpdateInterval, "Frequency (in seconds, default 1, max 60) at which the time_updated column of a vreplication stream when idling")
+ fs.BoolVar(&vreplicationStoreCompressedGTID, "vreplication_store_compressed_gtid", vreplicationStoreCompressedGTID, "Store compressed gtids in the pos column of the sidecar database's vreplication table")
+
+ fs.IntVar(&vreplicationParallelInsertWorkers, "vreplication-parallel-insert-workers", vreplicationParallelInsertWorkers, "Number of parallel insertion workers to use during copy phase. Set <= 1 to disable parallelism, or > 1 to enable concurrent insertion during copy phase.")
+}
diff --git a/go/vt/vttablet/endtoend/connecttcp/main_test.go b/go/vt/vttablet/endtoend/connecttcp/main_test.go
new file mode 100644
index 00000000000..9d52b1287a1
--- /dev/null
+++ b/go/vt/vttablet/endtoend/connecttcp/main_test.go
@@ -0,0 +1,119 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package connecttcp
+
+import (
+ "context"
+ "flag"
+ "fmt"
+ "os"
+ "testing"
+
+ "vitess.io/vitess/go/mysql"
+ vttestpb "vitess.io/vitess/go/vt/proto/vttest"
+ "vitess.io/vitess/go/vt/vttablet/endtoend/framework"
+ "vitess.io/vitess/go/vt/vttablet/tabletserver/tabletenv"
+ "vitess.io/vitess/go/vt/vttest"
+)
+
+var (
+ connParams mysql.ConnParams
+ connAppDebugParams mysql.ConnParams
+)
+
+func TestMain(m *testing.M) {
+ flag.Parse() // Do not remove this comment, import into google3 depends on it
+ tabletenv.Init()
+
+ exitCode := func() int {
+ // Launch MySQL.
+ // We need a Keyspace in the topology, so the DbName is set.
+ // We need a Shard too, so the database 'vttest' is created.
+ cfg := vttest.Config{
+ Topology: &vttestpb.VTTestTopology{
+ Keyspaces: []*vttestpb.Keyspace{
+ {
+ Name: "vttest",
+ Shards: []*vttestpb.Shard{
+ {
+ Name: "0",
+ DbNameOverride: "vttest",
+ },
+ },
+ },
+ },
+ },
+ OnlyMySQL: true,
+ Charset: "utf8mb4_general_ci",
+ }
+ if err := cfg.InitSchemas("vttest", testSchema, nil); err != nil {
+ fmt.Fprintf(os.Stderr, "InitSchemas failed: %v\n", err)
+ return 1
+ }
+ defer os.RemoveAll(cfg.SchemaDir)
+ cluster := vttest.LocalCluster{
+ Config: cfg,
+ }
+ if err := cluster.Setup(); err != nil {
+ fmt.Fprintf(os.Stderr, "could not launch mysql: %v\n", err)
+ return 1
+ }
+ defer cluster.TearDown()
+
+ if err := allowConnectOnTCP(cluster); err != nil {
+ fmt.Fprintf(os.Stderr, "failed to allow tcp priviliges: %v", err)
+ return 1
+ }
+
+ connParams = cluster.MySQLTCPConnParams()
+ connAppDebugParams = cluster.MySQLAppDebugConnParams()
+
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ config := tabletenv.NewDefaultConfig()
+ config.TwoPCEnable = true
+ config.TwoPCAbandonAge = 1
+
+ if err := framework.StartCustomServer(ctx, connParams, connAppDebugParams, cluster.DbName(), config); err != nil {
+ fmt.Fprintf(os.Stderr, "%v", err)
+ return 1
+ }
+ defer framework.StopServer()
+
+ return m.Run()
+ }()
+ os.Exit(exitCode)
+}
+
+func allowConnectOnTCP(cluster vttest.LocalCluster) error {
+ connParams = cluster.MySQLConnParams()
+ conn, err := mysql.Connect(context.Background(), &connParams)
+ if err != nil {
+ return err
+ }
+ if _, err = conn.ExecuteFetch("UPDATE mysql.user SET Host = '%' WHERE User = 'vt_dba';", 0, false); err != nil {
+ return err
+ }
+ if _, err = conn.ExecuteFetch("FLUSH PRIVILEGES;", 0, false); err != nil {
+ return err
+ }
+ conn.Close()
+ return nil
+}
+
+var testSchema = `create table vitess_test(intval int primary key);`
diff --git a/go/vt/vttablet/endtoend/connecttcp/prepare_test.go b/go/vt/vttablet/endtoend/connecttcp/prepare_test.go
new file mode 100644
index 00000000000..524b4a3dcc8
--- /dev/null
+++ b/go/vt/vttablet/endtoend/connecttcp/prepare_test.go
@@ -0,0 +1,41 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package connecttcp
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/vt/vttablet/endtoend/framework"
+)
+
+// TestPrepareOnTCP tests that a prepare statement is not allowed on a network connection.
+func TestPrepareOnTCP(t *testing.T) {
+ client := framework.NewClient()
+
+ query := "insert into vitess_test (intval) values(4)"
+
+ err := client.Begin(false)
+ require.NoError(t, err)
+
+ _, err = client.Execute(query, nil)
+ require.NoError(t, err)
+
+ err = client.Prepare("aa")
+ require.ErrorContains(t, err, "VT10002: atomic distributed transaction not allowed: cannot prepare the transaction on a network connection")
+}
diff --git a/go/vt/vttablet/endtoend/framework/client.go b/go/vt/vttablet/endtoend/framework/client.go
index 1cbff71dc25..04342d57aa4 100644
--- a/go/vt/vttablet/endtoend/framework/client.go
+++ b/go/vt/vttablet/endtoend/framework/client.go
@@ -180,15 +180,13 @@ func (client *QueryClient) ReadTransaction(dtid string) (*querypb.TransactionMet
// UnresolvedTransactions invokes the UnresolvedTransactions API of TabletServer.
func (client *QueryClient) UnresolvedTransactions() ([]*querypb.TransactionMetadata, error) {
- return client.server.UnresolvedTransactions(client.ctx, client.target)
+ return client.server.UnresolvedTransactions(client.ctx, client.target, 0 /* abandonAgeSeconds */)
}
// SetServingType is for testing transitions.
// It currently supports only primary->replica and back.
func (client *QueryClient) SetServingType(tabletType topodatapb.TabletType) error {
err := client.server.SetServingType(tabletType, time.Time{}, true /* serving */, "" /* reason */)
- // Wait for TwoPC transition, if necessary
- client.server.TwoPCEngineWait()
return err
}
diff --git a/go/vt/vttablet/endtoend/main_test.go b/go/vt/vttablet/endtoend/main_test.go
index 1284f790b93..eedd893f3eb 100644
--- a/go/vt/vttablet/endtoend/main_test.go
+++ b/go/vt/vttablet/endtoend/main_test.go
@@ -343,7 +343,7 @@ var tableACLConfig = `{
},
{
"name": "vitess_twopc",
- "table_names_or_prefixes": ["dt_state"],
+ "table_names_or_prefixes": ["dt_state", "redo_state"],
"readers": ["dev"],
"writers": ["dev"],
"admins": ["dev"]
diff --git a/go/vt/vttablet/endtoend/settings_test.go b/go/vt/vttablet/endtoend/settings_test.go
index a459ad15844..0ccaf958737 100644
--- a/go/vt/vttablet/endtoend/settings_test.go
+++ b/go/vt/vttablet/endtoend/settings_test.go
@@ -138,16 +138,9 @@ func TestDDLNoConnectionReservationOnSettings(t *testing.T) {
query := "create table temp(c_date datetime default '0000-00-00')"
setting := "set sql_mode='TRADITIONAL'"
- for _, withTx := range []bool{false, true} {
- if withTx {
- err := client.Begin(false)
- require.NoError(t, err)
- }
- _, err := client.ReserveExecute(query, []string{setting}, nil)
- require.Error(t, err, "create table should have failed with TRADITIONAL mode")
- require.Contains(t, err.Error(), "Invalid default value")
- assert.Zero(t, client.ReservedID())
- }
+ _, err := client.ReserveExecute(query, []string{setting}, nil)
+ assert.ErrorContains(t, err, "Invalid default value for 'c_date'", "create table should have failed with TRADITIONAL mode")
+ assert.Zero(t, client.ReservedID())
}
func TestDMLNoConnectionReservationOnSettings(t *testing.T) {
@@ -156,7 +149,10 @@ func TestDMLNoConnectionReservationOnSettings(t *testing.T) {
_, err := client.Execute("create table temp(c_date datetime)", nil)
require.NoError(t, err)
- defer client.Execute("drop table temp", nil)
+ defer func() {
+ client.Rollback()
+ client.Execute("drop table temp", nil)
+ }()
_, err = client.Execute("insert into temp values ('2022-08-25')", nil)
require.NoError(t, err)
@@ -211,9 +207,8 @@ func TestDDLNoConnectionReservationOnSettingsWithTx(t *testing.T) {
query := "create table temp(c_date datetime default '0000-00-00')"
setting := "set sql_mode='TRADITIONAL'"
- _, err := client.ReserveBeginExecute(query, []string{setting}, nil, nil)
- require.Error(t, err, "create table should have failed with TRADITIONAL mode")
- require.Contains(t, err.Error(), "Invalid default value")
+ _, err := client.ReserveExecute(query, []string{setting}, nil)
+ require.ErrorContains(t, err, "Invalid default value for 'c_date'", "create table should have failed with TRADITIONAL mode")
assert.Zero(t, client.ReservedID())
}
@@ -297,12 +292,6 @@ func TestTempTableOnReserveExecute(t *testing.T) {
require.NoError(t,
client.Release())
- _, err = client.ReserveBeginExecute(tempTblQuery, nil, nil, nil)
- require.NoError(t, err)
- assert.NotZero(t, client.ReservedID())
- require.NoError(t,
- client.Release())
-
// drop the table
_, err = client.Execute("drop table if exists temp", nil)
require.NoError(t, err)
@@ -318,13 +307,6 @@ func TestTempTableOnReserveExecute(t *testing.T) {
assert.NotZero(t, client.ReservedID(), "as this goes through fallback path of reserving a connection due to temporary tables")
require.NoError(t,
client.Release())
-
- _, err = client.ReserveBeginExecute(tempTblQuery, []string{setting}, nil, nil)
- require.Error(t, err, "create table should have failed with TRADITIONAL mode")
- require.Contains(t, err.Error(), "Invalid default value")
- assert.NotZero(t, client.ReservedID(), "as this goes through fallback path of reserving a connection due to temporary tables")
- require.NoError(t,
- client.Release())
}
func TestInfiniteSessions(t *testing.T) {
diff --git a/go/vt/vttablet/endtoend/transaction_test.go b/go/vt/vttablet/endtoend/transaction_test.go
index ad6ff558c40..58a1cacbe10 100644
--- a/go/vt/vttablet/endtoend/transaction_test.go
+++ b/go/vt/vttablet/endtoend/transaction_test.go
@@ -256,7 +256,7 @@ func TestPrepareRollback(t *testing.T) {
err = client.Prepare("aa")
if err != nil {
client.RollbackPrepared("aa", 0)
- t.Fatalf(err.Error())
+ t.Fatal(err.Error())
}
err = client.RollbackPrepared("aa", 0)
require.NoError(t, err)
@@ -794,7 +794,14 @@ func TestUnresolvedTransactions(t *testing.T) {
State: querypb.TransactionState_PREPARE,
Participants: participants,
}}
- utils.MustMatch(t, want, transactions)
+
+ require.Len(t, want, len(transactions))
+ for i, transaction := range transactions {
+ // Skipping check for TimeCreated
+ assert.Equal(t, want[i].Dtid, transaction.Dtid)
+ assert.Equal(t, want[i].State, transaction.State)
+ assert.Equal(t, want[i].Participants, transaction.Participants)
+ }
}
// TestUnresolvedTransactions tests the UnresolvedTransactions API.
@@ -857,5 +864,12 @@ func TestUnresolvedTransactionsOrdering(t *testing.T) {
State: querypb.TransactionState_PREPARE,
Participants: participants1,
}}
- utils.MustMatch(t, want, transactions)
+
+ require.Len(t, want, len(transactions))
+ for i, transaction := range transactions {
+ // Skipping check for TimeCreated
+ assert.Equal(t, want[i].Dtid, transaction.Dtid)
+ assert.Equal(t, want[i].State, transaction.State)
+ assert.Equal(t, want[i].Participants, transaction.Participants)
+ }
}
diff --git a/go/vt/vttablet/endtoend/twopc/main_test.go b/go/vt/vttablet/endtoend/twopc/main_test.go
new file mode 100644
index 00000000000..090751503d4
--- /dev/null
+++ b/go/vt/vttablet/endtoend/twopc/main_test.go
@@ -0,0 +1,100 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package endtoend
+
+import (
+ "context"
+ "flag"
+ "fmt"
+ "os"
+ "testing"
+
+ "vitess.io/vitess/go/mysql"
+ "vitess.io/vitess/go/vt/vttablet/endtoend/framework"
+ "vitess.io/vitess/go/vt/vttablet/tabletserver/tabletenv"
+ "vitess.io/vitess/go/vt/vttest"
+
+ vttestpb "vitess.io/vitess/go/vt/proto/vttest"
+)
+
+var (
+ connParams mysql.ConnParams
+ connAppDebugParams mysql.ConnParams
+ cluster vttest.LocalCluster
+)
+
+func TestMain(m *testing.M) {
+ flag.Parse() // Do not remove this comment, import into google3 depends on it
+ tabletenv.Init()
+
+ exitCode := func() int {
+ // Launch MySQL.
+ // We need a Keyspace in the topology, so the DbName is set.
+ // We need a Shard too, so the database 'vttest' is created.
+ cfg := vttest.Config{
+ Topology: &vttestpb.VTTestTopology{
+ Keyspaces: []*vttestpb.Keyspace{
+ {
+ Name: "vttest",
+ Shards: []*vttestpb.Shard{
+ {
+ Name: "0",
+ DbNameOverride: "vttest",
+ },
+ },
+ },
+ },
+ },
+ OnlyMySQL: true,
+ Charset: "utf8mb4_general_ci",
+ }
+ if err := cfg.InitSchemas("vttest", testSchema, nil); err != nil {
+ fmt.Fprintf(os.Stderr, "InitSchemas failed: %v\n", err)
+ return 1
+ }
+ defer os.RemoveAll(cfg.SchemaDir)
+ cluster = vttest.LocalCluster{
+ Config: cfg,
+ }
+ if err := cluster.Setup(); err != nil {
+ fmt.Fprintf(os.Stderr, "could not launch mysql: %v\n", err)
+ return 1
+ }
+
+ defer cluster.TearDown()
+
+ connParams = cluster.MySQLConnParams()
+ connAppDebugParams = cluster.MySQLAppDebugConnParams()
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ config := tabletenv.NewDefaultConfig()
+ config.TwoPCEnable = true
+ config.TwoPCAbandonAge = 1
+ err := framework.StartCustomServer(ctx, connParams, connAppDebugParams, cluster.DbName(), config)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "%v", err)
+ return 1
+ }
+ defer framework.StopServer()
+
+ return m.Run()
+ }()
+ os.Exit(exitCode)
+}
+
+var testSchema = `create table vitess_test(intval int default 0 primary key);`
diff --git a/go/vt/vttablet/endtoend/twopc/prepare_test.go b/go/vt/vttablet/endtoend/twopc/prepare_test.go
new file mode 100644
index 00000000000..ae07356d6dc
--- /dev/null
+++ b/go/vt/vttablet/endtoend/twopc/prepare_test.go
@@ -0,0 +1,109 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package endtoend
+
+import (
+ "context"
+ "fmt"
+ "testing"
+ "time"
+
+ "github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/vt/vttablet/endtoend/framework"
+)
+
+// TestCommitPreparedFailNonRetryable tests the case where the commit_prepared fails trying to acquire update lock.
+// The transaction updates to failed state.
+func TestCommitPreparedFailNonRetryable(t *testing.T) {
+ dbaConnector := framework.Server.Config().DB.DbaWithDB()
+ conn, err := dbaConnector.Connect(context.Background())
+ require.NoError(t, err)
+ defer conn.Close()
+
+ _, err = conn.ExecuteFetch("set global innodb_lock_wait_timeout = 1", 1, false)
+ require.NoError(t, err)
+ defer conn.ExecuteFetch("set global innodb_lock_wait_timeout = default", 1, false)
+
+ client := framework.NewClient()
+ defer client.RollbackPrepared("bb", client.TransactionID())
+
+ _, err = client.BeginExecute(`insert into vitess_test (intval) values(50)`, nil, nil)
+ require.NoError(t, err)
+ err = client.Prepare("bb")
+ require.NoError(t, err)
+
+ client2 := framework.NewClient()
+ _, err = client2.BeginExecute(`select * from _vt.redo_state where dtid = 'bb' for update`, nil, nil)
+ require.NoError(t, err)
+
+ ch := make(chan any)
+ go func() {
+ err := client.CommitPrepared("bb")
+ ch <- nil
+ require.ErrorContains(t, err, "commit_prepared")
+ }()
+ time.Sleep(1500 * time.Millisecond)
+
+ client2.Release()
+ <-ch
+
+ qr, err := client2.Execute("select dtid, state, message from _vt.redo_state where dtid = 'bb'", nil)
+ require.NoError(t, err)
+ require.Equal(t, `[[VARBINARY("bb") INT64(0) TEXT("Lock wait timeout exceeded; try restarting transaction (errno 1205) (sqlstate HY000) during query: delete from _vt.redo_state where dtid = 'bb'")]]`, fmt.Sprintf("%v", qr.Rows))
+}
+
+// TestCommitPreparedFailRetryable tests the case where the commit_prepared fails when the query is killed.
+// The transaction remains in the prepare state.
+func TestCommitPreparedFailRetryable(t *testing.T) {
+ client := framework.NewClient()
+ defer client.RollbackPrepared("aa", client.TransactionID())
+
+ _, err := client.BeginExecute(`insert into vitess_test (intval) values(40)`, nil, nil)
+ require.NoError(t, err)
+ connRes, err := client.Execute(`select connection_id()`, nil)
+ require.NoError(t, err)
+ err = client.Prepare("aa")
+ require.NoError(t, err)
+
+ client2 := framework.NewClient()
+ _, err = client2.BeginExecute(`select * from _vt.redo_state where dtid = 'aa' for update`, nil, nil)
+ require.NoError(t, err)
+
+ ch := make(chan any)
+ go func() {
+ err := client.CommitPrepared("aa")
+ ch <- nil
+ require.ErrorContains(t, err, "commit_prepared")
+ }()
+ time.Sleep(100 * time.Millisecond)
+
+ dbaConnector := framework.Server.Config().DB.DbaWithDB()
+ conn, err := dbaConnector.Connect(context.Background())
+ require.NoError(t, err)
+ defer conn.Close()
+
+ _, err = conn.ExecuteFetch(fmt.Sprintf("kill query %s", connRes.Rows[0][0].ToString()), 1, false)
+ require.NoError(t, err)
+
+ client2.Release()
+ <-ch
+
+ qr, err := client2.Execute("select dtid, state, message from _vt.redo_state where dtid = 'aa'", nil)
+ require.NoError(t, err)
+ require.Equal(t, `[[VARBINARY("aa") INT64(1) TEXT("Query execution was interrupted (errno 1317) (sqlstate 70100) during query: delete from _vt.redo_state where dtid = 'aa'")]]`, fmt.Sprintf("%v", qr.Rows))
+}
diff --git a/go/vt/vttablet/faketmclient/fake_client.go b/go/vt/vttablet/faketmclient/fake_client.go
index 3aeeff71e85..36e037eb9e7 100644
--- a/go/vt/vttablet/faketmclient/fake_client.go
+++ b/go/vt/vttablet/faketmclient/fake_client.go
@@ -94,6 +94,10 @@ func (client *FakeTabletManagerClient) UpdateVReplicationWorkflows(ctx context.C
return nil, nil
}
+func (client *FakeTabletManagerClient) ValidateVReplicationPermissions(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.ValidateVReplicationPermissionsRequest) (*tabletmanagerdatapb.ValidateVReplicationPermissionsResponse, error) {
+ return nil, nil
+}
+
func (client *FakeTabletManagerClient) VDiff(ctx context.Context, tablet *topodatapb.Tablet, req *tabletmanagerdatapb.VDiffRequest) (*tabletmanagerdatapb.VDiffResponse, error) {
return nil, nil
}
@@ -212,6 +216,21 @@ func (client *FakeTabletManagerClient) ExecuteFetchAsApp(ctx context.Context, ta
return &querypb.QueryResult{}, nil
}
+// GetUnresolvedTransactions is part of the tmclient.TabletManagerClient interface.
+func (client *FakeTabletManagerClient) GetUnresolvedTransactions(ctx context.Context, tablet *topodatapb.Tablet) ([]*querypb.TransactionMetadata, error) {
+ return nil, nil
+}
+
+// ConcludeTransaction is part of the tmclient.TabletManagerClient interface.
+func (client *FakeTabletManagerClient) ConcludeTransaction(ctx context.Context, tablet *topodatapb.Tablet, dtid string, mm bool) error {
+ return nil
+}
+
+// ReadTransaction is part of the tmclient.TabletManagerClient interface.
+func (client *FakeTabletManagerClient) ReadTransaction(ctx context.Context, tablet *topodatapb.Tablet, dtid string) (*querypb.TransactionMetadata, error) {
+ return nil, nil
+}
+
//
// Replication related methods
//
diff --git a/go/vt/vttablet/flags.go b/go/vt/vttablet/flags.go
deleted file mode 100644
index 994080b95a5..00000000000
--- a/go/vt/vttablet/flags.go
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-Copyright 2023 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package vttablet
-
-import (
- "time"
-
- "github.com/spf13/pflag"
-
- "vitess.io/vitess/go/vt/servenv"
-)
-
-const (
- // VReplicationExperimentalFlags is a bitmask of experimental features in vreplication.
- VReplicationExperimentalFlagOptimizeInserts = int64(1)
- VReplicationExperimentalFlagAllowNoBlobBinlogRowImage = int64(2)
- VReplicationExperimentalFlagVPlayerBatching = int64(4)
-)
-
-var (
- // Default flags.
- VReplicationExperimentalFlags = VReplicationExperimentalFlagOptimizeInserts | VReplicationExperimentalFlagAllowNoBlobBinlogRowImage
- VReplicationNetReadTimeout = 300
- VReplicationNetWriteTimeout = 600
- CopyPhaseDuration = 1 * time.Hour
-)
-
-func init() {
- servenv.OnParseFor("vttablet", registerFlags)
- servenv.OnParseFor("vtcombo", registerFlags)
-
-}
-
-func registerFlags(fs *pflag.FlagSet) {
- fs.Int64Var(&VReplicationExperimentalFlags, "vreplication_experimental_flags", VReplicationExperimentalFlags,
- "(Bitmask) of experimental features in vreplication to enable")
- fs.IntVar(&VReplicationNetReadTimeout, "vreplication_net_read_timeout", VReplicationNetReadTimeout, "Session value of net_read_timeout for vreplication, in seconds")
- fs.IntVar(&VReplicationNetWriteTimeout, "vreplication_net_write_timeout", VReplicationNetWriteTimeout, "Session value of net_write_timeout for vreplication, in seconds")
- fs.DurationVar(&CopyPhaseDuration, "vreplication_copy_phase_duration", CopyPhaseDuration, "Duration for each copy phase loop (before running the next catchup: default 1h)")
-}
diff --git a/go/vt/vttablet/grpcqueryservice/server.go b/go/vt/vttablet/grpcqueryservice/server.go
index c26d291aa50..a1a1283b4ad 100644
--- a/go/vt/vttablet/grpcqueryservice/server.go
+++ b/go/vt/vttablet/grpcqueryservice/server.go
@@ -240,7 +240,7 @@ func (q *query) UnresolvedTransactions(ctx context.Context, request *querypb.Unr
request.EffectiveCallerId,
request.ImmediateCallerId,
)
- transactions, err := q.server.UnresolvedTransactions(ctx, request.Target)
+ transactions, err := q.server.UnresolvedTransactions(ctx, request.Target, request.AbandonAge)
if err != nil {
return nil, vterrors.ToGRPC(err)
}
diff --git a/go/vt/vttablet/grpctabletconn/conn.go b/go/vt/vttablet/grpctabletconn/conn.go
index a76505383b7..16f93a44372 100644
--- a/go/vt/vttablet/grpctabletconn/conn.go
+++ b/go/vt/vttablet/grpctabletconn/conn.go
@@ -439,7 +439,7 @@ func (conn *gRPCQueryClient) ReadTransaction(ctx context.Context, target *queryp
}
// UnresolvedTransactions returns all unresolved distributed transactions.
-func (conn *gRPCQueryClient) UnresolvedTransactions(ctx context.Context, target *querypb.Target) ([]*querypb.TransactionMetadata, error) {
+func (conn *gRPCQueryClient) UnresolvedTransactions(ctx context.Context, target *querypb.Target, abandonAgeSeconds int64) ([]*querypb.TransactionMetadata, error) {
conn.mu.RLock()
defer conn.mu.RUnlock()
if conn.cc == nil {
@@ -450,6 +450,7 @@ func (conn *gRPCQueryClient) UnresolvedTransactions(ctx context.Context, target
Target: target,
EffectiveCallerId: callerid.EffectiveCallerIDFromContext(ctx),
ImmediateCallerId: callerid.ImmediateCallerIDFromContext(ctx),
+ AbandonAge: abandonAgeSeconds,
}
response, err := conn.c.UnresolvedTransactions(ctx, req)
if err != nil {
@@ -691,6 +692,7 @@ func (conn *gRPCQueryClient) VStream(ctx context.Context, request *binlogdatapb.
Position: request.Position,
Filter: request.Filter,
TableLastPKs: request.TableLastPKs,
+ Options: request.Options,
}
stream, err := conn.c.VStream(ctx, req)
if err != nil {
diff --git a/go/vt/vttablet/grpctmclient/client.go b/go/vt/vttablet/grpctmclient/client.go
index c3ff1b02767..3f86d1a7b13 100644
--- a/go/vt/vttablet/grpctmclient/client.go
+++ b/go/vt/vttablet/grpctmclient/client.go
@@ -658,6 +658,53 @@ func (client *Client) ExecuteFetchAsApp(ctx context.Context, tablet *topodatapb.
return response.Result, nil
}
+// GetUnresolvedTransactions is part of the tmclient.TabletManagerClient interface.
+func (client *Client) GetUnresolvedTransactions(ctx context.Context, tablet *topodatapb.Tablet) ([]*querypb.TransactionMetadata, error) {
+ c, closer, err := client.dialer.dial(ctx, tablet)
+ if err != nil {
+ return nil, err
+ }
+ defer closer.Close()
+
+ response, err := c.GetUnresolvedTransactions(ctx, &tabletmanagerdatapb.GetUnresolvedTransactionsRequest{})
+ if err != nil {
+ return nil, err
+ }
+ return response.Transactions, nil
+}
+
+// ConcludeTransaction is part of the tmclient.TabletManagerClient interface.
+func (client *Client) ConcludeTransaction(ctx context.Context, tablet *topodatapb.Tablet, dtid string, mm bool) error {
+ c, closer, err := client.dialer.dial(ctx, tablet)
+ if err != nil {
+ return err
+ }
+ defer closer.Close()
+
+ _, err = c.ConcludeTransaction(ctx, &tabletmanagerdatapb.ConcludeTransactionRequest{
+ Dtid: dtid,
+ Mm: mm,
+ })
+ return err
+}
+
+// ReadTransaction is part of the tmclient.TabletManagerClient interface.
+func (client *Client) ReadTransaction(ctx context.Context, tablet *topodatapb.Tablet, dtid string) (*querypb.TransactionMetadata, error) {
+ c, closer, err := client.dialer.dial(ctx, tablet)
+ if err != nil {
+ return nil, err
+ }
+ defer closer.Close()
+
+ resp, err := c.ReadTransaction(ctx, &tabletmanagerdatapb.ReadTransactionRequest{
+ Dtid: dtid,
+ })
+ if err != nil {
+ return nil, err
+ }
+ return resp.Transaction, nil
+}
+
//
// Replication related methods
//
@@ -888,6 +935,19 @@ func (client *Client) ReadVReplicationWorkflow(ctx context.Context, tablet *topo
return response, nil
}
+func (client *Client) ValidateVReplicationPermissions(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.ValidateVReplicationPermissionsRequest) (*tabletmanagerdatapb.ValidateVReplicationPermissionsResponse, error) {
+ c, closer, err := client.dialer.dial(ctx, tablet)
+ if err != nil {
+ return nil, err
+ }
+ defer closer.Close()
+ response, err := c.ValidateVReplicationPermissions(ctx, request)
+ if err != nil {
+ return nil, err
+ }
+ return response, nil
+}
+
// VReplicationExec is part of the tmclient.TabletManagerClient interface.
func (client *Client) VReplicationExec(ctx context.Context, tablet *topodatapb.Tablet, query string) (*querypb.QueryResult, error) {
c, closer, err := client.dialer.dial(ctx, tablet)
@@ -1114,7 +1174,7 @@ func (client *Client) StopReplicationAndGetStatus(ctx context.Context, tablet *t
if err != nil {
return nil, err
}
- return &replicationdatapb.StopReplicationStatus{ //nolint
+ return &replicationdatapb.StopReplicationStatus{ // nolint
Before: response.Status.Before,
After: response.Status.After,
}, nil
diff --git a/go/vt/vttablet/grpctmserver/server.go b/go/vt/vttablet/grpctmserver/server.go
index 42cfd441eeb..7e811b3b651 100644
--- a/go/vt/vttablet/grpctmserver/server.go
+++ b/go/vt/vttablet/grpctmserver/server.go
@@ -275,6 +275,46 @@ func (s *server) ExecuteFetchAsApp(ctx context.Context, request *tabletmanagerda
return response, nil
}
+//
+// Distributed Transaction related methods
+//
+
+func (s *server) GetUnresolvedTransactions(ctx context.Context, request *tabletmanagerdatapb.GetUnresolvedTransactionsRequest) (response *tabletmanagerdatapb.GetUnresolvedTransactionsResponse, err error) {
+ defer s.tm.HandleRPCPanic(ctx, "GetUnresolvedTransactions", request, response, false /*verbose*/, &err)
+ ctx = callinfo.GRPCCallInfo(ctx)
+
+ transactions, err := s.tm.GetUnresolvedTransactions(ctx, request.AbandonAge)
+ if err != nil {
+ return nil, vterrors.ToGRPC(err)
+ }
+
+ return &tabletmanagerdatapb.GetUnresolvedTransactionsResponse{Transactions: transactions}, nil
+}
+
+func (s *server) ReadTransaction(ctx context.Context, request *tabletmanagerdatapb.ReadTransactionRequest) (response *tabletmanagerdatapb.ReadTransactionResponse, err error) {
+ defer s.tm.HandleRPCPanic(ctx, "ReadTransaction", request, response, false /*verbose*/, &err)
+ ctx = callinfo.GRPCCallInfo(ctx)
+
+ transaction, err := s.tm.ReadTransaction(ctx, request)
+ if err != nil {
+ return nil, vterrors.ToGRPC(err)
+ }
+
+ return &tabletmanagerdatapb.ReadTransactionResponse{Transaction: transaction}, nil
+}
+
+func (s *server) ConcludeTransaction(ctx context.Context, request *tabletmanagerdatapb.ConcludeTransactionRequest) (response *tabletmanagerdatapb.ConcludeTransactionResponse, err error) {
+ defer s.tm.HandleRPCPanic(ctx, "ConcludeTransaction", request, response, false /*verbose*/, &err)
+ ctx = callinfo.GRPCCallInfo(ctx)
+
+ err = s.tm.ConcludeTransaction(ctx, request)
+ if err != nil {
+ return nil, vterrors.ToGRPC(err)
+ }
+
+ return &tabletmanagerdatapb.ConcludeTransactionResponse{}, nil
+}
+
//
// Replication related methods
//
@@ -412,6 +452,14 @@ func (s *server) ReadVReplicationWorkflow(ctx context.Context, request *tabletma
return s.tm.ReadVReplicationWorkflow(ctx, request)
}
+func (s *server) ValidateVReplicationPermissions(ctx context.Context, request *tabletmanagerdatapb.ValidateVReplicationPermissionsRequest) (response *tabletmanagerdatapb.ValidateVReplicationPermissionsResponse, err error) {
+ defer s.tm.HandleRPCPanic(ctx, "ValidateVReplicationPermissions", request, response, true /*verbose*/, &err)
+ ctx = callinfo.GRPCCallInfo(ctx)
+ response = &tabletmanagerdatapb.ValidateVReplicationPermissionsResponse{}
+ response, err = s.tm.ValidateVReplicationPermissions(ctx, request)
+ return response, err
+}
+
func (s *server) VReplicationExec(ctx context.Context, request *tabletmanagerdatapb.VReplicationExecRequest) (response *tabletmanagerdatapb.VReplicationExecResponse, err error) {
defer s.tm.HandleRPCPanic(ctx, "VReplicationExec", request, response, true /*verbose*/, &err)
ctx = callinfo.GRPCCallInfo(ctx)
diff --git a/go/vt/vttablet/onlineddl/executor.go b/go/vt/vttablet/onlineddl/executor.go
index 0d43d52d7f4..aad8417237e 100644
--- a/go/vt/vttablet/onlineddl/executor.go
+++ b/go/vt/vttablet/onlineddl/executor.go
@@ -97,7 +97,6 @@ var (
maxConcurrentOnlineDDLs = 256
migrationNextCheckIntervals = []time.Duration{1 * time.Second, 5 * time.Second, 10 * time.Second, 20 * time.Second}
- maxConstraintNameLength = 64
cutoverIntervals = []time.Duration{0, 1 * time.Minute, 5 * time.Minute, 10 * time.Minute, 30 * time.Minute}
)
@@ -137,31 +136,6 @@ var (
onlineDDLGrant = fmt.Sprintf("'%s'@'%s'", onlineDDLUser, "%")
)
-type ConstraintType int
-
-const (
- UnknownConstraintType ConstraintType = iota
- CheckConstraintType
- ForeignKeyConstraintType
-)
-
-var (
- constraintIndicatorMap = map[int]string{
- int(CheckConstraintType): "chk",
- int(ForeignKeyConstraintType): "fk",
- }
-)
-
-func GetConstraintType(constraintInfo sqlparser.ConstraintInfo) ConstraintType {
- if _, ok := constraintInfo.(*sqlparser.CheckConstraintDefinition); ok {
- return CheckConstraintType
- }
- if _, ok := constraintInfo.(*sqlparser.ForeignKeyDefinition); ok {
- return ForeignKeyConstraintType
- }
- return UnknownConstraintType
-}
-
type mysqlVariables struct {
host string
port int
@@ -178,6 +152,7 @@ type Executor struct {
ts *topo.Server
lagThrottler *throttle.Throttler
toggleBufferTableFunc func(cancelCtx context.Context, tableName string, timeout time.Duration, bufferQueries bool)
+ isPreparedPoolEmpty func(tableName string) bool
requestGCChecksFunc func()
tabletAlias *topodatapb.TabletAlias
@@ -238,6 +213,7 @@ func NewExecutor(env tabletenv.Env, tabletAlias *topodatapb.TabletAlias, ts *top
tabletTypeFunc func() topodatapb.TabletType,
toggleBufferTableFunc func(cancelCtx context.Context, tableName string, timeout time.Duration, bufferQueries bool),
requestGCChecksFunc func(),
+ isPreparedPoolEmpty func(tableName string) bool,
) *Executor {
// sanitize flags
if maxConcurrentOnlineDDLs < 1 {
@@ -255,6 +231,7 @@ func NewExecutor(env tabletenv.Env, tabletAlias *topodatapb.TabletAlias, ts *top
ts: ts,
lagThrottler: lagThrottler,
toggleBufferTableFunc: toggleBufferTableFunc,
+ isPreparedPoolEmpty: isPreparedPoolEmpty,
requestGCChecksFunc: requestGCChecksFunc,
ticks: timer.NewTimer(migrationCheckInterval),
// Gracefully return an error if any caller tries to execute
@@ -870,7 +847,10 @@ func (e *Executor) killTableLockHoldersAndAccessors(ctx context.Context, tableNa
threadId := row.AsInt64("trx_mysql_thread_id", 0)
log.Infof("killTableLockHoldersAndAccessors: killing connection %v with transaction on table", threadId)
killConnection := fmt.Sprintf("KILL %d", threadId)
- _, _ = conn.Conn.ExecuteFetch(killConnection, 1, false)
+ _, err = conn.Conn.ExecuteFetch(killConnection, 1, false)
+ if err != nil {
+ log.Errorf("Unable to kill the connection %d: %v", threadId, err)
+ }
}
}
}
@@ -979,7 +959,14 @@ func (e *Executor) cutOverVReplMigration(ctx context.Context, s *VReplStream, sh
if err != nil {
return err
}
+ // Set large enough `@@lock_wait_timeout` so that it does not interfere with the cut-over operation.
+ // The code will ensure everything that needs to be terminated by `migrationCutOverThreshold` will be terminated.
+ lockConnRestoreLockWaitTimeout, err := e.initConnectionLockWaitTimeout(ctx, lockConn.Conn, 5*migrationCutOverThreshold)
+ if err != nil {
+ return err
+ }
defer lockConn.Recycle()
+ defer lockConnRestoreLockWaitTimeout()
defer lockConn.Conn.Exec(ctx, sqlUnlockTables, 1, false)
renameCompleteChan := make(chan error)
@@ -988,6 +975,12 @@ func (e *Executor) cutOverVReplMigration(ctx context.Context, s *VReplStream, sh
if err != nil {
return err
}
+ // Set large enough `@@lock_wait_timeout` so that it does not interfere with the cut-over operation.
+ // The code will ensure everything that needs to be terminated by `migrationCutOverThreshold` will be terminated.
+ renameConnRestoreLockWaitTimeout, err := e.initConnectionLockWaitTimeout(ctx, renameConn.Conn, 5*migrationCutOverThreshold*4)
+ if err != nil {
+ return err
+ }
defer renameConn.Recycle()
defer func() {
if !renameWasSuccessful {
@@ -997,6 +990,8 @@ func (e *Executor) cutOverVReplMigration(ctx context.Context, s *VReplStream, sh
}
}
}()
+ defer renameConnRestoreLockWaitTimeout()
+
// See if backend MySQL server supports 'rename_table_preserve_foreign_key' variable
preserveFKSupported, err := e.isPreserveForeignKeySupported(ctx)
if err != nil {
@@ -1087,6 +1082,11 @@ func (e *Executor) cutOverVReplMigration(ctx context.Context, s *VReplStream, sh
time.Sleep(100 * time.Millisecond)
if shouldForceCutOver {
+ // We should only proceed with forceful cut over if there is no pending atomic transaction for the table.
+ // This will help in keeping the atomicity guarantee of a prepared transaction.
+ if err := e.checkOnPreparedPool(ctx, onlineDDL.Table, 100*time.Millisecond); err != nil {
+ return err
+ }
if err := e.killTableLockHoldersAndAccessors(ctx, onlineDDL.Table); err != nil {
return err
}
@@ -1260,183 +1260,22 @@ func (e *Executor) initMigrationSQLMode(ctx context.Context, onlineDDL *schema.O
return deferFunc, nil
}
-// newConstraintName generates a new, unique name for a constraint. Our problem is that a MySQL
-// constraint's name is unique in the schema (!). And so as we duplicate the original table, we must
-// create completely new names for all constraints.
-// Moreover, we really want this name to be consistent across all shards. We therefore use a deterministic
-// UUIDv5 (SHA) function over the migration UUID, table name, and constraint's _contents_.
-// We _also_ include the original constraint name as prefix, as room allows
-// for example, if the original constraint name is "check_1",
-// we might generate "check_1_cps1okb4uafunfqusi2lp22u3".
-// If we then again migrate a table whose constraint name is "check_1_cps1okb4uafunfqusi2lp22u3 " we
-// get for example "check_1_19l09s37kbhj4axnzmi10e18k" (hash changes, and we still try to preserve original name)
-//
-// Furthermore, per bug report https://bugs.mysql.com/bug.php?id=107772, if the user doesn't provide a name for
-// their CHECK constraint, then MySQL picks a name in this format _chk_.
-// Example: sometable_chk_1
-// Next, when MySQL is asked to RENAME TABLE and sees a constraint with this format, it attempts to rename
-// the constraint with the new table's name. This is problematic for Vitess, because we often rename tables to
-// very long names, such as _vt_HOLD_394f9e6dfc3d11eca0390a43f95f28a3_20220706091048.
-// As we rename the constraint to e.g. `sometable_chk_1_cps1okb4uafunfqusi2lp22u3`, this makes MySQL want to
-// call the new constraint something like _vt_HOLD_394f9e6dfc3d11eca0390a43f95f28a3_20220706091048_chk_1_cps1okb4uafunfqusi2lp22u3,
-// which exceeds the 64 character limit for table names. Long story short, we also trim down if the constraint seems
-// to be auto-generated.
-func (e *Executor) newConstraintName(onlineDDL *schema.OnlineDDL, constraintType ConstraintType, hashExists map[string]bool, seed string, oldName string) string {
- constraintIndicator := constraintIndicatorMap[int(constraintType)]
- oldName = schemadiff.ExtractConstraintOriginalName(onlineDDL.Table, oldName)
- hash := textutil.UUIDv5Base36(onlineDDL.UUID, onlineDDL.Table, seed)
- for i := 1; hashExists[hash]; i++ {
- hash = textutil.UUIDv5Base36(onlineDDL.UUID, onlineDDL.Table, seed, fmt.Sprintf("%d", i))
- }
- hashExists[hash] = true
- suffix := "_" + hash
- maxAllowedNameLength := maxConstraintNameLength - len(suffix)
- newName := oldName
- if newName == "" {
- newName = constraintIndicator // start with something that looks consistent with MySQL's naming
- }
- if len(newName) > maxAllowedNameLength {
- newName = newName[0:maxAllowedNameLength]
- }
- newName = newName + suffix
- return newName
-}
-
-// validateAndEditCreateTableStatement inspects the CreateTable AST and does the following:
-// - extra validation (no FKs for now...)
-// - generate new and unique names for all constraints (CHECK and FK; yes, why not handle FK names; even as we don't support FKs today, we may in the future)
-func (e *Executor) validateAndEditCreateTableStatement(onlineDDL *schema.OnlineDDL, createTable *sqlparser.CreateTable) (constraintMap map[string]string, err error) {
- constraintMap = map[string]string{}
- hashExists := map[string]bool{}
-
- validateWalk := func(node sqlparser.SQLNode) (kontinue bool, err error) {
- switch node := node.(type) {
- case *sqlparser.ForeignKeyDefinition:
- if !onlineDDL.StrategySetting().IsAllowForeignKeysFlag() {
- return false, schema.ErrForeignKeyFound
- }
- case *sqlparser.ConstraintDefinition:
- oldName := node.Name.String()
- newName := e.newConstraintName(onlineDDL, GetConstraintType(node.Details), hashExists, sqlparser.CanonicalString(node.Details), oldName)
- node.Name = sqlparser.NewIdentifierCI(newName)
- constraintMap[oldName] = newName
- }
- return true, nil
- }
- if err := sqlparser.Walk(validateWalk, createTable); err != nil {
- return constraintMap, err
- }
- return constraintMap, nil
-}
-
-// validateAndEditAlterTableStatement inspects the AlterTable statement and:
-// - modifies any CONSTRAINT name according to given name mapping
-// - explode ADD FULLTEXT KEY into multiple statements
-func (e *Executor) validateAndEditAlterTableStatement(capableOf capabilities.CapableOf, onlineDDL *schema.OnlineDDL, alterTable *sqlparser.AlterTable, constraintMap map[string]string) (alters []*sqlparser.AlterTable, err error) {
- capableOfInstantDDLXtrabackup, err := capableOf(capabilities.InstantDDLXtrabackupCapability)
- if err != nil {
- return nil, err
- }
+// initConnectionLockWaitTimeout sets the given lock_wait_timeout for the given connection, with a deferred value restoration function
+func (e *Executor) initConnectionLockWaitTimeout(ctx context.Context, conn *connpool.Conn, lockWaitTimeout time.Duration) (deferFunc func(), err error) {
+ deferFunc = func() {}
- hashExists := map[string]bool{}
- validateWalk := func(node sqlparser.SQLNode) (kontinue bool, err error) {
- switch node := node.(type) {
- case *sqlparser.DropKey:
- if node.Type == sqlparser.CheckKeyType || node.Type == sqlparser.ForeignKeyType {
- // drop a check or a foreign key constraint
- mappedName, ok := constraintMap[node.Name.String()]
- if !ok {
- return false, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "Found DROP CONSTRAINT: %v, but could not find constraint name in map", sqlparser.CanonicalString(node))
- }
- node.Name = sqlparser.NewIdentifierCI(mappedName)
- }
- case *sqlparser.AddConstraintDefinition:
- oldName := node.ConstraintDefinition.Name.String()
- newName := e.newConstraintName(onlineDDL, GetConstraintType(node.ConstraintDefinition.Details), hashExists, sqlparser.CanonicalString(node.ConstraintDefinition.Details), oldName)
- node.ConstraintDefinition.Name = sqlparser.NewIdentifierCI(newName)
- constraintMap[oldName] = newName
- }
- return true, nil
+ if _, err := conn.Exec(ctx, `set @lock_wait_timeout=@@session.lock_wait_timeout`, 0, false); err != nil {
+ return deferFunc, vterrors.Errorf(vtrpcpb.Code_UNKNOWN, "could not read lock_wait_timeout: %v", err)
}
- if err := sqlparser.Walk(validateWalk, alterTable); err != nil {
- return alters, err
- }
- alters = append(alters, alterTable)
- // Handle ADD FULLTEXT KEY statements
- countAddFullTextStatements := 0
- redactedOptions := make([]sqlparser.AlterOption, 0, len(alterTable.AlterOptions))
- for i := range alterTable.AlterOptions {
- opt := alterTable.AlterOptions[i]
- switch opt := opt.(type) {
- case sqlparser.AlgorithmValue:
- if !capableOfInstantDDLXtrabackup {
- // we do not pass ALGORITHM. We choose our own ALGORITHM.
- continue
- }
- case *sqlparser.AddIndexDefinition:
- if opt.IndexDefinition.Info.Type == sqlparser.IndexTypeFullText {
- countAddFullTextStatements++
- if countAddFullTextStatements > 1 {
- // We've already got one ADD FULLTEXT KEY. We can't have another
- // in the same statement
- extraAlterTable := &sqlparser.AlterTable{
- Table: alterTable.Table,
- AlterOptions: []sqlparser.AlterOption{opt},
- }
- if !capableOfInstantDDLXtrabackup {
- extraAlterTable.AlterOptions = append(extraAlterTable.AlterOptions, copyAlgorithm)
- }
- alters = append(alters, extraAlterTable)
- continue
- }
- }
- }
- redactedOptions = append(redactedOptions, opt)
- }
- alterTable.AlterOptions = redactedOptions
- if !capableOfInstantDDLXtrabackup {
- alterTable.AlterOptions = append(alterTable.AlterOptions, copyAlgorithm)
- }
- return alters, nil
-}
-
-// duplicateCreateTable parses the given `CREATE TABLE` statement, and returns:
-// - The format CreateTable AST
-// - A new CreateTable AST, with the table renamed as `newTableName`, and with constraints renamed deterministically
-// - Map of renamed constraints
-func (e *Executor) duplicateCreateTable(ctx context.Context, onlineDDL *schema.OnlineDDL, originalCreateTable *sqlparser.CreateTable, newTableName string) (
- newCreateTable *sqlparser.CreateTable,
- constraintMap map[string]string,
- err error,
-) {
- newCreateTable = sqlparser.Clone(originalCreateTable)
- newCreateTable.SetTable(newCreateTable.GetTable().Qualifier.CompliantName(), newTableName)
-
- // If this table has a self-referencing foreign key constraint, ensure the referenced table gets renamed:
- renameSelfFK := func(node sqlparser.SQLNode) (kontinue bool, err error) {
- switch node := node.(type) {
- case *sqlparser.ConstraintDefinition:
- fk, ok := node.Details.(*sqlparser.ForeignKeyDefinition)
- if !ok {
- return true, nil
- }
- if referencedTableName := fk.ReferenceDefinition.ReferencedTable.Name.String(); referencedTableName == originalCreateTable.Table.Name.String() {
- // This is a self-referencing foreign key
- // We need to rename the referenced table as well
- fk.ReferenceDefinition.ReferencedTable.Name = sqlparser.NewIdentifierCS(newTableName)
- }
- }
- return true, nil
+ timeoutSeconds := int64(lockWaitTimeout.Seconds())
+ setQuery := fmt.Sprintf("set @@session.lock_wait_timeout=%d", timeoutSeconds)
+ if _, err := conn.Exec(ctx, setQuery, 0, false); err != nil {
+ return deferFunc, err
}
- _ = sqlparser.Walk(renameSelfFK, newCreateTable)
-
- // manipulate CreateTable statement: take care of constraints names which have to be
- // unique across the schema
- constraintMap, err = e.validateAndEditCreateTableStatement(onlineDDL, newCreateTable)
- if err != nil {
- return nil, nil, err
+ deferFunc = func() {
+ conn.Exec(ctx, "set @@session.lock_wait_timeout=@lock_wait_timeout", 0, false)
}
- return newCreateTable, constraintMap, nil
+ return deferFunc, nil
}
// createDuplicateTableLike creates the table named by `newTableName` in the likeness of onlineDDL.Table
@@ -1451,7 +1290,7 @@ func (e *Executor) createDuplicateTableLike(ctx context.Context, newTableName st
if err != nil {
return nil, nil, err
}
- vreplCreateTable, constraintMap, err := e.duplicateCreateTable(ctx, onlineDDL, originalCreateTable, newTableName)
+ vreplCreateTable, constraintMap, err := schemadiff.DuplicateCreateTable(originalCreateTable, onlineDDL.UUID, newTableName, onlineDDL.StrategySetting().IsAllowForeignKeysFlag())
if err != nil {
return nil, nil, err
}
@@ -1502,7 +1341,7 @@ func (e *Executor) initVreplicationOriginalMigration(ctx context.Context, online
// Also, change any constraint names:
capableOf := mysql.ServerVersionCapableOf(conn.ServerVersion)
- alters, err := e.validateAndEditAlterTableStatement(capableOf, onlineDDL, alterTable, constraintMap)
+ alters, err := schemadiff.ValidateAndEditAlterTableStatement(onlineDDL.Table, onlineDDL.UUID, capableOf, alterTable, constraintMap)
if err != nil {
return v, err
}
@@ -2970,7 +2809,7 @@ func (e *Executor) analyzeDropDDLActionMigration(ctx context.Context, onlineDDL
// Analyze foreign keys:
for _, constraint := range createTable.TableSpec.Constraints {
- if GetConstraintType(constraint.Details) == ForeignKeyConstraintType {
+ if schemadiff.GetConstraintType(constraint.Details) == schemadiff.ForeignKeyConstraintType {
removedForeignKeyNames = append(removedForeignKeyNames, constraint.Name.String())
}
}
@@ -3072,7 +2911,7 @@ func (e *Executor) executeCreateDDLActionMigration(ctx context.Context, onlineDD
newCreateTable := sqlparser.Clone(originalCreateTable)
// Rewrite this CREATE TABLE statement such that CONSTRAINT names are edited,
// specifically removing any prefix.
- if _, err := e.validateAndEditCreateTableStatement(onlineDDL, newCreateTable); err != nil {
+ if _, err := schemadiff.ValidateAndEditCreateTableStatement(onlineDDL.Table, onlineDDL.UUID, newCreateTable, onlineDDL.StrategySetting().IsAllowForeignKeysFlag()); err != nil {
return failMigration(err)
}
ddlStmt = newCreateTable
@@ -3199,20 +3038,6 @@ func (e *Executor) executeAlterViewOnline(ctx context.Context, onlineDDL *schema
return nil
}
-// addInstantAlgorithm adds or modifies the AlterTable's ALGORITHM to INSTANT
-func (e *Executor) addInstantAlgorithm(alterTable *sqlparser.AlterTable) {
- instantOpt := sqlparser.AlgorithmValue("INSTANT")
- for i, opt := range alterTable.AlterOptions {
- if _, ok := opt.(sqlparser.AlgorithmValue); ok {
- // replace an existing algorithm
- alterTable.AlterOptions[i] = instantOpt
- return
- }
- }
- // append an algorithm
- alterTable.AlterOptions = append(alterTable.AlterOptions, instantOpt)
-}
-
// executeSpecialAlterDDLActionMigrationIfApplicable sees if the given migration can be executed via special execution path, that isn't a full blown online schema change process.
func (e *Executor) executeSpecialAlterDDLActionMigrationIfApplicable(ctx context.Context, onlineDDL *schema.OnlineDDL) (specialMigrationExecuted bool, err error) {
// Before we jump on to strategies... Some ALTERs can be optimized without having to run through
@@ -3234,7 +3059,7 @@ func (e *Executor) executeSpecialAlterDDLActionMigrationIfApplicable(ctx context
switch specialPlan.operation {
case instantDDLSpecialOperation:
- e.addInstantAlgorithm(specialPlan.alterTable)
+ schemadiff.AddInstantAlgorithm(specialPlan.alterTable)
onlineDDL.SQL = sqlparser.CanonicalString(specialPlan.alterTable)
if _, err := e.executeDirectly(ctx, onlineDDL); err != nil {
return false, err
@@ -3812,7 +3637,7 @@ func (e *Executor) reviewRunningMigrations(ctx context.Context) (countRunnning i
uuid := row["migration_uuid"].ToString()
cutoverAttempts := row.AsInt64("cutover_attempts", 0)
sinceLastCutoverAttempt := time.Second * time.Duration(row.AsInt64("seconds_since_last_cutover_attempt", 0))
- sinceReadyToComplete := time.Second * time.Duration(row.AsInt64("seconds_since_ready_to_complete", 0))
+ sinceReadyToComplete := time.Microsecond * time.Duration(row.AsInt64("microseconds_since_ready_to_complete", 0))
onlineDDL, migrationRow, err := e.readMigration(ctx, uuid)
if err != nil {
return countRunnning, cancellable, err
@@ -5311,3 +5136,20 @@ func (e *Executor) OnSchemaMigrationStatus(ctx context.Context,
return e.onSchemaMigrationStatus(ctx, uuidParam, status, dryRun, progressPct, etaSeconds, rowsCopied, hint)
}
+
+func (e *Executor) checkOnPreparedPool(ctx context.Context, table string, waitTime time.Duration) error {
+ if e.isPreparedPoolEmpty(table) {
+ return nil
+ }
+
+ select {
+ case <-ctx.Done():
+ // Return context error if context is done
+ return ctx.Err()
+ case <-time.After(waitTime):
+ if e.isPreparedPoolEmpty(table) {
+ return nil
+ }
+ return vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "cannot force cut-over on non-empty prepared pool for table: %s", table)
+ }
+}
diff --git a/go/vt/vttablet/onlineddl/executor_test.go b/go/vt/vttablet/onlineddl/executor_test.go
index 1dc5447bbb9..2533f3a4b48 100644
--- a/go/vt/vttablet/onlineddl/executor_test.go
+++ b/go/vt/vttablet/onlineddl/executor_test.go
@@ -21,393 +21,12 @@ Functionality of this Executor is tested in go/test/endtoend/onlineddl/...
package onlineddl
import (
- "context"
"testing"
"time"
"github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
-
- "vitess.io/vitess/go/mysql"
- "vitess.io/vitess/go/vt/vtenv"
- "vitess.io/vitess/go/vt/vttablet/tabletserver/tabletenv"
-
- "vitess.io/vitess/go/vt/schema"
- "vitess.io/vitess/go/vt/sqlparser"
-)
-
-var (
- testMySQLVersion = "8.0.34"
)
-func TestGetConstraintType(t *testing.T) {
- {
- typ := GetConstraintType(&sqlparser.CheckConstraintDefinition{})
- assert.Equal(t, CheckConstraintType, typ)
- }
- {
- typ := GetConstraintType(&sqlparser.ForeignKeyDefinition{})
- assert.Equal(t, ForeignKeyConstraintType, typ)
- }
-}
-
-func TestValidateAndEditCreateTableStatement(t *testing.T) {
- e := Executor{
- env: tabletenv.NewEnv(vtenv.NewTestEnv(), nil, "ValidateAndEditCreateTableStatementTest"),
- }
- tt := []struct {
- name string
- query string
- strategyOptions string
- expectError string
- countConstraints int
- expectConstraintMap map[string]string
- }{
- {
- name: "table with FK, not allowed",
- query: `
- create table onlineddl_test (
- id int auto_increment,
- i int not null,
- parent_id int not null,
- primary key(id),
- constraint test_ibfk foreign key (parent_id) references onlineddl_test_parent (id) on delete no action
- )
- `,
- expectError: schema.ErrForeignKeyFound.Error(),
- },
- {
- name: "table with FK, allowed",
- query: `
- create table onlineddl_test (
- id int auto_increment,
- i int not null,
- parent_id int not null,
- primary key(id),
- constraint test_ibfk foreign key (parent_id) references onlineddl_test_parent (id) on delete no action
- )
- `,
- strategyOptions: "--unsafe-allow-foreign-keys",
- countConstraints: 1,
- expectConstraintMap: map[string]string{"test_ibfk": "test_ibfk_2wtivm6zk4lthpz14g9uoyaqk"},
- },
- {
- name: "table with default FK name, strip table name",
- query: `
- create table onlineddl_test (
- id int auto_increment,
- i int not null,
- parent_id int not null,
- primary key(id),
- constraint onlineddl_test_ibfk_1 foreign key (parent_id) references onlineddl_test_parent (id) on delete no action
- )
- `,
- strategyOptions: "--unsafe-allow-foreign-keys",
- countConstraints: 1,
- // we want 'onlineddl_test_' to be stripped out:
- expectConstraintMap: map[string]string{"onlineddl_test_ibfk_1": "ibfk_1_2wtivm6zk4lthpz14g9uoyaqk"},
- },
- {
- name: "table with anonymous FK, allowed",
- query: `
- create table onlineddl_test (
- id int auto_increment,
- i int not null,
- parent_id int not null,
- primary key(id),
- foreign key (parent_id) references onlineddl_test_parent (id) on delete no action
- )
- `,
- strategyOptions: "--unsafe-allow-foreign-keys",
- countConstraints: 1,
- expectConstraintMap: map[string]string{"": "fk_2wtivm6zk4lthpz14g9uoyaqk"},
- },
- {
- name: "table with CHECK constraints",
- query: `
- create table onlineddl_test (
- id int auto_increment,
- i int not null,
- primary key(id),
- constraint check_1 CHECK ((i >= 0)),
- constraint check_2 CHECK ((i <> 5)),
- constraint check_3 CHECK ((i >= 0)),
- constraint chk_1111033c1d2d5908bf1f956ba900b192_check_4 CHECK ((i >= 0))
- )
- `,
- countConstraints: 4,
- expectConstraintMap: map[string]string{
- "check_1": "check_1_7dbssrkwdaxhdunwi5zj53q83",
- "check_2": "check_2_ehg3rtk6ejvbxpucimeess30o",
- "check_3": "check_3_0se0t8x98mf8v7lqmj2la8j9u",
- "chk_1111033c1d2d5908bf1f956ba900b192_check_4": "chk_1111033c1d2d5908bf1f956ba900b192_c_0c2c3bxi9jp4evqrct44wg3xh",
- },
- },
- {
- name: "table with both FOREIGN and CHECK constraints",
- query: `
- create table onlineddl_test (
- id int auto_increment,
- i int not null,
- primary key(id),
- constraint check_1 CHECK ((i >= 0)),
- constraint test_ibfk foreign key (parent_id) references onlineddl_test_parent (id) on delete no action,
- constraint chk_1111033c1d2d5908bf1f956ba900b192_check_4 CHECK ((i >= 0))
- )
- `,
- strategyOptions: "--unsafe-allow-foreign-keys",
- countConstraints: 3,
- expectConstraintMap: map[string]string{
- "check_1": "check_1_7dbssrkwdaxhdunwi5zj53q83",
- "chk_1111033c1d2d5908bf1f956ba900b192_check_4": "chk_1111033c1d2d5908bf1f956ba900b192_c_0se0t8x98mf8v7lqmj2la8j9u",
- "test_ibfk": "test_ibfk_2wtivm6zk4lthpz14g9uoyaqk",
- },
- },
- }
- for _, tc := range tt {
- t.Run(tc.name, func(t *testing.T) {
- stmt, err := e.env.Environment().Parser().ParseStrictDDL(tc.query)
- require.NoError(t, err)
- createTable, ok := stmt.(*sqlparser.CreateTable)
- require.True(t, ok)
-
- onlineDDL := &schema.OnlineDDL{UUID: "a5a563da_dc1a_11ec_a416_0a43f95f28a3", Table: "onlineddl_test", Options: tc.strategyOptions}
- constraintMap, err := e.validateAndEditCreateTableStatement(onlineDDL, createTable)
- if tc.expectError != "" {
- assert.ErrorContains(t, err, tc.expectError)
- return
- }
- assert.NoError(t, err)
- assert.Equal(t, tc.expectConstraintMap, constraintMap)
-
- uniqueConstraintNames := map[string]bool{}
- err = sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) {
- switch node := node.(type) {
- case *sqlparser.ConstraintDefinition:
- uniqueConstraintNames[node.Name.String()] = true
- }
- return true, nil
- }, createTable)
- assert.NoError(t, err)
- assert.Equal(t, tc.countConstraints, len(uniqueConstraintNames))
- assert.Equalf(t, tc.countConstraints, len(constraintMap), "got contraints: %v", constraintMap)
- })
- }
-}
-
-func TestValidateAndEditAlterTableStatement(t *testing.T) {
- e := Executor{
- env: tabletenv.NewEnv(vtenv.NewTestEnv(), nil, "TestValidateAndEditAlterTableStatementTest"),
- }
- tt := []struct {
- alter string
- mySQLVersion string
- m map[string]string
- expect []string
- }{
- {
- alter: "alter table t add column i int",
- mySQLVersion: "8.0.29",
- expect: []string{"alter table t add column i int, algorithm = copy"},
- },
- {
- alter: "alter table t add column i int",
- mySQLVersion: "8.0.32",
- expect: []string{"alter table t add column i int"},
- },
- {
- alter: "alter table t add column i int, add fulltext key name1_ft (name1)",
- expect: []string{"alter table t add column i int, add fulltext key name1_ft (name1)"},
- },
- {
- alter: "alter table t add column i int, add fulltext key name1_ft (name1), add fulltext key name2_ft (name2)",
- expect: []string{"alter table t add column i int, add fulltext key name1_ft (name1)", "alter table t add fulltext key name2_ft (name2)"},
- },
- {
- alter: "alter table t add fulltext key name0_ft (name0), add column i int, add fulltext key name1_ft (name1), add fulltext key name2_ft (name2)",
- expect: []string{"alter table t add fulltext key name0_ft (name0), add column i int", "alter table t add fulltext key name1_ft (name1)", "alter table t add fulltext key name2_ft (name2)"},
- },
- {
- alter: "alter table t add constraint check (id != 1)",
- expect: []string{"alter table t add constraint chk_aulpn7bjeortljhguy86phdn9 check (id != 1)"},
- },
- {
- alter: "alter table t add constraint t_chk_1 check (id != 1)",
- expect: []string{"alter table t add constraint chk_1_aulpn7bjeortljhguy86phdn9 check (id != 1)"},
- },
- {
- alter: "alter table t add constraint some_check check (id != 1)",
- expect: []string{"alter table t add constraint some_check_aulpn7bjeortljhguy86phdn9 check (id != 1)"},
- },
- {
- alter: "alter table t add constraint some_check check (id != 1), add constraint another_check check (id != 2)",
- expect: []string{"alter table t add constraint some_check_aulpn7bjeortljhguy86phdn9 check (id != 1), add constraint another_check_4fa197273p3w96267pzm3gfi3 check (id != 2)"},
- },
- {
- alter: "alter table t add foreign key (parent_id) references onlineddl_test_parent (id) on delete no action",
- expect: []string{"alter table t add constraint fk_6fmhzdlya89128u5j3xapq34i foreign key (parent_id) references onlineddl_test_parent (id) on delete no action"},
- },
- {
- alter: "alter table t add constraint myfk foreign key (parent_id) references onlineddl_test_parent (id) on delete no action",
- expect: []string{"alter table t add constraint myfk_6fmhzdlya89128u5j3xapq34i foreign key (parent_id) references onlineddl_test_parent (id) on delete no action"},
- },
- {
- // strip out table name
- alter: "alter table t add constraint t_ibfk_1 foreign key (parent_id) references onlineddl_test_parent (id) on delete no action",
- expect: []string{"alter table t add constraint ibfk_1_6fmhzdlya89128u5j3xapq34i foreign key (parent_id) references onlineddl_test_parent (id) on delete no action"},
- },
- {
- // stript out table name
- alter: "alter table t add constraint t_ibfk_1 foreign key (parent_id) references onlineddl_test_parent (id) on delete no action",
- expect: []string{"alter table t add constraint ibfk_1_6fmhzdlya89128u5j3xapq34i foreign key (parent_id) references onlineddl_test_parent (id) on delete no action"},
- },
- {
- alter: "alter table t add constraint t_ibfk_1 foreign key (parent_id) references onlineddl_test_parent (id) on delete no action, add constraint some_check check (id != 1)",
- expect: []string{"alter table t add constraint ibfk_1_6fmhzdlya89128u5j3xapq34i foreign key (parent_id) references onlineddl_test_parent (id) on delete no action, add constraint some_check_aulpn7bjeortljhguy86phdn9 check (id != 1)"},
- },
- {
- alter: "alter table t drop foreign key t_ibfk_1",
- m: map[string]string{
- "t_ibfk_1": "ibfk_1_aaaaaaaaaaaaaa",
- },
- expect: []string{"alter table t drop foreign key ibfk_1_aaaaaaaaaaaaaa"},
- },
- }
-
- for _, tc := range tt {
- t.Run(tc.alter, func(t *testing.T) {
- stmt, err := e.env.Environment().Parser().ParseStrictDDL(tc.alter)
- require.NoError(t, err)
- alterTable, ok := stmt.(*sqlparser.AlterTable)
- require.True(t, ok)
-
- m := map[string]string{}
- for k, v := range tc.m {
- m[k] = v
- }
- if tc.mySQLVersion == "" {
- tc.mySQLVersion = testMySQLVersion
- }
- capableOf := mysql.ServerVersionCapableOf(tc.mySQLVersion)
- onlineDDL := &schema.OnlineDDL{UUID: "a5a563da_dc1a_11ec_a416_0a43f95f28a3", Table: "t", Options: "--unsafe-allow-foreign-keys"}
- alters, err := e.validateAndEditAlterTableStatement(capableOf, onlineDDL, alterTable, m)
- assert.NoError(t, err)
- var altersStrings []string
- for _, alter := range alters {
- altersStrings = append(altersStrings, sqlparser.String(alter))
- }
- assert.Equal(t, tc.expect, altersStrings)
- })
- }
-}
-
-func TestAddInstantAlgorithm(t *testing.T) {
- e := Executor{
- env: tabletenv.NewEnv(vtenv.NewTestEnv(), nil, "AddInstantAlgorithmTest"),
- }
- tt := []struct {
- alter string
- expect string
- }{
- {
- alter: "alter table t add column i2 int not null",
- expect: "ALTER TABLE `t` ADD COLUMN `i2` int NOT NULL, ALGORITHM = INSTANT",
- },
- {
- alter: "alter table t add column i2 int not null, lock=none",
- expect: "ALTER TABLE `t` ADD COLUMN `i2` int NOT NULL, LOCK NONE, ALGORITHM = INSTANT",
- },
- {
- alter: "alter table t add column i2 int not null, algorithm=inplace",
- expect: "ALTER TABLE `t` ADD COLUMN `i2` int NOT NULL, ALGORITHM = INSTANT",
- },
- {
- alter: "alter table t add column i2 int not null, algorithm=inplace, lock=none",
- expect: "ALTER TABLE `t` ADD COLUMN `i2` int NOT NULL, ALGORITHM = INSTANT, LOCK NONE",
- },
- }
- for _, tc := range tt {
- t.Run(tc.alter, func(t *testing.T) {
- stmt, err := e.env.Environment().Parser().ParseStrictDDL(tc.alter)
- require.NoError(t, err)
- alterTable, ok := stmt.(*sqlparser.AlterTable)
- require.True(t, ok)
-
- e.addInstantAlgorithm(alterTable)
- alterInstant := sqlparser.CanonicalString(alterTable)
-
- assert.Equal(t, tc.expect, alterInstant)
-
- stmt, err = e.env.Environment().Parser().ParseStrictDDL(alterInstant)
- require.NoError(t, err)
- _, ok = stmt.(*sqlparser.AlterTable)
- require.True(t, ok)
- })
- }
-}
-
-func TestDuplicateCreateTable(t *testing.T) {
- e := Executor{
- env: tabletenv.NewEnv(vtenv.NewTestEnv(), nil, "DuplicateCreateTableTest"),
- }
- ctx := context.Background()
- onlineDDL := &schema.OnlineDDL{UUID: "a5a563da_dc1a_11ec_a416_0a43f95f28a3", Table: "something", Strategy: "vitess", Options: "--unsafe-allow-foreign-keys"}
-
- tcases := []struct {
- sql string
- newName string
- expectSQL string
- expectMapSize int
- }{
- {
- sql: "create table t (id int primary key)",
- newName: "mytable",
- expectSQL: "create table mytable (\n\tid int primary key\n)",
- },
- {
- sql: "create table t (id int primary key, i int, constraint f foreign key (i) references parent (id) on delete cascade)",
- newName: "mytable",
- expectSQL: "create table mytable (\n\tid int primary key,\n\ti int,\n\tconstraint f_bjj16562shq086ozik3zf6kjg foreign key (i) references parent (id) on delete cascade\n)",
- expectMapSize: 1,
- },
- {
- sql: "create table self (id int primary key, i int, constraint f foreign key (i) references self (id))",
- newName: "mytable",
- expectSQL: "create table mytable (\n\tid int primary key,\n\ti int,\n\tconstraint f_8aymb58nzb78l5jhq600veg6y foreign key (i) references mytable (id)\n)",
- expectMapSize: 1,
- },
- {
- sql: "create table self (id int primary key, i1 int, i2 int, constraint f1 foreign key (i1) references self (id), constraint f1 foreign key (i2) references parent (id))",
- newName: "mytable",
- expectSQL: `create table mytable (
- id int primary key,
- i1 int,
- i2 int,
- constraint f1_1rlsg9yls1t91i35zq5gyeoq7 foreign key (i1) references mytable (id),
- constraint f1_59t4lvb1ncti6fxy27drad4jp foreign key (i2) references parent (id)
-)`,
- expectMapSize: 1,
- },
- }
- for _, tcase := range tcases {
- t.Run(tcase.sql, func(t *testing.T) {
- stmt, err := e.env.Environment().Parser().ParseStrictDDL(tcase.sql)
- require.NoError(t, err)
- originalCreateTable, ok := stmt.(*sqlparser.CreateTable)
- require.True(t, ok)
- require.NotNil(t, originalCreateTable)
- newCreateTable, constraintMap, err := e.duplicateCreateTable(ctx, onlineDDL, originalCreateTable, tcase.newName)
- assert.NoError(t, err)
- assert.NotNil(t, newCreateTable)
- assert.NotNil(t, constraintMap)
-
- newSQL := sqlparser.String(newCreateTable)
- assert.Equal(t, tcase.expectSQL, newSQL)
- assert.Equal(t, tcase.expectMapSize, len(constraintMap))
- })
- }
-}
-
func TestShouldCutOverAccordingToBackoff(t *testing.T) {
tcases := []struct {
name string
@@ -481,6 +100,38 @@ func TestShouldCutOverAccordingToBackoff(t *testing.T) {
expectShouldCutOver: false,
expectShouldForceCutOver: false,
},
+ {
+ name: "zero since ready",
+ cutoverAttempts: 3,
+ forceCutOverAfter: time.Second,
+ sinceReadyToComplete: 0,
+ expectShouldCutOver: false,
+ expectShouldForceCutOver: false,
+ },
+ {
+ name: "zero since read, zero cut-over-after",
+ cutoverAttempts: 3,
+ forceCutOverAfter: 0,
+ sinceReadyToComplete: 0,
+ expectShouldCutOver: false,
+ expectShouldForceCutOver: false,
+ },
+ {
+ name: "microsecond",
+ cutoverAttempts: 3,
+ forceCutOverAfter: time.Microsecond,
+ sinceReadyToComplete: time.Millisecond,
+ expectShouldCutOver: true,
+ expectShouldForceCutOver: true,
+ },
+ {
+ name: "microsecond, not ready",
+ cutoverAttempts: 3,
+ forceCutOverAfter: time.Millisecond,
+ sinceReadyToComplete: time.Microsecond,
+ expectShouldCutOver: false,
+ expectShouldForceCutOver: false,
+ },
{
name: "cutover-after overrides backoff",
cutoverAttempts: 3,
diff --git a/go/vt/vttablet/onlineddl/schema.go b/go/vt/vttablet/onlineddl/schema.go
index 28e32e7dab4..9023639fd00 100644
--- a/go/vt/vttablet/onlineddl/schema.go
+++ b/go/vt/vttablet/onlineddl/schema.go
@@ -209,7 +209,9 @@ const (
migration_uuid=%a
`
sqlUpdateMessage = `UPDATE _vt.schema_migrations
- SET message=%a
+ SET
+ message=%a,
+ message_timestamp=NOW(6)
WHERE
migration_uuid=%a
`
@@ -304,7 +306,7 @@ const (
postpone_completion,
force_cutover,
cutover_attempts,
- ifnull(timestampdiff(second, ready_to_complete_timestamp, now()), 0) as seconds_since_ready_to_complete,
+ ifnull(timestampdiff(microsecond, ready_to_complete_timestamp, now(6)), 0) as microseconds_since_ready_to_complete,
ifnull(timestampdiff(second, last_cutover_attempt_timestamp, now()), 0) as seconds_since_last_cutover_attempt,
timestampdiff(second, started_timestamp, now()) as elapsed_seconds
FROM _vt.schema_migrations
diff --git a/go/vt/vttablet/onlineddl/vrepl.go b/go/vt/vttablet/onlineddl/vrepl.go
index 14c52d352bf..26eb614e95a 100644
--- a/go/vt/vttablet/onlineddl/vrepl.go
+++ b/go/vt/vttablet/onlineddl/vrepl.go
@@ -289,6 +289,9 @@ func (v *VRepl) generateFilterQuery() error {
sb.WriteString(fmt.Sprintf("CONCAT(%s)", escapeName(name)))
case sourceCol.Type() == "json":
sb.WriteString(fmt.Sprintf("convert(%s using utf8mb4)", escapeName(name)))
+ case targetCol.Type() == "json": // we already know the source col is not JSON, per the above `case` condition
+ // Convert any type to JSON: encode the type as utf8mb4 text
+ sb.WriteString(fmt.Sprintf("convert(%s using utf8mb4)", escapeName(name)))
case sourceCol.IsTextual():
// Check source and target charset/encoding. If needed, create
// a binlogdatapb.CharsetConversion entry (later written to vreplication)
@@ -301,19 +304,19 @@ func (v *VRepl) generateFilterQuery() error {
if targetCol.IsTextual() && toCollation == collations.Unknown {
return vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "Character set %s not supported for column %s", targetCol.Charset(), targetCol.Name())
}
-
- if trivialCharset(fromCollation) && trivialCharset(toCollation) && targetCol.Type() != "json" {
+ if trivialCharset(fromCollation) && trivialCharset(toCollation) {
+ sb.WriteString(escapeName(name))
+ } else if fromCollation == toCollation {
+ // No need for charset conversions as both have the same collation.
sb.WriteString(escapeName(name))
} else {
+ // Charset conversion required:
v.convertCharset[targetName] = &binlogdatapb.CharsetConversion{
FromCharset: sourceCol.Charset(),
ToCharset: targetCol.Charset(),
}
- sb.WriteString(fmt.Sprintf("convert(%s using utf8mb4)", escapeName(name)))
+ sb.WriteString(escapeName(name))
}
- case targetCol.Type() == "json" && sourceCol.Type() != "json":
- // Convert any type to JSON: encode the type as utf8mb4 text
- sb.WriteString(fmt.Sprintf("convert(%s using utf8mb4)", escapeName(name)))
default:
sb.WriteString(escapeName(name))
}
@@ -386,7 +389,7 @@ func (v *VRepl) analyze(ctx context.Context, conn *dbconnpool.DBConnection) erro
func (v *VRepl) generateInsertStatement() (string, error) {
ig := vreplication.NewInsertGenerator(binlogdatapb.VReplicationWorkflowState_Stopped, v.dbName)
ig.AddRow(v.workflow, v.bls, v.pos, "", "in_order:REPLICA,PRIMARY",
- binlogdatapb.VReplicationWorkflowType_OnlineDDL, binlogdatapb.VReplicationWorkflowSubType_None, false)
+ binlogdatapb.VReplicationWorkflowType_OnlineDDL, binlogdatapb.VReplicationWorkflowSubType_None, false, "")
return ig.String(), nil
}
diff --git a/go/vt/vttablet/queryservice/queryservice.go b/go/vt/vttablet/queryservice/queryservice.go
index 10cf48fd8b1..1e48c9b7b1d 100644
--- a/go/vt/vttablet/queryservice/queryservice.go
+++ b/go/vt/vttablet/queryservice/queryservice.go
@@ -77,7 +77,7 @@ type QueryService interface {
ReadTransaction(ctx context.Context, target *querypb.Target, dtid string) (metadata *querypb.TransactionMetadata, err error)
// UnresolvedTransactions returns the list of unresolved distributed transactions.
- UnresolvedTransactions(ctx context.Context, target *querypb.Target) ([]*querypb.TransactionMetadata, error)
+ UnresolvedTransactions(ctx context.Context, target *querypb.Target, abandonAgeSeconds int64) ([]*querypb.TransactionMetadata, error)
// Execute for query execution
Execute(ctx context.Context, target *querypb.Target, sql string, bindVariables map[string]*querypb.BindVariable, transactionID, reservedID int64, options *querypb.ExecuteOptions) (*sqltypes.Result, error)
diff --git a/go/vt/vttablet/queryservice/wrapped.go b/go/vt/vttablet/queryservice/wrapped.go
index d24bd051c4a..2bc8346dac2 100644
--- a/go/vt/vttablet/queryservice/wrapped.go
+++ b/go/vt/vttablet/queryservice/wrapped.go
@@ -176,10 +176,10 @@ func (ws *wrappedService) ReadTransaction(ctx context.Context, target *querypb.T
return metadata, err
}
-func (ws *wrappedService) UnresolvedTransactions(ctx context.Context, target *querypb.Target) (transactions []*querypb.TransactionMetadata, err error) {
+func (ws *wrappedService) UnresolvedTransactions(ctx context.Context, target *querypb.Target, abandonAgeSeconds int64) (transactions []*querypb.TransactionMetadata, err error) {
err = ws.wrapper(ctx, target, ws.impl, "UnresolvedTransactions", false, func(ctx context.Context, target *querypb.Target, conn QueryService) (bool, error) {
var innerErr error
- transactions, innerErr = conn.UnresolvedTransactions(ctx, target)
+ transactions, innerErr = conn.UnresolvedTransactions(ctx, target, abandonAgeSeconds)
return canRetry(ctx, innerErr), innerErr
})
return transactions, err
diff --git a/go/vt/vttablet/sandboxconn/sandboxconn.go b/go/vt/vttablet/sandboxconn/sandboxconn.go
index 3c7f4c8c445..ae956e5e249 100644
--- a/go/vt/vttablet/sandboxconn/sandboxconn.go
+++ b/go/vt/vttablet/sandboxconn/sandboxconn.go
@@ -430,7 +430,7 @@ func (sbc *SandboxConn) ReadTransaction(ctx context.Context, target *querypb.Tar
}
// UnresolvedTransactions is part of the QueryService interface.
-func (sbc *SandboxConn) UnresolvedTransactions(context.Context, *querypb.Target) ([]*querypb.TransactionMetadata, error) {
+func (sbc *SandboxConn) UnresolvedTransactions(context.Context, *querypb.Target, int64) ([]*querypb.TransactionMetadata, error) {
sbc.UnresolvedTransactionsCount.Add(1)
if err := sbc.getError(); err != nil {
return nil, err
diff --git a/go/vt/vttablet/tabletconntest/fakequeryservice.go b/go/vt/vttablet/tabletconntest/fakequeryservice.go
index 54deee1aed7..ac08e095f4d 100644
--- a/go/vt/vttablet/tabletconntest/fakequeryservice.go
+++ b/go/vt/vttablet/tabletconntest/fakequeryservice.go
@@ -360,7 +360,7 @@ func (f *FakeQueryService) ReadTransaction(ctx context.Context, target *querypb.
}
// UnresolvedTransactions is part of the queryservice.QueryService interface
-func (f *FakeQueryService) UnresolvedTransactions(ctx context.Context, target *querypb.Target) ([]*querypb.TransactionMetadata, error) {
+func (f *FakeQueryService) UnresolvedTransactions(ctx context.Context, target *querypb.Target, abandonAgeSeconds int64) ([]*querypb.TransactionMetadata, error) {
if f.HasError {
return nil, f.TabletError
}
diff --git a/go/vt/vttablet/tabletconntest/tabletconntest.go b/go/vt/vttablet/tabletconntest/tabletconntest.go
index 0f443d8d58d..0674de3f663 100644
--- a/go/vt/vttablet/tabletconntest/tabletconntest.go
+++ b/go/vt/vttablet/tabletconntest/tabletconntest.go
@@ -403,7 +403,7 @@ func testUnresolvedTransactions(t *testing.T, conn queryservice.QueryService, f
t.Log("testUnresolvedTransactions")
ctx := context.Background()
ctx = callerid.NewContext(ctx, TestCallerID, TestVTGateCallerID)
- transactions, err := conn.UnresolvedTransactions(ctx, TestTarget)
+ transactions, err := conn.UnresolvedTransactions(ctx, TestTarget, 0 /* abandonAgeSeconds */)
require.NoError(t, err)
require.True(t, proto.Equal(transactions[0], Metadata))
}
@@ -412,7 +412,7 @@ func testUnresolvedTransactionsError(t *testing.T, conn queryservice.QueryServic
t.Log("testUnresolvedTransactionsError")
f.HasError = true
testErrorHelper(t, f, "UnresolvedTransactions", func(ctx context.Context) error {
- _, err := conn.UnresolvedTransactions(ctx, TestTarget)
+ _, err := conn.UnresolvedTransactions(ctx, TestTarget, 0 /* abandonAgeSeconds */)
return err
})
f.HasError = false
@@ -421,7 +421,7 @@ func testUnresolvedTransactionsError(t *testing.T, conn queryservice.QueryServic
func testUnresolvedTransactionsPanics(t *testing.T, conn queryservice.QueryService, f *FakeQueryService) {
t.Log("testUnresolvedTransactionsPanics")
testPanicHelper(t, f, "UnresolvedTransactions", func(ctx context.Context) error {
- _, err := conn.UnresolvedTransactions(ctx, TestTarget)
+ _, err := conn.UnresolvedTransactions(ctx, TestTarget, 0 /* abandonAgeSeconds */)
return err
})
}
diff --git a/go/vt/vttablet/tabletmanager/framework_test.go b/go/vt/vttablet/tabletmanager/framework_test.go
index 27a3a562cd3..872b96585f7 100644
--- a/go/vt/vttablet/tabletmanager/framework_test.go
+++ b/go/vt/vttablet/tabletmanager/framework_test.go
@@ -27,6 +27,8 @@ import (
"github.com/stretchr/testify/require"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
+
"vitess.io/vitess/go/mysql/fakesqldb"
"vitess.io/vitess/go/mysql/replication"
"vitess.io/vitess/go/sqltypes"
@@ -84,6 +86,7 @@ type testEnv struct {
}
func newTestEnv(t *testing.T, ctx context.Context, sourceKeyspace string, sourceShards []string) *testEnv {
+ vttablet.InitVReplicationConfigDefaults()
tenv := &testEnv{
ctx: context.Background(),
tmc: newFakeTMClient(),
@@ -127,7 +130,7 @@ func (tenv *testEnv) close() {
tenv.mysqld.Close()
}
-//--------------------------------------
+// --------------------------------------
// Tablets
func (tenv *testEnv) addTablet(t *testing.T, id int, keyspace, shard string) *fakeTabletConn {
@@ -369,7 +372,7 @@ func (ftc *fakeTabletConn) StreamHealth(ctx context.Context, callback func(*quer
})
}
-//----------------------------------------------
+// ----------------------------------------------
// fakeTMClient
type fakeTMClient struct {
diff --git a/go/vt/vttablet/tabletmanager/rpc_actions.go b/go/vt/vttablet/tabletmanager/rpc_actions.go
index 45dd51670ba..21560f9d34b 100644
--- a/go/vt/vttablet/tabletmanager/rpc_actions.go
+++ b/go/vt/vttablet/tabletmanager/rpc_actions.go
@@ -78,7 +78,20 @@ func (tm *TabletManager) SetReadOnly(ctx context.Context, rdonly bool) error {
return err
}
defer tm.unlock()
+ superRo, err := tm.MysqlDaemon.IsSuperReadOnly(ctx)
+ if err != nil {
+ return err
+ }
+ if !rdonly && superRo {
+ // If super read only is set, then we need to prepare the transactions before setting read_only OFF.
+ // We need to redo the prepared transactions in read only mode using the dba user to ensure we don't lose them.
+ // setting read_only OFF will also set super_read_only OFF if it was set.
+ // If super read only is already off, then we probably called this function from PRS or some other place
+ // because it is idempotent. We only need to redo prepared transactions the first time we transition from super read only
+ // to read write.
+ return tm.redoPreparedTransactionsAndSetReadWrite(ctx)
+ }
return tm.MysqlDaemon.SetReadOnly(ctx, rdonly)
}
diff --git a/go/vt/vttablet/tabletmanager/rpc_agent.go b/go/vt/vttablet/tabletmanager/rpc_agent.go
index 6dd21a21915..f479e702e60 100644
--- a/go/vt/vttablet/tabletmanager/rpc_agent.go
+++ b/go/vt/vttablet/tabletmanager/rpc_agent.go
@@ -83,6 +83,12 @@ type RPCTM interface {
ExecuteFetchAsApp(ctx context.Context, req *tabletmanagerdatapb.ExecuteFetchAsAppRequest) (*querypb.QueryResult, error)
+ GetUnresolvedTransactions(ctx context.Context, abandonAgeSeconds int64) ([]*querypb.TransactionMetadata, error)
+
+ ReadTransaction(ctx context.Context, req *tabletmanagerdatapb.ReadTransactionRequest) (*querypb.TransactionMetadata, error)
+
+ ConcludeTransaction(ctx context.Context, req *tabletmanagerdatapb.ConcludeTransactionRequest) error
+
// Replication related methods
PrimaryStatus(ctx context.Context) (*replicationdatapb.PrimaryStatus, error)
@@ -110,6 +116,7 @@ type RPCTM interface {
HasVReplicationWorkflows(ctx context.Context, req *tabletmanagerdatapb.HasVReplicationWorkflowsRequest) (*tabletmanagerdatapb.HasVReplicationWorkflowsResponse, error)
ReadVReplicationWorkflows(ctx context.Context, req *tabletmanagerdatapb.ReadVReplicationWorkflowsRequest) (*tabletmanagerdatapb.ReadVReplicationWorkflowsResponse, error)
ReadVReplicationWorkflow(ctx context.Context, req *tabletmanagerdatapb.ReadVReplicationWorkflowRequest) (*tabletmanagerdatapb.ReadVReplicationWorkflowResponse, error)
+ ValidateVReplicationPermissions(ctx context.Context, req *tabletmanagerdatapb.ValidateVReplicationPermissionsRequest) (*tabletmanagerdatapb.ValidateVReplicationPermissionsResponse, error)
VReplicationExec(ctx context.Context, query string) (*querypb.QueryResult, error)
VReplicationWaitForPos(ctx context.Context, id int32, pos string) error
UpdateVReplicationWorkflow(ctx context.Context, req *tabletmanagerdatapb.UpdateVReplicationWorkflowRequest) (*tabletmanagerdatapb.UpdateVReplicationWorkflowResponse, error)
diff --git a/go/vt/vttablet/tabletmanager/rpc_replication.go b/go/vt/vttablet/tabletmanager/rpc_replication.go
index 3e745222092..1bd05493a59 100644
--- a/go/vt/vttablet/tabletmanager/rpc_replication.go
+++ b/go/vt/vttablet/tabletmanager/rpc_replication.go
@@ -22,11 +22,10 @@ import (
"strings"
"time"
+ "vitess.io/vitess/go/mysql"
"vitess.io/vitess/go/mysql/replication"
"vitess.io/vitess/go/mysql/sqlerror"
"vitess.io/vitess/go/protoutil"
-
- "vitess.io/vitess/go/mysql"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/mysqlctl"
"vitess.io/vitess/go/vt/proto/vtrpc"
@@ -348,6 +347,15 @@ func (tm *TabletManager) InitPrimary(ctx context.Context, semiSync bool) (string
}
defer tm.unlock()
+ semiSyncAction, err := tm.convertBoolToSemiSyncAction(ctx, semiSync)
+ if err != nil {
+ return "", err
+ }
+
+ // If semi-sync is enabled, we need to set two pc to be allowed.
+ // Otherwise, we block all Prepared calls because atomic transactions require semi-sync for correctness..
+ tm.QueryServiceControl.SetTwoPCAllowed(semiSyncAction == SemiSyncActionSet)
+
// Setting super_read_only `OFF` so that we can run the DDL commands
if _, err := tm.MysqlDaemon.SetSuperReadOnly(ctx, false); err != nil {
if sqlErr, ok := err.(*sqlerror.SQLError); ok && sqlErr.Number() == sqlerror.ERUnknownSystemVariable {
@@ -369,11 +377,6 @@ func (tm *TabletManager) InitPrimary(ctx context.Context, semiSync bool) (string
return "", err
}
- semiSyncAction, err := tm.convertBoolToSemiSyncAction(ctx, semiSync)
- if err != nil {
- return "", err
- }
-
// Set the server read-write, from now on we can accept real
// client writes. Note that if semi-sync replication is enabled,
// we'll still need some replicas to be able to commit transactions.
@@ -544,9 +547,10 @@ func (tm *TabletManager) demotePrimary(ctx context.Context, revertPartialFailure
defer func() {
if finalErr != nil && revertPartialFailure && !wasReadOnly {
+ // We need to redo the prepared transactions in read only mode using the dba user to ensure we don't lose them.
// setting read_only OFF will also set super_read_only OFF if it was set
- if err := tm.MysqlDaemon.SetReadOnly(ctx, false); err != nil {
- log.Warningf("SetReadOnly(false) failed during revert: %v", err)
+ if err = tm.redoPreparedTransactionsAndSetReadWrite(ctx); err != nil {
+ log.Warningf("RedoPreparedTransactionsAndSetReadWrite failed during revert: %v", err)
}
}
}()
@@ -594,13 +598,17 @@ func (tm *TabletManager) UndoDemotePrimary(ctx context.Context, semiSync bool) e
return err
}
+ // If semi-sync is enabled, we need to set two pc to be allowed.
+ // Otherwise, we block all Prepared calls because atomic transactions require semi-sync for correctness..
+ tm.QueryServiceControl.SetTwoPCAllowed(semiSyncAction == SemiSyncActionSet)
+
// If using semi-sync, we need to enable source-side.
if err := tm.fixSemiSync(ctx, topodatapb.TabletType_PRIMARY, semiSyncAction); err != nil {
return err
}
- // Now, set the server read-only false.
- if err := tm.MysqlDaemon.SetReadOnly(ctx, false); err != nil {
+ // We need to redo the prepared transactions in read only mode using the dba user to ensure we don't lose them.
+ if err = tm.redoPreparedTransactionsAndSetReadWrite(ctx); err != nil {
return err
}
@@ -910,12 +918,16 @@ func (tm *TabletManager) PromoteReplica(ctx context.Context, semiSync bool) (str
}
defer tm.unlock()
- pos, err := tm.MysqlDaemon.Promote(ctx, tm.hookExtraEnv())
+ semiSyncAction, err := tm.convertBoolToSemiSyncAction(ctx, semiSync)
if err != nil {
return "", err
}
- semiSyncAction, err := tm.convertBoolToSemiSyncAction(ctx, semiSync)
+ // If semi-sync is enabled, we need to set two pc to be allowed.
+ // Otherwise, we block all Prepared calls because atomic transactions require semi-sync for correctness..
+ tm.QueryServiceControl.SetTwoPCAllowed(semiSyncAction == SemiSyncActionSet)
+
+ pos, err := tm.MysqlDaemon.Promote(ctx, tm.hookExtraEnv())
if err != nil {
return "", err
}
diff --git a/go/vt/vttablet/tabletmanager/rpc_transaction.go b/go/vt/vttablet/tabletmanager/rpc_transaction.go
new file mode 100644
index 00000000000..f6ec092e357
--- /dev/null
+++ b/go/vt/vttablet/tabletmanager/rpc_transaction.go
@@ -0,0 +1,60 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package tabletmanager
+
+import (
+ "context"
+
+ querypb "vitess.io/vitess/go/vt/proto/query"
+ tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
+)
+
+// GetUnresolvedTransactions returns the unresolved distributed transactions list for the Metadata manager.
+func (tm *TabletManager) GetUnresolvedTransactions(ctx context.Context, abandonAgeSeconds int64) ([]*querypb.TransactionMetadata, error) {
+ if err := tm.waitForGrantsToHaveApplied(ctx); err != nil {
+ return nil, err
+ }
+
+ tablet := tm.Tablet()
+ target := &querypb.Target{Keyspace: tablet.Keyspace, Shard: tablet.Shard, TabletType: tablet.Type}
+ return tm.QueryServiceControl.UnresolvedTransactions(ctx, target, abandonAgeSeconds)
+}
+
+// ReadTransaction returns the transaction metadata for the given distributed transaction ID.
+func (tm *TabletManager) ReadTransaction(ctx context.Context, req *tabletmanagerdatapb.ReadTransactionRequest) (*querypb.TransactionMetadata, error) {
+ if err := tm.waitForGrantsToHaveApplied(ctx); err != nil {
+ return nil, err
+ }
+
+ tablet := tm.Tablet()
+ target := &querypb.Target{Keyspace: tablet.Keyspace, Shard: tablet.Shard, TabletType: tablet.Type}
+ return tm.QueryServiceControl.ReadTransaction(ctx, target, req.Dtid)
+}
+
+// ConcludeTransaction concludes the given distributed transaction.
+func (tm *TabletManager) ConcludeTransaction(ctx context.Context, req *tabletmanagerdatapb.ConcludeTransactionRequest) error {
+ if err := tm.waitForGrantsToHaveApplied(ctx); err != nil {
+ return err
+ }
+
+ tablet := tm.Tablet()
+ target := &querypb.Target{Keyspace: tablet.Keyspace, Shard: tablet.Shard, TabletType: tablet.Type}
+ if req.Mm {
+ return tm.QueryServiceControl.ConcludeTransaction(ctx, target, req.Dtid)
+ }
+ return tm.QueryServiceControl.RollbackPrepared(ctx, target, req.Dtid, 0)
+}
diff --git a/go/vt/vttablet/tabletmanager/rpc_transaction_test.go b/go/vt/vttablet/tabletmanager/rpc_transaction_test.go
new file mode 100644
index 00000000000..567a6561ec5
--- /dev/null
+++ b/go/vt/vttablet/tabletmanager/rpc_transaction_test.go
@@ -0,0 +1,94 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package tabletmanager
+
+import (
+ "context"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+
+ tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
+ "vitess.io/vitess/go/vt/vtenv"
+ "vitess.io/vitess/go/vt/vttablet/tabletservermock"
+)
+
+func TestTabletManager_UnresolvedTransactions(t *testing.T) {
+ ctx := context.Background()
+
+ qsc := tabletservermock.NewController()
+ tm := &TabletManager{
+ QueryServiceControl: qsc,
+ Env: vtenv.NewTestEnv(),
+ _waitForGrantsComplete: make(chan struct{}),
+ BatchCtx: ctx,
+ }
+ close(tm._waitForGrantsComplete)
+ tm.tmState = newTMState(tm, newTestTablet(t, 100, "ks", "-80", nil))
+
+ _, err := tm.GetUnresolvedTransactions(ctx, 0)
+ require.NoError(t, err)
+ require.True(t, qsc.MethodCalled["UnresolvedTransactions"])
+}
+
+func TestTabletManager_ReadTransaction(t *testing.T) {
+ ctx := context.Background()
+
+ qsc := tabletservermock.NewController()
+ tm := &TabletManager{
+ QueryServiceControl: qsc,
+ Env: vtenv.NewTestEnv(),
+ _waitForGrantsComplete: make(chan struct{}),
+ BatchCtx: ctx,
+ }
+ close(tm._waitForGrantsComplete)
+ tm.tmState = newTMState(tm, newTestTablet(t, 100, "ks", "-80", nil))
+
+ _, err := tm.ReadTransaction(ctx, &tabletmanagerdatapb.ReadTransactionRequest{
+ Dtid: "dtid01",
+ })
+ require.NoError(t, err)
+ require.True(t, qsc.MethodCalled["ReadTransaction"])
+}
+
+func TestTabletManager_ConcludeTransaction(t *testing.T) {
+ ctx := context.Background()
+
+ qsc := tabletservermock.NewController()
+ tm := &TabletManager{
+ QueryServiceControl: qsc,
+ Env: vtenv.NewTestEnv(),
+ _waitForGrantsComplete: make(chan struct{}),
+ BatchCtx: ctx,
+ }
+ close(tm._waitForGrantsComplete)
+ tm.tmState = newTMState(tm, newTestTablet(t, 100, "ks", "-80", nil))
+
+ err := tm.ConcludeTransaction(ctx, &tabletmanagerdatapb.ConcludeTransactionRequest{
+ Dtid: "dtid01",
+ Mm: false,
+ })
+ require.NoError(t, err)
+ require.True(t, qsc.MethodCalled["RollbackPrepared"])
+
+ err = tm.ConcludeTransaction(ctx, &tabletmanagerdatapb.ConcludeTransactionRequest{
+ Dtid: "dtid01",
+ Mm: true,
+ })
+ require.NoError(t, err)
+ require.True(t, qsc.MethodCalled["ConcludeTransaction"])
+}
diff --git a/go/vt/vttablet/tabletmanager/rpc_vreplication.go b/go/vt/vttablet/tabletmanager/rpc_vreplication.go
index c8c334d896e..4060ecd650b 100644
--- a/go/vt/vttablet/tabletmanager/rpc_vreplication.go
+++ b/go/vt/vttablet/tabletmanager/rpc_vreplication.go
@@ -19,6 +19,7 @@ package tabletmanager
import (
"context"
"fmt"
+ "sort"
"strings"
"golang.org/x/exp/maps"
@@ -55,12 +56,32 @@ const (
// Retrieve the current configuration values for a workflow's vreplication stream(s).
sqlSelectVReplicationWorkflowConfig = "select id, source, cell, tablet_types, state, message from %s.vreplication where workflow = %a"
// Update the configuration values for a workflow's vreplication stream.
- sqlUpdateVReplicationWorkflowStreamConfig = "update %s.vreplication set state = %a, source = %a, cell = %a, tablet_types = %a where id = %a"
+ sqlUpdateVReplicationWorkflowStreamConfig = "update %s.vreplication set state = %a, source = %a, cell = %a, tablet_types = %a %s where id = %a"
// Update field values for multiple workflows. The final format specifier is
// used to optionally add any additional predicates to the query.
sqlUpdateVReplicationWorkflows = "update /*vt+ ALLOW_UNSAFE_VREPLICATION_WRITE */ %s.vreplication set%s where db_name = '%s'%s"
// Check if workflow is still copying.
sqlGetVReplicationCopyStatus = "select distinct vrepl_id from %s.copy_state where vrepl_id = %d"
+ // Validate the minimum set of permissions needed to manage vreplication metadata.
+ // This is a simple check for a matching user rather than any specific user@host
+ // combination.
+ sqlValidateVReplicationPermissions = `
+select count(*)>0 as good from mysql.user as u
+ left join mysql.db as d on (u.user = d.user)
+ left join mysql.tables_priv as t on (u.user = t.user)
+where u.user = %a
+ and (
+ (u.select_priv = 'y' and u.insert_priv = 'y' and u.update_priv = 'y' and u.delete_priv = 'y') /* user has global privs */
+ or (d.db = %a and d.select_priv = 'y' and d.insert_priv = 'y' and d.update_priv = 'y' and d.delete_priv = 'y') /* user has db privs */
+ or (t.db = %a and t.table_name = 'vreplication' /* user has table privs */
+ and find_in_set('select', t.table_priv)
+ and find_in_set('insert', t.table_priv)
+ and find_in_set('update', t.table_priv)
+ and find_in_set('delete', t.table_priv)
+ )
+ )
+limit 1
+`
)
var (
@@ -438,13 +459,11 @@ func (tm *TabletManager) UpdateVReplicationWorkflow(ctx context.Context, req *ta
source := row.AsBytes("source", []byte{})
state := row.AsString("state", "")
message := row.AsString("message", "")
- if req.State == binlogdatapb.VReplicationWorkflowState_Running && strings.ToUpper(message) == workflow.Frozen {
+ if req.State != nil && *req.State == binlogdatapb.VReplicationWorkflowState_Running &&
+ strings.ToUpper(message) == workflow.Frozen {
return &tabletmanagerdatapb.UpdateVReplicationWorkflowResponse{Result: nil},
vterrors.New(vtrpcpb.Code_FAILED_PRECONDITION, "cannot start a workflow when it is frozen")
}
- // For the string based values, we use NULL to differentiate
- // from an empty string. The NULL value indicates that we
- // should keep the existing value.
if !textutil.ValueIsSimulatedNull(req.Cells) {
cells = req.Cells
}
@@ -452,24 +471,27 @@ func (tm *TabletManager) UpdateVReplicationWorkflow(ctx context.Context, req *ta
tabletTypes = req.TabletTypes
}
tabletTypesStr := topoproto.MakeStringTypeCSV(tabletTypes)
- if (inorder && req.TabletSelectionPreference == tabletmanagerdatapb.TabletSelectionPreference_UNKNOWN) ||
- (req.TabletSelectionPreference == tabletmanagerdatapb.TabletSelectionPreference_INORDER) {
+ if req.TabletSelectionPreference != nil &&
+ ((inorder && *req.TabletSelectionPreference == tabletmanagerdatapb.TabletSelectionPreference_UNKNOWN) ||
+ (*req.TabletSelectionPreference == tabletmanagerdatapb.TabletSelectionPreference_INORDER)) {
tabletTypesStr = discovery.InOrderHint + tabletTypesStr
}
if err = prototext.Unmarshal(source, bls); err != nil {
return nil, err
}
- // If we don't want to update the existing value then pass
- // the simulated NULL value of -1.
- if !textutil.ValueIsSimulatedNull(req.OnDdl) {
- bls.OnDdl = req.OnDdl
+ // We also need to check for a SimulatedNull here to support older clients and
+ // smooth upgrades. All non-slice simulated NULL checks can be removed in v22+.
+ if req.OnDdl != nil && *req.OnDdl != binlogdatapb.OnDDLAction(textutil.SimulatedNullInt) {
+ bls.OnDdl = *req.OnDdl
}
source, err = prototext.Marshal(bls)
if err != nil {
return nil, err
}
- if !textutil.ValueIsSimulatedNull(req.State) {
- state = binlogdatapb.VReplicationWorkflowState_name[int32(req.State)]
+ // We also need to check for a SimulatedNull here to support older clients and
+ // smooth upgrades. All non-slice simulated NULL checks can be removed in v22+.
+ if req.State != nil && *req.State != binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt) {
+ state = binlogdatapb.VReplicationWorkflowState_name[int32(*req.State)]
}
if state == binlogdatapb.VReplicationWorkflowState_Running.String() {
// `Workflow Start` sets the new state to Running. However, if stream is still copying tables, we should set
@@ -482,6 +504,8 @@ func (tm *TabletManager) UpdateVReplicationWorkflow(ctx context.Context, req *ta
state = binlogdatapb.VReplicationWorkflowState_Copying.String()
}
}
+ options := getOptionSetString(req.ConfigOverrides)
+
bindVars = map[string]*querypb.BindVariable{
"st": sqltypes.StringBindVariable(state),
"sc": sqltypes.StringBindVariable(string(source)),
@@ -489,7 +513,7 @@ func (tm *TabletManager) UpdateVReplicationWorkflow(ctx context.Context, req *ta
"tt": sqltypes.StringBindVariable(tabletTypesStr),
"id": sqltypes.Int64BindVariable(id),
}
- parsed = sqlparser.BuildParsedQuery(sqlUpdateVReplicationWorkflowStreamConfig, sidecar.GetIdentifier(), ":st", ":sc", ":cl", ":tt", ":id")
+ parsed = sqlparser.BuildParsedQuery(sqlUpdateVReplicationWorkflowStreamConfig, sidecar.GetIdentifier(), ":st", ":sc", ":cl", ":tt", options, ":id")
stmt, err = parsed.GenerateQuery(bindVars, nil)
if err != nil {
return nil, err
@@ -508,6 +532,51 @@ func (tm *TabletManager) UpdateVReplicationWorkflow(ctx context.Context, req *ta
}, nil
}
+// getOptionSetString takes the option keys passed in and creates a sql clause to update the existing options
+// field in the vreplication table. The clause is built using the json_set() for new and updated options
+// and json_remove() for deleted options, denoted by an empty value.
+func getOptionSetString(config map[string]string) string {
+ if len(config) == 0 {
+ return ""
+ }
+
+ var (
+ options string
+ deletedKeys []string
+ keys []string
+ )
+ for k, v := range config {
+ if strings.TrimSpace(v) == "" {
+ deletedKeys = append(deletedKeys, k)
+ } else {
+ keys = append(keys, k)
+ }
+ }
+ sort.Strings(keys)
+ sort.Strings(deletedKeys)
+ clause := "options"
+ if len(deletedKeys) > 0 {
+ // We need to quote the key in the json functions because flag names can contain hyphens.
+ clause = fmt.Sprintf("json_remove(options, '$.config.\"%s\"'", deletedKeys[0])
+ for _, k := range deletedKeys[1:] {
+ clause += fmt.Sprintf(", '$.config.\"%s\"'", k)
+ }
+ clause += ")"
+ }
+ if len(keys) > 0 {
+ clause = fmt.Sprintf("json_set(%s, '$.config', json_object(), ", clause)
+ for i, k := range keys {
+ if i > 0 {
+ clause += ", "
+ }
+ clause += fmt.Sprintf("'$.config.\"%s\"', '%s'", k, strings.TrimSpace(config[k]))
+ }
+ clause += ")"
+ }
+ options = fmt.Sprintf(", options = %s", clause)
+ return options
+}
+
// UpdateVReplicationWorkflows operates in much the same way that
// UpdateVReplicationWorkflow does, but it allows you to update the
// metadata/flow control fields -- state, message, and stop_pos -- for
@@ -531,6 +600,42 @@ func (tm *TabletManager) UpdateVReplicationWorkflows(ctx context.Context, req *t
}, nil
}
+// ValidateVReplicationPermissions validates that the --db_filtered_user has
+// the minimum permissions required on the sidecardb vreplication table
+// needed in order to manage vreplication metadata.
+func (tm *TabletManager) ValidateVReplicationPermissions(ctx context.Context, req *tabletmanagerdatapb.ValidateVReplicationPermissionsRequest) (*tabletmanagerdatapb.ValidateVReplicationPermissionsResponse, error) {
+ query, err := sqlparser.ParseAndBind(sqlValidateVReplicationPermissions,
+ sqltypes.StringBindVariable(tm.DBConfigs.Filtered.User),
+ sqltypes.StringBindVariable(sidecar.GetName()),
+ sqltypes.StringBindVariable(sidecar.GetName()),
+ )
+ if err != nil {
+ return nil, err
+ }
+ conn, err := tm.MysqlDaemon.GetAllPrivsConnection(ctx)
+ if err != nil {
+ return nil, err
+ }
+ defer conn.Close()
+ qr, err := conn.ExecuteFetch(query, 1, false)
+ if err != nil {
+ return nil, err
+ }
+ if len(qr.Rows) != 1 { // Should never happen
+ return nil, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "unexpected response to query %s: expected 1 row with 1 column, got: %+v",
+ query, qr)
+ }
+ val, err := qr.Rows[0][0].ToBool()
+ if err != nil { // Should never happen
+ return nil, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "unexpected result for query %s: expected boolean-like value, got: %q",
+ query, qr.Rows[0][0].ToString())
+ }
+ return &tabletmanagerdatapb.ValidateVReplicationPermissionsResponse{
+ User: tm.DBConfigs.Filtered.User,
+ Ok: val,
+ }, nil
+}
+
// VReplicationExec executes a vreplication command.
func (tm *TabletManager) VReplicationExec(ctx context.Context, query string) (*querypb.QueryResult, error) {
// Replace any provided sidecar database qualifiers with the correct one.
@@ -623,14 +728,16 @@ func (tm *TabletManager) buildUpdateVReplicationWorkflowsQuery(req *tabletmanage
if req.GetAllWorkflows() && (len(req.GetIncludeWorkflows()) > 0 || len(req.GetExcludeWorkflows()) > 0) {
return "", errAllWithIncludeExcludeWorkflows
}
- if textutil.ValueIsSimulatedNull(req.GetState()) && textutil.ValueIsSimulatedNull(req.GetMessage()) && textutil.ValueIsSimulatedNull(req.GetStopPosition()) {
+ if req.State == nil && req.Message == nil && req.StopPosition == nil {
return "", errNoFieldsToUpdate
}
sets := strings.Builder{}
predicates := strings.Builder{}
// First add the SET clauses.
- if !textutil.ValueIsSimulatedNull(req.GetState()) {
+ // We also need to check for a SimulatedNull here to support older clients and
+ // smooth upgrades. All non-slice simulated NULL checks can be removed in v22+.
+ if req.State != nil && *req.State != binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt) {
state, ok := binlogdatapb.VReplicationWorkflowState_name[int32(req.GetState())]
if !ok {
return "", vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "invalid state value: %v", req.GetState())
@@ -638,14 +745,18 @@ func (tm *TabletManager) buildUpdateVReplicationWorkflowsQuery(req *tabletmanage
sets.WriteString(" state = ")
sets.WriteString(sqltypes.EncodeStringSQL(state))
}
- if !textutil.ValueIsSimulatedNull(req.GetMessage()) {
+ // We also need to check for a SimulatedNull here to support older clients and
+ // smooth upgrades. All non-slice simulated NULL checks can be removed in v22+.
+ if req.Message != nil && *req.Message != sqltypes.Null.String() {
if sets.Len() > 0 {
sets.WriteByte(',')
}
sets.WriteString(" message = ")
sets.WriteString(sqltypes.EncodeStringSQL(req.GetMessage()))
}
- if !textutil.ValueIsSimulatedNull(req.GetStopPosition()) {
+ // We also need to check for a SimulatedNull here to support older clients and
+ // smooth upgrades. All non-slice simulated NULL checks can be removed in v22+.
+ if req.StopPosition != nil && *req.StopPosition != sqltypes.Null.String() {
if sets.Len() > 0 {
sets.WriteByte(',')
}
diff --git a/go/vt/vttablet/tabletmanager/rpc_vreplication_test.go b/go/vt/vttablet/tabletmanager/rpc_vreplication_test.go
index 7ab959c1e17..d266a1c5e0c 100644
--- a/go/vt/vttablet/tabletmanager/rpc_vreplication_test.go
+++ b/go/vt/vttablet/tabletmanager/rpc_vreplication_test.go
@@ -30,11 +30,13 @@ import (
"github.com/stretchr/testify/require"
"vitess.io/vitess/go/constants/sidecar"
+ "vitess.io/vitess/go/ptr"
"vitess.io/vitess/go/sqlescape"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/textutil"
"vitess.io/vitess/go/vt/binlog/binlogplayer"
"vitess.io/vitess/go/vt/dbconfigs"
+ "vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/topo/topoproto"
@@ -42,7 +44,7 @@ import (
"vitess.io/vitess/go/vt/vtctl/workflow"
"vitess.io/vitess/go/vt/vtenv"
"vitess.io/vitess/go/vt/vtgate/vindexes"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
querypb "vitess.io/vitess/go/vt/proto/query"
@@ -94,8 +96,13 @@ var (
},
}
position = fmt.Sprintf("%s/%s", gtidFlavor, gtidPosition)
- setNetReadTimeout = fmt.Sprintf("set @@session.net_read_timeout = %v", vttablet.VReplicationNetReadTimeout)
- setNetWriteTimeout = fmt.Sprintf("set @@session.net_write_timeout = %v", vttablet.VReplicationNetWriteTimeout)
+ setNetReadTimeout = fmt.Sprintf("set @@session.net_read_timeout = %v", vttablet.GetVReplicationNetReadTimeout())
+ setNetWriteTimeout = fmt.Sprintf("set @@session.net_write_timeout = %v", vttablet.GetVReplicationNetWriteTimeout())
+ inOrder = tabletmanagerdatapb.TabletSelectionPreference_INORDER
+ running = binlogdatapb.VReplicationWorkflowState_Running
+ stopped = binlogdatapb.VReplicationWorkflowState_Stopped
+ exec = binlogdatapb.OnDDLAction_EXEC
+ execIgnore = binlogdatapb.OnDDLAction_EXEC_IGNORE
)
// TestCreateVReplicationWorkflow tests the query generated
@@ -289,12 +296,13 @@ func TestCreateVReplicationWorkflow(t *testing.T) {
}
}
-// TestMoveTables tests the query sequence originating from a
+// TestMoveTablesUnsharded tests the query sequence originating from a
// VtctldServer MoveTablesCreate request to ensure that the
// VReplication stream(s) are created correctly and expected
// results returned. Followed by ensuring that SwitchTraffic
// and ReverseTraffic also work as expected.
-func TestMoveTables(t *testing.T) {
+func TestMoveTablesUnsharded(t *testing.T) {
+ t.Skip("Skipping test temporarily as it is flaky on CI, pending investigation")
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
sourceKs := "sourceks"
@@ -318,10 +326,8 @@ func TestMoveTables(t *testing.T) {
sourceTablet := tenv.addTablet(t, sourceTabletUID, sourceKs, sourceShard)
defer tenv.deleteTablet(sourceTablet.tablet)
- targetShards["-80"] = tenv.addTablet(t, 300, targetKs, "-80")
- defer tenv.deleteTablet(targetShards["-80"].tablet)
- targetShards["80-"] = tenv.addTablet(t, 310, targetKs, "80-")
- defer tenv.deleteTablet(targetShards["80-"].tablet)
+ targetShards["0"] = tenv.addTablet(t, 300, targetKs, "0")
+ defer tenv.deleteTablet(targetShards["0"].tablet)
globalTablet := tenv.addTablet(t, 500, globalKs, globalShard)
defer tenv.deleteTablet(globalTablet.tablet)
@@ -387,39 +393,39 @@ func TestMoveTables(t *testing.T) {
tenv.tmc.SetSchema(defaultSchema)
tenv.tmc.setVReplicationExecResults(sourceTablet.tablet, checkForJournal, &sqltypes.Result{})
-
for _, ftc := range targetShards {
+ log.Infof("Testing target shard %s", ftc.tablet.Alias)
addInvariants(ftc.vrdbClient, vreplID, sourceTabletUID, position, wf, tenv.cells[0])
getCopyStateQuery := fmt.Sprintf(sqlGetVReplicationCopyStatus, sidecar.GetIdentifier(), vreplID)
ftc.vrdbClient.AddInvariant(getCopyStateQuery, &sqltypes.Result{})
tenv.tmc.setVReplicationExecResults(ftc.tablet, getCopyState, &sqltypes.Result{})
ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readAllWorkflows, tenv.dbName, ""), &sqltypes.Result{}, nil)
- insert := fmt.Sprintf(`%s values ('%s', 'keyspace:"%s" shard:"%s" filter:{rules:{match:"t1" filter:"select * from t1 where in_keyrange(id, \'%s.hash\', \'%s\')"}}', '', 0, 0, '%s', 'primary,replica,rdonly', now(), 0, 'Stopped', '%s', %d, 0, 0, '{}')`,
- insertVReplicationPrefix, wf, sourceKs, sourceShard, targetKs, ftc.tablet.Shard, tenv.cells[0], tenv.dbName, vreplID)
+ insert := fmt.Sprintf(`%s values ('%s', 'keyspace:"%s" shard:"%s" filter:{rules:{match:"t1" filter:"select * from t1"}}', '', 0, 0, '%s', 'primary,replica,rdonly', now(), 0, 'Stopped', '%s', %d, 0, 0, '{}')`,
+ insertVReplicationPrefix, wf, sourceKs, sourceShard, tenv.cells[0], tenv.dbName, vreplID)
ftc.vrdbClient.ExpectRequest(insert, &sqltypes.Result{InsertID: 1}, nil)
ftc.vrdbClient.ExpectRequest(getAutoIncrementStep, &sqltypes.Result{}, nil)
ftc.vrdbClient.ExpectRequest(fmt.Sprintf(getVReplicationRecord, vreplID),
sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|source",
- "int64|varchar",
+ "id|source|options",
+ "int64|varchar|varchar",
),
- fmt.Sprintf("%d|%s", vreplID, bls),
+ fmt.Sprintf("%d|%s|{}", vreplID, bls),
), nil)
- ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
+ ftc.vrdbClient.AddInvariant(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
- "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
),
- fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Stopped||%s|1||0|0|0||0|1", vreplID, bls, position, targetKs),
- ), nil)
- ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Stopped||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
+ ftc.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
- "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
),
- fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Stopped||%s|1||0|0|0||0|1", vreplID, bls, position, targetKs),
- ), nil)
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Stopped||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflowConfig, wf), sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
"id|source|cell|tablet_types|state|message",
@@ -432,31 +438,278 @@ func TestMoveTables(t *testing.T) {
ftc.vrdbClient.ExpectRequest(fmt.Sprintf(getVReplicationRecord, vreplID),
sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|source",
- "int64|varchar",
+ "id|source|options",
+ "int64|varchar|varchar",
),
- fmt.Sprintf("%d|%s", vreplID, bls),
+ fmt.Sprintf("%d|%s|{}", vreplID, bls),
), nil)
- ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
+ ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflowsLimited, tenv.dbName, wf), sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
- "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
+ "workflow|id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "workflow|int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
),
- fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1", vreplID, bls, position, targetKs),
+ fmt.Sprintf("%s|%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", wf, vreplID, bls, position, targetKs),
), nil)
- ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflowsLimited, tenv.dbName, wf), sqltypes.MakeTestResult(
+ tenv.tmc.setVReplicationExecResults(ftc.tablet, fmt.Sprintf(getLatestCopyState, vreplID, vreplID), &sqltypes.Result{})
+ }
+
+ // We use the tablet's UID in the mocked results for the max value used on each target shard.
+ nextSeqVal := int(float64(targetShards["0"].tablet.Alias.Uid)) + 1
+ tenv.tmc.setVReplicationExecResults(globalTablet.tablet,
+ sqlparser.BuildParsedQuery(initSequenceTable, sqlescape.EscapeID(fmt.Sprintf("vt_%s", globalKs)), sqlescape.EscapeID("t1_seq"), nextSeqVal, nextSeqVal, nextSeqVal).Query,
+ &sqltypes.Result{RowsAffected: 0},
+ )
+
+ _, err = ws.MoveTablesCreate(ctx, &vtctldatapb.MoveTablesCreateRequest{
+ SourceKeyspace: sourceKs,
+ TargetKeyspace: targetKs,
+ Workflow: wf,
+ TabletTypes: tabletTypes,
+ Cells: tenv.cells,
+ AllTables: true,
+ AutoStart: true,
+ })
+ require.NoError(t, err)
+
+ for _, ftc := range targetShards {
+ ftc.vrdbClient.Reset()
+ ftc.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "workflow|id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
- "workflow|int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
),
- fmt.Sprintf("%s|%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1", wf, vreplID, bls, position, targetKs),
- ), nil)
- ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
+ ftc.vrdbClient.AddInvariant(fmt.Sprintf(readWorkflowsLimited, tenv.dbName, wf), sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "workflow|id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "workflow|int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%s|%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", wf, vreplID, bls, position, targetKs),
+ ))
+ ftc.vrdbClient.AddInvariant(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
+ ftc.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
+ }
+
+ _, err = ws.WorkflowSwitchTraffic(ctx, &vtctldatapb.WorkflowSwitchTrafficRequest{
+ Keyspace: targetKs,
+ Workflow: wf,
+ Cells: tenv.cells,
+ MaxReplicationLagAllowed: &vttimepb.Duration{Seconds: 922337203},
+ EnableReverseReplication: true,
+ InitializeTargetSequences: true,
+ Direction: int32(workflow.DirectionForward),
+ })
+ require.NoError(t, err)
+ for _, ftc := range targetShards {
+ ftc.vrdbClient.AddInvariant(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
"id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
"int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
),
fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1", vreplID, bls, position, targetKs),
+ ))
+ }
+ addInvariants(sourceTablet.vrdbClient, vreplID, sourceTabletUID, position, workflow.ReverseWorkflowName(wf), tenv.cells[0])
+ sourceTablet.vrdbClient.AddInvariant(fmt.Sprintf(readWorkflow, workflow.ReverseWorkflowName(wf), tenv.dbName), sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1", vreplID, bls, position, sourceKs),
+ ))
+ sourceTablet.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflowsLimited, tenv.dbName, workflow.ReverseWorkflowName(wf)), sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "workflow|id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
+ "workflow|int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
+ ),
+ fmt.Sprintf("%s|%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1", workflow.ReverseWorkflowName(wf), vreplID, bls, position, sourceKs),
+ ), nil)
+ sourceTablet.vrdbClient.AddInvariant(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1", vreplID, bls, position, sourceKs),
+ ))
+
+ _, err = ws.WorkflowSwitchTraffic(ctx, &vtctldatapb.WorkflowSwitchTrafficRequest{
+ Keyspace: targetKs,
+ Workflow: wf,
+ Cells: tenv.cells,
+ MaxReplicationLagAllowed: &vttimepb.Duration{Seconds: 922337203},
+ EnableReverseReplication: true,
+ Direction: int32(workflow.DirectionBackward),
+ })
+ require.NoError(t, err)
+}
+
+// TestMoveTablesSharded tests the query sequence originating from a
+// VtctldServer MoveTablesCreate request to ensure that the
+// VReplication stream(s) are created correctly and expected
+// results returned. Followed by ensuring that SwitchTraffic
+// and ReverseTraffic also work as expected.
+func TestMoveTablesSharded(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ sourceKs := "sourceks"
+ sourceTabletUID := 200
+ targetKs := "targetks"
+ targetShards := make(map[string]*fakeTabletConn)
+ sourceShard := "0"
+ globalKs := "global"
+ globalShard := "0"
+ wf := "testwf"
+ vreplID := 1
+ tabletTypes := []topodatapb.TabletType{
+ topodatapb.TabletType_PRIMARY,
+ topodatapb.TabletType_REPLICA,
+ topodatapb.TabletType_RDONLY,
+ }
+
+ tenv := newTestEnv(t, ctx, sourceKs, []string{sourceShard})
+ defer tenv.close()
+
+ sourceTablet := tenv.addTablet(t, sourceTabletUID, sourceKs, sourceShard)
+ defer tenv.deleteTablet(sourceTablet.tablet)
+
+ targetShards["-80"] = tenv.addTablet(t, 300, targetKs, "-80")
+ defer tenv.deleteTablet(targetShards["-80"].tablet)
+ targetShards["80-"] = tenv.addTablet(t, 310, targetKs, "80-")
+ defer tenv.deleteTablet(targetShards["80-"].tablet)
+
+ globalTablet := tenv.addTablet(t, 500, globalKs, globalShard)
+ defer tenv.deleteTablet(globalTablet.tablet)
+
+ err := tenv.ts.SaveVSchema(ctx, globalKs, &vschemapb.Keyspace{
+ Sharded: false,
+ Tables: map[string]*vschemapb.Table{
+ "t1_seq": {
+ Type: vindexes.TypeSequence,
+ },
+ },
+ })
+ require.NoError(t, err)
+ err = tenv.ts.SaveVSchema(ctx, targetKs, &vschemapb.Keyspace{
+ Sharded: true,
+ Vindexes: map[string]*vschemapb.Vindex{
+ "hash": {
+ Type: "hash",
+ },
+ },
+ Tables: map[string]*vschemapb.Table{
+ "t1": {
+ ColumnVindexes: []*vschemapb.ColumnVindex{{
+ Column: "id",
+ Name: "hash",
+ }},
+ AutoIncrement: &vschemapb.AutoIncrement{
+ Column: "id",
+ Sequence: "t1_seq",
+ },
+ },
+ },
+ })
+ require.NoError(t, err)
+
+ ws := workflow.NewServer(vtenv.NewTestEnv(), tenv.ts, tenv.tmc)
+
+ idQuery, err := sqlparser.ParseAndBind("select id from _vt.vreplication where id = %a",
+ sqltypes.Int64BindVariable(int64(vreplID)))
+ require.NoError(t, err)
+ idRes := sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id",
+ "int64",
+ ),
+ fmt.Sprintf("%d", vreplID),
+ )
+
+ tenv.mysqld.Schema = defaultSchema
+ tenv.mysqld.Schema.DatabaseSchema = tenv.dbName
+ tenv.mysqld.FetchSuperQueryMap = make(map[string]*sqltypes.Result)
+ tenv.mysqld.FetchSuperQueryMap[`select character_set_name, collation_name, column_name, data_type, column_type, extra from information_schema.columns where .*`] = sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "character_set_name|collation_name|column_name|data_type|column_type|extra",
+ "varchar|varchar|varchar|varchar|varchar|varchar",
+ ),
+ "NULL|NULL|id|bigint|bigint|",
+ "NULL|NULL|c2|bigint|bigint|",
+ )
+
+ bls := fmt.Sprintf("keyspace:\"%s\" shard:\"%s\" filter:{rules:{match:\"t1\" filter:\"select * from t1\"}}", sourceKs, sourceShard)
+
+ tenv.tmc.SetSchema(defaultSchema)
+
+ tenv.tmc.setVReplicationExecResults(sourceTablet.tablet, checkForJournal, &sqltypes.Result{})
+ for _, ftc := range targetShards {
+ log.Infof("Testing target shard %s", ftc.tablet.Alias)
+ addInvariants(ftc.vrdbClient, vreplID, sourceTabletUID, position, wf, tenv.cells[0])
+ getCopyStateQuery := fmt.Sprintf(sqlGetVReplicationCopyStatus, sidecar.GetIdentifier(), vreplID)
+ ftc.vrdbClient.AddInvariant(getCopyStateQuery, &sqltypes.Result{})
+ tenv.tmc.setVReplicationExecResults(ftc.tablet, getCopyState, &sqltypes.Result{})
+ ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readAllWorkflows, tenv.dbName, ""), &sqltypes.Result{}, nil)
+ insert := fmt.Sprintf(`%s values ('%s', 'keyspace:"%s" shard:"%s" filter:{rules:{match:"t1" filter:"select * from t1 where in_keyrange(id, \'%s.hash\', \'%s\')"}}', '', 0, 0, '%s', 'primary,replica,rdonly', now(), 0, 'Stopped', '%s', %d, 0, 0, '{}')`,
+ insertVReplicationPrefix, wf, sourceKs, sourceShard, targetKs, ftc.tablet.Shard, tenv.cells[0], tenv.dbName, vreplID)
+ ftc.vrdbClient.ExpectRequest(insert, &sqltypes.Result{InsertID: 1}, nil)
+ ftc.vrdbClient.ExpectRequest(getAutoIncrementStep, &sqltypes.Result{}, nil)
+ ftc.vrdbClient.ExpectRequest(fmt.Sprintf(getVReplicationRecord, vreplID),
+ sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|options",
+ "int64|varchar|varchar",
+ ),
+ fmt.Sprintf("%d|%s|{}", vreplID, bls),
+ ), nil)
+ ftc.vrdbClient.AddInvariant(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Stopped||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
+ ftc.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Stopped||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
+ ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflowConfig, wf), sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|cell|tablet_types|state|message",
+ "int64|blob|varchar|varchar|varchar|varchar",
+ ),
+ fmt.Sprintf("%d|%s|||Stopped|", vreplID, bls),
+ ), nil)
+ ftc.vrdbClient.ExpectRequest(idQuery, idRes, nil)
+ ftc.vrdbClient.ExpectRequest(fmt.Sprintf(updateWorkflow, binlogdatapb.VReplicationWorkflowState_Running.String(), bls, "", "", vreplID), &sqltypes.Result{}, nil)
+ ftc.vrdbClient.ExpectRequest(fmt.Sprintf(getVReplicationRecord, vreplID),
+ sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|options",
+ "int64|varchar|varchar",
+ ),
+ fmt.Sprintf("%d|%s|{}", vreplID, bls),
+ ), nil)
+ ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflowsLimited, tenv.dbName, wf), sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "workflow|id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "workflow|int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%s|%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", wf, vreplID, bls, position, targetKs),
), nil)
tenv.tmc.setVReplicationExecResults(ftc.tablet, fmt.Sprintf(getLatestCopyState, vreplID, vreplID), &sqltypes.Result{})
}
@@ -478,22 +731,36 @@ func TestMoveTables(t *testing.T) {
AutoStart: true,
})
require.NoError(t, err)
-
for _, ftc := range targetShards {
- ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflowsLimited, tenv.dbName, wf), sqltypes.MakeTestResult(
+ ftc.vrdbClient.Reset()
+ ftc.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "workflow|id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
- "workflow|int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
),
- fmt.Sprintf("%s|%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1", wf, vreplID, bls, position, targetKs),
- ), nil)
- ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
+ ftc.vrdbClient.AddInvariant(fmt.Sprintf(readWorkflowsLimited, tenv.dbName, wf), sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
- "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
+ "workflow|id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "workflow|int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
),
- fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1", vreplID, bls, position, targetKs),
- ), nil)
+ fmt.Sprintf("%s|%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", wf, vreplID, bls, position, targetKs),
+ ))
+ ftc.vrdbClient.AddInvariant(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
+ ftc.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
}
_, err = ws.WorkflowSwitchTraffic(ctx, &vtctldatapb.WorkflowSwitchTrafficRequest{
@@ -506,7 +773,6 @@ func TestMoveTables(t *testing.T) {
Direction: int32(workflow.DirectionForward),
})
require.NoError(t, err)
-
for _, ftc := range targetShards {
ftc.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
@@ -524,13 +790,13 @@ func TestMoveTables(t *testing.T) {
),
fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1", vreplID, bls, position, sourceKs),
), nil)
- sourceTablet.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflowsLimited, tenv.dbName, workflow.ReverseWorkflowName(wf)), sqltypes.MakeTestResult(
+ sourceTablet.vrdbClient.AddInvariant(fmt.Sprintf(readWorkflowsLimited, tenv.dbName, workflow.ReverseWorkflowName(wf)), sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
"workflow|id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
"workflow|int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
),
fmt.Sprintf("%s|%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1", workflow.ReverseWorkflowName(wf), vreplID, bls, position, sourceKs),
- ), nil)
+ ))
sourceTablet.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflow, wf, tenv.dbName), &sqltypes.Result{}, nil)
_, err = ws.WorkflowSwitchTraffic(ctx, &vtctldatapb.WorkflowSwitchTrafficRequest{
@@ -544,6 +810,51 @@ func TestMoveTables(t *testing.T) {
require.NoError(t, err)
}
+func TestGetOptionSetString(t *testing.T) {
+ tests := []struct {
+ name string
+ config map[string]string
+ want string
+ }{
+ {
+ name: "nil config",
+ config: nil,
+ want: "",
+ },
+ {
+ name: "empty params",
+ config: map[string]string{},
+ want: "",
+ },
+ {
+ name: "valid params",
+ config: map[string]string{
+ "password": "secret",
+ "user": "admin",
+ },
+ want: ", options = json_set(options, '$.config', json_object(), '$.config.\"password\"', 'secret', '$.config.\"user\"', 'admin')",
+ },
+ {
+ name: "valid params, deleting two",
+ config: map[string]string{
+ "password": "secret",
+ "user": "admin",
+ "port": "",
+ "host": "",
+ },
+ want: ", options = json_set(json_remove(options, '$.config.\"host\"', '$.config.\"port\"'), '$.config', json_object(), '$.config.\"password\"', 'secret', '$.config.\"user\"', 'admin')",
+ },
+ // Additional tests for handling escaping errors or complex scenarios can be added here
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ got := getOptionSetString(tt.config)
+ require.Equal(t, tt.want, got)
+ })
+ }
+}
+
func TestUpdateVReplicationWorkflow(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
@@ -605,7 +916,6 @@ func TestUpdateVReplicationWorkflow(t *testing.T) {
name: "update cells",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: workflow,
- State: binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt),
Cells: []string{"zone2"},
// TabletTypes is an empty value, so the current value should be cleared
},
@@ -616,9 +926,8 @@ func TestUpdateVReplicationWorkflow(t *testing.T) {
name: "update cells, NULL tablet_types",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: workflow,
- State: binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt),
Cells: []string{"zone3"},
- TabletTypes: []topodatapb.TabletType{topodatapb.TabletType(textutil.SimulatedNullInt)}, // So keep the current value of replica
+ TabletTypes: textutil.SimulatedNullTabletTypeSlice, // So keep the current value of replica
},
query: fmt.Sprintf(`update _vt.vreplication set state = 'Running', source = 'keyspace:"%s" shard:"%s" filter:{rules:{match:"corder" filter:"select * from corder"} rules:{match:"customer" filter:"select * from customer"}}', cell = '%s', tablet_types = '%s' where id in (%d)`,
keyspace, shard, "zone3", tabletTypes[0], vreplID),
@@ -627,8 +936,7 @@ func TestUpdateVReplicationWorkflow(t *testing.T) {
name: "update tablet_types",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: workflow,
- State: binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt),
- TabletSelectionPreference: tabletmanagerdatapb.TabletSelectionPreference_INORDER,
+ TabletSelectionPreference: &inOrder,
TabletTypes: []topodatapb.TabletType{topodatapb.TabletType_RDONLY, topodatapb.TabletType_REPLICA},
},
query: fmt.Sprintf(`update _vt.vreplication set state = 'Running', source = 'keyspace:"%s" shard:"%s" filter:{rules:{match:"corder" filter:"select * from corder"} rules:{match:"customer" filter:"select * from customer"}}', cell = '', tablet_types = '%s' where id in (%d)`,
@@ -638,7 +946,6 @@ func TestUpdateVReplicationWorkflow(t *testing.T) {
name: "update tablet_types, NULL cells",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: workflow,
- State: binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt),
Cells: textutil.SimulatedNullStringSlice, // So keep the current value of zone1
TabletTypes: []topodatapb.TabletType{topodatapb.TabletType_RDONLY},
},
@@ -649,8 +956,7 @@ func TestUpdateVReplicationWorkflow(t *testing.T) {
name: "update on_ddl",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: workflow,
- State: binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt),
- OnDdl: binlogdatapb.OnDDLAction_EXEC,
+ OnDdl: &exec,
},
query: fmt.Sprintf(`update _vt.vreplication set state = 'Running', source = 'keyspace:"%s" shard:"%s" filter:{rules:{match:"corder" filter:"select * from corder"} rules:{match:"customer" filter:"select * from customer"}} on_ddl:%s', cell = '', tablet_types = '' where id in (%d)`,
keyspace, shard, binlogdatapb.OnDDLAction_EXEC.String(), vreplID),
@@ -659,10 +965,9 @@ func TestUpdateVReplicationWorkflow(t *testing.T) {
name: "update cell,tablet_types,on_ddl",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: workflow,
- State: binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt),
Cells: []string{"zone1", "zone2", "zone3"},
TabletTypes: []topodatapb.TabletType{topodatapb.TabletType_RDONLY, topodatapb.TabletType_REPLICA, topodatapb.TabletType_PRIMARY},
- OnDdl: binlogdatapb.OnDDLAction_EXEC_IGNORE,
+ OnDdl: &execIgnore,
},
query: fmt.Sprintf(`update _vt.vreplication set state = 'Running', source = 'keyspace:"%s" shard:"%s" filter:{rules:{match:"corder" filter:"select * from corder"} rules:{match:"customer" filter:"select * from customer"}} on_ddl:%s', cell = '%s', tablet_types = '%s' where id in (%d)`,
keyspace, shard, binlogdatapb.OnDDLAction_EXEC_IGNORE.String(), "zone1,zone2,zone3", "rdonly,replica,primary", vreplID),
@@ -671,10 +976,9 @@ func TestUpdateVReplicationWorkflow(t *testing.T) {
name: "update state",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: workflow,
- State: binlogdatapb.VReplicationWorkflowState_Stopped,
+ State: &stopped,
Cells: textutil.SimulatedNullStringSlice,
- TabletTypes: []topodatapb.TabletType{topodatapb.TabletType(textutil.SimulatedNullInt)},
- OnDdl: binlogdatapb.OnDDLAction(textutil.SimulatedNullInt),
+ TabletTypes: textutil.SimulatedNullTabletTypeSlice,
},
query: fmt.Sprintf(`update _vt.vreplication set state = '%s', source = 'keyspace:"%s" shard:"%s" filter:{rules:{match:"corder" filter:"select * from corder"} rules:{match:"customer" filter:"select * from customer"}}', cell = '%s', tablet_types = '%s' where id in (%d)`,
binlogdatapb.VReplicationWorkflowState_Stopped.String(), keyspace, shard, cells[0], tabletTypes[0], vreplID),
@@ -683,15 +987,27 @@ func TestUpdateVReplicationWorkflow(t *testing.T) {
name: "update to running while copying",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
Workflow: workflow,
- State: binlogdatapb.VReplicationWorkflowState_Running,
+ State: &running,
Cells: textutil.SimulatedNullStringSlice,
- TabletTypes: []topodatapb.TabletType{topodatapb.TabletType(textutil.SimulatedNullInt)},
- OnDdl: binlogdatapb.OnDDLAction(textutil.SimulatedNullInt),
+ TabletTypes: textutil.SimulatedNullTabletTypeSlice,
},
isCopying: true,
query: fmt.Sprintf(`update _vt.vreplication set state = 'Copying', source = 'keyspace:"%s" shard:"%s" filter:{rules:{match:"corder" filter:"select * from corder"} rules:{match:"customer" filter:"select * from customer"}}', cell = '%s', tablet_types = '%s' where id in (%d)`,
keyspace, shard, cells[0], tabletTypes[0], vreplID),
},
+ {
+ name: "update cells and options",
+ request: &tabletmanagerdatapb.UpdateVReplicationWorkflowRequest{
+ Workflow: workflow,
+ Cells: []string{"zone2"},
+ ConfigOverrides: map[string]string{
+ "user": "admin",
+ "password": "secret",
+ },
+ },
+ query: fmt.Sprintf(`update _vt.vreplication set state = 'Running', source = 'keyspace:"%s" shard:"%s" filter:{rules:{match:"corder" filter:"select * from corder"} rules:{match:"customer" filter:"select * from customer"}}', cell = '%s', tablet_types = '', options = json_set(options, '$.config', json_object(), '$.config."password"', 'secret', '$.config."user"', 'admin') where id in (%d)`,
+ keyspace, shard, "zone2", vreplID),
+ },
}
for _, tt := range tests {
@@ -700,7 +1016,9 @@ func TestUpdateVReplicationWorkflow(t *testing.T) {
// which doesn't play well with subtests.
defer func() {
if err := recover(); err != nil {
- t.Errorf("Recovered from panic: %v", err)
+ log.Infof("Got panic in test: %v", err)
+ log.Flush()
+ t.Errorf("Recovered from panic: %v, stack: %s", err, debug.Stack())
}
}()
@@ -710,8 +1028,7 @@ func TestUpdateVReplicationWorkflow(t *testing.T) {
// These are the same for each RPC call.
tenv.tmc.tablets[tabletUID].vrdbClient.ExpectRequest(fmt.Sprintf("use %s", sidecar.GetIdentifier()), &sqltypes.Result{}, nil)
tenv.tmc.tablets[tabletUID].vrdbClient.ExpectRequest(selectQuery, selectRes, nil)
- if tt.request.State == binlogdatapb.VReplicationWorkflowState_Running ||
- tt.request.State == binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt) {
+ if tt.request.State == nil || *tt.request.State == binlogdatapb.VReplicationWorkflowState_Running {
tenv.tmc.tablets[tabletUID].vrdbClient.ExpectRequest(fmt.Sprintf("use %s", sidecar.GetIdentifier()), &sqltypes.Result{}, nil)
if tt.isCopying {
tenv.tmc.tablets[tabletUID].vrdbClient.ExpectRequest(getCopyStateQuery, copying, nil)
@@ -756,9 +1073,7 @@ func TestUpdateVReplicationWorkflows(t *testing.T) {
name: "update only state=running for all workflows",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{
AllWorkflows: true,
- State: binlogdatapb.VReplicationWorkflowState_Running,
- Message: textutil.SimulatedNullString,
- StopPosition: textutil.SimulatedNullString,
+ State: &running,
},
query: fmt.Sprintf(`update /*vt+ ALLOW_UNSAFE_VREPLICATION_WRITE */ _vt.vreplication set state = 'Running' where id in (%s)`, strings.Join(vreplIDs, ", ")),
},
@@ -766,9 +1081,7 @@ func TestUpdateVReplicationWorkflows(t *testing.T) {
name: "update only state=running for all but reverse workflows",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{
ExcludeWorkflows: []string{workflow.ReverseWorkflowName("testwf")},
- State: binlogdatapb.VReplicationWorkflowState_Running,
- Message: textutil.SimulatedNullString,
- StopPosition: textutil.SimulatedNullString,
+ State: &running,
},
query: fmt.Sprintf(`update /*vt+ ALLOW_UNSAFE_VREPLICATION_WRITE */ _vt.vreplication set state = 'Running' where id in (%s)`, strings.Join(vreplIDs, ", ")),
},
@@ -776,9 +1089,9 @@ func TestUpdateVReplicationWorkflows(t *testing.T) {
name: "update all vals for all workflows",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{
AllWorkflows: true,
- State: binlogdatapb.VReplicationWorkflowState_Running,
- Message: "hi",
- StopPosition: position,
+ State: &running,
+ Message: ptr.Of("hi"),
+ StopPosition: &position,
},
query: fmt.Sprintf(`update /*vt+ ALLOW_UNSAFE_VREPLICATION_WRITE */ _vt.vreplication set state = 'Running', message = 'hi', stop_pos = '%s' where id in (%s)`, position, strings.Join(vreplIDs, ", ")),
},
@@ -786,9 +1099,7 @@ func TestUpdateVReplicationWorkflows(t *testing.T) {
name: "update state=stopped, messege=for vdiff for two workflows",
request: &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{
IncludeWorkflows: []string{"testwf", "testwf2"},
- State: binlogdatapb.VReplicationWorkflowState_Running,
- Message: textutil.SimulatedNullString,
- StopPosition: textutil.SimulatedNullString,
+ State: &running,
},
query: fmt.Sprintf(`update /*vt+ ALLOW_UNSAFE_VREPLICATION_WRITE */ _vt.vreplication set state = 'Running' where id in (%s)`, strings.Join(vreplIDs, ", ")),
},
@@ -1046,10 +1357,10 @@ func TestSourceShardSelection(t *testing.T) {
fmt.Sprintf("select * from _vt.vreplication where id = %d", uint64(i+1)),
sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|source|state",
- "int64|varchar|varchar",
+ "id|source|state|options",
+ "int64|varchar|varchar|varchar",
),
- fmt.Sprintf("%d|%s|Stopped", uint64(i+1), fmt.Sprintf(`keyspace:"%s" shard:"%s" filter:{rules:{match:"t1" filter:"select * from t1 where in_keyrange(id, '%s.hash', '%s')"}}`, sourceKs, sourceShard, targetKs, tt.tablet.Shard)),
+ fmt.Sprintf("%d|%s|Stopped|{}", uint64(i+1), fmt.Sprintf(`keyspace:"%s" shard:"%s" filter:{rules:{match:"t1" filter:"select * from t1 where in_keyrange(id, '%s.hash', '%s')"}}`, sourceKs, sourceShard, targetKs, tt.tablet.Shard)),
),
nil,
)
@@ -1112,7 +1423,6 @@ func TestFailedMoveTablesCreateCleanup(t *testing.T) {
require.NoError(t, err, "failed to save routing rules")
addInvariants(targetTablet.vrdbClient, vreplID, sourceTabletUID, position, wf, tenv.cells[0])
-
tenv.tmc.tablets[targetTabletUID].vrdbClient.ExpectRequest(fmt.Sprintf(readAllWorkflows, tenv.dbName, ""), &sqltypes.Result{}, nil)
targetTablet.vrdbClient.ExpectRequest(
fmt.Sprintf("%s %s",
@@ -1130,22 +1440,28 @@ func TestFailedMoveTablesCreateCleanup(t *testing.T) {
targetTablet.vrdbClient.ExpectRequest(fmt.Sprintf(getVReplicationRecord, vreplID),
sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|source",
- "int64|varchar",
+ "id|source|options",
+ "int64|varchar|varchar",
),
- fmt.Sprintf("%d|%s", vreplID, bls),
+ fmt.Sprintf("%d|%s|{}", vreplID, bls),
),
nil,
)
+ targetTablet.vrdbClient.AddInvariant(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Stopped||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
- targetTablet.vrdbClient.ExpectRequest(fmt.Sprintf(readWorkflow, wf, tenv.dbName), sqltypes.MakeTestResult(
+ targetTablet.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys",
- "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64",
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
),
- fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Stopped||%s|1||0|0|0||0|1", vreplID, bls, position, targetKs),
- ), nil)
- targetTablet.vrdbClient.ExpectRequest(fmt.Sprintf(insertStreamsCreatedLog, bls), &sqltypes.Result{}, nil)
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Stopped||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
tenv.tmc.setVReplicationExecResults(targetTablet.tablet,
fmt.Sprintf("select convert_tz('2006-01-02 15:04:05', '%s', 'UTC')", invalidTimeZone),
@@ -1172,7 +1488,6 @@ func TestFailedMoveTablesCreateCleanup(t *testing.T) {
// Save the current target vschema.
vs, err := tenv.ts.GetVSchema(ctx, targetKs)
require.NoError(t, err, "failed to get target vschema")
-
_, err = ws.MoveTablesCreate(ctx, &vtctldatapb.MoveTablesCreateRequest{
Workflow: wf,
SourceKeyspace: sourceKs,
@@ -1451,6 +1766,7 @@ func addInvariants(dbClient *binlogplayer.MockDBClient, vreplID, sourceTabletUID
"0",
))
dbClient.AddInvariant(fmt.Sprintf(updatePickedSourceTablet, cell, sourceTabletUID, vreplID), &sqltypes.Result{})
+
}
func addMaterializeSettingsTablesToSchema(ms *vtctldatapb.MaterializeSettings, tenv *testEnv, venv *vtenv.Environment) {
@@ -1560,22 +1876,22 @@ func TestExternalizeLookupVindex(t *testing.T) {
trxTS := fmt.Sprintf("%d", time.Now().Unix())
fields := sqltypes.MakeTestFields(
- "id|state|message|source|workflow_type|workflow_sub_type|max_tps|max_replication_lag|time_updated|time_heartbeat|time_throttled|transaction_timestamp|rows_copied",
- "int64|varbinary|varbinary|blob|int64|int64|int64|int64|int64|int64|int64|int64|int64",
+ "id|state|message|source|workflow_type|workflow_sub_type|max_tps|max_replication_lag|time_updated|time_heartbeat|time_throttled|transaction_timestamp|rows_copied|options",
+ "int64|varbinary|varbinary|blob|int64|int64|int64|int64|int64|int64|int64|int64|int64|varchar",
)
wftype := fmt.Sprintf("%d", binlogdatapb.VReplicationWorkflowType_CreateLookupIndex)
ownedSourceStopAfterCopy := fmt.Sprintf(`keyspace:"%s",shard:"0",filter:{rules:{match:"owned_lookup" filter:"select * from t1 where in_keyrange(col1, '%s.xxhash', '-80')"}} stop_after_copy:true`,
ms.SourceKeyspace, ms.SourceKeyspace)
ownedSourceKeepRunningAfterCopy := fmt.Sprintf(`keyspace:"%s",shard:"0",filter:{rules:{match:"owned_lookup" filter:"select * from t1 where in_keyrange(col1, '%s.xxhash', '-80')"}}`,
ms.SourceKeyspace, ms.SourceKeyspace)
- ownedRunning := sqltypes.MakeTestResult(fields, "1|Running|msg|"+ownedSourceKeepRunningAfterCopy+"|"+wftype+"|0|0|0|0|0|0|"+trxTS+"|5")
- ownedStopped := sqltypes.MakeTestResult(fields, "1|Stopped|Stopped after copy|"+ownedSourceStopAfterCopy+"|"+wftype+"|0|0|0|0|0|0|"+trxTS+"|5")
+ ownedRunning := sqltypes.MakeTestResult(fields, "1|Running|msg|"+ownedSourceKeepRunningAfterCopy+"|"+wftype+"|0|0|0|0|0|0|"+trxTS+"|5|{}")
+ ownedStopped := sqltypes.MakeTestResult(fields, "1|Stopped|Stopped after copy|"+ownedSourceStopAfterCopy+"|"+wftype+"|0|0|0|0|0|0|"+trxTS+"|5|{}")
unownedSourceStopAfterCopy := fmt.Sprintf(`keyspace:"%s",shard:"0",filter:{rules:{match:"unowned_lookup" filter:"select * from t1 where in_keyrange(col1, '%s.xxhash', '-80')"}} stop_after_copy:true`,
ms.SourceKeyspace, ms.SourceKeyspace)
unownedSourceKeepRunningAfterCopy := fmt.Sprintf(`keyspace:"%s",shard:"0",filter:{rules:{match:"unowned_lookup" filter:"select * from t1 where in_keyrange(col1, '%s.xxhash', '-80')"}}`,
ms.SourceKeyspace, ms.SourceKeyspace)
- unownedRunning := sqltypes.MakeTestResult(fields, "2|Running|msg|"+unownedSourceKeepRunningAfterCopy+"|"+wftype+"|0|0|0|0|0|0|"+trxTS+"|5")
- unownedStopped := sqltypes.MakeTestResult(fields, "2|Stopped|Stopped after copy|"+unownedSourceStopAfterCopy+"|"+wftype+"|0|0|0|0|0|0|"+trxTS+"|5")
+ unownedRunning := sqltypes.MakeTestResult(fields, "2|Running|msg|"+unownedSourceKeepRunningAfterCopy+"|"+wftype+"|0|0|0|0|0|0|"+trxTS+"|5|{}")
+ unownedStopped := sqltypes.MakeTestResult(fields, "2|Stopped|Stopped after copy|"+unownedSourceStopAfterCopy+"|"+wftype+"|0|0|0|0|0|0|"+trxTS+"|5|{}")
testcases := []struct {
request *vtctldatapb.LookupVindexExternalizeRequest
@@ -1861,6 +2177,13 @@ func TestMaterializerManyToOne(t *testing.T) {
fmt.Sprintf(` values ('%s', 'keyspace:"%s" shard:"%s" filter:{rules:{match:"t1" filter:"select * from t1"} rules:{match:"t2" filter:"select * from t3"}}', '', 0, 0, '%s', 'primary,rdonly', now(), 0, 'Stopped', '%s', 0, 0, 0, '{}')`,
wf, sourceKs, sourceShard, tenv.cells[0], tenv.dbName)
if vreplID == 1 {
+ targetTablet.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
targetTablet.vrdbClient.ExpectRequest(insert, &sqltypes.Result{InsertID: uint64(vreplID)}, nil)
targetTablet.vrdbClient.ExpectRequest(getAutoIncrementStep, &sqltypes.Result{}, nil)
targetTablet.vrdbClient.ExpectRequest(fmt.Sprintf(getVReplicationRecord, vreplID),
@@ -1956,6 +2279,13 @@ func TestMaterializerOneToMany(t *testing.T) {
insert := insertVReplicationPrefix +
fmt.Sprintf(` values ('%s', 'keyspace:"%s" shard:"%s" filter:{rules:{match:"t1" filter:"select * from t1 where in_keyrange(c1, \'%s.xxhash\', \'%s\')"}}', '', 0, 0, '%s', 'primary,rdonly', now(), 0, 'Stopped', '%s', 0, 0, 0, '{}')`,
wf, sourceKs, sourceShard, targetKs, targetShard, tenv.cells[0], tenv.dbName)
+ targetTablet.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
if targetShard == "-80" {
targetTablet.vrdbClient.ExpectRequest(insert, &sqltypes.Result{InsertID: uint64(vreplID)}, nil)
targetTablet.vrdbClient.ExpectRequest(getAutoIncrementStep, &sqltypes.Result{}, nil)
@@ -2053,9 +2383,17 @@ func TestMaterializerManyToMany(t *testing.T) {
addInvariants(targetTablet.vrdbClient, vreplID, sourceTabletUID+(i*10), position, wf, tenv.cells[0])
bls := fmt.Sprintf("keyspace:\"%s\" shard:\"%s\" filter:{rules:{match:\"t1\" filter:\"select * from t1 where in_keyrange(c1, '%s.xxhash', '%s')\"}}",
sourceKs, sourceShard, targetKs, targetShard)
+
insert := insertVReplicationPrefix +
fmt.Sprintf(` values ('%s', 'keyspace:"%s" shard:"%s" filter:{rules:{match:"t1" filter:"select * from t1 where in_keyrange(c1, \'%s.xxhash\', \'%s\')"}}', '', 0, 0, '%s', 'primary,rdonly', now(), 0, 'Stopped', '%s', 0, 0, 0, '{}')`,
wf, sourceKs, sourceShard, targetKs, targetShard, tenv.cells[0], tenv.dbName)
+ targetTablet.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
if targetShard == "80-" && sourceShard == "40-" { // Last insert
targetTablet.vrdbClient.ExpectRequest(insert, &sqltypes.Result{InsertID: uint64(vreplID)}, errShortCircuit)
} else { // Can't short circuit as we will do more inserts
@@ -2157,6 +2495,13 @@ func TestMaterializerMulticolumnVindex(t *testing.T) {
insert := insertVReplicationPrefix +
fmt.Sprintf(` values ('%s', 'keyspace:"%s" shard:"%s" filter:{rules:{match:"t1" filter:"select * from t1 where in_keyrange(c1, c2, \'%s.region\', \'%s\')"}}', '', 0, 0, '%s', 'primary,rdonly', now(), 0, 'Stopped', '%s', 0, 0, 0, '{}')`,
wf, sourceKs, sourceShard, targetKs, targetShard, tenv.cells[0], tenv.dbName)
+ targetTablet.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
if targetShard == "-80" {
targetTablet.vrdbClient.ExpectRequest(insert, &sqltypes.Result{InsertID: uint64(vreplID)}, nil)
targetTablet.vrdbClient.ExpectRequest(getAutoIncrementStep, &sqltypes.Result{}, nil)
@@ -2397,6 +2742,13 @@ func TestMaterializerExplicitColumns(t *testing.T) {
insert := insertVReplicationPrefix +
fmt.Sprintf(` values ('%s', 'keyspace:"%s" shard:"%s" filter:{rules:{match:"t1" filter:"select c1, c1 + c2, c2 from t1 where in_keyrange(c1, c2, \'%s.region\', \'%s\')"}}', '', 0, 0, '%s', 'primary,rdonly', now(), 0, 'Stopped', '%s', 0, 0, 0, '{}')`,
wf, sourceKs, sourceShard, targetKs, targetShard, tenv.cells[0], tenv.dbName)
+ targetTablet.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
if targetShard == "-80" {
targetTablet.vrdbClient.ExpectRequest(insert, &sqltypes.Result{InsertID: uint64(vreplID)}, nil)
targetTablet.vrdbClient.ExpectRequest(getAutoIncrementStep, &sqltypes.Result{}, nil)
@@ -2497,6 +2849,13 @@ func TestMaterializerRenamedColumns(t *testing.T) {
insert := insertVReplicationPrefix +
fmt.Sprintf(` values ('%s', 'keyspace:"%s" shard:"%s" filter:{rules:{match:"t1" filter:"select c3 as c1, c1 + c2, c4 as c2 from t1 where in_keyrange(c3, c4, \'%s.region\', \'%s\')"}}', '', 0, 0, '%s', 'primary,rdonly', now(), 0, 'Stopped', '%s', 0, 0, 0, '{}')`,
wf, sourceKs, sourceShard, targetKs, targetShard, tenv.cells[0], tenv.dbName)
+ targetTablet.vrdbClient.AddInvariant(binlogplayer.TestGetWorkflowQueryId1, sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|defer_secondary_keys|options",
+ "int64|varchar|blob|varchar|int64|int64|varchar|varchar|int64|int64|varchar|varchar|varchar|int64|varchar|int64|int64|int64|varchar|int64|int64|varchar",
+ ),
+ fmt.Sprintf("%d|%s|%s|NULL|0|0|||1686577659|0|Running||%s|1||0|0|0||0|1|{}", vreplID, bls, position, targetKs),
+ ))
if targetShard == "-80" {
targetTablet.vrdbClient.ExpectRequest(insert, &sqltypes.Result{InsertID: uint64(vreplID)}, nil)
targetTablet.vrdbClient.ExpectRequest(getAutoIncrementStep, &sqltypes.Result{}, nil)
@@ -3235,6 +3594,12 @@ func TestBuildUpdateVReplicationWorkflowsQuery(t *testing.T) {
DBName: "vt_testks",
},
}
+ forVdiff := "for vdiff"
+ forPos := "for until position"
+ forTest := "test message"
+ stopPos1 := "MySQL56/17b1039f-21b6-13ed-b365-1a43f95f28a3:1-20"
+ stopPos2 := "MySQL56/17b1039f-21b6-13ed-b365-1a43f95f28a3:1-9999"
+
tests := []struct {
name string
req *tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest
@@ -3242,18 +3607,14 @@ func TestBuildUpdateVReplicationWorkflowsQuery(t *testing.T) {
wantErr string
}{
{
- name: "nothing to update",
- req: &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{
- State: binlogdatapb.VReplicationWorkflowState(textutil.SimulatedNullInt),
- Message: textutil.SimulatedNullString,
- StopPosition: textutil.SimulatedNullString,
- },
+ name: "nothing to update",
+ req: &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{},
wantErr: errNoFieldsToUpdate.Error(),
},
{
name: "mutually exclusive options",
req: &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{
- State: binlogdatapb.VReplicationWorkflowState_Running,
+ State: &running,
AllWorkflows: true,
ExcludeWorkflows: []string{"wf1"},
},
@@ -3262,9 +3623,9 @@ func TestBuildUpdateVReplicationWorkflowsQuery(t *testing.T) {
{
name: "all values and options",
req: &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{
- State: binlogdatapb.VReplicationWorkflowState_Running,
- Message: "test message",
- StopPosition: "MySQL56/17b1039f-21b6-13ed-b365-1a43f95f28a3:1-20",
+ State: &running,
+ Message: &forTest,
+ StopPosition: &stopPos1,
IncludeWorkflows: []string{"wf2", "wf3"},
ExcludeWorkflows: []string{"1wf"},
},
@@ -3273,9 +3634,7 @@ func TestBuildUpdateVReplicationWorkflowsQuery(t *testing.T) {
{
name: "state for all",
req: &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{
- State: binlogdatapb.VReplicationWorkflowState_Running,
- Message: textutil.SimulatedNullString,
- StopPosition: textutil.SimulatedNullString,
+ State: &running,
AllWorkflows: true,
},
want: "update /*vt+ ALLOW_UNSAFE_VREPLICATION_WRITE */ _vt.vreplication set state = 'Running' where db_name = 'vt_testks'",
@@ -3283,9 +3642,8 @@ func TestBuildUpdateVReplicationWorkflowsQuery(t *testing.T) {
{
name: "stop all for vdiff",
req: &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{
- State: binlogdatapb.VReplicationWorkflowState_Stopped,
- Message: "for vdiff",
- StopPosition: textutil.SimulatedNullString,
+ State: &stopped,
+ Message: &forVdiff,
AllWorkflows: true,
},
want: "update /*vt+ ALLOW_UNSAFE_VREPLICATION_WRITE */ _vt.vreplication set state = 'Stopped', message = 'for vdiff' where db_name = 'vt_testks'",
@@ -3293,9 +3651,9 @@ func TestBuildUpdateVReplicationWorkflowsQuery(t *testing.T) {
{
name: "start one until position",
req: &tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest{
- State: binlogdatapb.VReplicationWorkflowState_Running,
- Message: "for until position",
- StopPosition: "MySQL56/17b1039f-21b6-13ed-b365-1a43f95f28a3:1-9999",
+ State: &running,
+ Message: &forPos,
+ StopPosition: &stopPos2,
IncludeWorkflows: []string{"wf1"},
},
want: "update /*vt+ ALLOW_UNSAFE_VREPLICATION_WRITE */ _vt.vreplication set state = 'Running', message = 'for until position', stop_pos = 'MySQL56/17b1039f-21b6-13ed-b365-1a43f95f28a3:1-9999' where db_name = 'vt_testks' and workflow in ('wf1')",
diff --git a/go/vt/vttablet/tabletmanager/shard_sync_test.go b/go/vt/vttablet/tabletmanager/shard_sync_test.go
index 24078efa977..40a62d06b76 100644
--- a/go/vt/vttablet/tabletmanager/shard_sync_test.go
+++ b/go/vt/vttablet/tabletmanager/shard_sync_test.go
@@ -48,7 +48,7 @@ func TestShardSync(t *testing.T) {
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1")
statsTabletTypeCount.ResetAll()
- tm := newTestTM(t, ts, 100, keyspace, shard)
+ tm := newTestTM(t, ts, 100, keyspace, shard, nil)
defer tm.Stop()
// update the primary info in the shard record and set it to nil
diff --git a/go/vt/vttablet/tabletmanager/tm_init.go b/go/vt/vttablet/tabletmanager/tm_init.go
index 6046ed99727..5433740d1c4 100644
--- a/go/vt/vttablet/tabletmanager/tm_init.go
+++ b/go/vt/vttablet/tabletmanager/tm_init.go
@@ -50,6 +50,7 @@ import (
"vitess.io/vitess/go/constants/sidecar"
"vitess.io/vitess/go/flagutil"
"vitess.io/vitess/go/mysql/collations"
+ "vitess.io/vitess/go/mysql/sqlerror"
"vitess.io/vitess/go/netutil"
"vitess.io/vitess/go/protoutil"
"vitess.io/vitess/go/sets"
@@ -122,6 +123,9 @@ var (
// statsIsInSrvKeyspace is set to 1 (true), 0 (false) whether the tablet is in the serving keyspace
statsIsInSrvKeyspace *stats.Gauge
+ // statsTabletTags is set to 1 (true) if a tablet tag exists.
+ statsTabletTags *stats.GaugesWithMultiLabels
+
statsKeyspace = stats.NewString("TabletKeyspace")
statsShard = stats.NewString("TabletShard")
statsKeyRangeStart = stats.NewString("TabletKeyRangeStart")
@@ -141,6 +145,7 @@ func init() {
statsTabletTypeCount = stats.NewCountersWithSingleLabel("TabletTypeCount", "Number of times the tablet changed to the labeled type", "type")
statsBackupIsRunning = stats.NewGaugesWithMultiLabels("BackupIsRunning", "Whether a backup is running", []string{"mode"})
statsIsInSrvKeyspace = stats.NewGauge("IsInSrvKeyspace", "Whether the vttablet is in the serving keyspace (1 = true / 0 = false)")
+ statsTabletTags = stats.NewGaugesWithMultiLabels("TabletTags", "Tablet tags key/values", []string{"key", "value"})
}
// TabletManager is the main class for the tablet manager.
@@ -751,6 +756,24 @@ func (tm *TabletManager) findMysqlPort(retryInterval time.Duration) {
}
}
+// redoPreparedTransactionsAndSetReadWrite redoes prepared transactions in read-only mode.
+// We turn off super read only mode, and then redo the transactions. Finally, we turn off read-only mode to allow for further traffic.
+func (tm *TabletManager) redoPreparedTransactionsAndSetReadWrite(ctx context.Context) error {
+ _, err := tm.MysqlDaemon.SetSuperReadOnly(ctx, false)
+ if err != nil {
+ // Ignore the error if the sever doesn't support super read only variable.
+ // We should just redo the preapred transactions before we set it to read-write.
+ if sqlErr, ok := err.(*sqlerror.SQLError); ok && sqlErr.Number() == sqlerror.ERUnknownSystemVariable {
+ log.Warningf("server does not know about super_read_only, continuing anyway...")
+ } else {
+ return err
+ }
+ }
+ tm.QueryServiceControl.RedoPreparedTransactions()
+ err = tm.MysqlDaemon.SetReadOnly(ctx, false)
+ return err
+}
+
func (tm *TabletManager) initTablet(ctx context.Context) error {
tablet := tm.Tablet()
err := tm.TopoServer.CreateTablet(ctx, tablet)
@@ -870,6 +893,9 @@ func (tm *TabletManager) exportStats() {
statsKeyRangeEnd.Set(hex.EncodeToString(tablet.KeyRange.End))
}
statsAlias.Set(topoproto.TabletAliasString(tablet.Alias))
+ for k, v := range tablet.Tags {
+ statsTabletTags.Set([]string{k, v}, 1)
+ }
}
// withRetry will exponentially back off and retry a function upon
diff --git a/go/vt/vttablet/tabletmanager/tm_init_test.go b/go/vt/vttablet/tabletmanager/tm_init_test.go
index d0c0075eda3..b8c9c54dcc2 100644
--- a/go/vt/vttablet/tabletmanager/tm_init_test.go
+++ b/go/vt/vttablet/tabletmanager/tm_init_test.go
@@ -173,7 +173,7 @@ func TestStartCreateKeyspaceShard(t *testing.T) {
statsTabletTypeCount.ResetAll()
cell := "cell1"
ts := memorytopo.NewServer(ctx, cell)
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
defer tm.Stop()
assert.Equal(t, "replica", statsTabletType.Get())
@@ -193,7 +193,7 @@ func TestStartCreateKeyspaceShard(t *testing.T) {
// keyspace-shard already created.
_, err = ts.GetOrCreateShard(ctx, "ks1", "0")
require.NoError(t, err)
- tm = newTestTM(t, ts, 2, "ks1", "0")
+ tm = newTestTM(t, ts, 2, "ks1", "0", nil)
defer tm.Stop()
_, err = ts.GetShard(ctx, "ks1", "0")
require.NoError(t, err)
@@ -207,7 +207,7 @@ func TestStartCreateKeyspaceShard(t *testing.T) {
require.NoError(t, err)
err = topotools.RebuildKeyspace(ctx, logutil.NewConsoleLogger(), ts, "ks2", []string{cell}, false)
require.NoError(t, err)
- tm = newTestTM(t, ts, 3, "ks2", "0")
+ tm = newTestTM(t, ts, 3, "ks2", "0", nil)
defer tm.Stop()
_, err = ts.GetShard(ctx, "ks2", "0")
require.NoError(t, err)
@@ -224,7 +224,7 @@ func TestStartCreateKeyspaceShard(t *testing.T) {
require.NoError(t, err)
err = ts.RebuildSrvVSchema(ctx, []string{cell})
require.NoError(t, err)
- tm = newTestTM(t, ts, 4, "ks3", "0")
+ tm = newTestTM(t, ts, 4, "ks3", "0", nil)
defer tm.Stop()
_, err = ts.GetShard(ctx, "ks3", "0")
require.NoError(t, err)
@@ -235,7 +235,7 @@ func TestStartCreateKeyspaceShard(t *testing.T) {
assert.Equal(t, wantVSchema, srvVSchema.Keyspaces["ks3"])
// Multi-shard
- tm1 := newTestTM(t, ts, 5, "ks4", "-80")
+ tm1 := newTestTM(t, ts, 5, "ks4", "-80", nil)
defer tm1.Stop()
// Wait a bit and make sure that srvKeyspace is still not created.
@@ -243,7 +243,7 @@ func TestStartCreateKeyspaceShard(t *testing.T) {
_, err = ts.GetSrvKeyspace(context.Background(), cell, "ks4")
require.True(t, topo.IsErrType(err, topo.NoNode), err)
- tm2 := newTestTM(t, ts, 6, "ks4", "80-")
+ tm2 := newTestTM(t, ts, 6, "ks4", "80-", nil)
defer tm2.Stop()
// Now that we've started the tablet for the other shard, srvKeyspace will succeed.
ensureSrvKeyspace(t, ctx, ts, cell, "ks4")
@@ -264,7 +264,7 @@ func TestCheckPrimaryShip(t *testing.T) {
// 1. Initialize the tablet as REPLICA.
// This will create the respective topology records.
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
tablet := tm.Tablet()
ensureSrvKeyspace(t, ctx, ts, cell, "ks")
ti, err := ts.GetTablet(ctx, alias)
@@ -398,7 +398,7 @@ func TestStartCheckMysql(t *testing.T) {
defer cancel()
cell := "cell1"
ts := memorytopo.NewServer(ctx, cell)
- tablet := newTestTablet(t, 1, "ks", "0")
+ tablet := newTestTablet(t, 1, "ks", "0", nil)
cp := mysql.ConnParams{
Host: "foo",
Port: 1,
@@ -429,7 +429,7 @@ func TestStartFindMysqlPort(t *testing.T) {
defer cancel()
cell := "cell1"
ts := memorytopo.NewServer(ctx, cell)
- tablet := newTestTablet(t, 1, "ks", "0")
+ tablet := newTestTablet(t, 1, "ks", "0", nil)
fmd := newTestMysqlDaemon(t, -1)
tm := &TabletManager{
BatchCtx: context.Background(),
@@ -472,7 +472,7 @@ func TestStartFixesReplicationData(t *testing.T) {
defer cancel()
cell := "cell1"
ts := memorytopo.NewServer(ctx, cell, "cell2")
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
defer tm.Stop()
tabletAlias := tm.tabletAlias
@@ -505,14 +505,14 @@ func TestStartDoesNotUpdateReplicationDataForTabletInWrongShard(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1", "cell2")
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
tm.Stop()
tabletAliases, err := ts.FindAllTabletAliasesInShard(ctx, "ks", "0")
require.NoError(t, err)
assert.Equal(t, uint32(1), tabletAliases[0].Uid)
- tablet := newTestTablet(t, 1, "ks", "-d0")
+ tablet := newTestTablet(t, 1, "ks", "-d0", nil)
require.NoError(t, err)
err = tm.Start(tablet, nil)
assert.Contains(t, err.Error(), "existing tablet keyspace and shard ks/0 differ")
@@ -537,7 +537,7 @@ func TestCheckTabletTypeResets(t *testing.T) {
// 1. Initialize the tablet as REPLICA.
// This will create the respective topology records.
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
tablet := tm.Tablet()
ensureSrvKeyspace(t, ctx, ts, cell, "ks")
ti, err := ts.GetTablet(ctx, alias)
@@ -648,6 +648,27 @@ func TestGetBuildTags(t *testing.T) {
}
}
+func TestStartExportStats(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+
+ ts := memorytopo.NewServer(ctx, "cell1")
+ _ = newTestTM(t, ts, 1, "ks", "0", map[string]string{
+ "test": t.Name(),
+ })
+
+ assert.Equal(t, "ks", statsKeyspace.Get())
+ assert.Equal(t, "0", statsShard.Get())
+ assert.Equal(t, "replica", statsTabletType.Get())
+ assert.Equal(t, map[string]int64{
+ "replica": 1,
+ }, statsTabletTypeCount.Counts())
+ assert.Equal(t, "cell1-0000000001", statsAlias.Get())
+ assert.Equal(t, map[string]int64{
+ "test." + t.Name(): 1,
+ }, statsTabletTags.Counts())
+}
+
func newTestMysqlDaemon(t *testing.T, port int32) *mysqlctl.FakeMysqlDaemon {
t.Helper()
@@ -662,10 +683,14 @@ func newTestMysqlDaemon(t *testing.T, port int32) *mysqlctl.FakeMysqlDaemon {
return mysqld
}
-func newTestTM(t *testing.T, ts *topo.Server, uid int, keyspace, shard string) *TabletManager {
+func newTestTM(t *testing.T, ts *topo.Server, uid int, keyspace, shard string, tags map[string]string) *TabletManager {
+ // reset stats
+ statsTabletTags.ResetAll()
+ statsTabletTypeCount.ResetAll()
+
t.Helper()
ctx := context.Background()
- tablet := newTestTablet(t, uid, keyspace, shard)
+ tablet := newTestTablet(t, uid, keyspace, shard, tags)
tm := &TabletManager{
BatchCtx: ctx,
TopoServer: ts,
@@ -701,7 +726,7 @@ func newTestTM(t *testing.T, ts *topo.Server, uid int, keyspace, shard string) *
}
}
-func newTestTablet(t *testing.T, uid int, keyspace, shard string) *topodatapb.Tablet {
+func newTestTablet(t *testing.T, uid int, keyspace, shard string, tags map[string]string) *topodatapb.Tablet {
shard, keyRange, err := topo.ValidateShardName(shard)
require.NoError(t, err)
return &topodatapb.Tablet{
@@ -718,6 +743,7 @@ func newTestTablet(t *testing.T, uid int, keyspace, shard string) *topodatapb.Ta
Shard: shard,
KeyRange: keyRange,
Type: topodatapb.TabletType_REPLICA,
+ Tags: tags,
}
}
diff --git a/go/vt/vttablet/tabletmanager/tm_state.go b/go/vt/vttablet/tabletmanager/tm_state.go
index 312c675fce7..cf56c515cfc 100644
--- a/go/vt/vttablet/tabletmanager/tm_state.go
+++ b/go/vt/vttablet/tabletmanager/tm_state.go
@@ -214,9 +214,10 @@ func (ts *tmState) ChangeTabletType(ctx context.Context, tabletType topodatapb.T
}
if action == DBActionSetReadWrite {
+ // We need to redo the prepared transactions in read only mode using the dba user to ensure we don't lose them.
// We call SetReadOnly only after the topo has been updated to avoid
// situations where two tablets are primary at the DB level but not at the vitess level
- if err := ts.tm.MysqlDaemon.SetReadOnly(ctx, false); err != nil {
+ if err = ts.tm.redoPreparedTransactionsAndSetReadWrite(ctx); err != nil {
return err
}
}
@@ -281,7 +282,7 @@ func (ts *tmState) updateLocked(ctx context.Context) error {
errStr := fmt.Sprintf("SetServingType(serving=false) failed: %v", err)
log.Errorf(errStr)
// No need to short circuit. Apply all steps and return error in the end.
- returnErr = vterrors.Wrapf(err, errStr)
+ returnErr = vterrors.Wrap(err, errStr)
}
}
@@ -289,7 +290,7 @@ func (ts *tmState) updateLocked(ctx context.Context) error {
errStr := fmt.Sprintf("Cannot update denied tables rule: %v", err)
log.Errorf(errStr)
// No need to short circuit. Apply all steps and return error in the end.
- returnErr = vterrors.Wrapf(err, errStr)
+ returnErr = vterrors.Wrap(err, errStr)
}
if ts.tm.UpdateStream != nil {
@@ -329,7 +330,7 @@ func (ts *tmState) updateLocked(ctx context.Context) error {
if err := ts.tm.QueryServiceControl.SetServingType(ts.tablet.Type, ptsTime, true, ""); err != nil {
errStr := fmt.Sprintf("Cannot start query service: %v", err)
log.Errorf(errStr)
- returnErr = vterrors.Wrapf(err, errStr)
+ returnErr = vterrors.Wrap(err, errStr)
}
}
diff --git a/go/vt/vttablet/tabletmanager/tm_state_test.go b/go/vt/vttablet/tabletmanager/tm_state_test.go
index 8bd98edefff..7a507248e18 100644
--- a/go/vt/vttablet/tabletmanager/tm_state_test.go
+++ b/go/vt/vttablet/tabletmanager/tm_state_test.go
@@ -46,7 +46,7 @@ func TestStateOpenClose(t *testing.T) {
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1")
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
// Re-Open should be a no-op
tm.tmState.mu.Lock()
@@ -69,7 +69,7 @@ func TestStateRefreshFromTopo(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1")
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
defer tm.Stop()
err := tm.RefreshState(ctx)
@@ -80,7 +80,7 @@ func TestStateResharding(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1")
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
defer tm.Stop()
tm.tmState.mu.Lock()
@@ -108,7 +108,7 @@ func TestStateDenyList(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1")
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
defer tm.Stop()
fmd := tm.MysqlDaemon.(*mysqlctl.FakeMysqlDaemon)
@@ -140,7 +140,7 @@ func TestStateTabletControls(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1")
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
defer tm.Stop()
ks := &topodatapb.SrvKeyspace{
@@ -169,7 +169,7 @@ func TestStateIsShardServingisInSrvKeyspace(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1")
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
defer tm.Stop()
tm.tmState.mu.Lock()
@@ -341,7 +341,7 @@ func TestStateNonServing(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1")
- tm := newTestTM(t, ts, 1, "ks", "0")
+ tm := newTestTM(t, ts, 1, "ks", "0", nil)
defer tm.Stop()
tm.tmState.mu.Lock()
@@ -359,7 +359,7 @@ func TestStateChangeTabletType(t *testing.T) {
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1")
statsTabletTypeCount.ResetAll()
- tm := newTestTM(t, ts, 2, "ks", "0")
+ tm := newTestTM(t, ts, 2, "ks", "0", nil)
defer tm.Stop()
assert.Equal(t, 1, len(statsTabletTypeCount.Counts()))
@@ -402,7 +402,7 @@ func TestStateChangeTabletTypeWithFailure(t *testing.T) {
ts := memorytopo.NewServer(ctx, "cell1")
statsTabletTypeCount.ResetAll()
// create TM with replica and put a hook to return error during SetServingType
- tm := newTestTM(t, ts, 2, "ks", "0")
+ tm := newTestTM(t, ts, 2, "ks", "0", nil)
qsc := tm.QueryServiceControl.(*tabletservermock.Controller)
qsc.SetServingTypeError = vterrors.Errorf(vtrpcpb.Code_RESOURCE_EXHAUSTED, "mocking resource exhaustion error ")
defer tm.Stop()
@@ -485,7 +485,7 @@ func TestChangeTypeErrorWhileWritingToTopo(t *testing.T) {
fakeConn := factory.AddCell("cell1")
ts := faketopo.NewFakeTopoServer(context.TODO(), factory)
statsTabletTypeCount.ResetAll()
- tm := newTestTM(t, ts, 2, "ks", "0")
+ tm := newTestTM(t, ts, 2, "ks", "0", nil)
defer tm.Stop()
// ChangeTabletType calls topotools.ChangeType which in-turn issues
@@ -533,7 +533,7 @@ func TestPublishStateNew(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1")
- tm := newTestTM(t, ts, 42, "ks", "0")
+ tm := newTestTM(t, ts, 42, "ks", "0", nil)
ttablet, err := tm.TopoServer.GetTablet(ctx, tm.tabletAlias)
require.NoError(t, err)
utils.MustMatch(t, tm.Tablet(), ttablet.Tablet)
@@ -580,7 +580,7 @@ func TestPublishDeleted(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ts := memorytopo.NewServer(ctx, "cell1")
- tm := newTestTM(t, ts, 2, "ks", "0")
+ tm := newTestTM(t, ts, 2, "ks", "0", nil)
defer tm.Stop()
alias := &topodatapb.TabletAlias{
diff --git a/go/vt/vttablet/tabletmanager/vdiff/action.go b/go/vt/vttablet/tabletmanager/vdiff/action.go
index 0b9dd6f45ed..9cfb145c1e0 100644
--- a/go/vt/vttablet/tabletmanager/vdiff/action.go
+++ b/go/vt/vttablet/tabletmanager/vdiff/action.go
@@ -37,7 +37,7 @@ import (
vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
)
-type VDiffAction string //nolint
+type VDiffAction string // nolint
const (
CreateAction VDiffAction = "create"
@@ -97,15 +97,15 @@ func (vde *Engine) PerformVDiffAction(ctx context.Context, req *tabletmanagerdat
return nil, err
}
case ShowAction:
- if err := vde.handleShowAction(ctx, dbClient, action, req, resp); err != nil {
+ if err := vde.handleShowAction(ctx, dbClient, req, resp); err != nil {
return nil, err
}
case StopAction:
- if err := vde.handleStopAction(ctx, dbClient, action, req, resp); err != nil {
+ if err := vde.handleStopAction(ctx, dbClient, req, resp); err != nil {
return nil, err
}
case DeleteAction:
- if err := vde.handleDeleteAction(ctx, dbClient, action, req, resp); err != nil {
+ if err := vde.handleDeleteAction(ctx, dbClient, req, resp); err != nil {
return nil, err
}
default:
@@ -174,7 +174,7 @@ func (vde *Engine) getDefaultCell() (string, error) {
func (vde *Engine) handleCreateResumeAction(ctx context.Context, dbClient binlogplayer.DBClient, action VDiffAction, req *tabletmanagerdatapb.VDiffRequest, resp *tabletmanagerdatapb.VDiffResponse) error {
var qr *sqltypes.Result
- options := req.Options
+ options := req.GetOptions()
query, err := sqlparser.ParseAndBind(sqlGetVDiffID, sqltypes.StringBindVariable(req.VdiffUuid))
if err != nil {
@@ -184,20 +184,12 @@ func (vde *Engine) handleCreateResumeAction(ctx context.Context, dbClient binlog
return err
}
recordFound := len(qr.Rows) == 1
- if recordFound && action == CreateAction {
- return fmt.Errorf("vdiff with UUID %s already exists on tablet %v",
- req.VdiffUuid, vde.thisTablet.Alias)
- } else if action == ResumeAction {
- if !recordFound {
- return fmt.Errorf("vdiff with UUID %s not found on tablet %v",
- req.VdiffUuid, vde.thisTablet.Alias)
- }
- if resp.Id, err = qr.Named().Row().ToInt64("id"); err != nil {
- return fmt.Errorf("vdiff found with invalid id on tablet %v: %w",
- vde.thisTablet.Alias, err)
- }
- }
+
if action == CreateAction {
+ if recordFound {
+ return fmt.Errorf("vdiff with UUID %s already exists on tablet %s",
+ req.VdiffUuid, topoproto.TabletAliasString(vde.thisTablet.Alias))
+ }
// Use the options specified via the vdiff create client
// command, which we'll then store in the vdiff record.
if options, err = vde.fixupOptions(options); err != nil {
@@ -207,10 +199,14 @@ func (vde *Engine) handleCreateResumeAction(ctx context.Context, dbClient binlog
if err != nil {
return err
}
+ state := PendingState
+ if options.CoreOptions != nil && options.CoreOptions.AutoStart != nil && !options.CoreOptions.GetAutoStart() {
+ state = StoppedState
+ }
query, err := sqlparser.ParseAndBind(sqlNewVDiff,
sqltypes.StringBindVariable(req.Keyspace),
sqltypes.StringBindVariable(req.Workflow),
- sqltypes.StringBindVariable("pending"),
+ sqltypes.StringBindVariable(string(state)),
sqltypes.StringBindVariable(string(optionsJSON)),
sqltypes.StringBindVariable(vde.thisTablet.Shard),
sqltypes.StringBindVariable(topoproto.TabletDbName(vde.thisTablet)),
@@ -223,24 +219,44 @@ func (vde *Engine) handleCreateResumeAction(ctx context.Context, dbClient binlog
return err
}
if qr.InsertID == 0 {
- return fmt.Errorf("unable to create vdiff for UUID %s on tablet %v (%w)",
- req.VdiffUuid, vde.thisTablet.Alias, err)
+ return fmt.Errorf("unable to create vdiff for UUID %s on tablet %s (%w)",
+ req.VdiffUuid, topoproto.TabletAliasString(vde.thisTablet.Alias), err)
}
resp.Id = int64(qr.InsertID)
} else {
- query, err := sqlparser.ParseAndBind(sqlResumeVDiff,
- sqltypes.StringBindVariable(req.VdiffUuid),
- )
- if err != nil {
- return err
+ if !recordFound {
+ return fmt.Errorf("vdiff with UUID %s not found on tablet %s",
+ req.VdiffUuid, topoproto.TabletAliasString(vde.thisTablet.Alias))
}
- if qr, err = dbClient.ExecuteFetch(query, 1); err != nil {
+ if resp.Id, err = qr.Named().Row().ToInt64("id"); err != nil {
+ return fmt.Errorf("vdiff found with invalid id on tablet %s: %w",
+ topoproto.TabletAliasString(vde.thisTablet.Alias), err)
+ }
+ execResume := func(query string) (rowsAffected uint64, err error) {
+ query, err = sqlparser.ParseAndBind(query,
+ sqltypes.StringBindVariable(req.VdiffUuid),
+ )
+ if err != nil {
+ return 0, err
+ }
+ if qr, err = dbClient.ExecuteFetch(query, 1); err != nil {
+ return 0, err
+ }
+ return qr.RowsAffected, nil
+ }
+ rowsAffected, err := execResume(sqlResumeVDiff)
+ if err != nil {
return err
}
- if qr.RowsAffected == 0 {
- msg := fmt.Sprintf("no completed or stopped vdiff found for UUID %s on tablet %v",
- req.VdiffUuid, vde.thisTablet.Alias)
- return fmt.Errorf(msg)
+ if rowsAffected == 0 { // See if it's a vdiff that was never started
+ rowsAffected, err := execResume(sqlStartVDiff)
+ if err != nil {
+ return err
+ }
+ if rowsAffected == 0 {
+ return fmt.Errorf("no completed or stopped vdiff found for UUID %s on tablet %s",
+ req.VdiffUuid, topoproto.TabletAliasString(vde.thisTablet.Alias))
+ }
}
}
@@ -252,7 +268,7 @@ func (vde *Engine) handleCreateResumeAction(ctx context.Context, dbClient binlog
vdiffRecord := qr.Named().Row()
if vdiffRecord == nil {
return fmt.Errorf("unable to %s vdiff for UUID %s as it was not found on tablet %v (%w)",
- action, req.VdiffUuid, vde.thisTablet.Alias, err)
+ action, req.VdiffUuid, topoproto.TabletAliasString(vde.thisTablet.Alias), err)
}
if action == ResumeAction {
// Use the existing options from the vdiff record.
@@ -272,7 +288,7 @@ func (vde *Engine) handleCreateResumeAction(ctx context.Context, dbClient binlog
return nil
}
-func (vde *Engine) handleShowAction(ctx context.Context, dbClient binlogplayer.DBClient, action VDiffAction, req *tabletmanagerdatapb.VDiffRequest, resp *tabletmanagerdatapb.VDiffResponse) error {
+func (vde *Engine) handleShowAction(ctx context.Context, dbClient binlogplayer.DBClient, req *tabletmanagerdatapb.VDiffRequest, resp *tabletmanagerdatapb.VDiffResponse) error {
var qr *sqltypes.Result
vdiffUUID := ""
@@ -312,8 +328,8 @@ func (vde *Engine) handleShowAction(ctx context.Context, dbClient binlogplayer.D
}
switch len(qr.Rows) {
case 0:
- return fmt.Errorf("no vdiff found for UUID %s keyspace %s and workflow %s on tablet %v",
- vdiffUUID, req.Keyspace, req.Workflow, vde.thisTablet.Alias)
+ return fmt.Errorf("no vdiff found for UUID %s keyspace %s and workflow %s on tablet %s",
+ vdiffUUID, req.Keyspace, req.Workflow, topoproto.TabletAliasString(vde.thisTablet.Alias))
case 1:
row := qr.Named().Row()
vdiffID, _ := row["id"].ToInt64()
@@ -323,8 +339,8 @@ func (vde *Engine) handleShowAction(ctx context.Context, dbClient binlogplayer.D
return err
}
default:
- return fmt.Errorf("too many vdiffs found (%d) for UUID %s keyspace %s and workflow %s on tablet %v",
- len(qr.Rows), vdiffUUID, req.Keyspace, req.Workflow, vde.thisTablet.Alias)
+ return fmt.Errorf("too many vdiffs found (%d) for UUID %s keyspace %s and workflow %s on tablet %s",
+ len(qr.Rows), vdiffUUID, req.Keyspace, req.Workflow, topoproto.TabletAliasString(vde.thisTablet.Alias))
}
}
switch req.ActionArg {
@@ -351,7 +367,7 @@ func (vde *Engine) handleShowAction(ctx context.Context, dbClient binlogplayer.D
return nil
}
-func (vde *Engine) handleStopAction(ctx context.Context, dbClient binlogplayer.DBClient, action VDiffAction, req *tabletmanagerdatapb.VDiffRequest, resp *tabletmanagerdatapb.VDiffResponse) error {
+func (vde *Engine) handleStopAction(ctx context.Context, dbClient binlogplayer.DBClient, req *tabletmanagerdatapb.VDiffRequest, resp *tabletmanagerdatapb.VDiffResponse) error {
vde.mu.Lock()
defer vde.mu.Unlock()
for _, controller := range vde.controllers {
@@ -366,7 +382,7 @@ func (vde *Engine) handleStopAction(ctx context.Context, dbClient binlogplayer.D
return nil
}
-func (vde *Engine) handleDeleteAction(ctx context.Context, dbClient binlogplayer.DBClient, action VDiffAction, req *tabletmanagerdatapb.VDiffRequest, resp *tabletmanagerdatapb.VDiffResponse) error {
+func (vde *Engine) handleDeleteAction(ctx context.Context, dbClient binlogplayer.DBClient, req *tabletmanagerdatapb.VDiffRequest, resp *tabletmanagerdatapb.VDiffResponse) error {
vde.mu.Lock()
defer vde.mu.Unlock()
var deleteQuery string
@@ -425,8 +441,8 @@ func (vde *Engine) handleDeleteAction(ctx context.Context, dbClient binlogplayer
}
row := res.Named().Row() // Must only be one
if row == nil {
- return vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "no vdiff found for UUID %s on tablet %v",
- uuid, vde.thisTablet.Alias)
+ return vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "no vdiff found for UUID %s on tablet %s",
+ uuid, topoproto.TabletAliasString(vde.thisTablet.Alias))
}
cleanupController(vde.controllers[row.AsInt64("id", -1)])
deleteQuery, err = sqlparser.ParseAndBind(sqlDeleteVDiffByUUID,
diff --git a/go/vt/vttablet/tabletmanager/vdiff/action_test.go b/go/vt/vttablet/tabletmanager/vdiff/action_test.go
index 6949b411f13..6bdc7044878 100644
--- a/go/vt/vttablet/tabletmanager/vdiff/action_test.go
+++ b/go/vt/vttablet/tabletmanager/vdiff/action_test.go
@@ -26,6 +26,7 @@ import (
"github.com/google/uuid"
"github.com/stretchr/testify/require"
+ "vitess.io/vitess/go/ptr"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/vt/vterrors"
@@ -46,6 +47,7 @@ func TestPerformVDiffAction(t *testing.T) {
query string
result *sqltypes.Result // Optional if you need a non-empty result
}
+
tests := []struct {
name string
vde *Engine
@@ -93,6 +95,27 @@ func TestPerformVDiffAction(t *testing.T) {
return tstenv.TopoServ.DeleteCellInfo(ctx, "zone100_test", true)
},
},
+ {
+ name: "create without starting",
+ req: &tabletmanagerdatapb.VDiffRequest{
+ Action: string(CreateAction),
+ VdiffUuid: uuid,
+ Options: &tabletmanagerdatapb.VDiffOptions{
+ PickerOptions: &tabletmanagerdatapb.VDiffPickerOptions{},
+ CoreOptions: &tabletmanagerdatapb.VDiffCoreOptions{
+ AutoStart: ptr.Of(false),
+ },
+ },
+ },
+ expectQueries: []queryAndResult{
+ {
+ query: fmt.Sprintf("select id as id from _vt.vdiff where vdiff_uuid = %s", encodeString(uuid)),
+ },
+ {
+ query: fmt.Sprintf(`insert into _vt.vdiff(keyspace, workflow, state, options, shard, db_name, vdiff_uuid) values('', '', 'stopped', '{"picker_options":{"source_cell":"cell1","target_cell":"cell1"},"core_options":{"auto_start":false}}', '0', 'vt_vttest', %s)`, encodeString(uuid)),
+ },
+ },
+ },
{
name: "create with cell alias",
req: &tabletmanagerdatapb.VDiffRequest{
@@ -130,6 +153,79 @@ func TestPerformVDiffAction(t *testing.T) {
return tstenv.TopoServ.DeleteCellsAlias(ctx, "all")
},
},
+ {
+ name: "resume never started vdiff",
+ req: &tabletmanagerdatapb.VDiffRequest{
+ Action: string(ResumeAction),
+ VdiffUuid: uuid,
+ Keyspace: keyspace,
+ Workflow: workflow,
+ },
+ expectQueries: []queryAndResult{
+ {
+ query: fmt.Sprintf("select id as id from _vt.vdiff where vdiff_uuid = %s", encodeString(uuid)),
+ result: sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id",
+ "int64",
+ ),
+ "1",
+ ),
+ },
+ {
+ query: fmt.Sprintf(`update _vt.vdiff as vd, _vt.vdiff_table as vdt set vd.started_at = NULL, vd.completed_at = NULL, vd.state = 'pending',
+ vdt.state = 'pending' where vd.vdiff_uuid = %s and vd.id = vdt.vdiff_id and vd.state in ('completed', 'stopped')
+ and vdt.state in ('completed', 'stopped')`, encodeString(uuid)),
+ result: &sqltypes.Result{
+ RowsAffected: 0, // No _vt.vdiff_table records
+ },
+ },
+ {
+ query: fmt.Sprintf(`update _vt.vdiff as vd set vd.state = 'pending' where vd.vdiff_uuid = %s and vd.state = 'stopped' and
+ vd.started_at is NULL and vd.completed_at is NULL and
+ (select count(*) as cnt from _vt.vdiff_table as vdt where vd.id = vdt.vdiff_id) = 0`,
+ encodeString(uuid)),
+ result: &sqltypes.Result{
+ RowsAffected: 1,
+ },
+ },
+ {
+ query: "select * from _vt.vdiff where id = 1",
+ },
+ },
+ },
+ {
+ name: "resume completed vdiff",
+ req: &tabletmanagerdatapb.VDiffRequest{
+ Action: string(ResumeAction),
+ VdiffUuid: uuid,
+ Keyspace: keyspace,
+ Workflow: workflow,
+ },
+ expectQueries: []queryAndResult{
+ {
+ query: fmt.Sprintf("select id as id from _vt.vdiff where vdiff_uuid = %s", encodeString(uuid)),
+ result: sqltypes.MakeTestResult(
+ sqltypes.MakeTestFields(
+ "id",
+ "int64",
+ ),
+ "1",
+ ),
+ },
+ {
+ query: fmt.Sprintf(`update _vt.vdiff as vd, _vt.vdiff_table as vdt set vd.started_at = NULL, vd.completed_at = NULL, vd.state = 'pending',
+ vdt.state = 'pending' where vd.vdiff_uuid = %s and vd.id = vdt.vdiff_id and vd.state in ('completed', 'stopped')
+ and vdt.state in ('completed', 'stopped')`, encodeString(uuid)),
+ result: &sqltypes.Result{
+ RowsAffected: 1,
+ },
+ },
+ {
+ query: "select * from _vt.vdiff where id = 1",
+ },
+ },
+ },
{
name: "delete by uuid",
req: &tabletmanagerdatapb.VDiffRequest{
@@ -213,6 +309,7 @@ func TestPerformVDiffAction(t *testing.T) {
},
},
}
+
errCount := int64(0)
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
diff --git a/go/vt/vttablet/tabletmanager/vdiff/engine_test.go b/go/vt/vttablet/tabletmanager/vdiff/engine_test.go
index ef3c673cc8f..61d713a8e58 100644
--- a/go/vt/vttablet/tabletmanager/vdiff/engine_test.go
+++ b/go/vt/vttablet/tabletmanager/vdiff/engine_test.go
@@ -77,10 +77,10 @@ func TestEngineOpen(t *testing.T) {
fmt.Sprintf("1|%s|%s|%s|%s|%s|%s|%s|", UUID, vdiffenv.workflow, tstenv.KeyspaceName, tstenv.ShardName, vdiffDBName, tt.state, optionsJS),
), nil)
vdenv.dbClient.ExpectRequest(fmt.Sprintf("select * from _vt.vreplication where workflow = '%s' and db_name = '%s'", vdiffenv.workflow, vdiffDBName), sqltypes.MakeTestResult(sqltypes.MakeTestFields(
- "id|workflow|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type",
- "int64|varbinary|blob|varbinary|varbinary|int64|int64|varbinary|varbinary|int64|int64|varbinary|varbinary|varbinary|int64|varbinary|int64|int64|int64|varchar|int64",
+ "id|workflow|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|options",
+ "int64|varbinary|blob|varbinary|varbinary|int64|int64|varbinary|varbinary|int64|int64|varbinary|varbinary|varbinary|int64|varbinary|int64|int64|int64|varchar|int64|varchar",
),
- fmt.Sprintf("1|%s|%s|%s||9223372036854775807|9223372036854775807||PRIMARY,REPLICA|1669511347|0|Running||%s|200||1669511347|1|0||1", vdiffenv.workflow, vreplSource, vdiffSourceGtid, vdiffDBName),
+ fmt.Sprintf("1|%s|%s|%s||9223372036854775807|9223372036854775807||PRIMARY,REPLICA|1669511347|0|Running||%s|200||1669511347|1|0||1|{}", vdiffenv.workflow, vreplSource, vdiffSourceGtid, vdiffDBName),
), nil)
// Now let's short circuit the vdiff as we know that the open has worked as expected.
@@ -126,10 +126,10 @@ func TestVDiff(t *testing.T) {
vdenv.dbClient.ExpectRequest("select * from _vt.vdiff where id = 1", controllerQR, nil)
vdenv.dbClient.ExpectRequest(fmt.Sprintf("select * from _vt.vreplication where workflow = '%s' and db_name = '%s'", vdiffenv.workflow, vdiffDBName), sqltypes.MakeTestResult(sqltypes.MakeTestFields(
- "id|workflow|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type",
- "int64|varbinary|blob|varbinary|varbinary|int64|int64|varbinary|varbinary|int64|int64|varbinary|varbinary|varbinary|int64|varbinary|int64|int64|int64|varchar|int64",
+ "id|workflow|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|options",
+ "int64|varbinary|blob|varbinary|varbinary|int64|int64|varbinary|varbinary|int64|int64|varbinary|varbinary|varbinary|int64|varbinary|int64|int64|int64|varchar|int64|varchar",
),
- fmt.Sprintf("1|%s|%s|%s||9223372036854775807|9223372036854775807||PRIMARY,REPLICA|1669511347|0|Running||%s|200||1669511347|1|0||1", vdiffenv.workflow, vreplSource, vdiffSourceGtid, vdiffDBName),
+ fmt.Sprintf("1|%s|%s|%s||9223372036854775807|9223372036854775807||PRIMARY,REPLICA|1669511347|0|Running||%s|200||1669511347|1|0||1|{}", vdiffenv.workflow, vreplSource, vdiffSourceGtid, vdiffDBName),
), nil)
vdenv.dbClient.ExpectRequest("update _vt.vdiff set state = 'started', last_error = left('', 1024) , started_at = utc_timestamp() where id = 1", singleRowAffected, nil)
vdenv.dbClient.ExpectRequest("insert into _vt.vdiff_log(vdiff_id, message) values (1, 'State changed to: started')", singleRowAffected, nil)
@@ -263,10 +263,10 @@ func TestEngineRetryErroredVDiffs(t *testing.T) {
fmt.Sprintf("%s|%s|%s|%s|%s|%s|pending|%s|", id, UUID, vdiffenv.workflow, tstenv.KeyspaceName, tstenv.ShardName, vdiffDBName, optionsJS),
), nil)
vdiffenv.dbClient.ExpectRequest(fmt.Sprintf("select * from _vt.vreplication where workflow = '%s' and db_name = '%s'", vdiffenv.workflow, vdiffDBName), sqltypes.MakeTestResult(sqltypes.MakeTestFields(
- "id|workflow|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type",
- "int64|varbinary|blob|varbinary|varbinary|int64|int64|varbinary|varbinary|int64|int64|varbinary|varbinary|varbinary|int64|varbinary|int64|int64|int64|varchar|int64",
+ "id|workflow|source|pos|stop_pos|max_tps|max_replication_lag|cell|tablet_types|time_updated|transaction_timestamp|state|message|db_name|rows_copied|tags|time_heartbeat|workflow_type|time_throttled|component_throttled|workflow_sub_type|options",
+ "int64|varbinary|blob|varbinary|varbinary|int64|int64|varbinary|varbinary|int64|int64|varbinary|varbinary|varbinary|int64|varbinary|int64|int64|int64|varchar|int64|varchar",
),
- fmt.Sprintf("%s|%s|%s|%s||9223372036854775807|9223372036854775807||PRIMARY,REPLICA|1669511347|0|Running||%s|200||1669511347|1|0||1", id, vdiffenv.workflow, vreplSource, vdiffSourceGtid, vdiffDBName),
+ fmt.Sprintf("%s|%s|%s|%s||9223372036854775807|9223372036854775807||PRIMARY,REPLICA|1669511347|0|Running||%s|200||1669511347|1|0||1|{}", id, vdiffenv.workflow, vreplSource, vdiffSourceGtid, vdiffDBName),
), nil)
// At this point we know that we kicked off the expected retry so we can short circuit the vdiff.
diff --git a/go/vt/vttablet/tabletmanager/vdiff/framework_test.go b/go/vt/vttablet/tabletmanager/vdiff/framework_test.go
index 8df060e4170..33a0da8e23f 100644
--- a/go/vt/vttablet/tabletmanager/vdiff/framework_test.go
+++ b/go/vt/vttablet/tabletmanager/vdiff/framework_test.go
@@ -26,9 +26,11 @@ import (
"sync"
"testing"
+ "github.com/google/uuid"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
+ _flag "vitess.io/vitess/go/internal/flag"
"vitess.io/vitess/go/mysql"
"vitess.io/vitess/go/mysql/capabilities"
"vitess.io/vitess/go/sqltypes"
@@ -183,6 +185,7 @@ func init() {
}
func TestMain(m *testing.M) {
+ _flag.ParseFlagsForTest()
exitCode := func() int {
var err error
ctx, cancel := context.WithCancel(context.Background())
@@ -213,7 +216,7 @@ func shortCircuitTestAfterQuery(query string, dbClient *binlogplayer.MockDBClien
dbClient.ExpectRequest("insert into _vt.vdiff_log(vdiff_id, message) values (1, 'Error: Short circuiting test')", singleRowAffected, nil)
}
-//--------------------------------------
+// --------------------------------------
// Topos and tablets
// fakeTabletConn implement TabletConn interface. We only care about the
@@ -249,7 +252,7 @@ func (ftc *fakeTabletConn) VStream(ctx context.Context, request *binlogdatapb.VS
if vstreamHook != nil {
vstreamHook(ctx)
}
- return vdiffenv.vse.Stream(ctx, request.Position, request.TableLastPKs, request.Filter, throttlerapp.VStreamerName, send)
+ return vdiffenv.vse.Stream(ctx, request.Position, request.TableLastPKs, request.Filter, throttlerapp.VStreamerName, send, nil)
}
// vstreamRowsHook allows you to do work just before calling VStreamRows.
@@ -276,14 +279,14 @@ func (ftc *fakeTabletConn) VStreamRows(ctx context.Context, request *binlogdatap
vstreamRowsSendHook(ctx)
}
return send(rows)
- })
+ }, nil)
}
func (ftc *fakeTabletConn) Close(ctx context.Context) error {
return nil
}
-//--------------------------------------
+// --------------------------------------
// Binlog Client to TabletManager
// fakeBinlogClient satisfies binlogplayer.Client.
@@ -344,7 +347,7 @@ func (bts *btStream) Recv() (*binlogdatapb.BinlogTransaction, error) {
return nil, bts.ctx.Err()
}
-//--------------------------------------
+// --------------------------------------
// DBCLient wrapper
func realDBClientFactory() binlogplayer.DBClient {
@@ -427,7 +430,7 @@ func (dbc *realDBClient) SupportsCapability(capability capabilities.FlavorCapabi
return dbc.conn.SupportsCapability(capability)
}
-//----------------------------------------------
+// ----------------------------------------------
// fakeTMClient
type fakeTMClient struct {
@@ -622,10 +625,10 @@ func (tvde *testVDiffEnv) close() {
tstenv.SchemaEngine.Reload(context.Background())
}
tvde.tablets = nil
- vdiffenv.vse.Close()
- vdiffenv.vre.Close()
- vdiffenv.vde.Close()
- vdiffenv.dbClient.Close()
+ tvde.vse.Close()
+ tvde.vre.Close()
+ tvde.vde.Close()
+ tvde.dbClient.Close()
}
func (tvde *testVDiffEnv) addTablet(id int, keyspace, shard string, tabletType topodatapb.TabletType) *fakeTabletConn {
@@ -660,3 +663,16 @@ func (tvde *testVDiffEnv) addTablet(id int, keyspace, shard string, tabletType t
tstenv.SchemaEngine.Reload(context.Background())
return tvde.tablets[id]
}
+
+func (tvde *testVDiffEnv) createController(t *testing.T, id int) *controller {
+ controllerQR := sqltypes.MakeTestResult(sqltypes.MakeTestFields(
+ vdiffTestCols,
+ vdiffTestColTypes,
+ ),
+ fmt.Sprintf("%d|%s|%s|%s|%s|%s|%s|%s|", id, uuid.New(), tvde.workflow, tstenv.KeyspaceName, tstenv.ShardName, vdiffDBName, PendingState, optionsJS),
+ )
+ tvde.dbClient.ExpectRequest(fmt.Sprintf("select * from _vt.vdiff where id = %d", id), noResults, nil)
+ ct, err := newController(context.Background(), controllerQR.Named().Row(), tvde.dbClientFactory, tstenv.TopoServ, tvde.vde, tvde.opts)
+ require.NoError(t, err)
+ return ct
+}
diff --git a/go/vt/vttablet/tabletmanager/vdiff/report.go b/go/vt/vttablet/tabletmanager/vdiff/report.go
index 62ce6d24585..b53288b3019 100644
--- a/go/vt/vttablet/tabletmanager/vdiff/report.go
+++ b/go/vt/vttablet/tabletmanager/vdiff/report.go
@@ -18,11 +18,11 @@ package vdiff
import (
"fmt"
- "sort"
- "strings"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/vt/sqlparser"
+
+ tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
)
const (
@@ -63,9 +63,9 @@ type RowDiff struct {
Query string `json:"Query,omitempty"`
}
-func (td *tableDiffer) genRowDiff(queryStmt string, row []sqltypes.Value, debug, onlyPks bool) (*RowDiff, error) {
- drp := &RowDiff{}
- drp.Row = make(map[string]string)
+func (td *tableDiffer) genRowDiff(queryStmt string, row []sqltypes.Value, opts *tabletmanagerdatapb.VDiffReportOptions) (*RowDiff, error) {
+ rd := &RowDiff{}
+ rd.Row = make(map[string]string)
statement, err := td.wd.ct.vde.parser.Parse(queryStmt)
if err != nil {
return nil, err
@@ -75,30 +75,44 @@ func (td *tableDiffer) genRowDiff(queryStmt string, row []sqltypes.Value, debug,
return nil, fmt.Errorf("unexpected: %+v", sqlparser.String(statement))
}
- if debug {
- drp.Query = td.genDebugQueryDiff(sel, row, onlyPks)
+ if opts.GetDebugQuery() {
+ rd.Query = td.genDebugQueryDiff(sel, row, opts.GetOnlyPks())
}
- setVal := func(index int) {
+ addVal := func(index int, truncateAt int) {
buf := sqlparser.NewTrackedBuffer(nil)
sel.SelectExprs[index].Format(buf)
col := buf.String()
- drp.Row[col] = row[index].ToString()
+ // Let's truncate if it's really worth it to avoid losing
+ // value for a few chars.
+ if truncateAt > 0 && row[index].Len() >= truncateAt+len(truncatedNotation)+20 {
+ rd.Row[col] = row[index].ToString()[:truncateAt] + truncatedNotation
+ } else {
+ rd.Row[col] = row[index].ToString()
+ }
}
- if onlyPks {
- for _, pkI := range td.tablePlan.selectPks {
- setVal(pkI)
- }
- return drp, nil
+ // Include PK columns first and do not truncate them so that
+ // the user can always at a minimum identify the row for
+ // further investigation.
+ pks := make(map[int]struct{}, len(td.tablePlan.selectPks))
+ for _, pkI := range td.tablePlan.selectPks {
+ addVal(pkI, 0)
+ pks[pkI] = struct{}{}
}
+ if opts.GetOnlyPks() {
+ return rd, nil
+ }
+
+ truncateAt := int(opts.GetRowDiffColumnTruncateAt())
for i := range sel.SelectExprs {
- setVal(i)
+ if _, pk := pks[i]; !pk {
+ addVal(i, truncateAt)
+ }
}
- formatSampleRow(drp)
- return drp, nil
+ return rd, nil
}
func (td *tableDiffer) genDebugQueryDiff(sel *sqlparser.Select, row []sqltypes.Value, onlyPks bool) string {
@@ -130,22 +144,3 @@ func (td *tableDiffer) genDebugQueryDiff(sel *sqlparser.Select, row []sqltypes.V
buf.Myprintf(";")
return buf.String()
}
-
-// formatSampleRow returns a formatted string representing a sample
-// extra/mismatched row
-func formatSampleRow(rd *RowDiff) {
- keys := make([]string, 0, len(rd.Row))
- rowString := strings.Builder{}
- for k := range rd.Row {
- keys = append(keys, k)
- }
-
- sort.Strings(keys)
- for _, k := range keys {
- // Let's truncate if it's really worth it to avoid losing value for a few chars
- if len(rd.Row[k]) >= 30+len(truncatedNotation)+20 {
- rd.Row[k] = rd.Row[k][:30] + truncatedNotation
- }
- rowString.WriteString(fmt.Sprintf("%s: %s\n", k, rd.Row[k]))
- }
-}
diff --git a/go/vt/vttablet/tabletmanager/vdiff/report_test.go b/go/vt/vttablet/tabletmanager/vdiff/report_test.go
new file mode 100644
index 00000000000..9b6d840f751
--- /dev/null
+++ b/go/vt/vttablet/tabletmanager/vdiff/report_test.go
@@ -0,0 +1,186 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package vdiff
+
+import (
+ "strings"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+
+ "vitess.io/vitess/go/mysql/collations"
+ "vitess.io/vitess/go/sqltypes"
+
+ tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
+)
+
+func TestGenRowDiff(t *testing.T) {
+ vdenv := newTestVDiffEnv(t)
+ defer vdenv.close()
+
+ testCases := []struct {
+ name string
+ schema *tabletmanagerdatapb.SchemaDefinition
+ query string
+ tablePlan *tablePlan
+ row []sqltypes.Value
+ reportOptions *tabletmanagerdatapb.VDiffReportOptions
+ want *RowDiff
+ }{
+ {
+ name: "defaults",
+ schema: &tabletmanagerdatapb.SchemaDefinition{
+ TableDefinitions: []*tabletmanagerdatapb.TableDefinition{
+ {
+ Name: "t1",
+ Columns: []string{"c1", "c2", "c3", "c4", "c5"},
+ PrimaryKeyColumns: []string{"c1", "c5"},
+ Fields: sqltypes.MakeTestFields("c1|c2|c3|c4|c5", "int64|int64|varchar|varchar|int64"),
+ },
+ },
+ },
+ query: "select c1,c2,c3,c4,c5 from t1",
+ tablePlan: &tablePlan{
+ selectPks: []int{0, 4},
+ },
+ row: []sqltypes.Value{
+ sqltypes.NewInt64(1),
+ sqltypes.NewInt64(2),
+ sqltypes.NewVarChar("hi3"),
+ sqltypes.NewVarChar("hi4"),
+ sqltypes.NewInt64(5),
+ },
+ reportOptions: &tabletmanagerdatapb.VDiffReportOptions{},
+ want: &RowDiff{
+ Row: map[string]string{ // The two PK cols should be first
+ "c1": "1", "c5": "5", "c2": "2", "c3": "hi3", "c4": "hi4",
+ },
+ },
+ },
+ {
+ name: "only PKs",
+ schema: &tabletmanagerdatapb.SchemaDefinition{
+ TableDefinitions: []*tabletmanagerdatapb.TableDefinition{
+ {
+ Name: "t1",
+ Columns: []string{"c1", "c2"},
+ PrimaryKeyColumns: []string{"c1"},
+ Fields: sqltypes.MakeTestFields("c1|c2", "int64|int64"),
+ },
+ },
+ },
+ query: "select c1,c2 from t1",
+ tablePlan: &tablePlan{
+ selectPks: []int{0},
+ },
+ row: []sqltypes.Value{
+ sqltypes.NewInt64(1),
+ sqltypes.NewInt64(2),
+ },
+ reportOptions: &tabletmanagerdatapb.VDiffReportOptions{
+ OnlyPks: true,
+ },
+ want: &RowDiff{
+ Row: map[string]string{
+ "c1": "1",
+ },
+ },
+ },
+ {
+ name: "debug query",
+ schema: &tabletmanagerdatapb.SchemaDefinition{
+ TableDefinitions: []*tabletmanagerdatapb.TableDefinition{
+ {
+ Name: "t1",
+ Columns: []string{"c1", "c2"},
+ PrimaryKeyColumns: []string{"c1"},
+ Fields: sqltypes.MakeTestFields("c1|c2", "int64|int64"),
+ },
+ },
+ },
+ query: "select c1,c2 from t1",
+ tablePlan: &tablePlan{
+ selectPks: []int{0},
+ },
+ row: []sqltypes.Value{
+ sqltypes.NewInt64(1),
+ sqltypes.NewInt64(2),
+ },
+ reportOptions: &tabletmanagerdatapb.VDiffReportOptions{
+ DebugQuery: true,
+ },
+ want: &RowDiff{
+ Row: map[string]string{
+ "c1": "1",
+ "c2": "2",
+ },
+ Query: "select c1, c2 from t1 where c1=1;",
+ },
+ },
+ {
+ name: "column truncation",
+ schema: &tabletmanagerdatapb.SchemaDefinition{
+ TableDefinitions: []*tabletmanagerdatapb.TableDefinition{
+ {
+ Name: "t1",
+ Columns: []string{"c1", "c2"},
+ PrimaryKeyColumns: []string{"c1"},
+ Fields: sqltypes.MakeTestFields("c1|c2", "varchar|varchar"),
+ },
+ },
+ },
+ query: "select c1,c2 from t1",
+ tablePlan: &tablePlan{
+ selectPks: []int{0},
+ },
+ row: []sqltypes.Value{
+ sqltypes.NewVarChar(strings.Repeat("a", 100)),
+ sqltypes.NewVarChar(strings.Repeat("b", 100)),
+ },
+ reportOptions: &tabletmanagerdatapb.VDiffReportOptions{
+ RowDiffColumnTruncateAt: 5,
+ },
+ want: &RowDiff{
+ Row: map[string]string{
+ "c1": strings.Repeat("a", 100), // PK fields are not truncated
+ "c2": strings.Repeat("b", 5) + truncatedNotation,
+ },
+ },
+ },
+ }
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ require.NotNil(t, tc.tablePlan)
+ require.NotNil(t, tc.row)
+ require.NotNil(t, tc.reportOptions)
+
+ vdenv.tmc.schema = tc.schema
+ ct := vdenv.createController(t, 1)
+ wd, err := newWorkflowDiffer(ct, vdenv.opts, collations.MySQL8())
+ require.NoError(t, err)
+ td := &tableDiffer{
+ wd: wd,
+ sourceQuery: tc.query,
+ tablePlan: tc.tablePlan,
+ }
+
+ got, err := td.genRowDiff(tc.query, tc.row, tc.reportOptions)
+ require.NoError(t, err)
+ require.EqualValues(t, tc.want, got)
+ })
+ }
+}
diff --git a/go/vt/vttablet/tabletmanager/vdiff/schema.go b/go/vt/vttablet/tabletmanager/vdiff/schema.go
index afb79b4e4b3..9fef975e1e0 100644
--- a/go/vt/vttablet/tabletmanager/vdiff/schema.go
+++ b/go/vt/vttablet/tabletmanager/vdiff/schema.go
@@ -22,6 +22,9 @@ const (
sqlResumeVDiff = `update _vt.vdiff as vd, _vt.vdiff_table as vdt set vd.started_at = NULL, vd.completed_at = NULL, vd.state = 'pending',
vdt.state = 'pending' where vd.vdiff_uuid = %a and vd.id = vdt.vdiff_id and vd.state in ('completed', 'stopped')
and vdt.state in ('completed', 'stopped')`
+ sqlStartVDiff = `update _vt.vdiff as vd set vd.state = 'pending' where vd.vdiff_uuid = %a and vd.state = 'stopped' and
+ vd.started_at is NULL and vd.completed_at is NULL and
+ (select count(*) as cnt from _vt.vdiff_table as vdt where vd.id = vdt.vdiff_id) = 0`
sqlRetryVDiff = `update _vt.vdiff as vd left join _vt.vdiff_table as vdt on (vd.id = vdt.vdiff_id) set vd.state = 'pending',
vd.last_error = '', vdt.state = 'pending' where vd.id = %a and (vd.state = 'error' or vdt.state = 'error')`
sqlGetVDiffByKeyspaceWorkflowUUID = "select * from _vt.vdiff where keyspace = %a and workflow = %a and vdiff_uuid = %a"
diff --git a/go/vt/vttablet/tabletmanager/vdiff/table_differ.go b/go/vt/vttablet/tabletmanager/vdiff/table_differ.go
index f91a82b9d2c..102d7535af9 100644
--- a/go/vt/vttablet/tabletmanager/vdiff/table_differ.go
+++ b/go/vt/vttablet/tabletmanager/vdiff/table_differ.go
@@ -486,7 +486,7 @@ func (td *tableDiffer) setupRowSorters() {
}
}
-func (td *tableDiffer) diff(ctx context.Context, rowsToCompare int64, debug, onlyPks bool, maxExtraRowsToCompare int64, maxReportSampleRows int64, stop <-chan time.Time) (*DiffReport, error) {
+func (td *tableDiffer) diff(ctx context.Context, coreOpts *tabletmanagerdatapb.VDiffCoreOptions, reportOpts *tabletmanagerdatapb.VDiffReportOptions, stop <-chan time.Time) (*DiffReport, error) {
defer td.wd.ct.TableDiffPhaseTimings.Record(fmt.Sprintf("%s.%s", td.table.Name, diffingTable), time.Now())
dbClient := td.wd.ct.dbClientFactory()
if err := dbClient.Connect(); err != nil {
@@ -539,6 +539,10 @@ func (td *tableDiffer) diff(ctx context.Context, rowsToCompare int64, debug, onl
globalStats.RowsDiffedCount.Add(dr.ProcessedRows)
}()
+ rowsToCompare := coreOpts.GetMaxRows()
+ maxExtraRowsToCompare := coreOpts.GetMaxExtraRowsToCompare()
+ maxReportSampleRows := reportOpts.GetMaxSampleRows()
+
for {
lastProcessedRow = sourceRow
@@ -560,6 +564,7 @@ func (td *tableDiffer) diff(ctx context.Context, rowsToCompare int64, debug, onl
return nil, err
}
}
+
rowsToCompare--
if rowsToCompare < 0 {
log.Infof("Stopping vdiff, specified row limit reached")
@@ -587,7 +592,7 @@ func (td *tableDiffer) diff(ctx context.Context, rowsToCompare int64, debug, onl
advanceSource = true
advanceTarget = true
if sourceRow == nil {
- diffRow, err := td.genRowDiff(td.tablePlan.sourceQuery, targetRow, debug, onlyPks)
+ diffRow, err := td.genRowDiff(td.tablePlan.sourceQuery, targetRow, reportOpts)
if err != nil {
return nil, vterrors.Wrap(err, "unexpected error generating diff")
}
@@ -605,7 +610,7 @@ func (td *tableDiffer) diff(ctx context.Context, rowsToCompare int64, debug, onl
if targetRow == nil {
// No more rows from the target but we know we have more rows from
// source, so drain them and update the counts.
- diffRow, err := td.genRowDiff(td.tablePlan.sourceQuery, sourceRow, debug, onlyPks)
+ diffRow, err := td.genRowDiff(td.tablePlan.sourceQuery, sourceRow, reportOpts)
if err != nil {
return nil, vterrors.Wrap(err, "unexpected error generating diff")
}
@@ -628,7 +633,7 @@ func (td *tableDiffer) diff(ctx context.Context, rowsToCompare int64, debug, onl
return nil, err
case c < 0:
if dr.ExtraRowsSource < maxExtraRowsToCompare {
- diffRow, err := td.genRowDiff(td.tablePlan.sourceQuery, sourceRow, debug, onlyPks)
+ diffRow, err := td.genRowDiff(td.tablePlan.sourceQuery, sourceRow, reportOpts)
if err != nil {
return nil, vterrors.Wrap(err, "unexpected error generating diff")
}
@@ -639,7 +644,7 @@ func (td *tableDiffer) diff(ctx context.Context, rowsToCompare int64, debug, onl
continue
case c > 0:
if dr.ExtraRowsTarget < maxExtraRowsToCompare {
- diffRow, err := td.genRowDiff(td.tablePlan.targetQuery, targetRow, debug, onlyPks)
+ diffRow, err := td.genRowDiff(td.tablePlan.targetQuery, targetRow, reportOpts)
if err != nil {
return nil, vterrors.Wrap(err, "unexpected error generating diff")
}
@@ -659,11 +664,11 @@ func (td *tableDiffer) diff(ctx context.Context, rowsToCompare int64, debug, onl
case c != 0:
// We don't do a second pass to compare mismatched rows so we can cap the slice here.
if maxReportSampleRows == 0 || dr.MismatchedRows < maxReportSampleRows {
- sourceDiffRow, err := td.genRowDiff(td.tablePlan.targetQuery, sourceRow, debug, onlyPks)
+ sourceDiffRow, err := td.genRowDiff(td.tablePlan.targetQuery, sourceRow, reportOpts)
if err != nil {
return nil, vterrors.Wrap(err, "unexpected error generating diff")
}
- targetDiffRow, err := td.genRowDiff(td.tablePlan.targetQuery, targetRow, debug, onlyPks)
+ targetDiffRow, err := td.genRowDiff(td.tablePlan.targetQuery, targetRow, reportOpts)
if err != nil {
return nil, vterrors.Wrap(err, "unexpected error generating diff")
}
diff --git a/go/vt/vttablet/tabletmanager/vdiff/table_plan.go b/go/vt/vttablet/tabletmanager/vdiff/table_plan.go
index becce6f90e6..836df8ffe94 100644
--- a/go/vt/vttablet/tabletmanager/vdiff/table_plan.go
+++ b/go/vt/vttablet/tabletmanager/vdiff/table_plan.go
@@ -30,6 +30,7 @@ import (
"vitess.io/vitess/go/vt/vterrors"
"vitess.io/vitess/go/vt/vtgate/engine"
"vitess.io/vitess/go/vt/vtgate/engine/opcode"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
querypb "vitess.io/vitess/go/vt/proto/query"
tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
@@ -54,17 +55,19 @@ type tablePlan struct {
pkCols []int
// selectPks is the list of pk columns as they appear in the select clause for the diff.
- selectPks []int
- dbName string
- table *tabletmanagerdatapb.TableDefinition
- orderBy sqlparser.OrderBy
- aggregates []*engine.AggregateParams
+ selectPks []int
+ dbName string
+ table *tabletmanagerdatapb.TableDefinition
+ orderBy sqlparser.OrderBy
+ aggregates []*engine.AggregateParams
+ WorkflowConfig **vttablet.VReplicationConfig
}
func (td *tableDiffer) buildTablePlan(dbClient binlogplayer.DBClient, dbName string, collationEnv *collations.Environment) (*tablePlan, error) {
tp := &tablePlan{
- table: td.table,
- dbName: dbName,
+ table: td.table,
+ dbName: dbName,
+ WorkflowConfig: td.wd.WorkflowConfig,
}
statement, err := td.wd.ct.vde.parser.Parse(td.sourceQuery)
if err != nil {
diff --git a/go/vt/vttablet/tabletmanager/vdiff/workflow_differ.go b/go/vt/vttablet/tabletmanager/vdiff/workflow_differ.go
index 8c00b61b784..ef30d8f14b0 100644
--- a/go/vt/vttablet/tabletmanager/vdiff/workflow_differ.go
+++ b/go/vt/vttablet/tabletmanager/vdiff/workflow_differ.go
@@ -24,8 +24,6 @@ import (
"strings"
"time"
- "vitess.io/vitess/go/vt/schema"
-
"google.golang.org/protobuf/encoding/prototext"
"vitess.io/vitess/go/mysql/collations"
@@ -33,10 +31,12 @@ import (
"vitess.io/vitess/go/vt/binlog/binlogplayer"
"vitess.io/vitess/go/vt/key"
"vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/schema"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vtctl/schematools"
"vitess.io/vitess/go/vt/vterrors"
"vitess.io/vitess/go/vt/vtgate/vindexes"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
"vitess.io/vitess/go/vt/vttablet/tabletmanager/vreplication"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
@@ -53,15 +53,18 @@ type workflowDiffer struct {
tableDiffers map[string]*tableDiffer // key is table name
opts *tabletmanagerdatapb.VDiffOptions
- collationEnv *collations.Environment
+ collationEnv *collations.Environment
+ WorkflowConfig **vttablet.VReplicationConfig
}
func newWorkflowDiffer(ct *controller, opts *tabletmanagerdatapb.VDiffOptions, collationEnv *collations.Environment) (*workflowDiffer, error) {
+ vttablet.InitVReplicationConfigDefaults()
wd := &workflowDiffer{
- ct: ct,
- opts: opts,
- tableDiffers: make(map[string]*tableDiffer, 1),
- collationEnv: collationEnv,
+ ct: ct,
+ opts: opts,
+ tableDiffers: make(map[string]*tableDiffer, 1),
+ collationEnv: collationEnv,
+ WorkflowConfig: &vttablet.DefaultVReplicationConfig,
}
return wd, nil
}
@@ -205,7 +208,7 @@ func (wd *workflowDiffer) diffTable(ctx context.Context, dbClient binlogplayer.D
}
log.Infof("Table initialization done on table %s for vdiff %s", td.table.Name, wd.ct.uuid)
diffTimer = time.NewTimer(maxDiffRuntime)
- diffReport, diffErr = td.diff(ctx, wd.opts.CoreOptions.MaxRows, wd.opts.ReportOptions.DebugQuery, wd.opts.ReportOptions.OnlyPks, wd.opts.CoreOptions.MaxExtraRowsToCompare, wd.opts.ReportOptions.MaxSampleRows, diffTimer.C)
+ diffReport, diffErr = td.diff(ctx, wd.opts.CoreOptions, wd.opts.ReportOptions, diffTimer.C)
if diffErr == nil { // We finished the diff successfully
break
}
diff --git a/go/vt/vttablet/tabletmanager/vdiff/workflow_differ_test.go b/go/vt/vttablet/tabletmanager/vdiff/workflow_differ_test.go
index d4f9ddb001d..c51b6fdf281 100644
--- a/go/vt/vttablet/tabletmanager/vdiff/workflow_differ_test.go
+++ b/go/vt/vttablet/tabletmanager/vdiff/workflow_differ_test.go
@@ -574,6 +574,7 @@ func TestBuildPlanSuccess(t *testing.T) {
err = wd.buildPlan(dbc, filter, testSchema)
require.NoError(t, err, tcase.input)
require.Equal(t, 1, len(wd.tableDiffers), tcase.input)
+ wd.tableDiffers[tcase.table].tablePlan.WorkflowConfig = nil
assert.Equal(t, tcase.tablePlan, wd.tableDiffers[tcase.table].tablePlan, tcase.input)
// Confirm that the options are passed through.
@@ -588,15 +589,7 @@ func TestBuildPlanInclude(t *testing.T) {
vdenv := newTestVDiffEnv(t)
defer vdenv.close()
- controllerQR := sqltypes.MakeTestResult(sqltypes.MakeTestFields(
- vdiffTestCols,
- vdiffTestColTypes,
- ),
- fmt.Sprintf("1|%s|%s|%s|%s|%s|%s|%s|", uuid.New(), vdiffenv.workflow, tstenv.KeyspaceName, tstenv.ShardName, vdiffDBName, PendingState, optionsJS),
- )
- vdiffenv.dbClient.ExpectRequest("select * from _vt.vdiff where id = 1", noResults, nil)
- ct, err := newController(context.Background(), controllerQR.Named().Row(), vdiffenv.dbClientFactory, tstenv.TopoServ, vdiffenv.vde, vdiffenv.opts)
- require.NoError(t, err)
+ ct := vdenv.createController(t, 1)
schm := &tabletmanagerdatapb.SchemaDefinition{
TableDefinitions: []*tabletmanagerdatapb.TableDefinition{{
diff --git a/go/vt/vttablet/tabletmanager/vreplication/controller.go b/go/vt/vttablet/tabletmanager/vreplication/controller.go
index 581244eebb3..575300a685c 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/controller.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/controller.go
@@ -18,6 +18,7 @@ package vreplication
import (
"context"
+ "encoding/json"
"fmt"
"strconv"
"strings"
@@ -31,12 +32,14 @@ import (
"vitess.io/vitess/go/vt/discovery"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/mysqlctl"
+ "vitess.io/vitess/go/vt/proto/vtctldata"
"vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/vterrors"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+ vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
)
const (
@@ -68,15 +71,36 @@ type controller struct {
sourceTablet atomic.Value
lastWorkflowError *vterrors.LastError
+ WorkflowConfig *vttablet.VReplicationConfig
+}
+
+func processWorkflowOptions(params map[string]string) (*vttablet.VReplicationConfig, error) {
+ options, ok := params["options"]
+ if !ok {
+ options = "{}"
+ }
+ var workflowOptions vtctldata.WorkflowOptions
+ if err := json.Unmarshal([]byte(options), &workflowOptions); err != nil {
+ return nil, fmt.Errorf("failed to parse options column: %v", err)
+ }
+ workflowConfig, err := vttablet.NewVReplicationConfig(workflowOptions.Config)
+ if err != nil {
+ return nil, fmt.Errorf("failed to process config options: %v", err)
+ }
+ return workflowConfig, nil
}
// newController creates a new controller. Unless a stream is explicitly 'Stopped',
// this function launches a goroutine to perform continuous vreplication.
-func newController(ctx context.Context, params map[string]string, dbClientFactory func() binlogplayer.DBClient, mysqld mysqlctl.MysqlDaemon, ts *topo.Server, cell, tabletTypesStr string, blpStats *binlogplayer.Stats, vre *Engine, tpo discovery.TabletPickerOptions) (*controller, error) {
+func newController(ctx context.Context, params map[string]string, dbClientFactory func() binlogplayer.DBClient, mysqld mysqlctl.MysqlDaemon, ts *topo.Server, cell string, blpStats *binlogplayer.Stats, vre *Engine, tpo discovery.TabletPickerOptions) (*controller, error) {
if blpStats == nil {
blpStats = binlogplayer.NewStats()
}
-
+ workflowConfig, err := processWorkflowOptions(params)
+ if err != nil {
+ return nil, err
+ }
+ tabletTypesStr := workflowConfig.TabletTypesStr
ct := &controller{
vre: vre,
dbClientFactory: dbClientFactory,
@@ -84,7 +108,9 @@ func newController(ctx context.Context, params map[string]string, dbClientFactor
blpStats: blpStats,
done: make(chan struct{}),
source: &binlogdatapb.BinlogSource{},
+ WorkflowConfig: workflowConfig,
}
+ blpStats.WorkflowConfig = workflowConfig.String()
ct.sourceTablet.Store(&topodatapb.TabletAlias{})
log.Infof("creating controller with cell: %v, tabletTypes: %v, and params: %v", cell, tabletTypesStr, params)
@@ -94,7 +120,7 @@ func newController(ctx context.Context, params map[string]string, dbClientFactor
}
ct.id = int32(id)
ct.workflow = params["workflow"]
- ct.lastWorkflowError = vterrors.NewLastError(fmt.Sprintf("VReplication controller %d for workflow %q", ct.id, ct.workflow), maxTimeToRetryError)
+ ct.lastWorkflowError = vterrors.NewLastError(fmt.Sprintf("VReplication controller %d for workflow %q", ct.id, ct.workflow), workflowConfig.MaxTimeToRetryError)
state := params["state"]
blpStats.State.Store(state)
@@ -164,8 +190,8 @@ func (ct *controller) run(ctx context.Context) {
}
ct.blpStats.ErrorCounts.Add([]string{"Stream Error"}, 1)
- binlogplayer.LogError(fmt.Sprintf("error in stream %v, will retry after %v", ct.id, retryDelay), err)
- timer := time.NewTimer(retryDelay)
+ binlogplayer.LogError(fmt.Sprintf("error in stream %v, will retry after %v", ct.id, ct.WorkflowConfig.RetryDelay), err)
+ timer := time.NewTimer(ct.WorkflowConfig.RetryDelay)
select {
case <-ctx.Done():
log.Warningf("context canceled: %s", err.Error())
@@ -176,6 +202,38 @@ func (ct *controller) run(ctx context.Context) {
}
}
+func setDBClientSettings(dbClient binlogplayer.DBClient, workflowConfig *vttablet.VReplicationConfig) error {
+ if workflowConfig == nil {
+ return vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "vreplication controller: workflowConfig is nil")
+ }
+ const maxRows = 10000
+ // Timestamp fields from binlogs are always sent as UTC.
+ // So, we should set the timezone to be UTC for those values to be correctly inserted.
+ if _, err := dbClient.ExecuteFetch("set @@session.time_zone = '+00:00'", maxRows); err != nil {
+ return err
+ }
+ // Tables may have varying character sets. To ship the bits without interpreting them
+ // we set the character set to be binary.
+ if _, err := dbClient.ExecuteFetch("set names 'binary'", maxRows); err != nil {
+ return err
+ }
+ if _, err := dbClient.ExecuteFetch(fmt.Sprintf("set @@session.net_read_timeout = %v",
+ workflowConfig.NetReadTimeout), maxRows); err != nil {
+ return err
+ }
+ if _, err := dbClient.ExecuteFetch(fmt.Sprintf("set @@session.net_write_timeout = %v",
+ workflowConfig.NetWriteTimeout), maxRows); err != nil {
+ return err
+ }
+ // We must apply AUTO_INCREMENT values precisely as we got them. This include the 0 value, which is
+ // not recommended in AUTO_INCREMENT, and yet is valid.
+ if _, err := dbClient.ExecuteFetch("set @@session.sql_mode = CONCAT(@@session.sql_mode, ',NO_AUTO_VALUE_ON_ZERO')",
+ maxRows); err != nil {
+ return err
+ }
+ return nil
+}
+
func (ct *controller) runBlp(ctx context.Context) (err error) {
defer func() {
ct.sourceTablet.Store(&topodatapb.TabletAlias{})
@@ -217,27 +275,9 @@ func (ct *controller) runBlp(ctx context.Context) (err error) {
player := binlogplayer.NewBinlogPlayerKeyRange(dbClient, tablet, ct.source.KeyRange, ct.id, ct.blpStats)
return player.ApplyBinlogEvents(ctx)
case ct.source.Filter != nil:
- // Timestamp fields from binlogs are always sent as UTC.
- // So, we should set the timezone to be UTC for those values to be correctly inserted.
- if _, err := dbClient.ExecuteFetch("set @@session.time_zone = '+00:00'", 10000); err != nil {
- return err
- }
- // Tables may have varying character sets. To ship the bits without interpreting them
- // we set the character set to be binary.
- if _, err := dbClient.ExecuteFetch("set names 'binary'", 10000); err != nil {
- return err
- }
- if _, err := dbClient.ExecuteFetch(fmt.Sprintf("set @@session.net_read_timeout = %v", vttablet.VReplicationNetReadTimeout), 10000); err != nil {
- return err
- }
- if _, err := dbClient.ExecuteFetch(fmt.Sprintf("set @@session.net_write_timeout = %v", vttablet.VReplicationNetWriteTimeout), 10000); err != nil {
- return err
- }
- // We must apply AUTO_INCREMENT values precisely as we got them. This include the 0 value, which is not recommended in AUTO_INCREMENT, and yet is valid.
- if _, err := dbClient.ExecuteFetch("set @@session.sql_mode = CONCAT(@@session.sql_mode, ',NO_AUTO_VALUE_ON_ZERO')", 10000); err != nil {
+ if err := setDBClientSettings(dbClient, ct.WorkflowConfig); err != nil {
return err
}
-
var vsClient VStreamerClient
var err error
if name := ct.source.GetExternalMysql(); name != "" {
@@ -253,7 +293,7 @@ func (ct *controller) runBlp(ctx context.Context) (err error) {
}
defer vsClient.Close(ctx)
- vr := newVReplicator(ct.id, ct.source, vsClient, ct.blpStats, dbClient, ct.mysqld, ct.vre)
+ vr := newVReplicator(ct.id, ct.source, vsClient, ct.blpStats, dbClient, ct.mysqld, ct.vre, ct.WorkflowConfig)
err = vr.Replicate(ctx)
ct.lastWorkflowError.Record(err)
diff --git a/go/vt/vttablet/tabletmanager/vreplication/controller_test.go b/go/vt/vttablet/tabletmanager/vreplication/controller_test.go
index 57cb60384c6..9a0b6ca833c 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/controller_test.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/controller_test.go
@@ -23,6 +23,8 @@ import (
"testing"
"time"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
+
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/vt/binlog/binlogplayer"
"vitess.io/vitess/go/vt/discovery"
@@ -70,20 +72,29 @@ var (
defaultTabletPickerOptions = discovery.TabletPickerOptions{}
)
+func setTabletTypesStr(tabletTypesStr string) func() {
+ oldTabletTypesStr := vttablet.DefaultVReplicationConfig.TabletTypesStr
+ vttablet.DefaultVReplicationConfig.TabletTypesStr = tabletTypesStr
+ return func() {
+ vttablet.DefaultVReplicationConfig.TabletTypesStr = oldTabletTypesStr
+ }
+}
+
func TestControllerKeyRange(t *testing.T) {
resetBinlogClient()
wantTablet := addTablet(100)
defer deleteTablet(wantTablet)
params := map[string]string{
- "id": "1",
- "state": binlogdatapb.VReplicationWorkflowState_Running.String(),
- "source": fmt.Sprintf(`keyspace:"%s" shard:"0" key_range:{end:"\x80"}`, env.KeyspaceName),
+ "id": "1",
+ "state": binlogdatapb.VReplicationWorkflowState_Running.String(),
+ "source": fmt.Sprintf(`keyspace:"%s" shard:"0" key_range:{end:"\x80"}`, env.KeyspaceName),
+ "options": "{}",
}
dbClient := binlogplayer.NewMockDBClient(t)
dbClient.ExpectRequestRE("update _vt.vreplication set message='Picked source tablet.*", testDMLResponse, nil)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", testSettingsResponse, nil)
+ dbClient.ExpectRequest(binlogplayer.TestGetWorkflowQueryId1, testSettingsResponse, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
@@ -94,7 +105,8 @@ func TestControllerKeyRange(t *testing.T) {
mysqld.MysqlPort.Store(3306)
vre := NewTestEngine(nil, wantTablet.GetAlias().Cell, mysqld, dbClientFactory, dbClientFactory, dbClient.DBName(), nil)
- ct, err := newController(context.Background(), params, dbClientFactory, mysqld, env.TopoServ, env.Cells[0], "replica", nil, vre, defaultTabletPickerOptions)
+ defer setTabletTypesStr("replica")()
+ ct, err := newController(context.Background(), params, dbClientFactory, mysqld, env.TopoServ, env.Cells[0], nil, vre, defaultTabletPickerOptions)
if err != nil {
t.Fatal(err)
}
@@ -113,15 +125,16 @@ func TestControllerTables(t *testing.T) {
resetBinlogClient()
params := map[string]string{
- "id": "1",
- "state": binlogdatapb.VReplicationWorkflowState_Running.String(),
- "source": fmt.Sprintf(`keyspace:"%s" shard:"0" tables:"table1" tables:"/funtables_/" `, env.KeyspaceName),
+ "id": "1",
+ "state": binlogdatapb.VReplicationWorkflowState_Running.String(),
+ "source": fmt.Sprintf(`keyspace:"%s" shard:"0" tables:"table1" tables:"/funtables_/" `, env.KeyspaceName),
+ "options": "{}",
}
dbClient := binlogplayer.NewMockDBClient(t)
dbClient.ExpectRequestRE("update _vt.vreplication set message='Picked source tablet.*", testDMLResponse, nil)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", testSettingsResponse, nil)
+ dbClient.ExpectRequest(binlogplayer.TestGetWorkflowQueryId1, testSettingsResponse, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
@@ -155,8 +168,8 @@ func TestControllerTables(t *testing.T) {
}
mysqld.MysqlPort.Store(3306)
vre := NewTestEngine(nil, wantTablet.GetAlias().Cell, mysqld, dbClientFactory, dbClientFactory, dbClient.DBName(), nil)
-
- ct, err := newController(context.Background(), params, dbClientFactory, mysqld, env.TopoServ, env.Cells[0], "replica", nil, vre, defaultTabletPickerOptions)
+ defer setTabletTypesStr("replica")()
+ ct, err := newController(context.Background(), params, dbClientFactory, mysqld, env.TopoServ, env.Cells[0], nil, vre, defaultTabletPickerOptions)
if err != nil {
t.Fatal(err)
}
@@ -171,9 +184,10 @@ func TestControllerTables(t *testing.T) {
func TestControllerBadID(t *testing.T) {
params := map[string]string{
- "id": "bad",
+ "id": "bad",
+ "options": "{}",
}
- _, err := newController(context.Background(), params, nil, nil, nil, "", "", nil, nil, defaultTabletPickerOptions)
+ _, err := newController(context.Background(), params, nil, nil, nil, "", nil, nil, defaultTabletPickerOptions)
want := `strconv.ParseInt: parsing "bad": invalid syntax`
if err == nil || err.Error() != want {
t.Errorf("newController err: %v, want %v", err, want)
@@ -182,11 +196,12 @@ func TestControllerBadID(t *testing.T) {
func TestControllerStopped(t *testing.T) {
params := map[string]string{
- "id": "1",
- "state": binlogdatapb.VReplicationWorkflowState_Stopped.String(),
+ "id": "1",
+ "state": binlogdatapb.VReplicationWorkflowState_Stopped.String(),
+ "options": "{}",
}
- ct, err := newController(context.Background(), params, nil, nil, nil, "", "", nil, nil, defaultTabletPickerOptions)
+ ct, err := newController(context.Background(), params, nil, nil, nil, "", nil, nil, defaultTabletPickerOptions)
if err != nil {
t.Fatal(err)
}
@@ -210,12 +225,13 @@ func TestControllerOverrides(t *testing.T) {
"source": fmt.Sprintf(`keyspace:"%s" shard:"0" key_range:{end:"\x80"}`, env.KeyspaceName),
"cell": env.Cells[0],
"tablet_types": "replica",
+ "options": "{}",
}
dbClient := binlogplayer.NewMockDBClient(t)
dbClient.ExpectRequestRE("update _vt.vreplication set message='Picked source tablet.*", testDMLResponse, nil)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", testSettingsResponse, nil)
+ dbClient.ExpectRequest(binlogplayer.TestGetWorkflowQueryId1, testSettingsResponse, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
@@ -226,7 +242,8 @@ func TestControllerOverrides(t *testing.T) {
mysqld.MysqlPort.Store(3306)
vre := NewTestEngine(nil, wantTablet.GetAlias().Cell, mysqld, dbClientFactory, dbClientFactory, dbClient.DBName(), nil)
- ct, err := newController(context.Background(), params, dbClientFactory, mysqld, env.TopoServ, env.Cells[0], "rdonly", nil, vre, defaultTabletPickerOptions)
+ defer setTabletTypesStr("rdonly")()
+ ct, err := newController(context.Background(), params, dbClientFactory, mysqld, env.TopoServ, env.Cells[0], nil, vre, defaultTabletPickerOptions)
if err != nil {
t.Fatal(err)
}
@@ -244,16 +261,17 @@ func TestControllerCanceledContext(t *testing.T) {
defer deleteTablet(wantTablet)
params := map[string]string{
- "id": "1",
- "state": binlogdatapb.VReplicationWorkflowState_Running.String(),
- "source": fmt.Sprintf(`keyspace:"%s" shard:"0" key_range:{end:"\x80"}`, env.KeyspaceName),
+ "id": "1",
+ "state": binlogdatapb.VReplicationWorkflowState_Running.String(),
+ "source": fmt.Sprintf(`keyspace:"%s" shard:"0" key_range:{end:"\x80"}`, env.KeyspaceName),
+ "options": "{}",
}
ctx, cancel := context.WithCancel(context.Background())
cancel()
vre := NewTestEngine(nil, wantTablet.GetAlias().Cell, nil, nil, nil, "", nil)
- ct, err := newController(ctx, params, nil, nil, env.TopoServ, env.Cells[0], "rdonly", nil, vre, defaultTabletPickerOptions)
+ ct, err := newController(ctx, params, nil, nil, env.TopoServ, env.Cells[0], nil, vre, defaultTabletPickerOptions)
if err != nil {
t.Fatal(err)
}
@@ -267,9 +285,9 @@ func TestControllerCanceledContext(t *testing.T) {
}
func TestControllerRetry(t *testing.T) {
- savedDelay := retryDelay
- defer func() { retryDelay = savedDelay }()
- retryDelay = 10 * time.Millisecond
+ savedDelay := vttablet.DefaultVReplicationConfig.RetryDelay
+ defer func() { vttablet.DefaultVReplicationConfig.RetryDelay = savedDelay }()
+ vttablet.DefaultVReplicationConfig.RetryDelay = 10 * time.Millisecond
resetBinlogClient()
defer deleteTablet(addTablet(100))
@@ -280,16 +298,17 @@ func TestControllerRetry(t *testing.T) {
"source": fmt.Sprintf(`keyspace:"%s" shard:"0" key_range:{end:"\x80"}`, env.KeyspaceName),
"cell": env.Cells[0],
"tablet_types": "replica",
+ "options": "{}",
}
dbClient := binlogplayer.NewMockDBClient(t)
dbClient.ExpectRequestRE("update _vt.vreplication set message='Picked source tablet.*", testDMLResponse, nil)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", nil, errors.New("(expected error)"))
- dbClient.ExpectRequest("update _vt.vreplication set state='Error', message='error (expected error) in selecting vreplication settings select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1' where id=1", testDMLResponse, nil)
+ dbClient.ExpectRequest(binlogplayer.TestGetWorkflowQueryId1, nil, errors.New("(expected error)"))
+ dbClient.ExpectRequest("update _vt.vreplication set state='Error', message='error (expected error) in selecting vreplication settings select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys, options from _vt.vreplication where id=1' where id=1", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set message='Picked source tablet.*", testDMLResponse, nil)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", testSettingsResponse, nil)
+ dbClient.ExpectRequest(binlogplayer.TestGetWorkflowQueryId1, testSettingsResponse, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
@@ -299,7 +318,8 @@ func TestControllerRetry(t *testing.T) {
mysqld.MysqlPort.Store(3306)
vre := NewTestEngine(nil, env.Cells[0], mysqld, dbClientFactory, dbClientFactory, dbClient.DBName(), nil)
- ct, err := newController(context.Background(), params, dbClientFactory, mysqld, env.TopoServ, env.Cells[0], "rdonly", nil, vre, defaultTabletPickerOptions)
+ defer setTabletTypesStr("rdonly")()
+ ct, err := newController(context.Background(), params, dbClientFactory, mysqld, env.TopoServ, env.Cells[0], nil, vre, defaultTabletPickerOptions)
if err != nil {
t.Fatal(err)
}
@@ -314,9 +334,10 @@ func TestControllerStopPosition(t *testing.T) {
defer deleteTablet(wantTablet)
params := map[string]string{
- "id": "1",
- "state": binlogdatapb.VReplicationWorkflowState_Running.String(),
- "source": fmt.Sprintf(`keyspace:"%s" shard:"0" key_range:{end:"\x80"}`, env.KeyspaceName),
+ "id": "1",
+ "state": binlogdatapb.VReplicationWorkflowState_Running.String(),
+ "source": fmt.Sprintf(`keyspace:"%s" shard:"0" key_range:{end:"\x80"}`, env.KeyspaceName),
+ "options": "{}",
}
dbClient := binlogplayer.NewMockDBClient(t)
@@ -349,7 +370,7 @@ func TestControllerStopPosition(t *testing.T) {
},
},
}
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", withStop, nil)
+ dbClient.ExpectRequest(binlogplayer.TestGetWorkflowQueryId1, withStop, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
@@ -361,7 +382,7 @@ func TestControllerStopPosition(t *testing.T) {
mysqld.MysqlPort.Store(3306)
vre := NewTestEngine(nil, wantTablet.GetAlias().Cell, mysqld, dbClientFactory, dbClientFactory, dbClient.DBName(), nil)
- ct, err := newController(context.Background(), params, dbClientFactory, mysqld, env.TopoServ, env.Cells[0], "replica", nil, vre, defaultTabletPickerOptions)
+ ct, err := newController(context.Background(), params, dbClientFactory, mysqld, env.TopoServ, env.Cells[0], nil, vre, defaultTabletPickerOptions)
if err != nil {
t.Fatal(err)
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/engine.go b/go/vt/vttablet/tabletmanager/vreplication/engine.go
index d407bfe403b..c4832a59b6a 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/engine.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/engine.go
@@ -282,9 +282,9 @@ func (vre *Engine) retry(ctx context.Context, err error) {
func (vre *Engine) initControllers(rows []map[string]string) {
for _, row := range rows {
- ct, err := newController(vre.ctx, row, vre.dbClientFactoryFiltered, vre.mysqld, vre.ts, vre.cell, tabletTypesStr, nil, vre, discovery.TabletPickerOptions{})
+ ct, err := newController(vre.ctx, row, vre.dbClientFactoryFiltered, vre.mysqld, vre.ts, vre.cell, nil, vre, discovery.TabletPickerOptions{})
if err != nil {
- log.Errorf("Controller could not be initialized for stream: %v", row)
+ log.Errorf("Controller could not be initialized for stream: %v: %v", row, err)
continue
}
vre.controllers[ct.id] = ct
@@ -405,8 +405,6 @@ func (vre *Engine) exec(query string, runAsAdmin bool) (*sqltypes.Result, error)
return nil, fmt.Errorf("insert id %v out of range", qr.InsertID)
}
- vdbc := newVDBClient(dbClient, stats)
-
// If we are creating multiple streams, for example in a
// merge workflow going from 2 shards to 1 shard, we
// will be inserting multiple rows. To get the ids of
@@ -430,11 +428,12 @@ func (vre *Engine) exec(query string, runAsAdmin bool) (*sqltypes.Result, error)
if err != nil {
return nil, err
}
- ct, err := newController(vre.ctx, params, vre.dbClientFactoryFiltered, vre.mysqld, vre.ts, vre.cell, tabletTypesStr, nil, vre, plan.tabletPickerOptions)
+ ct, err := newController(vre.ctx, params, vre.dbClientFactoryFiltered, vre.mysqld, vre.ts, vre.cell, nil, vre, plan.tabletPickerOptions)
if err != nil {
return nil, err
}
vre.controllers[id] = ct
+ vdbc := newVDBClient(dbClient, stats, ct.WorkflowConfig.RelayLogMaxSize)
insertLogWithParams(vdbc, LogStreamCreate, id, params)
}
return qr, nil
@@ -462,7 +461,6 @@ func (vre *Engine) exec(query string, runAsAdmin bool) (*sqltypes.Result, error)
if err != nil {
return nil, err
}
- vdbc := newVDBClient(dbClient, stats)
for _, id := range ids {
params, err := readRow(dbClient, id)
if err != nil {
@@ -470,11 +468,12 @@ func (vre *Engine) exec(query string, runAsAdmin bool) (*sqltypes.Result, error)
}
// Create a new controller in place of the old one.
// For continuity, the new controller inherits the previous stats.
- ct, err := newController(vre.ctx, params, vre.dbClientFactoryFiltered, vre.mysqld, vre.ts, vre.cell, tabletTypesStr, blpStats[id], vre, plan.tabletPickerOptions)
+ ct, err := newController(vre.ctx, params, vre.dbClientFactoryFiltered, vre.mysqld, vre.ts, vre.cell, blpStats[id], vre, plan.tabletPickerOptions)
if err != nil {
return nil, err
}
vre.controllers[id] = ct
+ vdbc := newVDBClient(dbClient, stats, ct.WorkflowConfig.RelayLogMaxSize)
insertLog(vdbc, LogStateChange, id, params["state"], "")
}
return qr, nil
@@ -487,13 +486,13 @@ func (vre *Engine) exec(query string, runAsAdmin bool) (*sqltypes.Result, error)
return &sqltypes.Result{}, nil
}
// Stop and delete the current controllers.
- vdbc := newVDBClient(dbClient, stats)
for _, id := range ids {
if ct := vre.controllers[id]; ct != nil {
+ vdbc := newVDBClient(dbClient, stats, ct.WorkflowConfig.RelayLogMaxSize)
ct.Stop()
delete(vre.controllers, id)
+ insertLogWithParams(vdbc, LogStreamDelete, id, nil)
}
- insertLogWithParams(vdbc, LogStreamDelete, id, nil)
}
if err := dbClient.Begin(); err != nil {
return nil, err
@@ -640,7 +639,7 @@ func (vre *Engine) transitionJournal(je *journalEvent) {
log.Infof("Transitioning for journal:workload %v", je)
- //sort both participants and shardgtids
+ // sort both participants and shardgtids
participants := make([]string, 0)
for ks := range je.participants {
participants = append(participants, ks)
@@ -691,7 +690,7 @@ func (vre *Engine) transitionJournal(je *journalEvent) {
deferSecondaryKeys, _ := strconv.ParseBool(params["defer_secondary_keys"])
ig := NewInsertGenerator(binlogdatapb.VReplicationWorkflowState_Running, vre.dbName)
ig.AddRow(params["workflow"], bls, sgtid.Gtid, params["cell"], params["tablet_types"],
- binlogdatapb.VReplicationWorkflowType(workflowType), binlogdatapb.VReplicationWorkflowSubType(workflowSubType), deferSecondaryKeys)
+ binlogdatapb.VReplicationWorkflowType(workflowType), binlogdatapb.VReplicationWorkflowSubType(workflowSubType), deferSecondaryKeys, "")
qr, err := dbClient.ExecuteFetch(ig.String(), maxRows)
if err != nil {
log.Errorf("transitionJournal: %v", err)
@@ -730,7 +729,7 @@ func (vre *Engine) transitionJournal(je *journalEvent) {
log.Errorf("transitionJournal: %v", err)
return
}
- ct, err := newController(vre.ctx, params, vre.dbClientFactoryFiltered, vre.mysqld, vre.ts, vre.cell, tabletTypesStr, nil, vre, discovery.TabletPickerOptions{})
+ ct, err := newController(vre.ctx, params, vre.dbClientFactoryFiltered, vre.mysqld, vre.ts, vre.cell, nil, vre, discovery.TabletPickerOptions{})
if err != nil {
log.Errorf("transitionJournal: %v", err)
return
diff --git a/go/vt/vttablet/tabletmanager/vreplication/engine_test.go b/go/vt/vttablet/tabletmanager/vreplication/engine_test.go
index ea46e126895..af054932c89 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/engine_test.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/engine_test.go
@@ -50,14 +50,14 @@ func TestEngineOpen(t *testing.T) {
dbClient.ExpectRequest("select * from _vt.vreplication where db_name='db'", sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|state|source|tablet_types",
- "int64|varchar|varchar|varbinary",
+ "id|state|source|tablet_types|options",
+ "int64|varchar|varchar|varbinary|varchar",
),
- fmt.Sprintf(`1|Running|keyspace:"%s" shard:"0" key_range:{end:"\x80"}|PRIMARY,REPLICA`, env.KeyspaceName),
+ fmt.Sprintf(`1|Running|keyspace:"%s" shard:"0" key_range:{end:"\x80"}|PRIMARY,REPLICA|{}`, env.KeyspaceName),
), nil)
dbClient.ExpectRequestRE("update _vt.vreplication set message='Picked source tablet.*", testDMLResponse, nil)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", testSettingsResponse, nil)
+ dbClient.ExpectRequest(binlogplayer.TestGetWorkflowQueryId1, testSettingsResponse, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
@@ -93,8 +93,8 @@ func TestEngineOpenRetry(t *testing.T) {
dbClient.ExpectRequest("select * from _vt.vreplication where db_name='db'", nil, errors.New("err"))
dbClient.ExpectRequest("select * from _vt.vreplication where db_name='db'", sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|state|source",
- "int64|varchar|varchar",
+ "id|state|source|options",
+ "int64|varchar|varchar|varchar",
),
), nil)
@@ -161,14 +161,14 @@ func TestEngineExec(t *testing.T) {
dbClient.ExpectRequest("select @@session.auto_increment_increment", &sqltypes.Result{}, nil)
dbClient.ExpectRequest("select * from _vt.vreplication where id = 1", sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|state|source|tablet_types",
- "int64|varchar|varchar|varbinary",
+ "id|state|source|tablet_types|options",
+ "int64|varchar|varchar|varbinary|varchar",
),
- fmt.Sprintf(`1|Running|keyspace:"%s" shard:"0" key_range:{end:"\x80"}|PRIMARY,REPLICA`, env.KeyspaceName),
+ fmt.Sprintf(`1|Running|keyspace:"%s" shard:"0" key_range:{end:"\x80"}|PRIMARY,REPLICA|{}`, env.KeyspaceName),
), nil)
dbClient.ExpectRequestRE("update _vt.vreplication set message='Picked source tablet.*", testDMLResponse, nil)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", testSettingsResponse, nil)
+ dbClient.ExpectRequest(binlogplayer.TestGetWorkflowQueryId1, testSettingsResponse, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
@@ -187,6 +187,7 @@ func TestEngineExec(t *testing.T) {
ct := vre.controllers[1]
if ct == nil || ct.id != 1 {
t.Errorf("ct: %v, id should be 1", ct)
+ return
}
// Verify stats
@@ -203,14 +204,14 @@ func TestEngineExec(t *testing.T) {
dbClient.ExpectRequest("update _vt.vreplication set pos = 'MariaDB/0-1-1084', state = 'Running' where id in (1)", testDMLResponse, nil)
dbClient.ExpectRequest("select * from _vt.vreplication where id = 1", sqltypes.MakeTestResult(
sqltypes.MakeTestFields(
- "id|state|source",
- "int64|varchar|varchar",
+ "id|state|source|options",
+ "int64|varchar|varchar|varchar",
),
- fmt.Sprintf(`1|Running|keyspace:"%s" shard:"0" key_range:{end:"\x80"}`, env.KeyspaceName),
+ fmt.Sprintf(`1|Running|keyspace:"%s" shard:"0" key_range:{end:"\x80"}|{}`, env.KeyspaceName),
), nil)
dbClient.ExpectRequestRE("update _vt.vreplication set message='Picked source tablet.*", testDMLResponse, nil)
dbClient.ExpectRequest("update _vt.vreplication set state='Running', message='' where id=1", testDMLResponse, nil)
- dbClient.ExpectRequest("select pos, stop_pos, max_tps, max_replication_lag, state, workflow_type, workflow, workflow_sub_type, defer_secondary_keys from _vt.vreplication where id=1", testSettingsResponse, nil)
+ dbClient.ExpectRequest(binlogplayer.TestGetWorkflowQueryId1, testSettingsResponse, nil)
dbClient.ExpectRequest("begin", nil, nil)
dbClient.ExpectRequest("insert into t values(1)", testDMLResponse, nil)
dbClient.ExpectRequestRE("update _vt.vreplication set pos='MariaDB/0-1-1235', time_updated=.*", testDMLResponse, nil)
diff --git a/go/vt/vttablet/tabletmanager/vreplication/external_connector.go b/go/vt/vttablet/tabletmanager/vreplication/external_connector.go
index c53bfd2a584..c14d792da04 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/external_connector.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/external_connector.go
@@ -48,13 +48,16 @@ type VStreamerClient interface {
Close(context.Context) error
// VStream streams VReplication events based on the specified filter.
- VStream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter, send func([]*binlogdatapb.VEvent) error) error
+ VStream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter,
+ send func([]*binlogdatapb.VEvent) error, options *binlogdatapb.VStreamOptions) error
// VStreamRows streams rows of a table from the specified starting point.
- VStreamRows(ctx context.Context, query string, lastpk *querypb.QueryResult, send func(*binlogdatapb.VStreamRowsResponse) error) error
+ VStreamRows(ctx context.Context, query string, lastpk *querypb.QueryResult,
+ send func(*binlogdatapb.VStreamRowsResponse) error, options *binlogdatapb.VStreamOptions) error
// VStreamTables streams rows of a table from the specified starting point.
- VStreamTables(ctx context.Context, send func(*binlogdatapb.VStreamTablesResponse) error) error
+ VStreamTables(ctx context.Context,
+ send func(*binlogdatapb.VStreamTablesResponse) error, options *binlogdatapb.VStreamOptions) error
}
type externalConnector struct {
@@ -110,7 +113,7 @@ func (ec *externalConnector) Get(name string) (*mysqlConnector, error) {
return c, nil
}
-//-----------------------------------------------------------
+// -----------------------------------------------------------
type mysqlConnector struct {
env tabletenv.Env
@@ -131,11 +134,13 @@ func (c *mysqlConnector) Close(ctx context.Context) error {
return nil
}
-func (c *mysqlConnector) VStream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter, send func([]*binlogdatapb.VEvent) error) error {
- return c.vstreamer.Stream(ctx, startPos, tablePKs, filter, throttlerapp.ExternalConnectorName, send)
+func (c *mysqlConnector) VStream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK,
+ filter *binlogdatapb.Filter, send func([]*binlogdatapb.VEvent) error, options *binlogdatapb.VStreamOptions) error {
+ return c.vstreamer.Stream(ctx, startPos, tablePKs, filter, throttlerapp.ExternalConnectorName, send, options)
}
-func (c *mysqlConnector) VStreamRows(ctx context.Context, query string, lastpk *querypb.QueryResult, send func(*binlogdatapb.VStreamRowsResponse) error) error {
+func (c *mysqlConnector) VStreamRows(ctx context.Context, query string, lastpk *querypb.QueryResult,
+ send func(*binlogdatapb.VStreamRowsResponse) error, options *binlogdatapb.VStreamOptions) error {
var row []sqltypes.Value
if lastpk != nil {
r := sqltypes.Proto3ToResult(lastpk)
@@ -144,14 +149,15 @@ func (c *mysqlConnector) VStreamRows(ctx context.Context, query string, lastpk *
}
row = r.Rows[0]
}
- return c.vstreamer.StreamRows(ctx, query, row, send)
+ return c.vstreamer.StreamRows(ctx, query, row, send, options)
}
-func (c *mysqlConnector) VStreamTables(ctx context.Context, send func(response *binlogdatapb.VStreamTablesResponse) error) error {
- return c.vstreamer.StreamTables(ctx, send)
+func (c *mysqlConnector) VStreamTables(ctx context.Context,
+ send func(response *binlogdatapb.VStreamTablesResponse) error, options *binlogdatapb.VStreamOptions) error {
+ return c.vstreamer.StreamTables(ctx, send, options)
}
-//-----------------------------------------------------------
+// -----------------------------------------------------------
type tabletConnector struct {
tablet *topodatapb.Tablet
@@ -180,17 +186,20 @@ func (tc *tabletConnector) Close(ctx context.Context) error {
return tc.qs.Close(ctx)
}
-func (tc *tabletConnector) VStream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter, send func([]*binlogdatapb.VEvent) error) error {
- req := &binlogdatapb.VStreamRequest{Target: tc.target, Position: startPos, TableLastPKs: tablePKs, Filter: filter}
+func (tc *tabletConnector) VStream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK,
+ filter *binlogdatapb.Filter, send func([]*binlogdatapb.VEvent) error, options *binlogdatapb.VStreamOptions) error {
+ req := &binlogdatapb.VStreamRequest{Target: tc.target, Position: startPos, TableLastPKs: tablePKs, Filter: filter, Options: options}
return tc.qs.VStream(ctx, req, send)
}
-func (tc *tabletConnector) VStreamRows(ctx context.Context, query string, lastpk *querypb.QueryResult, send func(*binlogdatapb.VStreamRowsResponse) error) error {
- req := &binlogdatapb.VStreamRowsRequest{Target: tc.target, Query: query, Lastpk: lastpk}
+func (tc *tabletConnector) VStreamRows(ctx context.Context, query string, lastpk *querypb.QueryResult,
+ send func(*binlogdatapb.VStreamRowsResponse) error, options *binlogdatapb.VStreamOptions) error {
+ req := &binlogdatapb.VStreamRowsRequest{Target: tc.target, Query: query, Lastpk: lastpk, Options: options}
return tc.qs.VStreamRows(ctx, req, send)
}
-func (tc *tabletConnector) VStreamTables(ctx context.Context, send func(*binlogdatapb.VStreamTablesResponse) error) error {
- req := &binlogdatapb.VStreamTablesRequest{Target: tc.target}
+func (tc *tabletConnector) VStreamTables(ctx context.Context,
+ send func(*binlogdatapb.VStreamTablesResponse) error, options *binlogdatapb.VStreamOptions) error {
+ req := &binlogdatapb.VStreamTablesRequest{Target: tc.target, Options: options}
return tc.qs.VStreamTables(ctx, req, send)
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/flags.go b/go/vt/vttablet/tabletmanager/vreplication/flags.go
deleted file mode 100644
index e45158ab99a..00000000000
--- a/go/vt/vttablet/tabletmanager/vreplication/flags.go
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-Copyright 2022 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package vreplication
-
-import (
- "time"
-
- "github.com/spf13/pflag"
-
- "vitess.io/vitess/go/vt/servenv"
-)
-
-var (
- retryDelay = 5 * time.Second
- maxTimeToRetryError time.Duration // Default behavior is to keep retrying, for backward compatibility
-
- tabletTypesStr = "in_order:REPLICA,PRIMARY" // Default value
-
- relayLogMaxSize = 250000
- relayLogMaxItems = 5000
-
- replicaLagTolerance = 1 * time.Minute
-
- vreplicationHeartbeatUpdateInterval = 1
-
- vreplicationStoreCompressedGTID = false
- vreplicationParallelInsertWorkers = 1
-)
-
-func registerVReplicationFlags(fs *pflag.FlagSet) {
- fs.DurationVar(&retryDelay, "vreplication_retry_delay", retryDelay, "delay before retrying a failed workflow event in the replication phase")
- fs.DurationVar(&maxTimeToRetryError, "vreplication_max_time_to_retry_on_error", maxTimeToRetryError, "stop automatically retrying when we've had consecutive failures with the same error for this long after the first occurrence")
-
- fs.IntVar(&relayLogMaxSize, "relay_log_max_size", relayLogMaxSize, "Maximum buffer size (in bytes) for VReplication target buffering. If single rows are larger than this, a single row is buffered at a time.")
- fs.IntVar(&relayLogMaxItems, "relay_log_max_items", relayLogMaxItems, "Maximum number of rows for VReplication target buffering.")
-
- fs.DurationVar(&replicaLagTolerance, "vreplication_replica_lag_tolerance", replicaLagTolerance, "Replica lag threshold duration: once lag is below this we switch from copy phase to the replication (streaming) phase")
-
- // vreplicationHeartbeatUpdateInterval determines how often the time_updated column is updated if there are no real events on the source and the source
- // vstream is only sending heartbeats for this long. Keep this low if you expect high QPS and are monitoring this column to alert about potential
- // outages. Keep this high if
- // you have too many streams the extra write qps or cpu load due to these updates are unacceptable
- // you have too many streams and/or a large source field (lot of participating tables) which generates unacceptable increase in your binlog size
- fs.IntVar(&vreplicationHeartbeatUpdateInterval, "vreplication_heartbeat_update_interval", vreplicationHeartbeatUpdateInterval, "Frequency (in seconds, default 1, max 60) at which the time_updated column of a vreplication stream when idling")
- fs.BoolVar(&vreplicationStoreCompressedGTID, "vreplication_store_compressed_gtid", vreplicationStoreCompressedGTID, "Store compressed gtids in the pos column of the sidecar database's vreplication table")
-
- fs.IntVar(&vreplicationParallelInsertWorkers, "vreplication-parallel-insert-workers", vreplicationParallelInsertWorkers, "Number of parallel insertion workers to use during copy phase. Set <= 1 to disable parallelism, or > 1 to enable concurrent insertion during copy phase.")
-}
-
-func init() {
- servenv.OnParseFor("vtcombo", registerVReplicationFlags)
- servenv.OnParseFor("vttablet", registerVReplicationFlags)
-}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/framework_test.go b/go/vt/vttablet/tabletmanager/vreplication/framework_test.go
index ef80dd49757..12d20e3a867 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/framework_test.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/framework_test.go
@@ -47,7 +47,7 @@ import (
"vitess.io/vitess/go/vt/sidecardb"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/topo"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
"vitess.io/vitess/go/vt/vttablet/queryservice"
"vitess.io/vitess/go/vt/vttablet/queryservice/fakes"
"vitess.io/vitess/go/vt/vttablet/tabletconn"
@@ -140,7 +140,8 @@ func setup(ctx context.Context) (func(), int) {
globalDBQueries = make(chan string, 1000)
resetBinlogClient()
- vttablet.VReplicationExperimentalFlags = 0
+ vttablet.InitVReplicationConfigDefaults()
+ vttablet.DefaultVReplicationConfig.ExperimentalFlags = 0
// Engines cannot be initialized in testenv because it introduces circular dependencies.
streamerEngine = vstreamer.NewEngine(env.TabletEnv, env.SrvTopo, env.SchemaEngine, nil, env.Cells[0])
@@ -237,7 +238,7 @@ func execConnStatements(t *testing.T, conn *dbconnpool.DBConnection, queries []s
}
}
-//--------------------------------------
+// --------------------------------------
// Topos and tablets
func addTablet(id int) *topodatapb.Tablet {
@@ -319,7 +320,7 @@ func (ftc *fakeTabletConn) VStream(ctx context.Context, request *binlogdatapb.VS
if vstreamHook != nil {
vstreamHook(ctx)
}
- return streamerEngine.Stream(ctx, request.Position, request.TableLastPKs, request.Filter, throttlerapp.VStreamerName, send)
+ return streamerEngine.Stream(ctx, request.Position, request.TableLastPKs, request.Filter, throttlerapp.VStreamerName, send, nil)
}
// vstreamRowsHook allows you to do work just before calling VStreamRows.
@@ -341,15 +342,18 @@ func (ftc *fakeTabletConn) VStreamRows(ctx context.Context, request *binlogdatap
}
row = r.Rows[0]
}
+ vstreamOptions := &binlogdatapb.VStreamOptions{
+ ConfigOverrides: vttablet.GetVReplicationConfigDefaults(false).Map(),
+ }
return streamerEngine.StreamRows(ctx, request.Query, row, func(rows *binlogdatapb.VStreamRowsResponse) error {
if vstreamRowsSendHook != nil {
vstreamRowsSendHook(ctx)
}
return send(rows)
- })
+ }, vstreamOptions)
}
-//--------------------------------------
+// --------------------------------------
// Binlog Client to TabletManager
// fakeBinlogClient satisfies binlogplayer.Client.
@@ -426,7 +430,7 @@ func expectFBCRequest(t *testing.T, tablet *topodatapb.Tablet, pos string, table
}
}
-//--------------------------------------
+// --------------------------------------
// DBCLient wrapper
func realDBClientFactory() binlogplayer.DBClient {
@@ -487,7 +491,7 @@ func (dbc *realDBClient) ExecuteFetch(query string, maxrows int) (*sqltypes.Resu
globalDBQueries <- query
} else if testSetForeignKeyQueries && strings.Contains(query, "set foreign_key_checks") {
globalDBQueries <- query
- } else if testForeignKeyQueries && strings.Contains(query, "foreign_key_checks") { //allow select/set for foreign_key_checks
+ } else if testForeignKeyQueries && strings.Contains(query, "foreign_key_checks") { // allow select/set for foreign_key_checks
globalDBQueries <- query
}
return qr, err
@@ -684,7 +688,7 @@ func expectNontxQueries(t *testing.T, expectations qh.ExpectationSequence, recvT
}
result := validator.AcceptQuery(got)
-
+ require.NotNil(t, result)
require.True(t, result.Accepted, fmt.Sprintf(
"query:%q\nmessage:%s\nexpectation:%s\nmatched:%t\nerror:%v\nhistory:%s",
got, result.Message, result.Expectation, result.Matched, result.Error, validator.History(),
diff --git a/go/vt/vttablet/tabletmanager/vreplication/insert_generator.go b/go/vt/vttablet/tabletmanager/vreplication/insert_generator.go
index 6a127b084b5..a43278d783c 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/insert_generator.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/insert_generator.go
@@ -51,7 +51,10 @@ func NewInsertGenerator(state binlogdatapb.VReplicationWorkflowState, dbname str
// AddRow adds a row to the insert statement.
func (ig *InsertGenerator) AddRow(workflow string, bls *binlogdatapb.BinlogSource, pos, cell, tabletTypes string,
- workflowType binlogdatapb.VReplicationWorkflowType, workflowSubType binlogdatapb.VReplicationWorkflowSubType, deferSecondaryKeys bool) {
+ workflowType binlogdatapb.VReplicationWorkflowType, workflowSubType binlogdatapb.VReplicationWorkflowSubType, deferSecondaryKeys bool, options string) {
+ if options == "" {
+ options = "'{}'"
+ }
protoutil.SortBinlogSourceTables(bls)
fmt.Fprintf(ig.buf, "%s(%v, %v, %v, %v, %v, %v, %v, %v, 0, '%v', %v, %d, %d, %v, %v)",
ig.prefix,
@@ -68,7 +71,7 @@ func (ig *InsertGenerator) AddRow(workflow string, bls *binlogdatapb.BinlogSourc
workflowType,
workflowSubType,
deferSecondaryKeys,
- "'{}'",
+ options,
)
ig.prefix = ", "
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/insert_generator_test.go b/go/vt/vttablet/tabletmanager/vreplication/insert_generator_test.go
index 92100429963..30c626ec02e 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/insert_generator_test.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/insert_generator_test.go
@@ -27,12 +27,12 @@ import (
func TestInsertGenerator(t *testing.T) {
ig := NewInsertGenerator(binlogdatapb.VReplicationWorkflowState_Stopped, "a")
ig.now = 111
- ig.AddRow("b", &binlogdatapb.BinlogSource{Keyspace: "c"}, "d", "e", "f", binlogdatapb.VReplicationWorkflowType_Materialize, binlogdatapb.VReplicationWorkflowSubType_None, false)
+ ig.AddRow("b", &binlogdatapb.BinlogSource{Keyspace: "c"}, "d", "e", "f", binlogdatapb.VReplicationWorkflowType_Materialize, binlogdatapb.VReplicationWorkflowSubType_None, false, "")
want := `insert into _vt.vreplication(workflow, source, pos, max_tps, max_replication_lag, cell, tablet_types, time_updated, transaction_timestamp, state, db_name, workflow_type, workflow_sub_type, defer_secondary_keys, options) values ` +
`('b', 'keyspace:"c"', 'd', 9223372036854775807, 9223372036854775807, 'e', 'f', 111, 0, 'Stopped', 'a', 0, 0, false, '{}')`
assert.Equal(t, ig.String(), want)
- ig.AddRow("g", &binlogdatapb.BinlogSource{Keyspace: "h"}, "i", "j", "k", binlogdatapb.VReplicationWorkflowType_Reshard, binlogdatapb.VReplicationWorkflowSubType_Partial, true)
+ ig.AddRow("g", &binlogdatapb.BinlogSource{Keyspace: "h"}, "i", "j", "k", binlogdatapb.VReplicationWorkflowType_Reshard, binlogdatapb.VReplicationWorkflowSubType_Partial, true, "")
want += `, ('g', 'keyspace:"h"', 'i', 9223372036854775807, 9223372036854775807, 'j', 'k', 111, 0, 'Stopped', 'a', 4, 1, true, '{}')`
assert.Equal(t, ig.String(), want)
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/queryhistory/verifier.go b/go/vt/vttablet/tabletmanager/vreplication/queryhistory/verifier.go
index ebe145461d7..aeddf5344d5 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/queryhistory/verifier.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/queryhistory/verifier.go
@@ -72,7 +72,7 @@ func (v *Verifier) AcceptQuery(query string) *Result {
break
}
}
-
+ result.Message += fmt.Sprintf(" (query: %q) (pending: %q)", query, v.Pending())
return result
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/replica_connector.go b/go/vt/vttablet/tabletmanager/vreplication/replica_connector.go
index c3cd073f0bf..f26b5054d01 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/replica_connector.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/replica_connector.go
@@ -58,7 +58,7 @@ func NewReplicaConnector(venv *vtenv.Environment, connParams *mysql.ConnParams)
return c
}
-//-----------------------------------------------------------
+// -----------------------------------------------------------
type ReplicaConnector struct {
conn *mysql.ConnParams
@@ -73,5 +73,5 @@ func (c *ReplicaConnector) Close() error {
}
func (c *ReplicaConnector) VStream(ctx context.Context, startPos string, filter *binlogdatapb.Filter, send func([]*binlogdatapb.VEvent) error) error {
- return c.vstreamer.Stream(ctx, startPos, nil, filter, throttlerapp.ReplicaConnectorName, send)
+ return c.vstreamer.Stream(ctx, startPos, nil, filter, throttlerapp.ReplicaConnectorName, send, nil)
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/replicator_plan.go b/go/vt/vttablet/tabletmanager/vreplication/replicator_plan.go
index 3bef997d0be..aee7f5c8909 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/replicator_plan.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/replicator_plan.go
@@ -27,12 +27,13 @@ import (
"vitess.io/vitess/go/mysql/collations/charset"
"vitess.io/vitess/go/mysql/collations/colldata"
vjson "vitess.io/vitess/go/mysql/json"
+ "vitess.io/vitess/go/mysql/sqlerror"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/vt/binlog/binlogplayer"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vterrors"
"vitess.io/vitess/go/vt/vtgate/evalengine"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
querypb "vitess.io/vitess/go/vt/proto/query"
@@ -53,13 +54,14 @@ import (
// of the members, leaving the original plan unchanged.
// The constructor is buildReplicatorPlan in table_plan_builder.go
type ReplicatorPlan struct {
- VStreamFilter *binlogdatapb.Filter
- TargetTables map[string]*TablePlan
- TablePlans map[string]*TablePlan
- ColInfoMap map[string][]*ColumnInfo
- stats *binlogplayer.Stats
- Source *binlogdatapb.BinlogSource
- collationEnv *collations.Environment
+ VStreamFilter *binlogdatapb.Filter
+ TargetTables map[string]*TablePlan
+ TablePlans map[string]*TablePlan
+ ColInfoMap map[string][]*ColumnInfo
+ stats *binlogplayer.Stats
+ Source *binlogdatapb.BinlogSource
+ collationEnv *collations.Environment
+ workflowConfig *vttablet.VReplicationConfig
}
// buildExecution plan uses the field info as input and the partially built
@@ -88,7 +90,7 @@ func (rp *ReplicatorPlan) buildExecutionPlan(fieldEvent *binlogdatapb.FieldEvent
// select * construct was used. We need to use the field names.
tplan, err := rp.buildFromFields(prelim.TargetName, prelim.Lastpk, fieldEvent.Fields)
if err != nil {
- return nil, err
+ return nil, vterrors.Wrapf(err, "failed to build replication plan for %s table", fieldEvent.TableName)
}
tplan.Fields = fieldEvent.Fields
return tplan, nil
@@ -99,12 +101,13 @@ func (rp *ReplicatorPlan) buildExecutionPlan(fieldEvent *binlogdatapb.FieldEvent
// requires us to wait for the field info sent by the source.
func (rp *ReplicatorPlan) buildFromFields(tableName string, lastpk *sqltypes.Result, fields []*querypb.Field) (*TablePlan, error) {
tpb := &tablePlanBuilder{
- name: sqlparser.NewIdentifierCS(tableName),
- lastpk: lastpk,
- colInfos: rp.ColInfoMap[tableName],
- stats: rp.stats,
- source: rp.Source,
- collationEnv: rp.collationEnv,
+ name: sqlparser.NewIdentifierCS(tableName),
+ lastpk: lastpk,
+ colInfos: rp.ColInfoMap[tableName],
+ stats: rp.stats,
+ source: rp.Source,
+ collationEnv: rp.collationEnv,
+ workflowConfig: rp.workflowConfig,
}
for _, field := range fields {
colName := sqlparser.NewIdentifierCI(field.Name)
@@ -219,7 +222,8 @@ type TablePlan struct {
// PartialUpdates are same as PartialInserts, but for update statements
PartialUpdates map[string]*sqlparser.ParsedQuery
- CollationEnv *collations.Environment
+ CollationEnv *collations.Environment
+ WorkflowConfig *vttablet.VReplicationConfig
}
// MarshalJSON performs a custom JSON Marshalling.
@@ -257,7 +261,7 @@ func (tp *TablePlan) applyBulkInsert(sqlbuffer *bytes2.Buffer, rows []*querypb.R
if i > 0 {
sqlbuffer.WriteString(", ")
}
- if err := appendFromRow(tp.BulkInsertValues, sqlbuffer, tp.Fields, row, tp.FieldsToSkip); err != nil {
+ if err := tp.appendFromRow(sqlbuffer, row); err != nil {
return nil, err
}
}
@@ -285,7 +289,7 @@ func (tp *TablePlan) applyBulkInsert(sqlbuffer *bytes2.Buffer, rows []*querypb.R
// now and punt on the others.
func (tp *TablePlan) isOutsidePKRange(bindvars map[string]*querypb.BindVariable, before, after bool, stmtType string) bool {
// added empty comments below, otherwise gofmt removes the spaces between the bitwise & and obfuscates this check!
- if vttablet.VReplicationExperimentalFlags /**/ & /**/ vttablet.VReplicationExperimentalFlagOptimizeInserts == 0 {
+ if tp.WorkflowConfig.ExperimentalFlags /**/ & /**/ vttablet.VReplicationExperimentalFlagOptimizeInserts == 0 {
return false
}
// Ensure there is one and only one value in lastpk and pkrefs.
@@ -296,7 +300,7 @@ func (tp *TablePlan) isOutsidePKRange(bindvars map[string]*querypb.BindVariable,
case !before && after:
bindvar = bindvars["a_"+tp.PKReferences[0]]
}
- if bindvar == nil { //should never happen
+ if bindvar == nil { // should never happen
return false
}
@@ -312,6 +316,30 @@ func (tp *TablePlan) isOutsidePKRange(bindvars map[string]*querypb.BindVariable,
return false
}
+// convertStringCharset does a charset conversion given raw data and an applicable conversion rule.
+// In case of a conversion error, it returns an equivalent of MySQL error 1366, which is what you'd
+// get in a failed `CONVERT()` function, e.g.:
+//
+// > create table tascii(v varchar(100) charset ascii);
+// > insert into tascii values ('€');
+// ERROR 1366 (HY000): Incorrect string value: '\xE2\x82\xAC' for column 'v' at row 1
+func (tp *TablePlan) convertStringCharset(raw []byte, conversion *binlogdatapb.CharsetConversion, fieldName string) ([]byte, error) {
+ fromCollation := tp.CollationEnv.DefaultCollationForCharset(conversion.FromCharset)
+ if fromCollation == collations.Unknown {
+ return nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "character set %s not supported for column %s", conversion.FromCharset, fieldName)
+ }
+ toCollation := tp.CollationEnv.DefaultCollationForCharset(conversion.ToCharset)
+ if toCollation == collations.Unknown {
+ return nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "character set %s not supported for column %s", conversion.ToCharset, fieldName)
+ }
+
+ out, err := charset.Convert(nil, colldata.Lookup(toCollation).Charset(), raw, colldata.Lookup(fromCollation).Charset())
+ if err != nil {
+ return nil, sqlerror.NewSQLErrorf(sqlerror.ERTruncatedWrongValueForField, sqlerror.SSUnknownSQLState, "Incorrect string value: %s", err.Error())
+ }
+ return out, nil
+}
+
// bindFieldVal returns a bind variable based on given field and value.
// Most values will just bind directly. But some values may need manipulation:
// - text values with charset conversion
@@ -320,11 +348,7 @@ func (tp *TablePlan) isOutsidePKRange(bindvars map[string]*querypb.BindVariable,
func (tp *TablePlan) bindFieldVal(field *querypb.Field, val *sqltypes.Value) (*querypb.BindVariable, error) {
if conversion, ok := tp.ConvertCharset[field.Name]; ok && !val.IsNull() {
// Non-null string value, for which we have a charset conversion instruction
- fromCollation := tp.CollationEnv.DefaultCollationForCharset(conversion.FromCharset)
- if fromCollation == collations.Unknown {
- return nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "Character set %s not supported for column %s", conversion.FromCharset, field.Name)
- }
- out, err := charset.Convert(nil, charset.Charset_utf8mb4{}, val.Raw(), colldata.Lookup(fromCollation).Charset())
+ out, err := tp.convertStringCharset(val.Raw(), conversion, field.Name)
if err != nil {
return nil, err
}
@@ -590,28 +614,30 @@ func valsEqual(v1, v2 sqltypes.Value) bool {
// note: there can be more fields than bind locations since extra columns might be requested from the source if not all
// primary keys columns are present in the target table, for example. Also some values in the row may not correspond for
// values from the database on the source: sum/count for aggregation queries, for example
-func appendFromRow(pq *sqlparser.ParsedQuery, buf *bytes2.Buffer, fields []*querypb.Field, row *querypb.Row, skipFields map[string]bool) error {
- bindLocations := pq.BindLocations()
- if len(fields) < len(bindLocations) {
+func (tp *TablePlan) appendFromRow(buf *bytes2.Buffer, row *querypb.Row) error {
+ bindLocations := tp.BulkInsertValues.BindLocations()
+ if len(tp.Fields) < len(bindLocations) {
return vterrors.Errorf(vtrpcpb.Code_INTERNAL, "wrong number of fields: got %d fields for %d bind locations ",
- len(fields), len(bindLocations))
+ len(tp.Fields), len(bindLocations))
}
type colInfo struct {
typ querypb.Type
length int64
offset int64
+ field *querypb.Field
}
rowInfo := make([]*colInfo, 0)
offset := int64(0)
- for i, field := range fields { // collect info required for fields to be bound
+ for i, field := range tp.Fields { // collect info required for fields to be bound
length := row.Lengths[i]
- if !skipFields[strings.ToLower(field.Name)] {
+ if !tp.FieldsToSkip[strings.ToLower(field.Name)] {
rowInfo = append(rowInfo, &colInfo{
typ: field.Type,
length: length,
offset: offset,
+ field: field,
})
}
if length > 0 {
@@ -623,7 +649,7 @@ func appendFromRow(pq *sqlparser.ParsedQuery, buf *bytes2.Buffer, fields []*quer
var offsetQuery int
for i, loc := range bindLocations {
col := rowInfo[i]
- buf.WriteString(pq.Query[offsetQuery:loc.Offset])
+ buf.WriteString(tp.BulkInsertValues.Query[offsetQuery:loc.Offset])
typ := col.typ
switch typ {
@@ -645,12 +671,25 @@ func appendFromRow(pq *sqlparser.ParsedQuery, buf *bytes2.Buffer, fields []*quer
// -1 means a null variable; serialize it directly
buf.WriteString(sqltypes.NullStr)
} else {
- vv := sqltypes.MakeTrusted(typ, row.Values[col.offset:col.offset+col.length])
+ raw := row.Values[col.offset : col.offset+col.length]
+ var vv sqltypes.Value
+
+ if conversion, ok := tp.ConvertCharset[col.field.Name]; ok && col.length > 0 {
+ // Non-null string value, for which we have a charset conversion instruction
+ out, err := tp.convertStringCharset(raw, conversion, col.field.Name)
+ if err != nil {
+ return err
+ }
+ vv = sqltypes.MakeTrusted(typ, out)
+ } else {
+ vv = sqltypes.MakeTrusted(typ, raw)
+ }
+
vv.EncodeSQLBytes2(buf)
}
}
offsetQuery = loc.Offset + loc.Length
}
- buf.WriteString(pq.Query[offsetQuery:])
+ buf.WriteString(tp.BulkInsertValues.Query[offsetQuery:])
return nil
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/replicator_plan_test.go b/go/vt/vttablet/tabletmanager/vreplication/replicator_plan_test.go
index 6c9f92128ac..644b4585914 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/replicator_plan_test.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/replicator_plan_test.go
@@ -21,6 +21,8 @@ import (
"strings"
"testing"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
+
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
@@ -574,7 +576,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "bad query",
}},
},
- err: "syntax error at position 4 near 'bad' in query: bad query",
+ err: "failed to build table replication plan for t1 table: syntax error at position 4 near 'bad' in query: bad query",
}, {
// not a select
input: &binlogdatapb.Filter{
@@ -583,7 +585,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "update t1 set val = 1",
}},
},
- err: "unsupported non-select statement in query: update t1 set val = 1",
+ err: "failed to build table replication plan for t1 table: unsupported non-select statement in query: update t1 set val = 1",
}, {
// no distinct
input: &binlogdatapb.Filter{
@@ -592,7 +594,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select distinct c1 from t1",
}},
},
- err: "unsupported distinct clause in query: select distinct c1 from t1",
+ err: "failed to build table replication plan for t1 table: unsupported distinct clause in query: select distinct c1 from t1",
}, {
// no ',' join
input: &binlogdatapb.Filter{
@@ -601,7 +603,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select * from t1, t2",
}},
},
- err: "unsupported multi-table usage in query: select * from t1, t2",
+ err: "failed to build table replication plan for t1 table: unsupported multi-table usage in query: select * from t1, t2",
}, {
// no join
input: &binlogdatapb.Filter{
@@ -610,7 +612,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select * from t1 join t2",
}},
},
- err: "unsupported from expression (*sqlparser.JoinTableExpr) in query: select * from t1 join t2",
+ err: "failed to build table replication plan for t1 table: unsupported from expression (*sqlparser.JoinTableExpr) in query: select * from t1 join t2",
}, {
// no subqueries
input: &binlogdatapb.Filter{
@@ -619,7 +621,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select * from (select * from t2) as a",
}},
},
- err: "unsupported from source (*sqlparser.DerivedTable) in query: select * from (select * from t2) as a",
+ err: "failed to build table replication plan for t1 table: unsupported from source (*sqlparser.DerivedTable) in query: select * from (select * from t2) as a",
}, {
// cannot combine '*' with other
input: &binlogdatapb.Filter{
@@ -628,7 +630,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select *, c1 from t1",
}},
},
- err: "unsupported mix of '*' and columns in query: select *, c1 from t1",
+ err: "failed to build table replication plan for t1 table: unsupported mix of '*' and columns in query: select *, c1 from t1",
}, {
// cannot combine '*' with other (different code path)
input: &binlogdatapb.Filter{
@@ -637,7 +639,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select c1, * from t1",
}},
},
- err: "invalid expression: * in query: select c1, * from t1",
+ err: "failed to build table replication plan for t1 table: invalid expression: * in query: select c1, * from t1",
}, {
// no distinct in func
input: &binlogdatapb.Filter{
@@ -646,7 +648,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select hour(distinct c1) as a from t1",
}},
},
- err: "syntax error at position 21 near 'distinct' in query: select hour(distinct c1) as a from t1",
+ err: "failed to build table replication plan for t1 table: syntax error at position 21 near 'distinct' in query: select hour(distinct c1) as a from t1",
}, {
// funcs need alias
input: &binlogdatapb.Filter{
@@ -655,7 +657,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select hour(c1) from t1",
}},
},
- err: "expression needs an alias: hour(c1) in query: select hour(c1) from t1",
+ err: "failed to build table replication plan for t1 table: expression needs an alias: hour(c1) in query: select hour(c1) from t1",
}, {
// only count(*)
input: &binlogdatapb.Filter{
@@ -664,7 +666,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select count(c1) as c from t1",
}},
},
- err: "only count(*) is supported: count(c1) in query: select count(c1) as c from t1",
+ err: "failed to build table replication plan for t1 table: only count(*) is supported: count(c1) in query: select count(c1) as c from t1",
}, {
// no sum(*)
input: &binlogdatapb.Filter{
@@ -673,7 +675,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select sum(*) as c from t1",
}},
},
- err: "syntax error at position 13 in query: select sum(*) as c from t1",
+ err: "failed to build table replication plan for t1 table: syntax error at position 13 in query: select sum(*) as c from t1",
}, {
// sum should have only one argument
input: &binlogdatapb.Filter{
@@ -682,7 +684,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select sum(a, b) as c from t1",
}},
},
- err: "syntax error at position 14 in query: select sum(a, b) as c from t1",
+ err: "failed to build table replication plan for t1 table: syntax error at position 14 in query: select sum(a, b) as c from t1",
}, {
// no complex expr in sum
input: &binlogdatapb.Filter{
@@ -691,7 +693,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select sum(a + b) as c from t1",
}},
},
- err: "unsupported non-column name in sum clause: sum(a + b) in query: select sum(a + b) as c from t1",
+ err: "failed to build table replication plan for t1 table: unsupported non-column name in sum clause: sum(a + b) in query: select sum(a + b) as c from t1",
}, {
// no complex expr in group by
input: &binlogdatapb.Filter{
@@ -700,7 +702,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select a from t1 group by a + 1",
}},
},
- err: "unsupported non-column name or alias in group by clause: a + 1 in query: select a from t1 group by a + 1",
+ err: "failed to build table replication plan for t1 table: unsupported non-column name or alias in group by clause: a + 1 in query: select a from t1 group by a + 1",
}, {
// group by does not reference alias
input: &binlogdatapb.Filter{
@@ -709,7 +711,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select a as b from t1 group by a",
}},
},
- err: "group by expression does not reference an alias in the select list: a in query: select a as b from t1 group by a",
+ err: "failed to build table replication plan for t1 table: group by expression does not reference an alias in the select list: a in query: select a as b from t1 group by a",
}, {
// cannot group by aggr
input: &binlogdatapb.Filter{
@@ -718,7 +720,7 @@ func TestBuildPlayerPlan(t *testing.T) {
Filter: "select count(*) as a from t1 group by a",
}},
},
- err: "group by expression is not allowed to reference an aggregate expression: a in query: select count(*) as a from t1 group by a",
+ err: "failed to build table replication plan for t1 table: group by expression is not allowed to reference an aggregate expression: a in query: select count(*) as a from t1 group by a",
}}
PrimaryKeyInfos := map[string][]*ColumnInfo{
@@ -735,8 +737,12 @@ func TestBuildPlayerPlan(t *testing.T) {
),
}
+ vttablet.InitVReplicationConfigDefaults()
for _, tcase := range testcases {
- plan, err := buildReplicatorPlan(getSource(tcase.input), PrimaryKeyInfos, nil, binlogplayer.NewStats(), collations.MySQL8(), sqlparser.NewTestParser())
+ vr := &vreplicator{
+ workflowConfig: vttablet.DefaultVReplicationConfig,
+ }
+ plan, err := vr.buildReplicatorPlan(getSource(tcase.input), PrimaryKeyInfos, nil, binlogplayer.NewStats(), collations.MySQL8(), sqlparser.NewTestParser())
gotErr := ""
if err != nil {
gotErr = err.Error()
@@ -745,8 +751,7 @@ func TestBuildPlayerPlan(t *testing.T) {
gotPlan, _ := json.Marshal(plan)
wantPlan, _ := json.Marshal(tcase.plan)
require.Equal(t, string(wantPlan), string(gotPlan), "Filter(%v):\n%s, want\n%s", tcase.input, gotPlan, wantPlan)
-
- plan, err = buildReplicatorPlan(getSource(tcase.input), PrimaryKeyInfos, copyState, binlogplayer.NewStats(), collations.MySQL8(), sqlparser.NewTestParser())
+ plan, err = vr.buildReplicatorPlan(getSource(tcase.input), PrimaryKeyInfos, copyState, binlogplayer.NewStats(), collations.MySQL8(), sqlparser.NewTestParser())
if err != nil {
continue
}
@@ -774,7 +779,10 @@ func TestBuildPlayerPlanNoDup(t *testing.T) {
Filter: "select * from t",
}},
}
- _, err := buildReplicatorPlan(getSource(input), PrimaryKeyInfos, nil, binlogplayer.NewStats(), collations.MySQL8(), sqlparser.NewTestParser())
+ vr := &vreplicator{
+ workflowConfig: vttablet.DefaultVReplicationConfig,
+ }
+ _, err := vr.buildReplicatorPlan(getSource(input), PrimaryKeyInfos, nil, binlogplayer.NewStats(), collations.MySQL8(), sqlparser.NewTestParser())
want := "more than one target for source table t"
if err == nil || !strings.Contains(err.Error(), want) {
t.Errorf("buildReplicatorPlan err: %v, must contain: %v", err, want)
@@ -795,7 +803,10 @@ func TestBuildPlayerPlanExclude(t *testing.T) {
Filter: "",
}},
}
- plan, err := buildReplicatorPlan(getSource(input), PrimaryKeyInfos, nil, binlogplayer.NewStats(), collations.MySQL8(), sqlparser.NewTestParser())
+ vr := &vreplicator{
+ workflowConfig: vttablet.DefaultVReplicationConfig,
+ }
+ plan, err := vr.buildReplicatorPlan(getSource(input), PrimaryKeyInfos, nil, binlogplayer.NewStats(), collations.MySQL8(), sqlparser.NewTestParser())
assert.NoError(t, err)
want := &TestReplicatorPlan{
diff --git a/go/vt/vttablet/tabletmanager/vreplication/stats.go b/go/vt/vttablet/tabletmanager/vreplication/stats.go
index 11f458d9541..1aaae3b84ec 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/stats.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/stats.go
@@ -543,6 +543,15 @@ func (st *vrStats) register() {
}
return result
})
+ stats.Publish("VReplicationConfig", stats.StringMapFunc(func() map[string]string {
+ st.mu.Lock()
+ defer st.mu.Unlock()
+ result := make(map[string]string, len(st.controllers))
+ for _, ct := range st.controllers {
+ result[fmt.Sprintf("%s.%d", ct.workflow, ct.id)] = ct.WorkflowConfig.String()
+ }
+ return result
+ }))
}
func (st *vrStats) numControllers() int64 {
diff --git a/go/vt/vttablet/tabletmanager/vreplication/table_plan_builder.go b/go/vt/vttablet/tabletmanager/vreplication/table_plan_builder.go
index 2e44fd49e9b..12afc3fec28 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/table_plan_builder.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/table_plan_builder.go
@@ -29,11 +29,11 @@ import (
"vitess.io/vitess/go/vt/key"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vterrors"
- "vitess.io/vitess/go/vt/vttablet"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
querypb "vitess.io/vitess/go/vt/proto/query"
vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
)
// This file contains just the builders for ReplicatorPlan and TablePlan.
@@ -61,7 +61,8 @@ type tablePlanBuilder struct {
source *binlogdatapb.BinlogSource
pkIndices []bool
- collationEnv *collations.Environment
+ collationEnv *collations.Environment
+ workflowConfig *vttablet.VReplicationConfig
}
// colExpr describes the processing to be performed to
@@ -131,16 +132,17 @@ const (
// The TablePlan built is a partial plan. The full plan for a table is built
// when we receive field information from events or rows sent by the source.
// buildExecutionPlan is the function that builds the full plan.
-func buildReplicatorPlan(source *binlogdatapb.BinlogSource, colInfoMap map[string][]*ColumnInfo, copyState map[string]*sqltypes.Result, stats *binlogplayer.Stats, collationEnv *collations.Environment, parser *sqlparser.Parser) (*ReplicatorPlan, error) {
+func (vr *vreplicator) buildReplicatorPlan(source *binlogdatapb.BinlogSource, colInfoMap map[string][]*ColumnInfo, copyState map[string]*sqltypes.Result, stats *binlogplayer.Stats, collationEnv *collations.Environment, parser *sqlparser.Parser) (*ReplicatorPlan, error) {
filter := source.Filter
plan := &ReplicatorPlan{
- VStreamFilter: &binlogdatapb.Filter{FieldEventMode: filter.FieldEventMode},
- TargetTables: make(map[string]*TablePlan),
- TablePlans: make(map[string]*TablePlan),
- ColInfoMap: colInfoMap,
- stats: stats,
- Source: source,
- collationEnv: collationEnv,
+ VStreamFilter: &binlogdatapb.Filter{FieldEventMode: filter.FieldEventMode},
+ TargetTables: make(map[string]*TablePlan),
+ TablePlans: make(map[string]*TablePlan),
+ ColInfoMap: colInfoMap,
+ stats: stats,
+ Source: source,
+ collationEnv: collationEnv,
+ workflowConfig: vr.workflowConfig,
}
for tableName := range colInfoMap {
lastpk, ok := copyState[tableName]
@@ -159,9 +161,9 @@ func buildReplicatorPlan(source *binlogdatapb.BinlogSource, colInfoMap map[strin
if !ok {
return nil, fmt.Errorf("table %s not found in schema", tableName)
}
- tablePlan, err := buildTablePlan(tableName, rule, colInfos, lastpk, stats, source, collationEnv, parser)
+ tablePlan, err := buildTablePlan(tableName, rule, colInfos, lastpk, stats, source, collationEnv, parser, vr.workflowConfig)
if err != nil {
- return nil, err
+ return nil, vterrors.Wrapf(err, "failed to build table replication plan for %s table", tableName)
}
if tablePlan == nil {
// Table was excluded.
@@ -199,7 +201,8 @@ func MatchTable(tableName string, filter *binlogdatapb.Filter) (*binlogdatapb.Ru
}
func buildTablePlan(tableName string, rule *binlogdatapb.Rule, colInfos []*ColumnInfo, lastpk *sqltypes.Result,
- stats *binlogplayer.Stats, source *binlogdatapb.BinlogSource, collationEnv *collations.Environment, parser *sqlparser.Parser) (*TablePlan, error) {
+ stats *binlogplayer.Stats, source *binlogdatapb.BinlogSource, collationEnv *collations.Environment,
+ parser *sqlparser.Parser, workflowConfig *vttablet.VReplicationConfig) (*TablePlan, error) {
planError := func(err error, query string) error {
// Use the error string here to ensure things are uniform across
@@ -248,6 +251,7 @@ func buildTablePlan(tableName string, rule *binlogdatapb.Rule, colInfos []*Colum
ConvertCharset: rule.ConvertCharset,
ConvertIntToEnum: rule.ConvertIntToEnum,
CollationEnv: collationEnv,
+ WorkflowConfig: workflowConfig,
}
return tablePlan, nil
@@ -259,11 +263,12 @@ func buildTablePlan(tableName string, rule *binlogdatapb.Rule, colInfos []*Colum
From: sel.From,
Where: sel.Where,
},
- lastpk: lastpk,
- colInfos: colInfos,
- stats: stats,
- source: source,
- collationEnv: collationEnv,
+ lastpk: lastpk,
+ colInfos: colInfos,
+ stats: stats,
+ source: source,
+ collationEnv: collationEnv,
+ workflowConfig: workflowConfig,
}
if err := tpb.analyzeExprs(sel.SelectExprs); err != nil {
@@ -358,7 +363,6 @@ func (tpb *tablePlanBuilder) generate() *TablePlan {
fieldsToSkip[colInfo.Name] = true
}
}
-
return &TablePlan{
TargetName: tpb.name.String(),
Lastpk: tpb.lastpk,
@@ -378,6 +382,7 @@ func (tpb *tablePlanBuilder) generate() *TablePlan {
PartialInserts: make(map[string]*sqlparser.ParsedQuery, 0),
PartialUpdates: make(map[string]*sqlparser.ParsedQuery, 0),
CollationEnv: tpb.collationEnv,
+ WorkflowConfig: tpb.workflowConfig,
}
}
@@ -598,7 +603,7 @@ func (tpb *tablePlanBuilder) analyzePK(cols []*ColumnInfo) error {
// TODO(shlomi): at some point in the futue we want to make this check stricter.
// We could be reading a generated column c1 which in turn selects some other column c2.
// We will want t oensure that `c2` is found in select list...
- return fmt.Errorf("primary key column %v not found in select list", col)
+ return fmt.Errorf("primary key column %v not found in table's select filter or the TableMap event within the GTID", col)
}
if cexpr.operation != opExpr {
return fmt.Errorf("primary key column %v is not allowed to reference an aggregate expression", col)
@@ -880,7 +885,7 @@ func (tpb *tablePlanBuilder) generateDeleteStatement() *sqlparser.ParsedQuery {
}
func (tpb *tablePlanBuilder) generateMultiDeleteStatement() *sqlparser.ParsedQuery {
- if vttablet.VReplicationExperimentalFlags&vttablet.VReplicationExperimentalFlagVPlayerBatching == 0 ||
+ if tpb.workflowConfig.ExperimentalFlags&vttablet.VReplicationExperimentalFlagVPlayerBatching == 0 ||
(len(tpb.pkCols)+len(tpb.extraSourcePkCols)) != 1 {
return nil
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/table_plan_partial.go b/go/vt/vttablet/tabletmanager/vreplication/table_plan_partial.go
index c6ccb898996..cb8ac6dc515 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/table_plan_partial.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/table_plan_partial.go
@@ -26,7 +26,7 @@ import (
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vterrors"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
)
// isBitSet returns true if the bit at index is set
@@ -37,7 +37,7 @@ func isBitSet(data []byte, index int) bool {
}
func (tp *TablePlan) isPartial(rowChange *binlogdatapb.RowChange) bool {
- if (vttablet.VReplicationExperimentalFlags /**/ & /**/ vttablet.VReplicationExperimentalFlagAllowNoBlobBinlogRowImage) == 0 ||
+ if (tp.WorkflowConfig.ExperimentalFlags /**/ & /**/ vttablet.VReplicationExperimentalFlagAllowNoBlobBinlogRowImage) == 0 ||
rowChange.DataColumns == nil ||
rowChange.DataColumns.Count == 0 {
diff --git a/go/vt/vttablet/tabletmanager/vreplication/utils.go b/go/vt/vttablet/tabletmanager/vreplication/utils.go
index 537041907a7..230fe6a249c 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/utils.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/utils.go
@@ -134,7 +134,12 @@ func isUnrecoverableError(err error) bool {
if err == nil {
return false
}
- if vterrors.Code(err) == vtrpcpb.Code_FAILED_PRECONDITION {
+ switch vterrors.Code(err) {
+ case vtrpcpb.Code_FAILED_PRECONDITION:
+ if vterrors.RxWrongTablet.MatchString(err.Error()) {
+ // If the chosen tablet type picked changes, say due to PRS/ERS, we should retry.
+ return false
+ }
return true
}
sqlErr, isSQLErr := sqlerror.NewSQLErrorFromError(err).(*sqlerror.SQLError)
diff --git a/go/vt/vttablet/tabletmanager/vreplication/utils_test.go b/go/vt/vttablet/tabletmanager/vreplication/utils_test.go
index bfe79036f3c..69a57c34341 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/utils_test.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/utils_test.go
@@ -17,17 +17,23 @@ limitations under the License.
package vreplication
import (
+ "errors"
"fmt"
"strings"
"testing"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
+
"github.com/stretchr/testify/require"
+ "vitess.io/vitess/go/mysql/sqlerror"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/textutil"
"vitess.io/vitess/go/vt/binlog/binlogplayer"
+ "vitess.io/vitess/go/vt/vterrors"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
+ vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
)
func TestInsertLogTruncation(t *testing.T) {
@@ -36,7 +42,7 @@ func TestInsertLogTruncation(t *testing.T) {
dbClient.RemoveInvariant("insert into _vt.vreplication_log") // Otherwise the insert will be ignored
stats := binlogplayer.NewStats()
defer stats.Stop()
- vdbClient := newVDBClient(dbClient, stats)
+ vdbClient := newVDBClient(dbClient, stats, vttablet.DefaultVReplicationConfig.RelayLogMaxItems)
defer vdbClient.Close()
vrID := int32(1)
typ := "Testing"
@@ -97,3 +103,60 @@ func TestInsertLogTruncation(t *testing.T) {
})
}
}
+
+// TestIsUnrecoverableError tests the different error cases for isUnrecoverableError().
+func TestIsUnrecoverableError(t *testing.T) {
+ if runNoBlobTest {
+ t.Skip()
+ }
+
+ type testCase struct {
+ name string
+ err error
+ expected bool
+ }
+
+ testCases := []testCase{
+ {
+ name: "Nil error",
+ err: nil,
+ expected: false,
+ },
+ {
+ name: "vterrors.Code_FAILED_PRECONDITION",
+ err: vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "test error"),
+ expected: true,
+ },
+ {
+ name: "vterrors.Code_FAILED_PRECONDITION, WrongTablet",
+ err: vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "%s: %v, want: %v or %v", vterrors.WrongTablet, "PRIMARY", "REPLICA", nil),
+ expected: false,
+ },
+ {
+ name: "Non-SQL error",
+ err: errors.New("non-SQL error"),
+ expected: false,
+ },
+ {
+ name: "SQL error with ERUnknownError",
+ err: sqlerror.NewSQLError(sqlerror.ERUnknownError, "test SQL error", "test"),
+ expected: false,
+ },
+ {
+ name: "SQL error with ERAccessDeniedError",
+ err: sqlerror.NewSQLError(sqlerror.ERAccessDeniedError, "access denied", "test"),
+ expected: true,
+ },
+ {
+ name: "SQL error with ERDataOutOfRange",
+ err: sqlerror.NewSQLError(sqlerror.ERDataOutOfRange, "data out of range", "test"),
+ expected: true,
+ },
+ }
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ result := isUnrecoverableError(tc.err)
+ require.Equal(t, tc.expected, result)
+ })
+ }
+}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vcopier.go b/go/vt/vttablet/tabletmanager/vreplication/vcopier.go
index 47e3798acd0..e3a12258691 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vcopier.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vcopier.go
@@ -37,7 +37,6 @@ import (
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vterrors"
- "vitess.io/vitess/go/vt/vttablet"
"vitess.io/vitess/go/vt/vttablet/tabletserver/throttle/throttlerapp"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
@@ -221,7 +220,7 @@ func newVCopierCopyWorker(
func (vc *vcopier) initTablesForCopy(ctx context.Context) error {
defer vc.vr.dbClient.Rollback()
- plan, err := buildReplicatorPlan(vc.vr.source, vc.vr.colInfoMap, nil, vc.vr.stats, vc.vr.vre.env.CollationEnv(), vc.vr.vre.env.Parser())
+ plan, err := vc.vr.buildReplicatorPlan(vc.vr.source, vc.vr.colInfoMap, nil, vc.vr.stats, vc.vr.vre.env.CollationEnv(), vc.vr.vre.env.Parser())
if err != nil {
return err
}
@@ -348,7 +347,7 @@ func (vc *vcopier) catchup(ctx context.Context, copyState map[string]*sqltypes.R
// Wait for catchup.
tkr := time.NewTicker(waitRetryTime)
defer tkr.Stop()
- seconds := int64(replicaLagTolerance / time.Second)
+ seconds := int64(vc.vr.workflowConfig.ReplicaLagTolerance / time.Second)
for {
sbm := vc.vr.stats.ReplicationLagSeconds.Load()
if sbm < seconds {
@@ -382,7 +381,7 @@ func (vc *vcopier) copyTable(ctx context.Context, tableName string, copyState ma
log.Infof("Copying table %s, lastpk: %v", tableName, copyState[tableName])
- plan, err := buildReplicatorPlan(vc.vr.source, vc.vr.colInfoMap, nil, vc.vr.stats, vc.vr.vre.env.CollationEnv(), vc.vr.vre.env.Parser())
+ plan, err := vc.vr.buildReplicatorPlan(vc.vr.source, vc.vr.colInfoMap, nil, vc.vr.stats, vc.vr.vre.env.CollationEnv(), vc.vr.vre.env.Parser())
if err != nil {
return err
}
@@ -392,7 +391,7 @@ func (vc *vcopier) copyTable(ctx context.Context, tableName string, copyState ma
return fmt.Errorf("plan not found for table: %s, current plans are: %#v", tableName, plan.TargetTables)
}
- ctx, cancel := context.WithTimeout(ctx, vttablet.CopyPhaseDuration)
+ ctx, cancel := context.WithTimeout(ctx, vc.vr.workflowConfig.CopyPhaseDuration)
defer cancel()
var lastpkpb *querypb.QueryResult
@@ -405,7 +404,7 @@ func (vc *vcopier) copyTable(ctx context.Context, tableName string, copyState ma
copyStateGCTicker := time.NewTicker(copyStateGCInterval)
defer copyStateGCTicker.Stop()
- parallelism := getInsertParallelism()
+ parallelism := int(math.Max(1, float64(vc.vr.workflowConfig.ParallelInsertWorkers)))
copyWorkerFactory := vc.newCopyWorkerFactory(parallelism)
copyWorkQueue := vc.newCopyWorkQueue(parallelism, copyWorkerFactory)
defer copyWorkQueue.close()
@@ -420,6 +419,9 @@ func (vc *vcopier) copyTable(ctx context.Context, tableName string, copyState ma
// Use this for task sequencing.
var prevCh <-chan *vcopierCopyTaskResult
+ vstreamOptions := &binlogdatapb.VStreamOptions{
+ ConfigOverrides: vc.vr.workflowConfig.Overrides,
+ }
serr := vc.vr.sourceVStreamer.VStreamRows(ctx, initialPlan.SendRule.Filter, lastpkpb, func(rows *binlogdatapb.VStreamRowsResponse) error {
for {
select {
@@ -593,7 +595,7 @@ func (vc *vcopier) copyTable(ctx context.Context, tableName string, copyState ma
}
return nil
- })
+ }, vstreamOptions)
// Close the work queue. This will prevent new tasks from being enqueued,
// and will wait until all workers are returned to the worker pool.
@@ -683,7 +685,7 @@ func (vc *vcopier) updatePos(ctx context.Context, gtid string) error {
if err != nil {
return err
}
- update := binlogplayer.GenerateUpdatePos(vc.vr.id, pos, time.Now().Unix(), 0, vc.vr.stats.CopyRowCount.Get(), vreplicationStoreCompressedGTID)
+ update := binlogplayer.GenerateUpdatePos(vc.vr.id, pos, time.Now().Unix(), 0, vc.vr.stats.CopyRowCount.Get(), vc.vr.workflowConfig.StoreCompressedGTID)
_, err = vc.vr.dbClient.Execute(update)
return err
}
@@ -699,7 +701,7 @@ func (vc *vcopier) fastForward(ctx context.Context, copyState map[string]*sqltyp
return err
}
if settings.StartPos.IsZero() {
- update := binlogplayer.GenerateUpdatePos(vc.vr.id, pos, time.Now().Unix(), 0, vc.vr.stats.CopyRowCount.Get(), vreplicationStoreCompressedGTID)
+ update := binlogplayer.GenerateUpdatePos(vc.vr.id, pos, time.Now().Unix(), 0, vc.vr.stats.CopyRowCount.Get(), vc.vr.workflowConfig.StoreCompressedGTID)
_, err := vc.vr.dbClient.Execute(update)
return err
}
@@ -1201,9 +1203,3 @@ func vcopierCopyTaskGetNextState(vts vcopierCopyTaskState) vcopierCopyTaskState
}
return vts
}
-
-// getInsertParallelism returns the number of parallel workers to use for inserting batches during the copy phase.
-func getInsertParallelism() int {
- parallelism := int(math.Max(1, float64(vreplicationParallelInsertWorkers)))
- return parallelism
-}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vcopier_atomic.go b/go/vt/vttablet/tabletmanager/vreplication/vcopier_atomic.go
index 02e1188cdb7..3a0996e0c39 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vcopier_atomic.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vcopier_atomic.go
@@ -20,21 +20,19 @@ import (
"context"
"fmt"
"io"
+ "math"
"strconv"
"time"
- "vitess.io/vitess/go/vt/vttablet"
-
"google.golang.org/protobuf/encoding/prototext"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/vt/binlog/binlogplayer"
"vitess.io/vitess/go/vt/log"
- "vitess.io/vitess/go/vt/sqlparser"
- "vitess.io/vitess/go/vt/vterrors"
-
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
querypb "vitess.io/vitess/go/vt/proto/query"
+ "vitess.io/vitess/go/vt/sqlparser"
+ "vitess.io/vitess/go/vt/vterrors"
)
/*
@@ -54,7 +52,7 @@ func newCopyAllState(vc *vcopier) (*copyAllState, error) {
state := ©AllState{
vc: vc,
}
- plan, err := buildReplicatorPlan(vc.vr.source, vc.vr.colInfoMap, nil, vc.vr.stats, vc.vr.vre.env.CollationEnv(), vc.vr.vre.env.Parser())
+ plan, err := vc.vr.buildReplicatorPlan(vc.vr.source, vc.vr.colInfoMap, nil, vc.vr.stats, vc.vr.vre.env.CollationEnv(), vc.vr.vre.env.Parser())
if err != nil {
return nil, err
}
@@ -79,13 +77,13 @@ func (vc *vcopier) copyAll(ctx context.Context, settings binlogplayer.VRSettings
return err
}
- ctx, cancel := context.WithTimeout(ctx, vttablet.CopyPhaseDuration)
+ ctx, cancel := context.WithTimeout(ctx, vc.vr.workflowConfig.CopyPhaseDuration)
defer cancel()
rowsCopiedTicker := time.NewTicker(rowsCopiedUpdateInterval)
defer rowsCopiedTicker.Stop()
- parallelism := getInsertParallelism()
+ parallelism := int(math.Max(1, float64(vc.vr.workflowConfig.ParallelInsertWorkers)))
copyWorkerFactory := vc.newCopyWorkerFactory(parallelism)
var copyWorkQueue *vcopierCopyWorkQueue
@@ -102,6 +100,9 @@ func (vc *vcopier) copyAll(ctx context.Context, settings binlogplayer.VRSettings
var prevCh <-chan *vcopierCopyTaskResult
var gtid string
+ vstreamOptions := &binlogdatapb.VStreamOptions{
+ ConfigOverrides: vc.vr.workflowConfig.Overrides,
+ }
serr := vc.vr.sourceVStreamer.VStreamTables(ctx, func(resp *binlogdatapb.VStreamTablesResponse) error {
defer vc.vr.stats.PhaseTimings.Record("copy", time.Now())
defer vc.vr.stats.CopyLoopCount.Add(1)
@@ -274,7 +275,7 @@ func (vc *vcopier) copyAll(ctx context.Context, settings binlogplayer.VRSettings
default:
}
return nil
- })
+ }, vstreamOptions)
if serr != nil {
log.Infof("VStreamTables failed: %v", serr)
return serr
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vcopier_test.go b/go/vt/vttablet/tabletmanager/vreplication/vcopier_test.go
index fda9012c1b5..ab91d480535 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vcopier_test.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vcopier_test.go
@@ -25,10 +25,9 @@ import (
"testing"
"time"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
"vitess.io/vitess/go/vt/vttablet/tabletserver/vstreamer/testenv"
- "vitess.io/vitess/go/vt/vttablet"
-
"vitess.io/vitess/go/vt/log"
"github.com/stretchr/testify/require"
@@ -49,30 +48,30 @@ func commonVcopierTestCases() []vcopierTestCase {
return []vcopierTestCase{
// Default experimental flags.
{
- vreplicationExperimentalFlags: vttablet.VReplicationExperimentalFlags,
+ vreplicationExperimentalFlags: vttablet.DefaultVReplicationConfig.ExperimentalFlags,
},
// Parallel bulk inserts enabled with 4 workers.
{
- vreplicationExperimentalFlags: vttablet.VReplicationExperimentalFlags,
+ vreplicationExperimentalFlags: vttablet.DefaultVReplicationConfig.ExperimentalFlags,
vreplicationParallelInsertWorkers: 4,
},
}
}
func testVcopierTestCases(t *testing.T, test func(*testing.T), cases []vcopierTestCase) {
- oldVreplicationExperimentalFlags := vttablet.VReplicationExperimentalFlags
- oldVreplicationParallelInsertWorkers := vreplicationParallelInsertWorkers
+ oldVreplicationExperimentalFlags := vttablet.DefaultVReplicationConfig.ExperimentalFlags
+ oldVreplicationParallelInsertWorkers := vttablet.DefaultVReplicationConfig.ParallelInsertWorkers
// Extra reset at the end in case we return prematurely.
defer func() {
- vttablet.VReplicationExperimentalFlags = oldVreplicationExperimentalFlags
- vreplicationParallelInsertWorkers = oldVreplicationParallelInsertWorkers
+ vttablet.DefaultVReplicationConfig.ExperimentalFlags = oldVreplicationExperimentalFlags
+ vttablet.DefaultVReplicationConfig.ParallelInsertWorkers = oldVreplicationParallelInsertWorkers
}()
for _, tc := range cases {
tc := tc // Avoid export loop bugs.
// Set test flags.
- vttablet.VReplicationExperimentalFlags = tc.vreplicationExperimentalFlags
- vreplicationParallelInsertWorkers = tc.vreplicationParallelInsertWorkers
+ vttablet.DefaultVReplicationConfig.ExperimentalFlags = tc.vreplicationExperimentalFlags
+ vttablet.DefaultVReplicationConfig.ParallelInsertWorkers = tc.vreplicationParallelInsertWorkers
// Run test case.
t.Run(
fmt.Sprintf(
@@ -82,8 +81,8 @@ func testVcopierTestCases(t *testing.T, test func(*testing.T), cases []vcopierTe
test,
)
// Reset.
- vttablet.VReplicationExperimentalFlags = oldVreplicationExperimentalFlags
- vreplicationParallelInsertWorkers = oldVreplicationParallelInsertWorkers
+ vttablet.DefaultVReplicationConfig.ExperimentalFlags = oldVreplicationExperimentalFlags
+ vttablet.DefaultVReplicationConfig.ParallelInsertWorkers = oldVreplicationParallelInsertWorkers
}
}
@@ -97,10 +96,10 @@ func testPlayerCopyCharPK(t *testing.T) {
reset := vstreamer.AdjustPacketSize(1)
defer reset()
- savedCopyPhaseDuration := vttablet.CopyPhaseDuration
+ savedCopyPhaseDuration := vttablet.DefaultVReplicationConfig.CopyPhaseDuration
// copyPhaseDuration should be low enough to have time to send one row.
- vttablet.CopyPhaseDuration = 500 * time.Millisecond
- defer func() { vttablet.CopyPhaseDuration = savedCopyPhaseDuration }()
+ vttablet.DefaultVReplicationConfig.CopyPhaseDuration = 500 * time.Millisecond
+ defer func() { vttablet.DefaultVReplicationConfig.CopyPhaseDuration = savedCopyPhaseDuration }()
savedWaitRetryTime := waitRetryTime
// waitRetry time should be very low to cause the wait loop to execute multiple times.
@@ -203,10 +202,10 @@ func testPlayerCopyVarcharPKCaseInsensitive(t *testing.T) {
reset := vstreamer.AdjustPacketSize(1)
defer reset()
- savedCopyPhaseDuration := vttablet.CopyPhaseDuration
+ savedCopyPhaseDuration := vttablet.DefaultVReplicationConfig.CopyPhaseDuration
// copyPhaseDuration should be low enough to have time to send one row.
- vttablet.CopyPhaseDuration = 500 * time.Millisecond
- defer func() { vttablet.CopyPhaseDuration = savedCopyPhaseDuration }()
+ vttablet.DefaultVReplicationConfig.CopyPhaseDuration = 500 * time.Millisecond
+ defer func() { vttablet.DefaultVReplicationConfig.CopyPhaseDuration = savedCopyPhaseDuration }()
savedWaitRetryTime := waitRetryTime
// waitRetry time should be very low to cause the wait loop to execute multiple times.
@@ -290,7 +289,7 @@ func testPlayerCopyVarcharPKCaseInsensitive(t *testing.T) {
// Back to copy mode.
// Inserts can happen out of order.
// Updates must happen in order.
- //upd1 := expect.
+ // upd1 := expect.
upd1 := expect.Then(qh.Eventually(
"insert into dst(idc,val) values ('B',3)",
`/insert into _vt.copy_state \(lastpk, vrepl_id, table_name\) values \('fields:{name:"idc" type:VARCHAR charset:33 flags:20483} rows:{lengths:1 values:"B"}'.*`,
@@ -325,10 +324,10 @@ func testPlayerCopyVarcharCompositePKCaseSensitiveCollation(t *testing.T) {
reset := vstreamer.AdjustPacketSize(1)
defer reset()
- savedCopyPhaseDuration := vttablet.CopyPhaseDuration
+ savedCopyPhaseDuration := vttablet.DefaultVReplicationConfig.CopyPhaseDuration
// copyPhaseDuration should be low enough to have time to send one row.
- vttablet.CopyPhaseDuration = 500 * time.Millisecond
- defer func() { vttablet.CopyPhaseDuration = savedCopyPhaseDuration }()
+ vttablet.DefaultVReplicationConfig.CopyPhaseDuration = 500 * time.Millisecond
+ defer func() { vttablet.DefaultVReplicationConfig.CopyPhaseDuration = savedCopyPhaseDuration }()
savedWaitRetryTime := waitRetryTime
// waitRetry time should be very low to cause the wait loop to execute multiple times.
@@ -486,7 +485,7 @@ func testPlayerCopyTablesWithFK(t *testing.T) {
"/update _vt.vreplication set pos=",
).Then(func(expect qh.ExpectationSequencer) qh.ExpectationSequencer {
// With parallel inserts, new db client connects are created on-the-fly.
- if vreplicationParallelInsertWorkers > 1 {
+ if vttablet.DefaultVReplicationConfig.ParallelInsertWorkers > 1 {
return expect.Then(qh.Eventually("set @@session.foreign_key_checks=0"))
}
return expect
@@ -508,7 +507,7 @@ func testPlayerCopyTablesWithFK(t *testing.T) {
"commit",
)).Then(func(expect qh.ExpectationSequencer) qh.ExpectationSequencer {
// With parallel inserts, new db client connects are created on-the-fly.
- if vreplicationParallelInsertWorkers > 1 {
+ if vttablet.DefaultVReplicationConfig.ParallelInsertWorkers > 1 {
return expect.Then(qh.Eventually("set @@session.foreign_key_checks=0"))
}
return expect
@@ -685,10 +684,10 @@ func testPlayerCopyBigTable(t *testing.T) {
reset := vstreamer.AdjustPacketSize(1)
defer reset()
- savedCopyPhaseDuration := vttablet.CopyPhaseDuration
+ savedCopyPhaseDuration := vttablet.DefaultVReplicationConfig.CopyPhaseDuration
// copyPhaseDuration should be low enough to have time to send one row.
- vttablet.CopyPhaseDuration = 500 * time.Millisecond
- defer func() { vttablet.CopyPhaseDuration = savedCopyPhaseDuration }()
+ vttablet.DefaultVReplicationConfig.CopyPhaseDuration = 500 * time.Millisecond
+ defer func() { vttablet.DefaultVReplicationConfig.CopyPhaseDuration = savedCopyPhaseDuration }()
savedWaitRetryTime := waitRetryTime
// waitRetry time should be very low to cause the wait loop to execute multiple times.
@@ -815,10 +814,10 @@ func testPlayerCopyWildcardRule(t *testing.T) {
reset := vstreamer.AdjustPacketSize(1)
defer reset()
- savedCopyPhaseDuration := vttablet.CopyPhaseDuration
+ savedCopyPhaseDuration := vttablet.DefaultVReplicationConfig.CopyPhaseDuration
// copyPhaseDuration should be low enough to have time to send one row.
- vttablet.CopyPhaseDuration = 500 * time.Millisecond
- defer func() { vttablet.CopyPhaseDuration = savedCopyPhaseDuration }()
+ vttablet.DefaultVReplicationConfig.CopyPhaseDuration = 500 * time.Millisecond
+ defer func() { vttablet.DefaultVReplicationConfig.CopyPhaseDuration = savedCopyPhaseDuration }()
savedWaitRetryTime := waitRetryTime
// waitRetry time should be very low to cause the wait loop to execute multiple times.
@@ -1173,7 +1172,7 @@ func testPlayerCopyWildcardTableContinuation(t *testing.T) {
expectDeleteQueries(t)
}()
- optimizeInsertsEnabled := vttablet.VReplicationExperimentalFlags /**/ & /**/ vttablet.VReplicationExperimentalFlagOptimizeInserts != 0
+ optimizeInsertsEnabled := vttablet.DefaultVReplicationConfig.ExperimentalFlags /**/ & /**/ vttablet.VReplicationExperimentalFlagOptimizeInserts != 0
expectNontxQueries(t, qh.Expect(
"/insert into _vt.vreplication",
@@ -1203,14 +1202,18 @@ func testPlayerCopyWildcardTableContinuation(t *testing.T) {
}
}
+func setExperimentalFlags(flags int64) func() {
+ oldVreplicationExperimentalFlags := vttablet.DefaultVReplicationConfig.ExperimentalFlags
+ vttablet.DefaultVReplicationConfig.ExperimentalFlags = flags
+ return func() {
+ vttablet.DefaultVReplicationConfig.ExperimentalFlags = oldVreplicationExperimentalFlags
+ }
+}
+
// TestPlayerCopyWildcardTableContinuationWithOptimizeInserts tests the copy workflow where tables have been partially copied
// enabling the optimize inserts functionality
func TestPlayerCopyWildcardTableContinuationWithOptimizeInserts(t *testing.T) {
- oldVreplicationExperimentalFlags := vttablet.VReplicationExperimentalFlags
- vttablet.VReplicationExperimentalFlags = vttablet.VReplicationExperimentalFlagOptimizeInserts
- defer func() {
- vttablet.VReplicationExperimentalFlags = oldVreplicationExperimentalFlags
- }()
+ defer setExperimentalFlags(vttablet.VReplicationExperimentalFlagOptimizeInserts)()
defer deleteTablet(addTablet(100))
@@ -1525,14 +1528,16 @@ func testPlayerCopyTableCancel(t *testing.T) {
fmt.Sprintf("drop table %s.dst1", vrepldb),
})
- saveTimeout := vttablet.CopyPhaseDuration
- vttablet.CopyPhaseDuration = 1 * time.Millisecond
- defer func() { vttablet.CopyPhaseDuration = saveTimeout }()
+ saveTimeout := vttablet.DefaultVReplicationConfig.CopyPhaseDuration
+ vttablet.DefaultVReplicationConfig.CopyPhaseDuration = 1 * time.Millisecond
+ defer func() { vttablet.DefaultVReplicationConfig.CopyPhaseDuration = saveTimeout }()
// Set a hook to reset the copy timeout after first call.
vstreamRowsHook = func(ctx context.Context) {
<-ctx.Done()
- vttablet.CopyPhaseDuration = saveTimeout
+ for _, ct := range playerEngine.controllers {
+ ct.WorkflowConfig.CopyPhaseDuration = saveTimeout
+ }
vstreamRowsHook = nil
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vdbclient.go b/go/vt/vttablet/tabletmanager/vreplication/vdbclient.go
index 39a8229efc6..b8339cdf874 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vdbclient.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vdbclient.go
@@ -34,19 +34,21 @@ import (
// It allows us to retry a failed transactions on lock errors.
type vdbClient struct {
binlogplayer.DBClient
- stats *binlogplayer.Stats
- InTransaction bool
- startTime time.Time
- queries []string
- queriesPos int64
- batchSize int64
- maxBatchSize int64
+ stats *binlogplayer.Stats
+ InTransaction bool
+ startTime time.Time
+ queries []string
+ queriesPos int64
+ batchSize int64
+ maxBatchSize int64
+ relayLogMaxItems int
}
-func newVDBClient(dbclient binlogplayer.DBClient, stats *binlogplayer.Stats) *vdbClient {
+func newVDBClient(dbclient binlogplayer.DBClient, stats *binlogplayer.Stats, relayLogMaxItems int) *vdbClient {
return &vdbClient{
- DBClient: dbclient,
- stats: stats,
+ DBClient: dbclient,
+ stats: stats,
+ relayLogMaxItems: relayLogMaxItems,
}
}
@@ -163,7 +165,7 @@ func (vc *vdbClient) ExecuteTrxQueryBatch() ([]*sqltypes.Result, error) {
// Execute is ExecuteFetch without the maxrows.
func (vc *vdbClient) Execute(query string) (*sqltypes.Result, error) {
// Number of rows should never exceed relayLogMaxItems.
- return vc.ExecuteFetch(query, relayLogMaxItems)
+ return vc.ExecuteFetch(query, vc.relayLogMaxItems)
}
func (vc *vdbClient) ExecuteWithRetry(ctx context.Context, query string) (*sqltypes.Result, error) {
@@ -199,7 +201,7 @@ func (vc *vdbClient) Retry() (*sqltypes.Result, error) {
continue
}
// Number of rows should never exceed relayLogMaxItems.
- result, err := vc.DBClient.ExecuteFetch(q, relayLogMaxItems)
+ result, err := vc.DBClient.ExecuteFetch(q, vc.relayLogMaxItems)
if err != nil {
return nil, err
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vplayer.go b/go/vt/vttablet/tabletmanager/vreplication/vplayer.go
index 2b8b8130f89..db2f3f341ac 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vplayer.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vplayer.go
@@ -31,7 +31,7 @@ import (
"vitess.io/vitess/go/vt/binlog/binlogplayer"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/vterrors"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
"vitess.io/vitess/go/vt/vttablet/tabletserver/throttle/throttlerapp"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
@@ -133,20 +133,20 @@ func newVPlayer(vr *vreplicator, settings binlogplayer.VRSettings, copyState map
return vr.dbClient.Commit()
}
batchMode := false
- if vttablet.VReplicationExperimentalFlags&vttablet.VReplicationExperimentalFlagVPlayerBatching != 0 {
+ if vr.workflowConfig.ExperimentalFlags&vttablet.VReplicationExperimentalFlagVPlayerBatching != 0 {
batchMode = true
}
if batchMode {
// relayLogMaxSize is effectively the limit used when not batching.
- maxAllowedPacket := int64(relayLogMaxSize)
+ maxAllowedPacket := int64(vr.workflowConfig.RelayLogMaxSize)
// We explicitly do NOT want to batch this, we want to send it down the wire
// immediately so we use ExecuteFetch directly.
res, err := vr.dbClient.ExecuteFetch("select @@session.max_allowed_packet as max_allowed_packet", 1)
if err != nil {
- log.Errorf("Error getting max_allowed_packet, will use the relay_log_max_size value of %d bytes: %v", relayLogMaxSize, err)
+ log.Errorf("Error getting max_allowed_packet, will use the relay_log_max_size value of %d bytes: %v", vr.workflowConfig.RelayLogMaxSize, err)
} else {
if maxAllowedPacket, err = res.Rows[0][0].ToInt64(); err != nil {
- log.Errorf("Error getting max_allowed_packet, will use the relay_log_max_size value of %d bytes: %v", relayLogMaxSize, err)
+ log.Errorf("Error getting max_allowed_packet, will use the relay_log_max_size value of %d bytes: %v", vr.workflowConfig.RelayLogMaxSize, err)
}
}
// Leave 64 bytes of room for the commit to be sure that we have a more than
@@ -193,7 +193,7 @@ func (vp *vplayer) play(ctx context.Context) error {
return nil
}
- plan, err := buildReplicatorPlan(vp.vr.source, vp.vr.colInfoMap, vp.copyState, vp.vr.stats, vp.vr.vre.env.CollationEnv(), vp.vr.vre.env.Parser())
+ plan, err := vp.vr.buildReplicatorPlan(vp.vr.source, vp.vr.colInfoMap, vp.copyState, vp.vr.stats, vp.vr.vre.env.CollationEnv(), vp.vr.vre.env.Parser())
if err != nil {
vp.vr.stats.ErrorCounts.Add([]string{"Plan"}, 1)
return err
@@ -269,13 +269,17 @@ func (vp *vplayer) fetchAndApply(ctx context.Context) (err error) {
ctx, cancel := context.WithCancel(ctx)
defer cancel()
- relay := newRelayLog(ctx, relayLogMaxItems, relayLogMaxSize)
+ relay := newRelayLog(ctx, vp.vr.workflowConfig.RelayLogMaxItems, vp.vr.workflowConfig.RelayLogMaxSize)
streamErr := make(chan error, 1)
go func() {
- streamErr <- vp.vr.sourceVStreamer.VStream(ctx, replication.EncodePosition(vp.startPos), nil, vp.replicatorPlan.VStreamFilter, func(events []*binlogdatapb.VEvent) error {
- return relay.Send(events)
- })
+ vstreamOptions := &binlogdatapb.VStreamOptions{
+ ConfigOverrides: vp.vr.workflowConfig.Overrides,
+ }
+ streamErr <- vp.vr.sourceVStreamer.VStream(ctx, replication.EncodePosition(vp.startPos), nil,
+ vp.replicatorPlan.VStreamFilter, func(events []*binlogdatapb.VEvent) error {
+ return relay.Send(events)
+ }, vstreamOptions)
}()
applyErr := make(chan error, 1)
@@ -382,7 +386,7 @@ func (vp *vplayer) applyRowEvent(ctx context.Context, rowEvent *binlogdatapb.Row
// updatePos should get called at a minimum of vreplicationMinimumHeartbeatUpdateInterval.
func (vp *vplayer) updatePos(ctx context.Context, ts int64) (posReached bool, err error) {
- update := binlogplayer.GenerateUpdatePos(vp.vr.id, vp.pos, time.Now().Unix(), ts, vp.vr.stats.CopyRowCount.Get(), vreplicationStoreCompressedGTID)
+ update := binlogplayer.GenerateUpdatePos(vp.vr.id, vp.pos, time.Now().Unix(), ts, vp.vr.stats.CopyRowCount.Get(), vp.vr.workflowConfig.StoreCompressedGTID)
if _, err := vp.query(ctx, update); err != nil {
return false, fmt.Errorf("error %v updating position", err)
}
@@ -403,7 +407,7 @@ func (vp *vplayer) updatePos(ctx context.Context, ts int64) (posReached bool, er
}
func (vp *vplayer) mustUpdateHeartbeat() bool {
- return vp.numAccumulatedHeartbeats >= vreplicationHeartbeatUpdateInterval ||
+ return vp.numAccumulatedHeartbeats >= vp.vr.workflowConfig.HeartbeatUpdateInterval ||
vp.numAccumulatedHeartbeats >= vreplicationMinimumHeartbeatUpdateInterval
}
@@ -414,7 +418,7 @@ func (vp *vplayer) recordHeartbeat() error {
return nil
}
if err := vp.vr.updateHeartbeatTime(tm); err != nil {
- return vterrors.Wrapf(errVPlayerStalled, fmt.Sprintf("%s: %v", failedToRecordHeartbeatMsg, err))
+ return vterrors.Wrapf(errVPlayerStalled, "%s: %v", failedToRecordHeartbeatMsg, err)
}
// Only reset the pending heartbeat count if the update was successful.
// Otherwise the vplayer may not actually be making progress and nobody
@@ -476,12 +480,18 @@ func (vp *vplayer) recordHeartbeat() error {
func (vp *vplayer) applyEvents(ctx context.Context, relay *relayLog) error {
defer vp.vr.dbClient.Rollback()
+ estimateLag := func() {
+ behind := time.Now().UnixNano() - vp.lastTimestampNs - vp.timeOffsetNs
+ vp.vr.stats.ReplicationLagSeconds.Store(behind / 1e9)
+ vp.vr.stats.VReplicationLags.Add(strconv.Itoa(int(vp.vr.id)), time.Duration(behind/1e9)*time.Second)
+ }
+
// If we're not running, set ReplicationLagSeconds to be very high.
// TODO(sougou): if we also stored the time of the last event, we
// can estimate this value more accurately.
defer vp.vr.stats.ReplicationLagSeconds.Store(math.MaxInt64)
defer vp.vr.stats.VReplicationLags.Add(strconv.Itoa(int(vp.vr.id)), math.MaxInt64)
- var sbm int64 = -1
+ var lagSecs int64
for {
if ctx.Err() != nil {
return ctx.Err()
@@ -489,6 +499,7 @@ func (vp *vplayer) applyEvents(ctx context.Context, relay *relayLog) error {
// Check throttler.
if checkResult, ok := vp.vr.vre.throttlerClient.ThrottleCheckOKOrWaitAppName(ctx, throttlerapp.Name(vp.throttlerAppName)); !ok {
_ = vp.vr.updateTimeThrottled(throttlerapp.VPlayerName, checkResult.Summary())
+ estimateLag()
continue
}
@@ -496,13 +507,7 @@ func (vp *vplayer) applyEvents(ctx context.Context, relay *relayLog) error {
if err != nil {
return err
}
- // No events were received. This likely means that there's a network partition.
- // So, we should assume we're falling behind.
- if len(items) == 0 {
- behind := time.Now().UnixNano() - vp.lastTimestampNs - vp.timeOffsetNs
- vp.vr.stats.ReplicationLagSeconds.Store(behind / 1e9)
- vp.vr.stats.VReplicationLags.Add(strconv.Itoa(int(vp.vr.id)), time.Duration(behind/1e9)*time.Second)
- }
+
// Empty transactions are saved at most once every idleTimeout.
// This covers two situations:
// 1. Fetch was idle for idleTimeout.
@@ -520,12 +525,20 @@ func (vp *vplayer) applyEvents(ctx context.Context, relay *relayLog) error {
}
}
+ lagSecs = -1
for i, events := range items {
for j, event := range events {
if event.Timestamp != 0 {
- vp.lastTimestampNs = event.Timestamp * 1e9
- vp.timeOffsetNs = time.Now().UnixNano() - event.CurrentTime
- sbm = event.CurrentTime/1e9 - event.Timestamp
+ // If the event is a heartbeat sent while throttled then do not update
+ // the lag based on it.
+ // If the batch consists only of throttled heartbeat events then we cannot
+ // determine the actual lag, as the vstreamer is fully throttled, and we
+ // will estimate it after processing the batch.
+ if !(event.Type == binlogdatapb.VEventType_HEARTBEAT && event.Throttled) {
+ vp.lastTimestampNs = event.Timestamp * 1e9
+ vp.timeOffsetNs = time.Now().UnixNano() - event.CurrentTime
+ lagSecs = event.CurrentTime/1e9 - event.Timestamp
+ }
}
mustSave := false
switch event.Type {
@@ -549,7 +562,7 @@ func (vp *vplayer) applyEvents(ctx context.Context, relay *relayLog) error {
if err := vp.applyEvent(ctx, event, mustSave); err != nil {
if err != io.EOF {
vp.vr.stats.ErrorCounts.Add([]string{"Apply"}, 1)
- var table, tableLogMsg string
+ var table, tableLogMsg, gtidLogMsg string
switch {
case event.GetFieldEvent() != nil:
table = event.GetFieldEvent().TableName
@@ -559,18 +572,24 @@ func (vp *vplayer) applyEvents(ctx context.Context, relay *relayLog) error {
if table != "" {
tableLogMsg = fmt.Sprintf(" for table %s", table)
}
- log.Errorf("Error applying event%s: %s", tableLogMsg, err.Error())
+ pos := getNextPosition(items, i, j+1)
+ if pos != "" {
+ gtidLogMsg = fmt.Sprintf(" while processing position %s", pos)
+ }
+ log.Errorf("Error applying event%s%s: %s", tableLogMsg, gtidLogMsg, err.Error())
+ err = vterrors.Wrapf(err, "error applying event%s%s", tableLogMsg, gtidLogMsg)
}
return err
}
}
}
- if sbm >= 0 {
- vp.vr.stats.ReplicationLagSeconds.Store(sbm)
- vp.vr.stats.VReplicationLags.Add(strconv.Itoa(int(vp.vr.id)), time.Duration(sbm)*time.Second)
+ if lagSecs >= 0 {
+ vp.vr.stats.ReplicationLagSeconds.Store(lagSecs)
+ vp.vr.stats.VReplicationLags.Add(strconv.Itoa(int(vp.vr.id)), time.Duration(lagSecs)*time.Second)
+ } else { // We couldn't determine the lag, so we need to estimate it
+ estimateLag()
}
-
}
}
@@ -592,6 +611,34 @@ func hasAnotherCommit(items [][]*binlogdatapb.VEvent, i, j int) bool {
return false
}
+// getNextPosition returns the GTID set/position we would be at if the current
+// transaction was committed. This is useful for error handling as we can then
+// determine which GTID we're failing to process from the source and examine the
+// binlog events for that GTID directly on the source to debug the issue.
+// This is needed as it's not as simple as the user incrementing the current
+// position in the stream by 1 as we may be skipping N intermediate GTIDs in the
+// stream due to filtering. For GTIDs that we filter out we still replicate the
+// GTID event itself, just without any internal events and a COMMIT event (see
+// the unsavedEvent handling).
+func getNextPosition(items [][]*binlogdatapb.VEvent, i, j int) string {
+ for i < len(items) {
+ for j < len(items[i]) {
+ switch items[i][j].Type {
+ case binlogdatapb.VEventType_GTID:
+ pos, err := binlogplayer.DecodePosition(items[i][j].Gtid)
+ if err != nil {
+ return ""
+ }
+ return pos.String()
+ }
+ j++
+ }
+ j = 0
+ i++
+ }
+ return ""
+}
+
func (vp *vplayer) applyEvent(ctx context.Context, event *binlogdatapb.VEvent, mustSave bool) error {
stats := NewVrLogStats(event.Type.String())
switch event.Type {
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vplayer_flaky_test.go b/go/vt/vttablet/tabletmanager/vreplication/vplayer_flaky_test.go
index b1925c3c64f..420134ab7e3 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vplayer_flaky_test.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vplayer_flaky_test.go
@@ -36,7 +36,7 @@ import (
"vitess.io/vitess/go/vt/binlog/binlogplayer"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/logutil"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
"vitess.io/vitess/go/vt/vttablet/tabletserver/vstreamer/testenv"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
@@ -193,14 +193,18 @@ func TestPlayerInvisibleColumns(t *testing.T) {
}
func TestHeartbeatFrequencyFlag(t *testing.T) {
- origVReplicationHeartbeatUpdateInterval := vreplicationHeartbeatUpdateInterval
+ origVReplicationHeartbeatUpdateInterval := vttablet.DefaultVReplicationConfig.HeartbeatUpdateInterval
defer func() {
- vreplicationHeartbeatUpdateInterval = origVReplicationHeartbeatUpdateInterval
+ vttablet.DefaultVReplicationConfig.HeartbeatUpdateInterval = origVReplicationHeartbeatUpdateInterval
}()
stats := binlogplayer.NewStats()
defer stats.Stop()
- vp := &vplayer{vr: &vreplicator{dbClient: newVDBClient(realDBClientFactory(), stats), stats: stats}}
+ vp := &vplayer{vr: &vreplicator{
+ dbClient: newVDBClient(realDBClientFactory(), stats, vttablet.DefaultVReplicationConfig.RelayLogMaxItems),
+ stats: stats,
+ workflowConfig: vttablet.DefaultVReplicationConfig,
+ }}
type testcount struct {
count int
@@ -218,7 +222,7 @@ func TestHeartbeatFrequencyFlag(t *testing.T) {
}
for _, tcase := range testcases {
t.Run(tcase.name, func(t *testing.T) {
- vreplicationHeartbeatUpdateInterval = tcase.interval
+ vttablet.DefaultVReplicationConfig.HeartbeatUpdateInterval = tcase.interval
for _, tcount := range tcase.counts {
vp.numAccumulatedHeartbeats = tcount.count
require.Equal(t, tcount.mustUpdate, vp.mustUpdateHeartbeat())
@@ -334,7 +338,7 @@ func TestCharPK(t *testing.T) {
output string
table string
data [][]string
- }{{ //binary(2)
+ }{{ // binary(2)
input: "insert into t1 values(1, 'a')",
output: "insert into t1(id,val) values (1,'a\\0')",
table: "t1",
@@ -348,7 +352,7 @@ func TestCharPK(t *testing.T) {
data: [][]string{
{"2", "a\000"},
},
- }, { //char(2)
+ }, { // char(2)
input: "insert into t2 values(1, 'a')",
output: "insert into t2(id,val) values (1,'a')",
table: "t2",
@@ -362,7 +366,7 @@ func TestCharPK(t *testing.T) {
data: [][]string{
{"2", "a"},
},
- }, { //varbinary(2)
+ }, { // varbinary(2)
input: "insert into t3 values(1, 'a')",
output: "insert into t3(id,val) values (1,'a')",
table: "t3",
@@ -376,7 +380,7 @@ func TestCharPK(t *testing.T) {
data: [][]string{
{"2", "a"},
},
- }, { //varchar(2)
+ }, { // varchar(2)
input: "insert into t4 values(1, 'a')",
output: "insert into t4(id,val) values (1,'a')",
table: "t4",
@@ -575,9 +579,20 @@ func TestPlayerForeignKeyCheck(t *testing.T) {
cancel()
}
-func TestPlayerStatementModeWithFilter(t *testing.T) {
+// TestPlayerStatementModeWithFilterAndErrorHandling confirms that we get the
+// expected error when using a filter with statement mode. It also tests the
+// general vplayer applyEvent error and log message handling.
+func TestPlayerStatementModeWithFilterAndErrorHandling(t *testing.T) {
defer deleteTablet(addTablet(100))
+ // We want to check for the expected log message.
+ ole := log.Errorf
+ logger := logutil.NewMemoryLogger()
+ log.Errorf = logger.Errorf
+ defer func() {
+ log.Errorf = ole
+ }()
+
execStatements(t, []string{
"create table src1(id int, val varbinary(128), primary key(id))",
})
@@ -600,21 +615,29 @@ func TestPlayerStatementModeWithFilter(t *testing.T) {
cancel, _ := startVReplication(t, bls, "")
defer cancel()
+ const gtid = "37f16b4c-5a74-11ef-87de-56bfd605e62e:100"
input := []string{
"set @@session.binlog_format='STATEMENT'",
+ fmt.Sprintf("set @@session.gtid_next='%s'", gtid),
"insert into src1 values(1, 'aaa')",
+ "set @@session.gtid_next='AUTOMATIC'",
"set @@session.binlog_format='ROW'",
}
+ expectedMsg := fmt.Sprintf("[Ee]rror applying event while processing position .*%s.* filter rules are not supported for SBR.*", gtid)
+
// It does not work when filter is enabled
output := qh.Expect(
"begin",
"rollback",
- "/update _vt.vreplication set message='filter rules are not supported for SBR",
+ fmt.Sprintf("/update _vt.vreplication set message='%s", expectedMsg),
)
execStatements(t, input)
expectDBClientQueries(t, output)
+
+ logs := logger.String()
+ require.Regexp(t, expectedMsg, logs)
}
func TestPlayerStatementMode(t *testing.T) {
@@ -1709,7 +1732,7 @@ func TestPlayerDDL(t *testing.T) {
OnDdl: binlogdatapb.OnDDLAction_STOP,
}
cancel, id := startVReplication(t, bls, "")
- pos0 := primaryPosition(t) //For debugging only
+ pos0 := primaryPosition(t) // For debugging only
execStatements(t, []string{"alter table t1 add column val varchar(128)"})
pos1 := primaryPosition(t)
// The stop position must be the GTID of the first DDL
@@ -1723,7 +1746,7 @@ func TestPlayerDDL(t *testing.T) {
execStatements(t, []string{"alter table t1 drop column val"})
pos2 := primaryPosition(t)
log.Errorf("Expected log:: TestPlayerDDL Positions are: before first alter %v, after first alter %v, before second alter %v, after second alter %v",
- pos0, pos1, pos2b, pos2) //For debugging only: to check what are the positions when test works and if/when it fails
+ pos0, pos1, pos2b, pos2) // For debugging only: to check what are the positions when test works and if/when it fails
// Restart vreplication
if _, err := playerEngine.Exec(fmt.Sprintf(`update _vt.vreplication set state = 'Running', message='' where id=%d`, id)); err != nil {
t.Fatal(err)
@@ -1758,8 +1781,8 @@ func TestPlayerDDL(t *testing.T) {
execStatements(t, []string{"alter table t1 add column val2 varchar(128)"})
expectDBClientQueries(t, qh.Expect(
"alter table t1 add column val2 varchar(128)",
- "/update _vt.vreplication set message='Duplicate",
- "/update _vt.vreplication set state='Error', message='Duplicate",
+ "/update _vt.vreplication set message='error applying event: Duplicate",
+ "/update _vt.vreplication set state='Error', message='error applying event: Duplicate",
))
cancel()
@@ -1846,9 +1869,9 @@ func TestGTIDCompress(t *testing.T) {
func TestPlayerStopPos(t *testing.T) {
defer deleteTablet(addTablet(100))
- vreplicationStoreCompressedGTID = true
+ vttablet.DefaultVReplicationConfig.StoreCompressedGTID = true
defer func() {
- vreplicationStoreCompressedGTID = false
+ vttablet.DefaultVReplicationConfig.StoreCompressedGTID = false
}()
execStatements(t, []string{
"create table yes(id int, val varbinary(128), primary key(id))",
@@ -2408,13 +2431,13 @@ func TestPlayerRelayLogMaxSize(t *testing.T) {
func() {
switch i {
case 0:
- savedSize := relayLogMaxSize
- defer func() { relayLogMaxSize = savedSize }()
- relayLogMaxSize = 10
+ savedSize := vttablet.DefaultVReplicationConfig.RelayLogMaxSize
+ defer func() { vttablet.DefaultVReplicationConfig.RelayLogMaxSize = savedSize }()
+ vttablet.DefaultVReplicationConfig.RelayLogMaxSize = 10
case 1:
- savedLen := relayLogMaxItems
- defer func() { relayLogMaxItems = savedLen }()
- relayLogMaxItems = 2
+ savedLen := vttablet.DefaultVReplicationConfig.RelayLogMaxItems
+ defer func() { vttablet.DefaultVReplicationConfig.RelayLogMaxItems = savedLen }()
+ vttablet.DefaultVReplicationConfig.RelayLogMaxItems = 2
}
execStatements(t, []string{
@@ -2507,9 +2530,9 @@ func TestPlayerRelayLogMaxSize(t *testing.T) {
func TestRestartOnVStreamEnd(t *testing.T) {
defer deleteTablet(addTablet(100))
- savedDelay := retryDelay
- defer func() { retryDelay = savedDelay }()
- retryDelay = 1 * time.Millisecond
+ savedDelay := vttablet.DefaultVReplicationConfig.RetryDelay
+ defer func() { vttablet.DefaultVReplicationConfig.RetryDelay = savedDelay }()
+ vttablet.DefaultVReplicationConfig.RetryDelay = 1 * time.Millisecond
execStatements(t, []string{
"create table t1(id int, val varbinary(128), primary key(id))",
@@ -2755,7 +2778,7 @@ func TestVReplicationLogs(t *testing.T) {
err := dbClient.Connect()
require.NoError(t, err)
defer dbClient.Close()
- vdbc := newVDBClient(dbClient, binlogplayer.NewStats())
+ vdbc := newVDBClient(dbClient, binlogplayer.NewStats(), vttablet.DefaultVReplicationConfig.RelayLogMaxItems)
query := "select vrepl_id, state, message, count from _vt.vreplication_log order by id desc limit 1"
expected := []string{
@@ -2931,10 +2954,10 @@ func TestPlayerNoBlob(t *testing.T) {
if !runNoBlobTest {
t.Skip()
}
- oldVreplicationExperimentalFlags := vttablet.VReplicationExperimentalFlags
- vttablet.VReplicationExperimentalFlags = vttablet.VReplicationExperimentalFlagAllowNoBlobBinlogRowImage
+ oldVreplicationExperimentalFlags := vttablet.DefaultVReplicationConfig.ExperimentalFlags
+ vttablet.DefaultVReplicationConfig.ExperimentalFlags = vttablet.VReplicationExperimentalFlagAllowNoBlobBinlogRowImage
defer func() {
- vttablet.VReplicationExperimentalFlags = oldVreplicationExperimentalFlags
+ vttablet.DefaultVReplicationConfig.ExperimentalFlags = oldVreplicationExperimentalFlags
}()
defer deleteTablet(addTablet(100))
@@ -3071,10 +3094,10 @@ func TestPlayerNoBlob(t *testing.T) {
func TestPlayerBatchMode(t *testing.T) {
// To test trx batch splitting at 1024-64 bytes.
maxAllowedPacket := 1024
- oldVreplicationExperimentalFlags := vttablet.VReplicationExperimentalFlags
- vttablet.VReplicationExperimentalFlags = vttablet.VReplicationExperimentalFlagVPlayerBatching
+ oldVreplicationExperimentalFlags := vttablet.DefaultVReplicationConfig.ExperimentalFlags
+ vttablet.DefaultVReplicationConfig.ExperimentalFlags = vttablet.VReplicationExperimentalFlagVPlayerBatching
defer func() {
- vttablet.VReplicationExperimentalFlags = oldVreplicationExperimentalFlags
+ vttablet.DefaultVReplicationConfig.ExperimentalFlags = oldVreplicationExperimentalFlags
}()
defer deleteTablet(addTablet(100))
@@ -3329,16 +3352,16 @@ func TestPlayerStalls(t *testing.T) {
logger := logutil.NewMemoryLogger()
log.Errorf = logger.Errorf
- ovmhu := vreplicationMinimumHeartbeatUpdateInterval
- ogvpt := vplayerProgressDeadline
- orlmi := relayLogMaxItems
- ord := retryDelay
+ oldMinimumHeartbeatUpdateInterval := vreplicationMinimumHeartbeatUpdateInterval
+ oldProgressDeadline := vplayerProgressDeadline
+ oldRelayLogMaxItems := vttablet.DefaultVReplicationConfig.RelayLogMaxItems
+ oldRetryDelay := vttablet.DefaultVReplicationConfig.RetryDelay
defer func() {
log.Errorf = ole
- vreplicationMinimumHeartbeatUpdateInterval = ovmhu
- vplayerProgressDeadline = ogvpt
- relayLogMaxItems = orlmi
- retryDelay = ord
+ vreplicationMinimumHeartbeatUpdateInterval = oldMinimumHeartbeatUpdateInterval
+ vplayerProgressDeadline = oldProgressDeadline
+ vttablet.DefaultVReplicationConfig.RelayLogMaxItems = oldRelayLogMaxItems
+ vttablet.DefaultVReplicationConfig.RetryDelay = oldRetryDelay
}()
// Shorten the deadline for the test.
@@ -3346,11 +3369,11 @@ func TestPlayerStalls(t *testing.T) {
// Shorten the time for a required heartbeat recording for the test.
vreplicationMinimumHeartbeatUpdateInterval = 5
// So each relay log batch will be a single statement transaction.
- relayLogMaxItems = 1
+ vttablet.DefaultVReplicationConfig.RelayLogMaxItems = 1
// Don't retry the workflow if it goes into the error state.
- retryDelay = 10 * time.Minute
- maxTimeToRetryError = 1 * time.Second
+ vttablet.DefaultVReplicationConfig.RetryDelay = 10 * time.Minute
+ vttablet.DefaultVReplicationConfig.MaxTimeToRetryError = 1 * time.Second
// A channel to communicate across goroutines.
done := make(chan struct{})
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vreplicator.go b/go/vt/vttablet/tabletmanager/vreplication/vreplicator.go
index 2a4d598c960..0c5c0b5b334 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vreplicator.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vreplicator.go
@@ -37,6 +37,7 @@ import (
"vitess.io/vitess/go/vt/schema"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vterrors"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
"vitess.io/vitess/go/vt/vttablet/tabletserver/throttle/throttlerapp"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
@@ -113,6 +114,7 @@ type vreplicator struct {
WorkflowName string
throttleUpdatesRateLimiter *timer.RateLimiter
+ workflowConfig *vttablet.VReplicationConfig
}
// newVReplicator creates a new vreplicator. The valid fields from the source are:
@@ -137,19 +139,25 @@ type vreplicator struct {
// alias like "a+b as targetcol" must be used.
// More advanced constructs can be used. Please see the table plan builder
// documentation for more info.
-func newVReplicator(id int32, source *binlogdatapb.BinlogSource, sourceVStreamer VStreamerClient, stats *binlogplayer.Stats, dbClient binlogplayer.DBClient, mysqld mysqlctl.MysqlDaemon, vre *Engine) *vreplicator {
- if vreplicationHeartbeatUpdateInterval > vreplicationMinimumHeartbeatUpdateInterval {
+func newVReplicator(id int32, source *binlogdatapb.BinlogSource, sourceVStreamer VStreamerClient, stats *binlogplayer.Stats,
+ dbClient binlogplayer.DBClient, mysqld mysqlctl.MysqlDaemon, vre *Engine, workflowConfig *vttablet.VReplicationConfig) *vreplicator {
+ if workflowConfig == nil {
+ workflowConfig = vttablet.DefaultVReplicationConfig
+ }
+ if workflowConfig.HeartbeatUpdateInterval > vreplicationMinimumHeartbeatUpdateInterval {
log.Warningf("The supplied value for vreplication_heartbeat_update_interval:%d seconds is larger than the maximum allowed:%d seconds, vreplication will fallback to %d",
- vreplicationHeartbeatUpdateInterval, vreplicationMinimumHeartbeatUpdateInterval, vreplicationMinimumHeartbeatUpdateInterval)
+ workflowConfig.HeartbeatUpdateInterval, vreplicationMinimumHeartbeatUpdateInterval, vreplicationMinimumHeartbeatUpdateInterval)
}
+ vttablet.InitVReplicationConfigDefaults()
vr := &vreplicator{
vre: vre,
id: id,
source: source,
sourceVStreamer: sourceVStreamer,
stats: stats,
- dbClient: newVDBClient(dbClient, stats),
+ dbClient: newVDBClient(dbClient, stats, workflowConfig.RelayLogMaxItems),
mysqld: mysqld,
+ workflowConfig: workflowConfig,
}
vr.setExistingRowsCopied()
return vr
@@ -239,7 +247,7 @@ func (vr *vreplicator) replicate(ctx context.Context) error {
if err := vr.getSettingFKCheck(); err != nil {
return err
}
- //defensive guard, should be a no-op since it should happen after copy is done
+ // defensive guard, should be a no-op since it should happen after copy is done
defer vr.resetFKCheckAfterCopy(vr.dbClient)
if err := vr.getSettingFKRestrict(); err != nil {
return err
@@ -1105,7 +1113,7 @@ func (vr *vreplicator) newClientConnection(ctx context.Context) (*vdbClient, err
if err := dbc.Connect(); err != nil {
return nil, vterrors.Wrap(err, "can't connect to database")
}
- dbClient := newVDBClient(dbc, vr.stats)
+ dbClient := newVDBClient(dbc, vr.stats, vr.workflowConfig.RelayLogMaxItems)
if _, err := vr.setSQLMode(ctx, dbClient); err != nil {
return nil, vterrors.Wrap(err, "failed to set sql_mode")
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vreplicator_test.go b/go/vt/vttablet/tabletmanager/vreplication/vreplicator_test.go
index 20a5450741d..b4e3ba4e366 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vreplicator_test.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vreplicator_test.go
@@ -36,6 +36,7 @@ import (
"vitess.io/vitess/go/vt/dbconfigs"
"vitess.io/vitess/go/vt/mysqlctl"
"vitess.io/vitess/go/vt/schemadiff"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
@@ -232,7 +233,7 @@ func TestDeferSecondaryKeys(t *testing.T) {
_, err = dbClient.ExecuteFetch(fmt.Sprintf("delete from _vt.vreplication where id = %d", id), 1)
require.NoError(t, err)
}()
- vr := newVReplicator(id, bls, vsclient, stats, dbClient, env.Mysqld, playerEngine)
+ vr := newVReplicator(id, bls, vsclient, stats, dbClient, env.Mysqld, playerEngine, vttablet.DefaultVReplicationConfig)
getActionsSQLf := "select action from _vt.post_copy_action where table_name='%s'"
getCurrentDDL := func(tableName string) string {
req := &tabletmanagerdatapb.GetSchemaRequest{Tables: []string{tableName}}
@@ -386,7 +387,7 @@ func TestDeferSecondaryKeys(t *testing.T) {
if err != nil {
return err
}
- myvr := newVReplicator(myid, bls, vsclient, stats, dbClient, env.Mysqld, playerEngine)
+ myvr := newVReplicator(myid, bls, vsclient, stats, dbClient, env.Mysqld, playerEngine, vttablet.DefaultVReplicationConfig)
myvr.WorkflowType = int32(binlogdatapb.VReplicationWorkflowType_Reshard)
// Insert second post copy action record to simulate a shard merge where you
// have N controllers/replicators running for the same table on the tablet.
@@ -630,7 +631,7 @@ func TestCancelledDeferSecondaryKeys(t *testing.T) {
_, err = dbClient.ExecuteFetch(fmt.Sprintf("delete from _vt.vreplication where id = %d", id), 1)
require.NoError(t, err)
}()
- vr := newVReplicator(id, bls, vsclient, stats, dbClient, env.Mysqld, playerEngine)
+ vr := newVReplicator(id, bls, vsclient, stats, dbClient, env.Mysqld, playerEngine, vttablet.DefaultVReplicationConfig)
vr.WorkflowType = int32(binlogdatapb.VReplicationWorkflowType_MoveTables)
getCurrentDDL := func(tableName string) string {
req := &tabletmanagerdatapb.GetSchemaRequest{Tables: []string{tableName}}
@@ -692,7 +693,7 @@ func TestCancelledDeferSecondaryKeys(t *testing.T) {
assert.NoError(t, err)
assert.Equal(t, 1, len(res.Rows))
// TODO: figure out why the KILL never shows up...
- //require.Equal(t, "1", res.Rows[0][0].ToString())
+ // require.Equal(t, "1", res.Rows[0][0].ToString())
// Confirm that the post copy action record still exists
// so it will later be retried.
@@ -749,7 +750,7 @@ func TestResumingFromPreviousWorkflowKeepingRowsCopied(t *testing.T) {
_, err = dbClient.ExecuteFetch(fmt.Sprintf("delete from _vt.vreplication where id = %d", id), 1)
require.NoError(t, err)
}()
- vr := newVReplicator(id, bls, vsclient, stats, dbClient, env.Mysqld, playerEngine)
+ vr := newVReplicator(id, bls, vsclient, stats, dbClient, env.Mysqld, playerEngine, vttablet.DefaultVReplicationConfig)
assert.Equal(t, rowsCopied, vr.stats.CopyRowCount.Get())
}
@@ -850,8 +851,8 @@ func TestThrottlerAppNames(t *testing.T) {
_, err = dbClient.ExecuteFetch(fmt.Sprintf("delete from _vt.vreplication where id = %d", id), 1)
require.NoError(t, err)
}()
- vr := newVReplicator(id, bls, vsclient, stats, dbClient, env.Mysqld, playerEngine)
- settings, _, err := vr.loadSettings(ctx, newVDBClient(dbClient, stats))
+ vr := newVReplicator(id, bls, vsclient, stats, dbClient, env.Mysqld, playerEngine, vttablet.DefaultVReplicationConfig)
+ settings, _, err := vr.loadSettings(ctx, newVDBClient(dbClient, stats, vttablet.DefaultVReplicationConfig.RelayLogMaxItems))
require.NoError(t, err)
throttlerAppName := vr.throttlerAppName()
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vrlog_test.go b/go/vt/vttablet/tabletmanager/vreplication/vrlog_test.go
index 3bd0dcf3217..48fe7fa983e 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vrlog_test.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vrlog_test.go
@@ -23,6 +23,8 @@ import (
"strings"
"testing"
"time"
+
+ "github.com/stretchr/testify/require"
)
func TestVrLog(t *testing.T) {
@@ -49,9 +51,7 @@ func TestVrLog(t *testing.T) {
}
want := fmt.Sprintf("%s Event %s", eventType, detail)
- if !strings.Contains(s, want) {
- t.Fatalf(fmt.Sprintf("want %s, got %s", want, s))
- }
+ require.Contains(t, s, want)
if strings.HasSuffix(s, "\\n") {
t.Fatalf("does not end in a newline: %s", s)
}
@@ -65,9 +65,7 @@ func TestVrLog(t *testing.T) {
if err != nil {
t.Fatalf("Duration is not an integer: %s", err)
}
- if lastColValue == 0 {
- t.Fatalf("Duration should not be zero")
- }
+ require.NotZero(t, lastColValue, "duration")
stats = &VrLogStats{}
stats.Send("detail123")
diff --git a/go/vt/vttablet/tabletserver/binlog_watcher.go b/go/vt/vttablet/tabletserver/binlog_watcher.go
index cff7697c18a..80ac1194c7e 100644
--- a/go/vt/vttablet/tabletserver/binlog_watcher.go
+++ b/go/vt/vttablet/tabletserver/binlog_watcher.go
@@ -31,7 +31,9 @@ import (
// VStreamer defines the functions of VStreamer
// that the BinlogWatcher needs.
type VStreamer interface {
- Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter, throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error) error
+ Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK,
+ filter *binlogdatapb.Filter, throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error,
+ options *binlogdatapb.VStreamOptions) error
}
// BinlogWatcher is a tabletserver service that watches the
@@ -93,7 +95,7 @@ func (blw *BinlogWatcher) process(ctx context.Context) {
// VStreamer will reload the schema when it encounters a DDL.
err := blw.vs.Stream(ctx, "current", nil, filter, throttlerapp.BinlogWatcherName, func(events []*binlogdatapb.VEvent) error {
return nil
- })
+ }, nil)
log.Infof("ReplicationWatcher VStream ended: %v, retrying in 5 seconds", err)
select {
case <-ctx.Done():
diff --git a/go/vt/vttablet/tabletserver/connpool/dbconn.go b/go/vt/vttablet/tabletserver/connpool/dbconn.go
index af8c5fbc78e..4f3d5fe893d 100644
--- a/go/vt/vttablet/tabletserver/connpool/dbconn.go
+++ b/go/vt/vttablet/tabletserver/connpool/dbconn.go
@@ -166,7 +166,7 @@ func (dbc *Conn) execOnce(ctx context.Context, query string, maxrows int, wantfi
// Check if the context is already past its deadline before
// trying to execute the query.
if err := ctx.Err(); err != nil {
- return nil, fmt.Errorf("%v before execution started", err)
+ return nil, vterrors.Errorf(vtrpcpb.Code_CANCELED, "%s before execution started", dbc.getErrorMessageFromContextError(ctx))
}
now := time.Now()
@@ -200,8 +200,8 @@ func (dbc *Conn) execOnce(ctx context.Context, query string, maxrows int, wantfi
}
}
-// terminate kills the query or connection based on the transaction status
-func (dbc *Conn) terminate(ctx context.Context, insideTxn bool, now time.Time) {
+// getErrorMessageFromContextError gets the error message from context error.
+func (dbc *Conn) getErrorMessageFromContextError(ctx context.Context) string {
var errMsg string
switch {
case errors.Is(ctx.Err(), context.DeadlineExceeded):
@@ -211,6 +211,12 @@ func (dbc *Conn) terminate(ctx context.Context, insideTxn bool, now time.Time) {
default:
errMsg = ctx.Err().Error()
}
+ return errMsg
+}
+
+// terminate kills the query or connection based on the transaction status
+func (dbc *Conn) terminate(ctx context.Context, insideTxn bool, now time.Time) {
+ errMsg := dbc.getErrorMessageFromContextError(ctx)
if insideTxn {
// we can't safely kill a query in a transaction, we need to kill the connection
_ = dbc.Kill(errMsg, time.Since(now))
@@ -229,7 +235,7 @@ func (dbc *Conn) FetchNext(ctx context.Context, maxrows int, wantfields bool) (*
// Check if the context is already past its deadline before
// trying to fetch the next result.
if err := ctx.Err(); err != nil {
- return nil, fmt.Errorf("%v before reading next result set", err)
+ return nil, vterrors.Errorf(vtrpcpb.Code_CANCELED, "%s before reading next result set", dbc.getErrorMessageFromContextError(ctx))
}
res, _, _, err := dbc.conn.ReadQueryResult(maxrows, wantfields)
if err != nil {
@@ -598,3 +604,7 @@ func (dbc *Conn) applySameSetting(ctx context.Context) error {
_, err := dbc.execOnce(ctx, dbc.setting.ApplyQuery(), 1, false, false)
return err
}
+
+func (dbc *Conn) IsUnixSocket() bool {
+ return dbc.conn.IsClientUnixSocket()
+}
diff --git a/go/vt/vttablet/tabletserver/connpool/dbconn_test.go b/go/vt/vttablet/tabletserver/connpool/dbconn_test.go
index 6f3c77de528..1d9104c4354 100644
--- a/go/vt/vttablet/tabletserver/connpool/dbconn_test.go
+++ b/go/vt/vttablet/tabletserver/connpool/dbconn_test.go
@@ -20,7 +20,6 @@ import (
"context"
"errors"
"fmt"
- "strings"
"sync/atomic"
"testing"
"time"
@@ -76,18 +75,12 @@ func TestDBConnExec(t *testing.T) {
if dbConn != nil {
defer dbConn.Close()
}
- if err != nil {
- t.Fatalf("should not get an error, err: %v", err)
- }
+ require.NoError(t, err)
// Exec succeed, not asking for fields.
result, err := dbConn.Exec(ctx, sql, 1, false)
- if err != nil {
- t.Fatalf("should not get an error, err: %v", err)
- }
+ require.NoError(t, err)
expectedResult.Fields = nil
- if !expectedResult.Equal(result) {
- t.Errorf("Exec: %v, want %v", expectedResult, result)
- }
+ require.True(t, expectedResult.Equal(result))
compareTimingCounts(t, "PoolTest.Exec", 1, startCounts, mysqlTimings.Counts())
@@ -100,10 +93,8 @@ func TestDBConnExec(t *testing.T) {
Query: "",
})
_, err = dbConn.Exec(ctx, sql, 1, false)
- want := "connection fail"
- if err == nil || !strings.Contains(err.Error(), want) {
- t.Errorf("Exec: %v, want %s", err, want)
- }
+ require.Error(t, err)
+ require.ErrorContains(t, err, "connection fail")
// The client side error triggers a retry in exec.
compareTimingCounts(t, "PoolTest.Exec", 2, startCounts, mysqlTimings.Counts())
@@ -114,10 +105,8 @@ func TestDBConnExec(t *testing.T) {
// This time the initial query fails as does the reconnect attempt.
db.EnableConnFail()
_, err = dbConn.Exec(ctx, sql, 1, false)
- want = "packet read failed"
- if err == nil || !strings.Contains(err.Error(), want) {
- t.Errorf("Exec: %v, want %s", err, want)
- }
+ require.Error(t, err)
+ require.ErrorContains(t, err, "packet read failed")
db.DisableConnFail()
compareTimingCounts(t, "PoolTest.Exec", 1, startCounts, mysqlTimings.Counts())
@@ -150,14 +139,10 @@ func TestDBConnExecLost(t *testing.T) {
if dbConn != nil {
defer dbConn.Close()
}
- if err != nil {
- t.Fatalf("should not get an error, err: %v", err)
- }
+ require.NoError(t, err)
// Exec succeed, not asking for fields.
result, err := dbConn.Exec(ctx, sql, 1, false)
- if err != nil {
- t.Fatalf("should not get an error, err: %v", err)
- }
+ require.NoError(t, err)
expectedResult.Fields = nil
if !expectedResult.Equal(result) {
t.Errorf("Exec: %v, want %v", expectedResult, result)
@@ -173,10 +158,8 @@ func TestDBConnExecLost(t *testing.T) {
Query: "",
})
_, err = dbConn.Exec(ctx, sql, 1, false)
- want := "Lost connection to MySQL server during query"
- if err == nil || !strings.Contains(err.Error(), want) {
- t.Errorf("Exec: %v, want %s", err, want)
- }
+ require.Error(t, err)
+ require.ErrorContains(t, err, "Lost connection to MySQL server during query")
// Should *not* see a retry, so only increment by 1
compareTimingCounts(t, "PoolTest.Exec", 1, startCounts, mysqlTimings.Counts())
@@ -212,15 +195,11 @@ func TestDBConnDeadline(t *testing.T) {
if dbConn != nil {
defer dbConn.Close()
}
- if err != nil {
- t.Fatalf("should not get an error, err: %v", err)
- }
+ require.NoError(t, err)
_, err = dbConn.Exec(ctx, sql, 1, false)
- want := "context deadline exceeded before execution started"
- if err == nil || !strings.Contains(err.Error(), want) {
- t.Errorf("Exec: %v, want %s", err, want)
- }
+ require.Error(t, err)
+ require.ErrorContains(t, err, "(errno 3024) (sqlstate HY000): Query execution was interrupted, maximum statement execution time exceeded before execution started")
compareTimingCounts(t, "PoolTest.Exec", 0, startCounts, mysqlTimings.Counts())
@@ -230,9 +209,7 @@ func TestDBConnDeadline(t *testing.T) {
defer cancel()
result, err := dbConn.Exec(ctx, sql, 1, false)
- if err != nil {
- t.Fatalf("should not get an error, err: %v", err)
- }
+ require.NoError(t, err)
expectedResult.Fields = nil
if !expectedResult.Equal(result) {
t.Errorf("Exec: %v, want %v", expectedResult, result)
@@ -244,9 +221,7 @@ func TestDBConnDeadline(t *testing.T) {
// Test with just the Background context (with no deadline)
result, err = dbConn.Exec(context.Background(), sql, 1, false)
- if err != nil {
- t.Fatalf("should not get an error, err: %v", err)
- }
+ require.NoError(t, err)
expectedResult.Fields = nil
if !expectedResult.Equal(result) {
t.Errorf("Exec: %v, want %v", expectedResult, result)
@@ -266,18 +241,14 @@ func TestDBConnKill(t *testing.T) {
if dbConn != nil {
defer dbConn.Close()
}
- if err != nil {
- t.Fatalf("should not get an error, err: %v", err)
- }
+ require.NoError(t, err)
query := fmt.Sprintf("kill %d", dbConn.ID())
db.AddQuery(query, &sqltypes.Result{})
// Kill failed because we are not able to connect to the database
db.EnableConnFail()
err = dbConn.Kill("test kill", 0)
- want := "errno 2013"
- if err == nil || !strings.Contains(err.Error(), want) {
- t.Errorf("Exec: %v, want %s", err, want)
- }
+ require.Error(t, err)
+ require.ErrorContains(t, err, "errno 2013")
db.DisableConnFail()
// Kill succeed
@@ -294,10 +265,8 @@ func TestDBConnKill(t *testing.T) {
// Kill failed because "kill query_id" failed
db.AddRejectedQuery(newKillQuery, errors.New("rejected"))
err = dbConn.Kill("test kill", 0)
- want = "rejected"
- if err == nil || !strings.Contains(err.Error(), want) {
- t.Errorf("Exec: %v, want %s", err, want)
- }
+ require.Error(t, err)
+ require.ErrorContains(t, err, "rejected")
}
func TestDBKillWithContext(t *testing.T) {
@@ -479,18 +448,17 @@ func TestDBNoPoolConnKill(t *testing.T) {
if dbConn != nil {
defer dbConn.Close()
}
- if err != nil {
- t.Fatalf("should not get an error, err: %v", err)
- }
+ require.NoError(t, err)
query := fmt.Sprintf("kill %d", dbConn.ID())
db.AddQuery(query, &sqltypes.Result{})
// Kill failed because we are not able to connect to the database
db.EnableConnFail()
err = dbConn.Kill("test kill", 0)
- want := "errno 2013"
- if err == nil || !strings.Contains(err.Error(), want) {
- t.Errorf("Exec: %v, want %s", err, want)
- }
+ require.Error(t, err)
+ var sqlErr *sqlerror.SQLError
+ isSqlErr := errors.As(sqlerror.NewSQLErrorFromError(err), &sqlErr)
+ require.True(t, isSqlErr)
+ require.EqualValues(t, sqlerror.CRServerLost, sqlErr.Number())
db.DisableConnFail()
// Kill succeed
@@ -507,10 +475,8 @@ func TestDBNoPoolConnKill(t *testing.T) {
// Kill failed because "kill query_id" failed
db.AddRejectedQuery(newKillQuery, errors.New("rejected"))
err = dbConn.Kill("test kill", 0)
- want = "rejected"
- if err == nil || !strings.Contains(err.Error(), want) {
- t.Errorf("Exec: %v, want %s", err, want)
- }
+ require.Error(t, err)
+ require.ErrorContains(t, err, "rejected")
}
func TestDBConnStream(t *testing.T) {
@@ -536,9 +502,7 @@ func TestDBConnStream(t *testing.T) {
if dbConn != nil {
defer dbConn.Close()
}
- if err != nil {
- t.Fatalf("should not get an error, err: %v", err)
- }
+ require.NoError(t, err)
var result sqltypes.Result
err = dbConn.Stream(
ctx, sql, func(r *sqltypes.Result) error {
@@ -552,12 +516,8 @@ func TestDBConnStream(t *testing.T) {
return nil
}, alloc,
10, querypb.ExecuteOptions_ALL)
- if err != nil {
- t.Fatalf("should not get an error, err: %v", err)
- }
- if !expectedResult.Equal(&result) {
- t.Errorf("Exec: %v, want %v", expectedResult, &result)
- }
+ require.NoError(t, err)
+ require.True(t, expectedResult.Equal(&result))
// Stream fail
db.Close()
dbConn.Close()
@@ -569,10 +529,8 @@ func TestDBConnStream(t *testing.T) {
},
10, querypb.ExecuteOptions_ALL)
db.DisableConnFail()
- want := "no such file or directory (errno 2002)"
- if err == nil || !strings.Contains(err.Error(), want) {
- t.Errorf("Error: '%v', must contain '%s'", err, want)
- }
+ require.Error(t, err)
+ require.ErrorContains(t, err, "no such file or directory (errno 2002)")
}
// TestDBConnKillCall tests that direct Kill method calls work as expected.
diff --git a/go/vt/vttablet/tabletserver/controller.go b/go/vt/vttablet/tabletserver/controller.go
index 0336d9a73cc..c54ab4e20dd 100644
--- a/go/vt/vttablet/tabletserver/controller.go
+++ b/go/vt/vttablet/tabletserver/controller.go
@@ -93,6 +93,24 @@ type Controller interface {
// CheckThrottler
CheckThrottler(ctx context.Context, appName string, flags *throttle.CheckFlags) *throttle.CheckResult
GetThrottlerStatus(ctx context.Context) *throttle.ThrottlerStatus
+
+ // RedoPreparedTransactions recreates the transactions with stored prepared transaction log.
+ RedoPreparedTransactions()
+
+ // SetTwoPCAllowed sets whether TwoPC is allowed or not.
+ SetTwoPCAllowed(bool)
+
+ // UnresolvedTransactions returns all unresolved transactions list
+ UnresolvedTransactions(ctx context.Context, target *querypb.Target, abandonAgeSeconds int64) ([]*querypb.TransactionMetadata, error)
+
+ // ReadTransaction returns all unresolved transactions list
+ ReadTransaction(ctx context.Context, target *querypb.Target, dtid string) (*querypb.TransactionMetadata, error)
+
+ // ConcludeTransaction deletes the distributed transaction metadata
+ ConcludeTransaction(ctx context.Context, target *querypb.Target, dtid string) error
+
+ // RollbackPrepared rolls back the prepared transaction and removes the transaction log.
+ RollbackPrepared(ctx context.Context, target *querypb.Target, dtid string, originalID int64) error
}
// Ensure TabletServer satisfies Controller interface.
diff --git a/go/vt/vttablet/tabletserver/dt_executor.go b/go/vt/vttablet/tabletserver/dt_executor.go
index 9ddca3247a3..b14e4d65d16 100644
--- a/go/vt/vttablet/tabletserver/dt_executor.go
+++ b/go/vt/vttablet/tabletserver/dt_executor.go
@@ -24,7 +24,9 @@ import (
"vitess.io/vitess/go/vt/log"
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/vterrors"
+ "vitess.io/vitess/go/vt/vttablet/tabletserver/rules"
"vitess.io/vitess/go/vt/vttablet/tabletserver/tabletenv"
"vitess.io/vitess/go/vt/vttablet/tabletserver/tx"
)
@@ -34,13 +36,15 @@ type DTExecutor struct {
ctx context.Context
logStats *tabletenv.LogStats
te *TxEngine
+ qe *QueryEngine
}
// NewDTExecutor creates a new distributed transaction executor.
-func NewDTExecutor(ctx context.Context, te *TxEngine, logStats *tabletenv.LogStats) *DTExecutor {
+func NewDTExecutor(ctx context.Context, te *TxEngine, qe *QueryEngine, logStats *tabletenv.LogStats) *DTExecutor {
return &DTExecutor{
ctx: ctx,
te: te,
+ qe: qe,
logStats: logStats,
}
}
@@ -53,6 +57,9 @@ func (dte *DTExecutor) Prepare(transactionID int64, dtid string) error {
if !dte.te.twopcEnabled {
return vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "2pc is not enabled")
}
+ if !dte.te.twopcAllowed {
+ return vterrors.VT10002("two-pc is enabled, but semi-sync is not")
+ }
defer dte.te.env.Stats().QueryTimings.Record("PREPARE", time.Now())
dte.logStats.TransactionID = transactionID
@@ -67,18 +74,61 @@ func (dte *DTExecutor) Prepare(transactionID int64, dtid string) error {
return nil
}
+ // We can only prepare on a Unix socket connection.
+ // Unix socket are reliable and we can be sure that the connection is not lost with the server after prepare.
+ if !conn.IsUnixSocket() {
+ dte.te.txPool.RollbackAndRelease(dte.ctx, conn)
+ return vterrors.VT10002("cannot prepare the transaction on a network connection")
+ }
+
// If the connection is tainted, we cannot prepare it. As there could be temporary tables involved.
if conn.IsTainted() {
dte.te.txPool.RollbackAndRelease(dte.ctx, conn)
return vterrors.VT10002("cannot prepare the transaction on a reserved connection")
}
+ // Fail Prepare if any query rule disallows it.
+ // This could be due to ongoing cutover happening in vreplication workflow
+ // regarding OnlineDDL or MoveTables.
+ for _, query := range conn.TxProperties().Queries {
+ qr := dte.qe.queryRuleSources.FilterByPlan(query.Sql, 0, query.Tables...)
+ if qr != nil {
+ act, _, _, _ := qr.GetAction("", "", nil, sqlparser.MarginComments{})
+ if act != rules.QRContinue {
+ dte.te.txPool.RollbackAndRelease(dte.ctx, conn)
+ return vterrors.VT10002("cannot prepare the transaction due to query rule")
+ }
+ }
+ }
+
err = dte.te.preparedPool.Put(conn, dtid)
if err != nil {
dte.te.txPool.RollbackAndRelease(dte.ctx, conn)
return vterrors.Errorf(vtrpcpb.Code_RESOURCE_EXHAUSTED, "prepare failed for transaction %d: %v", transactionID, err)
}
+ // Recheck the rules. As some prepare transaction could have passed the first check.
+ // If they are put in the prepared pool, then vreplication workflow waits.
+ // This check helps reject the prepare that came later.
+ for _, query := range conn.TxProperties().Queries {
+ qr := dte.qe.queryRuleSources.FilterByPlan(query.Sql, 0, query.Tables...)
+ if qr != nil {
+ act, _, _, _ := qr.GetAction("", "", nil, sqlparser.MarginComments{})
+ if act != rules.QRContinue {
+ dte.te.txPool.RollbackAndRelease(dte.ctx, conn)
+ dte.te.preparedPool.FetchForRollback(dtid)
+ return vterrors.VT10002("cannot prepare the transaction due to query rule")
+ }
+ }
+ }
+
+ // If OnlineDDL killed the connection. We should avoid the prepare for it.
+ if conn.IsClosed() {
+ dte.te.txPool.RollbackAndRelease(dte.ctx, conn)
+ dte.te.preparedPool.FetchForRollback(dtid)
+ return vterrors.VT10002("cannot prepare the transaction on a closed connection")
+ }
+
return dte.inTransaction(func(localConn *StatefulConnection) error {
return dte.te.twoPC.SaveRedo(dte.ctx, localConn, dtid, conn.TxProperties().Queries)
})
@@ -107,8 +157,8 @@ func (dte *DTExecutor) CommitPrepared(dtid string) (err error) {
ctx := trace.CopySpan(context.Background(), dte.ctx)
defer func() {
if err != nil {
- dte.markFailed(ctx, dtid)
log.Warningf("failed to commit the prepared transaction '%s' with error: %v", dtid, err)
+ dte.te.checkErrorAndMarkFailed(ctx, dtid, err, "TwopcCommit")
}
dte.te.txPool.RollbackAndRelease(ctx, conn)
}()
@@ -122,33 +172,6 @@ func (dte *DTExecutor) CommitPrepared(dtid string) (err error) {
return nil
}
-// markFailed does the necessary work to mark a CommitPrepared
-// as failed. It marks the dtid as failed in the prepared pool,
-// increments the InternalErros counter, and also changes the
-// state of the transaction in the redo log as failed. If the
-// state change does not succeed, it just logs the event.
-// The function uses the passed in context that has no timeout
-// instead of DTExecutor's context.
-func (dte *DTExecutor) markFailed(ctx context.Context, dtid string) {
- dte.te.env.Stats().InternalErrors.Add("TwopcCommit", 1)
- dte.te.preparedPool.SetFailed(dtid)
- conn, _, _, err := dte.te.txPool.Begin(ctx, &querypb.ExecuteOptions{}, false, 0, nil, nil)
- if err != nil {
- log.Errorf("markFailed: Begin failed for dtid %s: %v", dtid, err)
- return
- }
- defer dte.te.txPool.RollbackAndRelease(ctx, conn)
-
- if err = dte.te.twoPC.UpdateRedo(ctx, conn, dtid, RedoStateFailed); err != nil {
- log.Errorf("markFailed: UpdateRedo failed for dtid %s: %v", dtid, err)
- return
- }
-
- if _, err = dte.te.txPool.Commit(ctx, conn); err != nil {
- log.Errorf("markFailed: Commit failed for dtid %s: %v", dtid, err)
- }
-}
-
// RollbackPrepared rolls back a prepared transaction. This function handles
// the case of an incomplete prepare.
//
@@ -214,13 +237,13 @@ func (dte *DTExecutor) StartCommit(transactionID int64, dtid string) error {
// If the connection is tainted, we cannot take a commit decision on it.
if conn.IsTainted() {
dte.inTransaction(func(conn *StatefulConnection) error {
- return dte.te.twoPC.Transition(dte.ctx, conn, dtid, querypb.TransactionState_ROLLBACK)
+ return dte.te.twoPC.Transition(dte.ctx, conn, dtid, DTStateRollback)
})
// return the error, defer call above will roll back the transaction.
return vterrors.VT10002("cannot commit the transaction on a reserved connection")
}
- err = dte.te.twoPC.Transition(dte.ctx, conn, dtid, querypb.TransactionState_COMMIT)
+ err = dte.te.twoPC.Transition(dte.ctx, conn, dtid, DTStateCommit)
if err != nil {
return err
}
@@ -247,7 +270,7 @@ func (dte *DTExecutor) SetRollback(dtid string, transactionID int64) error {
}
return dte.inTransaction(func(conn *StatefulConnection) error {
- return dte.te.twoPC.Transition(dte.ctx, conn, dtid, querypb.TransactionState_ROLLBACK)
+ return dte.te.twoPC.Transition(dte.ctx, conn, dtid, DTStateRollback)
})
}
@@ -308,6 +331,14 @@ func (dte *DTExecutor) inTransaction(f func(*StatefulConnection) error) error {
}
// UnresolvedTransactions returns the list of unresolved distributed transactions.
-func (dte *DTExecutor) UnresolvedTransactions() ([]*querypb.TransactionMetadata, error) {
- return dte.te.twoPC.UnresolvedTransactions(dte.ctx, time.Now().Add(-dte.te.abandonAge))
+func (dte *DTExecutor) UnresolvedTransactions(requestedAge time.Duration) ([]*querypb.TransactionMetadata, error) {
+ if !dte.te.twopcEnabled {
+ return nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "2pc is not enabled")
+ }
+ // override default time if provided in the request.
+ age := dte.te.abandonAge
+ if requestedAge > 0 {
+ age = requestedAge
+ }
+ return dte.te.twoPC.UnresolvedTransactions(dte.ctx, time.Now().Add(-age))
}
diff --git a/go/vt/vttablet/tabletserver/dt_executor_test.go b/go/vt/vttablet/tabletserver/dt_executor_test.go
index fb45ab454fc..bc497b070e6 100644
--- a/go/vt/vttablet/tabletserver/dt_executor_test.go
+++ b/go/vt/vttablet/tabletserver/dt_executor_test.go
@@ -21,11 +21,17 @@ import (
"errors"
"fmt"
"reflect"
+ "regexp"
+ "strconv"
"strings"
"testing"
"time"
"vitess.io/vitess/go/event/syslogger"
+ "vitess.io/vitess/go/mysql/sqlerror"
+ "vitess.io/vitess/go/vt/vtenv"
+ "vitess.io/vitess/go/vt/vttablet/tabletserver/rules"
+ "vitess.io/vitess/go/vt/vttablet/tabletserver/schema"
"vitess.io/vitess/go/vt/vttablet/tabletserver/tx"
"github.com/stretchr/testify/require"
@@ -42,9 +48,8 @@ import (
func TestTxExecutorEmptyPrepare(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
// start a transaction.
txid := newTransaction(tsv, nil)
@@ -65,9 +70,8 @@ func TestTxExecutorEmptyPrepare(t *testing.T) {
func TestExecutorPrepareFailure(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
// start a transaction
txid := newTxForPrep(ctx, tsv)
@@ -86,9 +90,8 @@ func TestExecutorPrepareFailure(t *testing.T) {
func TestTxExecutorPrepare(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
txid := newTxForPrep(ctx, tsv)
err := txe.Prepare(txid, "aa")
require.NoError(t, err)
@@ -106,9 +109,8 @@ func TestTxExecutorPrepare(t *testing.T) {
func TestDTExecutorPrepareResevedConn(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
txid := newTxForPrep(ctx, tsv)
// Reserve a connection
@@ -121,9 +123,8 @@ func TestDTExecutorPrepareResevedConn(t *testing.T) {
func TestTxExecutorPrepareNotInTx(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, _, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
err := txe.Prepare(0, "aa")
require.EqualError(t, err, "transaction 0: not found (potential transaction timeout)")
}
@@ -131,9 +132,8 @@ func TestTxExecutorPrepareNotInTx(t *testing.T) {
func TestTxExecutorPreparePoolFail(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
txid1 := newTxForPrep(ctx, tsv)
txid2 := newTxForPrep(ctx, tsv)
err := txe.Prepare(txid1, "aa")
@@ -147,9 +147,8 @@ func TestTxExecutorPreparePoolFail(t *testing.T) {
func TestTxExecutorPrepareRedoBeginFail(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
txid := newTxForPrep(ctx, tsv)
db.AddRejectedQuery("begin", errors.New("begin fail"))
err := txe.Prepare(txid, "aa")
@@ -161,9 +160,8 @@ func TestTxExecutorPrepareRedoBeginFail(t *testing.T) {
func TestTxExecutorPrepareRedoFail(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
txid := newTxForPrep(ctx, tsv)
err := txe.Prepare(txid, "bb")
defer txe.RollbackPrepared("bb", 0)
@@ -174,9 +172,8 @@ func TestTxExecutorPrepareRedoFail(t *testing.T) {
func TestTxExecutorPrepareRedoCommitFail(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
txid := newTxForPrep(ctx, tsv)
db.AddRejectedQuery("commit", errors.New("commit fail"))
err := txe.Prepare(txid, "aa")
@@ -185,12 +182,63 @@ func TestTxExecutorPrepareRedoCommitFail(t *testing.T) {
require.Contains(t, err.Error(), "commit fail")
}
+func TestExecutorPrepareRuleFailure(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ txe, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
+
+ alterRule := rules.NewQueryRule("disable update", "disable update", rules.QRBuffer)
+ alterRule.AddTableCond("test_table")
+
+ r := rules.New()
+ r.Add(alterRule)
+ txe.qe.queryRuleSources.RegisterSource("bufferQuery")
+ err := txe.qe.queryRuleSources.SetRules("bufferQuery", r)
+ require.NoError(t, err)
+
+ // start a transaction
+ txid := newTxForPrep(ctx, tsv)
+
+ // taint the connection.
+ sc, err := tsv.te.txPool.GetAndLock(txid, "adding query property")
+ require.NoError(t, err)
+ sc.txProps.Queries = append(sc.txProps.Queries, tx.Query{
+ Sql: "update test_table set col = 5",
+ Tables: []string{"test_table"},
+ })
+ sc.Unlock()
+
+ // try 2pc commit of Metadata Manager.
+ err = txe.Prepare(txid, "aa")
+ require.EqualError(t, err, "VT10002: atomic distributed transaction not allowed: cannot prepare the transaction due to query rule")
+}
+
+func TestExecutorPrepareConnFailure(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ txe, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
+
+ // start a transaction
+ txid := newTxForPrep(ctx, tsv)
+
+ // taint the connection.
+ sc, err := tsv.te.txPool.GetAndLock(txid, "adding query property")
+ require.NoError(t, err)
+ sc.Unlock()
+ sc.dbConn.Close()
+
+ // try 2pc commit of Metadata Manager.
+ err = txe.Prepare(txid, "aa")
+ require.EqualError(t, err, "VT10002: atomic distributed transaction not allowed: cannot prepare the transaction on a closed connection")
+}
+
func TestTxExecutorCommit(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
txid := newTxForPrep(ctx, tsv)
err := txe.Prepare(txid, "aa")
require.NoError(t, err)
@@ -204,9 +252,8 @@ func TestTxExecutorCommit(t *testing.T) {
func TestTxExecutorCommitRedoFail(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
tl := syslogger.NewTestLogger()
defer tl.Close()
@@ -237,9 +284,8 @@ func TestTxExecutorCommitRedoFail(t *testing.T) {
func TestTxExecutorCommitRedoCommitFail(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
txid := newTxForPrep(ctx, tsv)
err := txe.Prepare(txid, "aa")
require.NoError(t, err)
@@ -253,9 +299,8 @@ func TestTxExecutorCommitRedoCommitFail(t *testing.T) {
func TestTxExecutorRollbackBeginFail(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
txid := newTxForPrep(ctx, tsv)
err := txe.Prepare(txid, "aa")
require.NoError(t, err)
@@ -268,9 +313,8 @@ func TestTxExecutorRollbackBeginFail(t *testing.T) {
func TestTxExecutorRollbackRedoFail(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
txid := newTxForPrep(ctx, tsv)
// Allow all additions to redo logs to succeed
db.AddQueryPattern("insert into _vt\\.redo_state.*", &sqltypes.Result{})
@@ -284,9 +328,8 @@ func TestTxExecutorRollbackRedoFail(t *testing.T) {
func TestExecutorCreateTransaction(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, _, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
db.AddQueryPattern(fmt.Sprintf("insert into _vt\\.dt_state\\(dtid, state, time_created\\) values \\('aa', %d,.*", int(querypb.TransactionState_PREPARE)), &sqltypes.Result{})
db.AddQueryPattern("insert into _vt\\.dt_participant\\(dtid, id, keyspace, shard\\) values \\('aa', 1,.*", &sqltypes.Result{})
@@ -300,9 +343,8 @@ func TestExecutorCreateTransaction(t *testing.T) {
func TestExecutorStartCommit(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
commitTransition := fmt.Sprintf("update _vt.dt_state set state = %d where dtid = 'aa' and state = %d", int(querypb.TransactionState_COMMIT), int(querypb.TransactionState_PREPARE))
db.AddQuery(commitTransition, &sqltypes.Result{RowsAffected: 1})
@@ -320,9 +362,8 @@ func TestExecutorStartCommit(t *testing.T) {
func TestExecutorStartCommitFailure(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
// start a transaction
txid := newTxForPrep(ctx, tsv)
@@ -345,9 +386,8 @@ func TestExecutorStartCommitFailure(t *testing.T) {
func TestExecutorSetRollback(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
rollbackTransition := fmt.Sprintf("update _vt.dt_state set state = %d where dtid = 'aa' and state = %d", int(querypb.TransactionState_ROLLBACK), int(querypb.TransactionState_PREPARE))
db.AddQuery(rollbackTransition, &sqltypes.Result{RowsAffected: 1})
@@ -362,12 +402,67 @@ func TestExecutorSetRollback(t *testing.T) {
require.Contains(t, err.Error(), "could not transition to ROLLBACK: aa")
}
+// TestExecutorUnresolvedTransactions tests with what timestamp value the query is executed to fetch unresolved transactions.
+func TestExecutorUnresolvedTransactions(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ txe, _, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
+
+ pattern := `(?i)select\s+t\.dtid,\s+t\.state,\s+t\.time_created,\s+p\.keyspace,\s+p\.shard\s+from\s+_vt\.dt_state\s+t\s+join\s+_vt\.dt_participant\s+p\s+on\s+t\.dtid\s+=\s+p\.dtid\s+where\s+time_created\s+<\s+(\d+)\s+order\s+by\s+t\.state\s+desc,\s+t\.dtid`
+ re := regexp.MustCompile(pattern)
+
+ var executedQuery string
+ db.AddQueryPatternWithCallback(pattern, &sqltypes.Result{}, func(query string) {
+ executedQuery = query
+ })
+
+ tcases := []struct {
+ abandonAge time.Duration
+ expected time.Time
+ }{
+ {abandonAge: 0, expected: time.Now().Add(-txe.te.abandonAge)},
+ {abandonAge: 100 * time.Second, expected: time.Now().Add(-100 * time.Second)},
+ }
+
+ for _, tcase := range tcases {
+ t.Run(fmt.Sprintf("abandonAge=%v", tcase.abandonAge), func(t *testing.T) {
+ _, err := txe.UnresolvedTransactions(tcase.abandonAge)
+ require.NoError(t, err)
+ require.NotEmpty(t, executedQuery)
+
+ // extract the time value
+ matches := re.FindStringSubmatch(executedQuery)
+ require.Len(t, matches, 2)
+ timeCreated := convertNanoStringToTime(t, matches[1])
+
+ // diff should be in microseconds, so we allow 10ms difference
+ require.WithinDuration(t, timeCreated, tcase.expected, 10*time.Millisecond)
+ })
+ }
+
+}
+
+func convertNanoStringToTime(t *testing.T, unixNanoStr string) time.Time {
+ t.Helper()
+
+ // Convert the string to an integer (int64)
+ unixNano, err := strconv.ParseInt(unixNanoStr, 10, 64)
+ require.NoError(t, err)
+
+ // Convert nanoseconds to seconds and nanoseconds
+ seconds := unixNano / int64(time.Second)
+ nanos := unixNano % int64(time.Second)
+
+ // Create a time.Time object
+ return time.Unix(seconds, nanos)
+}
+
func TestExecutorConcludeTransaction(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, _, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
db.AddQuery("delete from _vt.dt_state where dtid = 'aa'", &sqltypes.Result{})
db.AddQuery("delete from _vt.dt_participant where dtid = 'aa'", &sqltypes.Result{})
@@ -378,9 +473,8 @@ func TestExecutorConcludeTransaction(t *testing.T) {
func TestExecutorReadTransaction(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, _, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
db.AddQuery("select dtid, state, time_created from _vt.dt_state where dtid = 'aa'", &sqltypes.Result{})
got, err := txe.ReadTransaction("aa")
@@ -480,9 +574,8 @@ func TestExecutorReadTransaction(t *testing.T) {
func TestExecutorReadAllTransactions(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- txe, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ txe, _, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
db.AddQuery(txe.te.twoPC.readAllTransactions, &sqltypes.Result{
Fields: []*querypb.Field{
@@ -597,6 +690,12 @@ func TestNoTwopc(t *testing.T) {
_, _, _, err := txe.ReadTwopcInflight()
return err
},
+ }, {
+ desc: "UnresolvedTransactions",
+ fun: func() error {
+ _, err := txe.UnresolvedTransactions(0 /* requestedAge */)
+ return err
+ },
}}
want := "2pc is not enabled"
@@ -606,20 +705,30 @@ func TestNoTwopc(t *testing.T) {
}
}
-func newTestTxExecutor(t *testing.T, ctx context.Context) (txe *DTExecutor, tsv *TabletServer, db *fakesqldb.DB) {
+func newTestTxExecutor(t *testing.T, ctx context.Context) (txe *DTExecutor, tsv *TabletServer, db *fakesqldb.DB, closer func()) {
db = setUpQueryExecutorTest(t)
logStats := tabletenv.NewLogStats(ctx, "TestTxExecutor")
tsv = newTestTabletServer(ctx, smallTxPool, db)
+ cfg := tabletenv.NewDefaultConfig()
+ cfg.DB = newDBConfigs(db)
+ env := tabletenv.NewEnv(vtenv.NewTestEnv(), cfg, "TabletServerTest")
+ se := schema.NewEngine(env)
+ qe := NewQueryEngine(env, se)
db.AddQueryPattern("insert into _vt\\.redo_state\\(dtid, state, time_created\\) values \\('aa', 1,.*", &sqltypes.Result{})
db.AddQueryPattern("insert into _vt\\.redo_statement.*", &sqltypes.Result{})
db.AddQuery("delete from _vt.redo_state where dtid = 'aa'", &sqltypes.Result{})
db.AddQuery("delete from _vt.redo_statement where dtid = 'aa'", &sqltypes.Result{})
db.AddQuery("update test_table set `name` = 2 where pk = 1 limit 10001", &sqltypes.Result{})
+ db.AddRejectedQuery("bogus", sqlerror.NewSQLError(sqlerror.ERUnknownError, sqlerror.SSUnknownSQLState, "bogus query"))
return &DTExecutor{
- ctx: ctx,
- logStats: logStats,
- te: tsv.te,
- }, tsv, db
+ ctx: ctx,
+ logStats: logStats,
+ te: tsv.te,
+ qe: qe,
+ }, tsv, db, func() {
+ db.Close()
+ tsv.StopService()
+ }
}
// newShortAgeExecutor is same as newTestTxExecutor, but shorter transaction abandon age.
diff --git a/go/vt/vttablet/tabletserver/messager/engine.go b/go/vt/vttablet/tabletserver/messager/engine.go
index 612619f7ccc..2e526fcdc3d 100644
--- a/go/vt/vttablet/tabletserver/messager/engine.go
+++ b/go/vt/vttablet/tabletserver/messager/engine.go
@@ -45,7 +45,8 @@ type TabletService interface {
// VStreamer defines the functions of VStreamer
// that the messager needs.
type VStreamer interface {
- Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter, throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error) error
+ Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter,
+ throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error, options *binlogdatapb.VStreamOptions) error
StreamResults(ctx context.Context, query string, send func(*binlogdatapb.VStreamResultsResponse) error) error
}
diff --git a/go/vt/vttablet/tabletserver/messager/message_manager.go b/go/vt/vttablet/tabletserver/messager/message_manager.go
index 2f4f8605870..a1fc27187a3 100644
--- a/go/vt/vttablet/tabletserver/messager/message_manager.go
+++ b/go/vt/vttablet/tabletserver/messager/message_manager.go
@@ -742,7 +742,7 @@ func (mm *messageManager) runOneVStream(ctx context.Context) error {
}
}
return nil
- })
+ }, nil)
return err
}
diff --git a/go/vt/vttablet/tabletserver/messager/message_manager_test.go b/go/vt/vttablet/tabletserver/messager/message_manager_test.go
index fdf39556e5c..6c323d2d95b 100644
--- a/go/vt/vttablet/tabletserver/messager/message_manager_test.go
+++ b/go/vt/vttablet/tabletserver/messager/message_manager_test.go
@@ -889,7 +889,8 @@ func (fv *fakeVStreamer) setPollerResponse(pr []*binlogdatapb.VStreamResultsResp
fv.pollerResponse = pr
}
-func (fv *fakeVStreamer) Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter, throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error) error {
+func (fv *fakeVStreamer) Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK,
+ filter *binlogdatapb.Filter, throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error, options *binlogdatapb.VStreamOptions) error {
fv.streamInvocations.Add(1)
for {
fv.mu.Lock()
diff --git a/go/vt/vttablet/tabletserver/planbuilder/builder.go b/go/vt/vttablet/tabletserver/planbuilder/builder.go
index 94f5fc1caa2..6df89f7caf8 100644
--- a/go/vt/vttablet/tabletserver/planbuilder/builder.go
+++ b/go/vt/vttablet/tabletserver/planbuilder/builder.go
@@ -33,7 +33,7 @@ func analyzeSelect(env *vtenv.Environment, sel *sqlparser.Select, tables map[str
PlanID: PlanSelect,
FullQuery: GenerateLimitQuery(sel),
}
- plan.Table, plan.AllTables = lookupTables(sel.From, tables)
+ plan.Table = lookupTables(sel.From, tables)
if sel.Where != nil {
comp, ok := sel.Where.Expr.(*sqlparser.ComparisonExpr)
@@ -72,7 +72,7 @@ func analyzeUpdate(upd *sqlparser.Update, tables map[string]*schema.Table) (plan
plan = &Plan{
PlanID: PlanUpdate,
}
- plan.Table, plan.AllTables = lookupTables(upd.TableExprs, tables)
+ plan.Table = lookupTables(upd.TableExprs, tables)
// Store the WHERE clause as string for the hot row protection (txserializer).
if upd.Where != nil {
@@ -102,7 +102,7 @@ func analyzeDelete(del *sqlparser.Delete, tables map[string]*schema.Table) (plan
plan = &Plan{
PlanID: PlanDelete,
}
- plan.Table, plan.AllTables = lookupTables(del.TableExprs, tables)
+ plan.Table = lookupTables(del.TableExprs, tables)
if del.Where != nil {
buf := sqlparser.NewTrackedBuffer(nil)
@@ -127,11 +127,7 @@ func analyzeInsert(ins *sqlparser.Insert, tables map[string]*schema.Table) (plan
FullQuery: GenerateFullQuery(ins),
}
- tableName, err := ins.Table.TableName()
- if err != nil {
- return nil, err
- }
- plan.Table = tables[sqlparser.GetTableName(tableName).String()]
+ plan.Table = lookupTables(sqlparser.TableExprs{ins.Table}, tables)
return plan, nil
}
@@ -188,16 +184,26 @@ func analyzeSet(set *sqlparser.Set) (plan *Plan) {
}
}
-func lookupTables(tableExprs sqlparser.TableExprs, tables map[string]*schema.Table) (singleTable *schema.Table, allTables []*schema.Table) {
+func lookupTables(tableExprs sqlparser.TableExprs, tables map[string]*schema.Table) (singleTable *schema.Table) {
for _, tableExpr := range tableExprs {
if t := lookupSingleTable(tableExpr, tables); t != nil {
- allTables = append(allTables, t)
+ if singleTable != nil {
+ return nil
+ }
+ singleTable = t
}
}
- if len(allTables) == 1 {
- singleTable = allTables[0]
+ return singleTable
+}
+
+func lookupAllTables(stmt sqlparser.Statement, tables map[string]*schema.Table) (allTables []*schema.Table) {
+ tablesUsed := sqlparser.ExtractAllTables(stmt)
+ for _, tbl := range tablesUsed {
+ if t := tables[tbl]; t != nil {
+ allTables = append(allTables, t)
+ }
}
- return singleTable, allTables
+ return allTables
}
func lookupSingleTable(tableExpr sqlparser.TableExpr, tables map[string]*schema.Table) *schema.Table {
@@ -229,12 +235,14 @@ func analyzeFlush(stmt *sqlparser.Flush, tables map[string]*schema.Table) (*Plan
for _, tbl := range stmt.TableNames {
if schemaTbl, ok := tables[tbl.Name.String()]; ok {
- plan.AllTables = append(plan.AllTables, schemaTbl)
+ if plan.Table != nil {
+ // If there are multiple tables, we empty out the table field.
+ plan.Table = nil
+ break
+ }
+ plan.Table = schemaTbl
}
}
- if len(plan.AllTables) == 1 {
- plan.Table = plan.AllTables[0]
- }
if stmt.WithLock {
plan.NeedsReservedConn = true
diff --git a/go/vt/vttablet/tabletserver/planbuilder/permission.go b/go/vt/vttablet/tabletserver/planbuilder/permission.go
index dbc6cfccdad..1949d6ce739 100644
--- a/go/vt/vttablet/tabletserver/planbuilder/permission.go
+++ b/go/vt/vttablet/tabletserver/planbuilder/permission.go
@@ -45,17 +45,17 @@ func BuildPermissions(stmt sqlparser.Statement) []Permission {
case *sqlparser.Union:
permissions = buildSubqueryPermissions(node, tableacl.READER, permissions)
case *sqlparser.Insert:
- permissions = buildTableExprPermissions(node.Table, tableacl.WRITER, permissions)
+ permissions = buildTableExprPermissions(node.Table, tableacl.WRITER, nil, permissions)
permissions = buildSubqueryPermissions(node, tableacl.READER, permissions)
case *sqlparser.Update:
- permissions = buildTableExprsPermissions(node.TableExprs, tableacl.WRITER, permissions)
+ permissions = buildTableExprsPermissions(node.TableExprs, tableacl.WRITER, nil, permissions)
permissions = buildSubqueryPermissions(node, tableacl.READER, permissions)
case *sqlparser.Delete:
- permissions = buildTableExprsPermissions(node.TableExprs, tableacl.WRITER, permissions)
+ permissions = buildTableExprsPermissions(node.TableExprs, tableacl.WRITER, nil, permissions)
permissions = buildSubqueryPermissions(node, tableacl.READER, permissions)
case sqlparser.DDLStatement:
for _, t := range node.AffectedTables() {
- permissions = buildTableNamePermissions(t, tableacl.ADMIN, permissions)
+ permissions = buildTableNamePermissions(t, tableacl.ADMIN, nil, permissions)
}
case
*sqlparser.AlterMigration,
@@ -66,10 +66,10 @@ func BuildPermissions(stmt sqlparser.Statement) []Permission {
permissions = []Permission{} // TODO(shlomi) what are the correct permissions here? Table is unknown
case *sqlparser.Flush:
for _, t := range node.TableNames {
- permissions = buildTableNamePermissions(t, tableacl.ADMIN, permissions)
+ permissions = buildTableNamePermissions(t, tableacl.ADMIN, nil, permissions)
}
case *sqlparser.Analyze:
- permissions = buildTableNamePermissions(node.Table, tableacl.WRITER, permissions)
+ permissions = buildTableNamePermissions(node.Table, tableacl.WRITER, nil, permissions)
case *sqlparser.OtherAdmin, *sqlparser.CallProc, *sqlparser.Begin, *sqlparser.Commit, *sqlparser.Rollback,
*sqlparser.Load, *sqlparser.Savepoint, *sqlparser.Release, *sqlparser.SRollback, *sqlparser.Set, *sqlparser.Show, sqlparser.Explain,
*sqlparser.UnlockTables:
@@ -81,43 +81,92 @@ func BuildPermissions(stmt sqlparser.Statement) []Permission {
}
func buildSubqueryPermissions(stmt sqlparser.Statement, role tableacl.Role, permissions []Permission) []Permission {
- _ = sqlparser.Walk(func(node sqlparser.SQLNode) (bool, error) {
- if sel, ok := node.(*sqlparser.Select); ok {
- permissions = buildTableExprsPermissions(sel.From, role, permissions)
+ var cteScopes [][]sqlparser.IdentifierCS
+ sqlparser.Rewrite(stmt, func(cursor *sqlparser.Cursor) bool {
+ switch node := cursor.Node().(type) {
+ case *sqlparser.Select:
+ if node.With != nil {
+ cteScopes = append(cteScopes, gatherCTEs(node.With))
+ }
+ var ctes []sqlparser.IdentifierCS
+ for _, cteScope := range cteScopes {
+ ctes = append(ctes, cteScope...)
+ }
+ permissions = buildTableExprsPermissions(node.From, role, ctes, permissions)
+ case *sqlparser.Delete:
+ if node.With != nil {
+ cteScopes = append(cteScopes, gatherCTEs(node.With))
+ }
+ case *sqlparser.Update:
+ if node.With != nil {
+ cteScopes = append(cteScopes, gatherCTEs(node.With))
+ }
+ case *sqlparser.Union:
+ if node.With != nil {
+ cteScopes = append(cteScopes, gatherCTEs(node.With))
+ }
}
- return true, nil
- }, stmt)
+ return true
+ }, func(cursor *sqlparser.Cursor) bool {
+ // When we encounter a With expression coming up, we should remove
+ // the last value from the cte scopes to ensure we none of the outer
+ // elements of the query see this table name.
+ _, isWith := cursor.Node().(*sqlparser.With)
+ if isWith {
+ cteScopes = cteScopes[:len(cteScopes)-1]
+ }
+ return true
+ })
return permissions
}
-func buildTableExprsPermissions(node []sqlparser.TableExpr, role tableacl.Role, permissions []Permission) []Permission {
+// gatherCTEs gathers the CTEs from the WITH clause.
+func gatherCTEs(with *sqlparser.With) []sqlparser.IdentifierCS {
+ var ctes []sqlparser.IdentifierCS
+ for _, cte := range with.CTEs {
+ ctes = append(ctes, cte.ID)
+ }
+ return ctes
+}
+
+func buildTableExprsPermissions(node []sqlparser.TableExpr, role tableacl.Role, ctes []sqlparser.IdentifierCS, permissions []Permission) []Permission {
for _, node := range node {
- permissions = buildTableExprPermissions(node, role, permissions)
+ permissions = buildTableExprPermissions(node, role, ctes, permissions)
}
return permissions
}
-func buildTableExprPermissions(node sqlparser.TableExpr, role tableacl.Role, permissions []Permission) []Permission {
+func buildTableExprPermissions(node sqlparser.TableExpr, role tableacl.Role, ctes []sqlparser.IdentifierCS, permissions []Permission) []Permission {
switch node := node.(type) {
case *sqlparser.AliasedTableExpr:
// An AliasedTableExpr can also be a derived table, but we should skip them here
// because the buildSubQueryPermissions walker will catch them and extract
// the corresponding table names.
if tblName, ok := node.Expr.(sqlparser.TableName); ok {
- permissions = buildTableNamePermissions(tblName, role, permissions)
+ permissions = buildTableNamePermissions(tblName, role, ctes, permissions)
}
case *sqlparser.ParenTableExpr:
- permissions = buildTableExprsPermissions(node.Exprs, role, permissions)
+ permissions = buildTableExprsPermissions(node.Exprs, role, ctes, permissions)
case *sqlparser.JoinTableExpr:
- permissions = buildTableExprPermissions(node.LeftExpr, role, permissions)
- permissions = buildTableExprPermissions(node.RightExpr, role, permissions)
+ permissions = buildTableExprPermissions(node.LeftExpr, role, ctes, permissions)
+ permissions = buildTableExprPermissions(node.RightExpr, role, ctes, permissions)
}
return permissions
}
-func buildTableNamePermissions(node sqlparser.TableName, role tableacl.Role, permissions []Permission) []Permission {
+func buildTableNamePermissions(node sqlparser.TableName, role tableacl.Role, ctes []sqlparser.IdentifierCS, permissions []Permission) []Permission {
+ tableName := node.Name.String()
+ // Check whether this table is a cte or not.
+ // If the table name is qualified, then it cannot be a cte.
+ if node.Qualifier.IsEmpty() {
+ for _, cte := range ctes {
+ if cte.String() == tableName {
+ return permissions
+ }
+ }
+ }
permissions = append(permissions, Permission{
- TableName: node.Name.String(),
+ TableName: tableName,
Role: role,
})
return permissions
diff --git a/go/vt/vttablet/tabletserver/planbuilder/permission_test.go b/go/vt/vttablet/tabletserver/planbuilder/permission_test.go
index 0ece6ed19b2..ab238661664 100644
--- a/go/vt/vttablet/tabletserver/planbuilder/permission_test.go
+++ b/go/vt/vttablet/tabletserver/planbuilder/permission_test.go
@@ -180,6 +180,45 @@ func TestBuildPermissions(t *testing.T) {
TableName: "seq",
Role: tableacl.WRITER,
}},
+ }, {
+ input: "with t as (select count(*) as a from user) select a from t",
+ output: []Permission{{
+ TableName: "user",
+ Role: tableacl.READER,
+ }},
+ }, {
+ input: "with d as (select id, count(*) as a from user) select d.a from music join d on music.user_id = d.id group by 1",
+ output: []Permission{{
+ TableName: "music",
+ Role: tableacl.READER,
+ }, {
+ TableName: "user",
+ Role: tableacl.READER,
+ }},
+ }, {
+ input: "WITH t1 AS ( SELECT id FROM t2 ) SELECT * FROM t1 JOIN ks.t1 AS t3",
+ output: []Permission{{
+ TableName: "t1",
+ Role: tableacl.READER,
+ }, {
+ TableName: "t2",
+ Role: tableacl.READER,
+ }},
+ }, {
+ input: "WITH RECURSIVE t1 (n) AS ( SELECT id from t2 UNION ALL SELECT n + 1 FROM t1 WHERE n < 5 ) SELECT * FROM t1 JOIN t1 AS t3",
+ output: []Permission{{
+ TableName: "t2",
+ Role: tableacl.READER,
+ }},
+ }, {
+ input: "(with t1 as (select count(*) as a from user) select a from t1) union select * from t1",
+ output: []Permission{{
+ TableName: "user",
+ Role: tableacl.READER,
+ }, {
+ TableName: "t1",
+ Role: tableacl.READER,
+ }},
}}
for _, tcase := range tcases {
diff --git a/go/vt/vttablet/tabletserver/planbuilder/plan.go b/go/vt/vttablet/tabletserver/planbuilder/plan.go
index 7b1e57c2f90..f18ea59a714 100644
--- a/go/vt/vttablet/tabletserver/planbuilder/plan.go
+++ b/go/vt/vttablet/tabletserver/planbuilder/plan.go
@@ -157,7 +157,7 @@ type Plan struct {
PlanID PlanType
// When the query indicates a single table
Table *schema.Table
- // SELECT, UPDATE, DELETE statements may list multiple tables
+ // This indicates all the tables that are accessed in the query.
AllTables []*schema.Table
// Permissions stores the permissions for the tables accessed in the query.
@@ -257,6 +257,7 @@ func Build(env *vtenv.Environment, statement sqlparser.Statement, tables map[str
if err != nil {
return nil, err
}
+ plan.AllTables = lookupAllTables(statement, tables)
plan.Permissions = BuildPermissions(statement)
return plan, nil
}
@@ -274,14 +275,14 @@ func BuildStreaming(statement sqlparser.Statement, tables map[string]*schema.Tab
if hasLockFunc(stmt) {
plan.NeedsReservedConn = true
}
- plan.Table, plan.AllTables = lookupTables(stmt.From, tables)
+ plan.Table = lookupTables(stmt.From, tables)
case *sqlparser.Show, *sqlparser.Union, *sqlparser.CallProc, sqlparser.Explain:
case *sqlparser.Analyze:
plan.PlanID = PlanOtherRead
default:
return nil, vterrors.Errorf(vtrpcpb.Code_FAILED_PRECONDITION, "%s not allowed for streaming", sqlparser.ASTToStatementType(statement))
}
-
+ plan.AllTables = lookupAllTables(statement, tables)
return plan, nil
}
diff --git a/go/vt/vttablet/tabletserver/query_executor.go b/go/vt/vttablet/tabletserver/query_executor.go
index 02b8dd9171a..1318f2b90ab 100644
--- a/go/vt/vttablet/tabletserver/query_executor.go
+++ b/go/vt/vttablet/tabletserver/query_executor.go
@@ -29,12 +29,14 @@ import (
"vitess.io/vitess/go/mysql/replication"
"vitess.io/vitess/go/mysql/sqlerror"
"vitess.io/vitess/go/pools/smartconnpool"
-
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/trace"
"vitess.io/vitess/go/vt/callerid"
"vitess.io/vitess/go/vt/callinfo"
"vitess.io/vitess/go/vt/log"
+ querypb "vitess.io/vitess/go/vt/proto/query"
+ topodatapb "vitess.io/vitess/go/vt/proto/topodata"
+ vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
"vitess.io/vitess/go/vt/schema"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/tableacl"
@@ -45,10 +47,7 @@ import (
"vitess.io/vitess/go/vt/vttablet/tabletserver/rules"
eschema "vitess.io/vitess/go/vt/vttablet/tabletserver/schema"
"vitess.io/vitess/go/vt/vttablet/tabletserver/tabletenv"
-
- querypb "vitess.io/vitess/go/vt/proto/query"
- topodatapb "vitess.io/vitess/go/vt/proto/topodata"
- vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
+ "vitess.io/vitess/go/vt/vttablet/tabletserver/tx"
)
// QueryExecutor is used for executing a query request.
@@ -192,8 +191,10 @@ func (qre *QueryExecutor) Execute() (reply *sqltypes.Result, err error) {
return qr, nil
case p.PlanOtherRead, p.PlanOtherAdmin, p.PlanFlush, p.PlanSavepoint, p.PlanRelease, p.PlanSRollback:
return qre.execOther()
- case p.PlanInsert, p.PlanUpdate, p.PlanDelete, p.PlanInsertMessage, p.PlanDDL, p.PlanLoad:
+ case p.PlanInsert, p.PlanUpdate, p.PlanDelete, p.PlanInsertMessage, p.PlanLoad:
return qre.execAutocommit(qre.txConnExec)
+ case p.PlanDDL:
+ return qre.execDDL(nil)
case p.PlanUpdateLimit, p.PlanDeleteLimit:
return qre.execAsTransaction(qre.txConnExec)
case p.PlanCallProc:
@@ -538,7 +539,7 @@ func (qre *QueryExecutor) checkAccess(authorized *tableacl.ACLResult, tableName
return nil
}
-func (qre *QueryExecutor) execDDL(conn *StatefulConnection) (*sqltypes.Result, error) {
+func (qre *QueryExecutor) execDDL(conn *StatefulConnection) (result *sqltypes.Result, err error) {
// Let's see if this is a normal DDL statement or an Online DDL statement.
// An Online DDL statement is identified by /*vt+ .. */ comment with expected directives, like uuid etc.
if onlineDDL, err := schema.OnlineDDLFromCommentedStatement(qre.plan.FullStmt); err == nil {
@@ -549,6 +550,21 @@ func (qre *QueryExecutor) execDDL(conn *StatefulConnection) (*sqltypes.Result, e
}
}
+ if conn == nil {
+ conn, err = qre.tsv.te.txPool.createConn(qre.ctx, qre.options, qre.setting)
+ if err != nil {
+ return nil, err
+ }
+ defer conn.Release(tx.ConnRelease)
+ }
+
+ // A DDL statement should commit the current transaction in the VTGate.
+ // The change was made in PR: https://github.com/vitessio/vitess/pull/14110 in v18.
+ // DDL statement received by vttablet will be outside of a transaction.
+ if conn.txProps != nil {
+ return nil, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "DDL statement executed inside a transaction")
+ }
+
isTemporaryTable := false
if ddlStmt, ok := qre.plan.FullStmt.(sqlparser.DDLStatement); ok {
isTemporaryTable = ddlStmt.IsTemporary()
@@ -580,19 +596,7 @@ func (qre *QueryExecutor) execDDL(conn *StatefulConnection) (*sqltypes.Result, e
return nil, err
}
}
- result, err := qre.execStatefulConn(conn, sql, true)
- if err != nil {
- return nil, err
- }
- // Only perform this operation when the connection has transaction open.
- // TODO: This actually does not retain the old transaction. We should see how to provide correct behaviour to client.
- if conn.txProps != nil {
- err = qre.BeginAgain(qre.ctx, conn)
- if err != nil {
- return nil, err
- }
- }
- return result, nil
+ return qre.execStatefulConn(conn, sql, true)
}
func (qre *QueryExecutor) execLoad(conn *StatefulConnection) (*sqltypes.Result, error) {
@@ -603,20 +607,6 @@ func (qre *QueryExecutor) execLoad(conn *StatefulConnection) (*sqltypes.Result,
return result, nil
}
-// BeginAgain commits the existing transaction and begins a new one
-func (*QueryExecutor) BeginAgain(ctx context.Context, dc *StatefulConnection) error {
- if dc.IsClosed() || dc.TxProperties().Autocommit {
- return nil
- }
- if _, err := dc.Exec(ctx, "commit", 1, false); err != nil {
- return err
- }
- if _, err := dc.Exec(ctx, "begin", 1, false); err != nil {
- return err
- }
- return nil
-}
-
func (qre *QueryExecutor) execNextval() (*sqltypes.Result, error) {
env := evalengine.NewExpressionEnv(qre.ctx, qre.bindVars, evalengine.NewEmptyVCursor(qre.tsv.Environment(), time.Local))
result, err := env.Evaluate(qre.plan.NextCount)
@@ -670,7 +660,6 @@ func (qre *QueryExecutor) execNextval() (*sqltypes.Result, error) {
newLast += cache
}
query = fmt.Sprintf("update %s set next_id = %d where id = 0", sqlparser.String(tableName), newLast)
- conn.TxProperties().RecordQuery(query)
_, err = qre.execStatefulConn(conn, query, false)
if err != nil {
return nil, err
@@ -807,7 +796,7 @@ func (qre *QueryExecutor) txFetch(conn *StatefulConnection, record bool) (*sqlty
}
// Only record successful queries.
if record {
- conn.TxProperties().RecordQuery(sql)
+ conn.TxProperties().RecordQueryDetail(sql, qre.plan.TableNames())
}
return qr, nil
}
diff --git a/go/vt/vttablet/tabletserver/query_executor_test.go b/go/vt/vttablet/tabletserver/query_executor_test.go
index 771d9e3479d..78daad2e616 100644
--- a/go/vt/vttablet/tabletserver/query_executor_test.go
+++ b/go/vt/vttablet/tabletserver/query_executor_test.go
@@ -87,7 +87,8 @@ func TestQueryExecutorPlans(t *testing.T) {
// If empty, then we should expect the same as logWant.
inTxWant string
// errorWant is the error we expect to get, if any, and should be nil if no error should be returned
- errorWant error
+ errorWant string
+ onlyInTxErr bool
// TxThrottler allows the test case to override the transaction throttler
txThrottler txthrottler.TxThrottler
}{{
@@ -196,9 +197,11 @@ func TestQueryExecutorPlans(t *testing.T) {
query: "alter table test_table add column zipcode int",
result: dmlResult,
}},
- resultWant: dmlResult,
- planWant: "DDL",
- logWant: "alter table test_table add column zipcode int",
+ resultWant: dmlResult,
+ planWant: "DDL",
+ logWant: "alter table test_table add column zipcode int",
+ onlyInTxErr: true,
+ errorWant: "DDL statement executed inside a transaction",
}, {
input: "savepoint a",
dbResponses: []dbResponse{{
@@ -215,20 +218,24 @@ func TestQueryExecutorPlans(t *testing.T) {
query: "alter table `user` add key a (id)",
result: emptyResult,
}},
- resultWant: emptyResult,
- planWant: "DDL",
- logWant: "alter table `user` add key a (id)",
- inTxWant: "alter table `user` add key a (id)",
+ resultWant: emptyResult,
+ planWant: "DDL",
+ logWant: "alter table `user` add key a (id)",
+ inTxWant: "alter table `user` add key a (id)",
+ onlyInTxErr: true,
+ errorWant: "DDL statement executed inside a transaction",
}, {
input: "create index a on user(id1 + id2)",
dbResponses: []dbResponse{{
query: "create index a on user(id1 + id2)",
result: emptyResult,
}},
- resultWant: emptyResult,
- planWant: "DDL",
- logWant: "create index a on user(id1 + id2)",
- inTxWant: "create index a on user(id1 + id2)",
+ resultWant: emptyResult,
+ planWant: "DDL",
+ logWant: "create index a on user(id1 + id2)",
+ inTxWant: "create index a on user(id1 + id2)",
+ onlyInTxErr: true,
+ errorWant: "DDL statement executed inside a transaction",
}, {
input: "ROLLBACK work to SAVEPOINT a",
dbResponses: []dbResponse{{
@@ -282,7 +289,7 @@ func TestQueryExecutorPlans(t *testing.T) {
query: "update test_table set a = 1 limit 10001",
result: dmlResult,
}},
- errorWant: errTxThrottled,
+ errorWant: "Transaction throttled",
txThrottler: &mockTxThrottler{true},
}, {
input: "update test_table set a=1",
@@ -291,7 +298,7 @@ func TestQueryExecutorPlans(t *testing.T) {
query: "update test_table set a = 1 limit 10001",
result: dmlResult,
}},
- errorWant: errTxThrottled,
+ errorWant: "Transaction throttled",
txThrottler: &mockTxThrottler{true},
},
}
@@ -315,13 +322,13 @@ func TestQueryExecutorPlans(t *testing.T) {
// Test outside a transaction.
qre := newTestQueryExecutor(ctx, tsv, tcase.input, 0)
got, err := qre.Execute()
- if tcase.errorWant == nil {
+ if tcase.errorWant != "" && !tcase.onlyInTxErr {
+ assert.EqualError(t, err, tcase.errorWant)
+ } else {
require.NoError(t, err, tcase.input)
assert.Equal(t, tcase.resultWant, got, tcase.input)
assert.Equal(t, tcase.planWant, qre.logStats.PlanType, tcase.input)
assert.Equal(t, tcase.logWant, qre.logStats.RewrittenSQL(), tcase.input)
- } else {
- assert.True(t, vterrors.Equals(err, tcase.errorWant))
}
// Wait for the existing query to be processed by the cache
time.Sleep(100 * time.Millisecond)
@@ -329,25 +336,29 @@ func TestQueryExecutorPlans(t *testing.T) {
// Test inside a transaction.
target := tsv.sm.Target()
state, err := tsv.Begin(ctx, target, nil)
- if tcase.errorWant == nil {
- require.NoError(t, err)
- require.NotNil(t, state.TabletAlias, "alias should not be nil")
- assert.Equal(t, tsv.alias, state.TabletAlias, "Wrong alias returned by Begin")
- defer tsv.Commit(ctx, target, state.TransactionID)
-
- qre = newTestQueryExecutor(ctx, tsv, tcase.input, state.TransactionID)
- got, err = qre.Execute()
- require.NoError(t, err, tcase.input)
- assert.Equal(t, tcase.resultWant, got, "in tx: %v", tcase.input)
- assert.Equal(t, tcase.planWant, qre.logStats.PlanType, "in tx: %v", tcase.input)
- want := tcase.logWant
- if tcase.inTxWant != "" {
- want = tcase.inTxWant
- }
- assert.Equal(t, want, qre.logStats.RewrittenSQL(), "in tx: %v", tcase.input)
- } else {
- assert.True(t, vterrors.Equals(err, tcase.errorWant))
+ if tcase.errorWant != "" && !tcase.onlyInTxErr {
+ require.EqualError(t, err, tcase.errorWant)
+ return
}
+ require.NoError(t, err)
+ require.NotNil(t, state.TabletAlias, "alias should not be nil")
+ assert.Equal(t, tsv.alias, state.TabletAlias, "Wrong alias returned by Begin")
+ defer tsv.Commit(ctx, target, state.TransactionID)
+
+ qre = newTestQueryExecutor(ctx, tsv, tcase.input, state.TransactionID)
+ got, err = qre.Execute()
+ if tcase.onlyInTxErr {
+ require.EqualError(t, err, tcase.errorWant)
+ return
+ }
+ require.NoError(t, err, tcase.input)
+ assert.Equal(t, tcase.resultWant, got, "in tx: %v", tcase.input)
+ assert.Equal(t, tcase.planWant, qre.logStats.PlanType, "in tx: %v", tcase.input)
+ want := tcase.logWant
+ if tcase.inTxWant != "" {
+ want = tcase.inTxWant
+ }
+ assert.Equal(t, want, qre.logStats.RewrittenSQL(), "in tx: %v", tcase.input)
})
}
}
@@ -1532,9 +1543,6 @@ func newTestTabletServer(ctx context.Context, flags executorFlags, db *fakesqldb
tsv := NewTabletServer(ctx, vtenv.NewTestEnv(), "TabletServerTest", cfg, memorytopo.NewServer(ctx, ""), &topodatapb.TabletAlias{}, srvTopoCounts)
target := &querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
err := tsv.StartService(target, dbconfigs, nil /* mysqld */)
- if cfg.TwoPCEnable {
- tsv.TwoPCEngineWait()
- }
if err != nil {
panic(err)
}
diff --git a/go/vt/vttablet/tabletserver/schema/engine.go b/go/vt/vttablet/tabletserver/schema/engine.go
index 5babed271ca..aadba5739c8 100644
--- a/go/vt/vttablet/tabletserver/schema/engine.go
+++ b/go/vt/vttablet/tabletserver/schema/engine.go
@@ -40,6 +40,7 @@ import (
"vitess.io/vitess/go/vt/dbconfigs"
"vitess.io/vitess/go/vt/dbconnpool"
"vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/logutil"
"vitess.io/vitess/go/vt/mysqlctl/tmutils"
"vitess.io/vitess/go/vt/schema"
"vitess.io/vitess/go/vt/servenv"
@@ -85,9 +86,10 @@ type Engine struct {
historian *historian
- conns *connpool.Pool
- ticks *timer.Timer
- reloadTimeout time.Duration
+ conns *connpool.Pool
+ ticks *timer.Timer
+ reloadTimeout time.Duration
+ throttledLogger *logutil.ThrottledLogger
// dbCreationFailed is for preventing log spam.
dbCreationFailed bool
@@ -109,7 +111,8 @@ func NewEngine(env tabletenv.Env) *Engine {
Size: 3,
IdleTimeout: env.Config().OltpReadPool.IdleTimeout,
}),
- ticks: timer.NewTimer(reloadTime),
+ ticks: timer.NewTimer(reloadTime),
+ throttledLogger: logutil.NewThrottledLogger("schema-tracker", 1*time.Minute),
}
se.schemaCopy = env.Config().SignalWhenSchemaChange
_ = env.Exporter().NewGaugeDurationFunc("SchemaReloadTime", "vttablet keeps table schemas in its own memory and periodically refreshes it from MySQL. This config controls the reload time.", se.ticks.Interval)
@@ -448,7 +451,7 @@ func (se *Engine) reload(ctx context.Context, includeStats bool) error {
udfsChanged, err := getChangedUserDefinedFunctions(ctx, conn.Conn, shouldUseDatabase)
if err != nil {
- return err
+ se.throttledLogger.Errorf("error in getting changed UDFs: %v", err)
}
rec := concurrency.AllErrorRecorder{}
diff --git a/go/vt/vttablet/tabletserver/schema/engine_test.go b/go/vt/vttablet/tabletserver/schema/engine_test.go
index d4271dee876..1fd6098b384 100644
--- a/go/vt/vttablet/tabletserver/schema/engine_test.go
+++ b/go/vt/vttablet/tabletserver/schema/engine_test.go
@@ -467,7 +467,7 @@ func TestOpenFailedDueToExecErr(t *testing.T) {
defer db.Close()
schematest.AddDefaultQueries(db)
want := "injected error"
- db.AddRejectedQuery(mysql.BaseShowTables, fmt.Errorf(want))
+ db.AddRejectedQuery(mysql.BaseShowTables, errors.New(want))
se := newEngine(1*time.Second, 1*time.Second, 0, db)
err := se.Open()
if err == nil || !strings.Contains(err.Error(), want) {
@@ -1331,7 +1331,8 @@ func TestEngineReload(t *testing.T) {
}
// adding query pattern for udfs
- db.AddQueryPattern("SELECT name.*", &sqltypes.Result{})
+ udfQueryPattern := "SELECT name.*"
+ db.AddQueryPattern(udfQueryPattern, &sqltypes.Result{})
// Verify the list of created, altered and dropped tables seen.
se.RegisterNotifier("test", func(full map[string]*Table, created, altered, dropped []*Table, _ bool) {
@@ -1344,6 +1345,16 @@ func TestEngineReload(t *testing.T) {
err = se.reload(context.Background(), false)
require.NoError(t, err)
require.NoError(t, db.LastError())
+ require.Zero(t, se.throttledLogger.GetLastLogTime())
+
+ // Now if we remove the query pattern for udfs, schema engine shouldn't fail.
+ // Instead we should see a log message with the error.
+ db.RemoveQueryPattern(udfQueryPattern)
+ se.UnregisterNotifier("test")
+ err = se.reload(context.Background(), false)
+ require.NoError(t, err)
+ // Check for the udf error being logged. The last log time should be less than a second.
+ require.Less(t, time.Since(se.throttledLogger.GetLastLogTime()), 1*time.Second)
}
// TestEngineReload tests the vreplication specific GetTableForPos function to ensure
diff --git a/go/vt/vttablet/tabletserver/schema/tracker.go b/go/vt/vttablet/tabletserver/schema/tracker.go
index 8db202efa13..252a81f3493 100644
--- a/go/vt/vttablet/tabletserver/schema/tracker.go
+++ b/go/vt/vttablet/tabletserver/schema/tracker.go
@@ -39,7 +39,8 @@ import (
// VStreamer defines the functions of VStreamer
// that the replicationWatcher needs.
type VStreamer interface {
- Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter, throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error) error
+ Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter,
+ throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error, options *binlogdatapb.VStreamOptions) error
}
// Tracker watches the replication and saves the latest schema into the schema_version table when a DDL is encountered.
@@ -144,7 +145,7 @@ func (tr *Tracker) process(ctx context.Context) {
}
}
return nil
- })
+ }, nil)
select {
case <-ctx.Done():
return
diff --git a/go/vt/vttablet/tabletserver/schema/tracker_test.go b/go/vt/vttablet/tabletserver/schema/tracker_test.go
index 32f68597779..0e7444b39b9 100644
--- a/go/vt/vttablet/tabletserver/schema/tracker_test.go
+++ b/go/vt/vttablet/tabletserver/schema/tracker_test.go
@@ -139,7 +139,8 @@ type fakeVstreamer struct {
events [][]*binlogdatapb.VEvent
}
-func (f *fakeVstreamer) Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter, throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error) error {
+func (f *fakeVstreamer) Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK,
+ filter *binlogdatapb.Filter, throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error, options *binlogdatapb.VStreamOptions) error {
for _, events := range f.events {
err := send(events)
if err != nil {
diff --git a/go/vt/vttablet/tabletserver/state_manager.go b/go/vt/vttablet/tabletserver/state_manager.go
index 308f9165ba6..3fe78457b60 100644
--- a/go/vt/vttablet/tabletserver/state_manager.go
+++ b/go/vt/vttablet/tabletserver/state_manager.go
@@ -164,6 +164,7 @@ type (
AcceptReadWrite()
AcceptReadOnly()
Close()
+ RollbackPrepared()
}
subComponent interface {
@@ -610,6 +611,12 @@ func (sm *stateManager) terminateAllQueries(wg *sync.WaitGroup) (cancel func())
log.Infof("Killed all stateless OLTP queries.")
sm.statefulql.TerminateAll()
log.Infof("Killed all OLTP queries.")
+ // We can rollback prepared transactions only after we have killed all the write queries in progress.
+ // This is essential because when we rollback a prepared transaction, it lets go of the locks it was holding.
+ // If there were some other conflicting write in progress that hadn't been killed, then it could potentially go through
+ // and cause data corruption since we won't be able to prepare the transaction again.
+ sm.te.RollbackPrepared()
+ log.Infof("Rollbacked all prepared transactions")
}()
return cancel
}
diff --git a/go/vt/vttablet/tabletserver/state_manager_test.go b/go/vt/vttablet/tabletserver/state_manager_test.go
index 02896eeefe0..f70e77de710 100644
--- a/go/vt/vttablet/tabletserver/state_manager_test.go
+++ b/go/vt/vttablet/tabletserver/state_manager_test.go
@@ -379,6 +379,9 @@ func (te *delayedTxEngine) Close() {
time.Sleep(50 * time.Millisecond)
}
+func (te *delayedTxEngine) RollbackPrepared() {
+}
+
type killableConn struct {
id int64
killed atomic.Bool
@@ -903,6 +906,8 @@ func (te *testTxEngine) Close() {
te.state = testStateClosed
}
+func (te *testTxEngine) RollbackPrepared() {}
+
type testSubcomponent struct {
testOrderState
}
diff --git a/go/vt/vttablet/tabletserver/stateful_connection.go b/go/vt/vttablet/tabletserver/stateful_connection.go
index 067f2194655..91d51677241 100644
--- a/go/vt/vttablet/tabletserver/stateful_connection.go
+++ b/go/vt/vttablet/tabletserver/stateful_connection.go
@@ -150,7 +150,7 @@ func (sc *StatefulConnection) unlock(updateTime bool) {
return
}
if sc.dbConn.Conn.IsClosed() {
- sc.Releasef("unlocked closed connection")
+ sc.ReleaseString("unlocked closed connection")
} else {
sc.pool.markAsNotInUse(sc, updateTime)
}
@@ -159,16 +159,24 @@ func (sc *StatefulConnection) unlock(updateTime bool) {
// Release is used when the connection will not be used ever again.
// The underlying dbConn is removed so that this connection cannot be used by mistake.
func (sc *StatefulConnection) Release(reason tx.ReleaseReason) {
- sc.Releasef(reason.String())
+ sc.ReleaseString(reason.String())
}
// Releasef is used when the connection will not be used ever again.
// The underlying dbConn is removed so that this connection cannot be used by mistake.
func (sc *StatefulConnection) Releasef(reasonFormat string, a ...any) {
+ sc.ReleaseString(fmt.Sprintf(reasonFormat, a...))
+}
+
+// ReleaseString is used when the connection will not be used ever again.
+// The underlying dbConn is removed so that this connection cannot be used by mistake.
+func (sc *StatefulConnection) ReleaseString(reason string) {
if sc.dbConn == nil {
return
}
- sc.pool.unregister(sc.ConnID, fmt.Sprintf(reasonFormat, a...))
+ if sc.pool != nil {
+ sc.pool.unregister(sc.ConnID, reason)
+ }
sc.dbConn.Recycle()
sc.dbConn = nil
sc.logReservedConn()
@@ -264,7 +272,7 @@ func (sc *StatefulConnection) IsTainted() bool {
// LogTransaction logs transaction related stats
func (sc *StatefulConnection) LogTransaction(reason tx.ReleaseReason) {
if sc.txProps == nil {
- return //Nothing to log as no transaction exists on this connection.
+ return // Nothing to log as no transaction exists on this connection.
}
sc.txProps.Conclusion = reason.Name()
sc.txProps.EndTime = time.Now()
@@ -288,7 +296,7 @@ func (sc *StatefulConnection) SetTimeout(timeout time.Duration) {
// logReservedConn logs reserved connection related stats.
func (sc *StatefulConnection) logReservedConn() {
if sc.reservedProps == nil {
- return //Nothing to log as this connection is not reserved.
+ return // Nothing to log as this connection is not reserved.
}
duration := time.Since(sc.reservedProps.StartTime)
username := sc.getUsername()
@@ -315,3 +323,8 @@ func (sc *StatefulConnection) ApplySetting(ctx context.Context, setting *smartco
func (sc *StatefulConnection) resetExpiryTime() {
sc.expiryTime = time.Now().Add(sc.timeout)
}
+
+// IsUnixSocket returns true if the connection is using a unix socket
+func (sc *StatefulConnection) IsUnixSocket() bool {
+ return sc.dbConn.Conn.IsUnixSocket()
+}
diff --git a/go/vt/vttablet/tabletserver/stateful_connection_pool.go b/go/vt/vttablet/tabletserver/stateful_connection_pool.go
index 64268825b70..88fbc56fd0c 100644
--- a/go/vt/vttablet/tabletserver/stateful_connection_pool.go
+++ b/go/vt/vttablet/tabletserver/stateful_connection_pool.go
@@ -96,7 +96,7 @@ func (sf *StatefulConnectionPool) Close() {
log.Warningf("killing %s for shutdown: %s", thing, conn.String(sf.env.Config().SanitizeLogMessages, sf.env.Environment().Parser()))
sf.env.Stats().InternalErrors.Add("StrayTransactions", 1)
conn.Close()
- conn.Releasef("pool closed")
+ conn.ReleaseString("pool closed")
}
sf.conns.Close()
sf.foundRowsPool.Close()
@@ -111,7 +111,7 @@ func (sf *StatefulConnectionPool) ShutdownNonTx() {
return !sc.(*StatefulConnection).IsInTransaction()
}))
for _, sc := range conns {
- sc.Releasef("kill non-tx")
+ sc.ReleaseString("kill non-tx")
}
}
@@ -231,14 +231,14 @@ func (sf *StatefulConnectionPool) markAsNotInUse(sc *StatefulConnection, updateT
switch sf.state.Load() {
case scpKillingNonTx:
if !sc.IsInTransaction() {
- sc.Releasef("kill non-tx")
+ sc.ReleaseString("kill non-tx")
return
}
case scpKillingAll:
if sc.IsInTransaction() {
sc.Close()
}
- sc.Releasef("kill all")
+ sc.ReleaseString("kill all")
return
}
if updateTime {
diff --git a/go/vt/vttablet/tabletserver/tabletserver.go b/go/vt/vttablet/tabletserver/tabletserver.go
index e3e951892b7..1a0c6a79e67 100644
--- a/go/vt/vttablet/tabletserver/tabletserver.go
+++ b/go/vt/vttablet/tabletserver/tabletserver.go
@@ -186,7 +186,7 @@ func NewTabletServer(ctx context.Context, env *vtenv.Environment, name string, c
tsv.messager = messager.NewEngine(tsv, tsv.se, tsv.vstreamer)
tsv.tableGC = gc.NewTableGC(tsv, topoServer, tsv.lagThrottler)
- tsv.onlineDDLExecutor = onlineddl.NewExecutor(tsv, alias, topoServer, tsv.lagThrottler, tabletTypeFunc, tsv.onlineDDLExecutorToggleTableBuffer, tsv.tableGC.RequestChecks)
+ tsv.onlineDDLExecutor = onlineddl.NewExecutor(tsv, alias, topoServer, tsv.lagThrottler, tabletTypeFunc, tsv.onlineDDLExecutorToggleTableBuffer, tsv.tableGC.RequestChecks, tsv.te.preparedPool.IsEmpty)
tsv.sm = &stateManager{
statelessql: tsv.statelessql,
@@ -217,7 +217,9 @@ func NewTabletServer(ctx context.Context, env *vtenv.Environment, name string, c
tsv.exporter.NewGaugesFuncWithMultiLabels("TabletServerState", "Tablet server state labeled by state name", []string{"name"}, func() map[string]int64 {
return map[string]int64{tsv.sm.IsServingString(): 1}
})
- tsv.exporter.NewGaugeDurationFunc("QueryTimeout", "Tablet server query timeout", tsv.loadQueryTimeout)
+ tsv.exporter.NewGaugeDurationFunc("QueryTimeout", "Tablet server query timeout", func() time.Duration {
+ return time.Duration(tsv.QueryTimeout.Load())
+ })
tsv.registerHealthzHealthHandler()
tsv.registerDebugHealthHandler()
@@ -237,6 +239,28 @@ func (tsv *TabletServer) loadQueryTimeout() time.Duration {
return time.Duration(tsv.QueryTimeout.Load())
}
+func (tsv *TabletServer) loadQueryTimeoutWithTxAndOptions(txID int64, options *querypb.ExecuteOptions) time.Duration {
+ timeout := tsv.loadQueryTimeoutWithOptions(options)
+
+ if txID == 0 {
+ return timeout
+ }
+
+ // fetch the transaction timeout.
+ txTimeout := tsv.config.TxTimeoutForWorkload(querypb.ExecuteOptions_OLTP)
+
+ // Use the smaller of the two values (0 means infinity).
+ return smallerTimeout(timeout, txTimeout)
+}
+
+func (tsv *TabletServer) loadQueryTimeoutWithOptions(options *querypb.ExecuteOptions) time.Duration {
+ // returns the authoritative timeout if it is set.
+ if options != nil && options.Timeout != nil {
+ return time.Duration(options.GetAuthoritativeTimeout()) * time.Millisecond
+ }
+ return time.Duration(tsv.QueryTimeout.Load())
+}
+
// onlineDDLExecutorToggleTableBuffer is called by onlineDDLExecutor as a callback function. onlineDDLExecutor
// uses it to start/stop query buffering for a given table.
// It is onlineDDLExecutor's responsibility to make sure buffering is stopped after some definite amount of time.
@@ -476,11 +500,6 @@ func (tsv *TabletServer) TableGC() *gc.TableGC {
return tsv.tableGC
}
-// TwoPCEngineWait waits until the TwoPC engine has been opened, and the redo read
-func (tsv *TabletServer) TwoPCEngineWait() {
- tsv.te.twoPCReady.Wait()
-}
-
// SchemaEngine returns the SchemaEngine part of TabletServer.
func (tsv *TabletServer) SchemaEngine() *schema.Engine {
return tsv.se
@@ -494,7 +513,7 @@ func (tsv *TabletServer) Begin(ctx context.Context, target *querypb.Target, opti
func (tsv *TabletServer) begin(ctx context.Context, target *querypb.Target, savepointQueries []string, reservedID int64, settings []string, options *querypb.ExecuteOptions) (state queryservice.TransactionState, err error) {
state.TabletAlias = tsv.alias
err = tsv.execRequest(
- ctx, tsv.loadQueryTimeout(),
+ ctx, tsv.loadQueryTimeoutWithOptions(options),
"Begin", "begin", nil,
target, options, false, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
@@ -646,7 +665,7 @@ func (tsv *TabletServer) Prepare(ctx context.Context, target *querypb.Target, tr
"Prepare", "prepare", nil,
target, nil, true, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
- txe := NewDTExecutor(ctx, tsv.te, logStats)
+ txe := NewDTExecutor(ctx, tsv.te, tsv.qe, logStats)
return txe.Prepare(transactionID, dtid)
},
)
@@ -659,7 +678,7 @@ func (tsv *TabletServer) CommitPrepared(ctx context.Context, target *querypb.Tar
"CommitPrepared", "commit_prepared", nil,
target, nil, true, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
- txe := NewDTExecutor(ctx, tsv.te, logStats)
+ txe := NewDTExecutor(ctx, tsv.te, tsv.qe, logStats)
if DebugTwoPc {
commitPreparedDelayForTest(tsv)
}
@@ -675,7 +694,7 @@ func (tsv *TabletServer) RollbackPrepared(ctx context.Context, target *querypb.T
"RollbackPrepared", "rollback_prepared", nil,
target, nil, true, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
- txe := NewDTExecutor(ctx, tsv.te, logStats)
+ txe := NewDTExecutor(ctx, tsv.te, tsv.qe, logStats)
return txe.RollbackPrepared(dtid, originalID)
},
)
@@ -688,7 +707,7 @@ func (tsv *TabletServer) CreateTransaction(ctx context.Context, target *querypb.
"CreateTransaction", "create_transaction", nil,
target, nil, true, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
- txe := NewDTExecutor(ctx, tsv.te, logStats)
+ txe := NewDTExecutor(ctx, tsv.te, tsv.qe, logStats)
return txe.CreateTransaction(dtid, participants)
},
)
@@ -702,7 +721,7 @@ func (tsv *TabletServer) StartCommit(ctx context.Context, target *querypb.Target
"StartCommit", "start_commit", nil,
target, nil, true, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
- txe := NewDTExecutor(ctx, tsv.te, logStats)
+ txe := NewDTExecutor(ctx, tsv.te, tsv.qe, logStats)
return txe.StartCommit(transactionID, dtid)
},
)
@@ -716,7 +735,7 @@ func (tsv *TabletServer) SetRollback(ctx context.Context, target *querypb.Target
"SetRollback", "set_rollback", nil,
target, nil, true, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
- txe := NewDTExecutor(ctx, tsv.te, logStats)
+ txe := NewDTExecutor(ctx, tsv.te, tsv.qe, logStats)
return txe.SetRollback(dtid, transactionID)
},
)
@@ -730,7 +749,7 @@ func (tsv *TabletServer) ConcludeTransaction(ctx context.Context, target *queryp
"ConcludeTransaction", "conclude_transaction", nil,
target, nil, true, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
- txe := NewDTExecutor(ctx, tsv.te, logStats)
+ txe := NewDTExecutor(ctx, tsv.te, tsv.qe, logStats)
return txe.ConcludeTransaction(dtid)
},
)
@@ -743,7 +762,7 @@ func (tsv *TabletServer) ReadTransaction(ctx context.Context, target *querypb.Ta
"ReadTransaction", "read_transaction", nil,
target, nil, true, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
- txe := NewDTExecutor(ctx, tsv.te, logStats)
+ txe := NewDTExecutor(ctx, tsv.te, tsv.qe, logStats)
metadata, err = txe.ReadTransaction(dtid)
return err
},
@@ -752,14 +771,14 @@ func (tsv *TabletServer) ReadTransaction(ctx context.Context, target *querypb.Ta
}
// UnresolvedTransactions returns the unresolved distributed transaction record.
-func (tsv *TabletServer) UnresolvedTransactions(ctx context.Context, target *querypb.Target) (transactions []*querypb.TransactionMetadata, err error) {
+func (tsv *TabletServer) UnresolvedTransactions(ctx context.Context, target *querypb.Target, abandonAgeSeconds int64) (transactions []*querypb.TransactionMetadata, err error) {
err = tsv.execRequest(
ctx, tsv.loadQueryTimeout(),
"UnresolvedTransactions", "unresolved_transaction", nil,
target, nil, false, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
- txe := NewDTExecutor(ctx, tsv.te, logStats)
- transactions, err = txe.UnresolvedTransactions()
+ txe := NewDTExecutor(ctx, tsv.te, tsv.qe, logStats)
+ transactions, err = txe.UnresolvedTransactions(time.Duration(abandonAgeSeconds) * time.Second)
return err
},
)
@@ -780,17 +799,8 @@ func (tsv *TabletServer) Execute(ctx context.Context, target *querypb.Target, sq
}
func (tsv *TabletServer) execute(ctx context.Context, target *querypb.Target, sql string, bindVariables map[string]*querypb.BindVariable, transactionID int64, reservedID int64, settings []string, options *querypb.ExecuteOptions) (result *sqltypes.Result, err error) {
- allowOnShutdown := false
- timeout := tsv.loadQueryTimeout()
- if transactionID != 0 {
- allowOnShutdown = true
- // Execute calls happen for OLTP only, so we can directly fetch the
- // OLTP TX timeout.
- txTimeout := tsv.config.TxTimeoutForWorkload(querypb.ExecuteOptions_OLTP)
- // Use the smaller of the two values (0 means infinity).
- // TODO(sougou): Assign deadlines to each transaction and set query timeout accordingly.
- timeout = smallerTimeout(timeout, txTimeout)
- }
+ allowOnShutdown := transactionID != 0
+ timeout := tsv.loadQueryTimeoutWithTxAndOptions(transactionID, options)
err = tsv.execRequest(
ctx, timeout,
"Execute", sql, bindVariables,
@@ -1007,7 +1017,7 @@ func (tsv *TabletServer) beginWaitForSameRangeTransactions(ctx context.Context,
err := tsv.execRequest(
// Use (potentially longer) -queryserver-config-query-timeout and not
// -queryserver-config-txpool-timeout (defaults to 1s) to limit the waiting.
- ctx, tsv.loadQueryTimeout(),
+ ctx, tsv.loadQueryTimeoutWithOptions(options),
"", "waitForSameRangeTransactions", nil,
target, options, false, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
@@ -1171,7 +1181,7 @@ func (tsv *TabletServer) VStream(ctx context.Context, request *binlogdatapb.VStr
if err := tsv.sm.VerifyTarget(ctx, request.Target); err != nil {
return err
}
- return tsv.vstreamer.Stream(ctx, request.Position, request.TableLastPKs, request.Filter, throttlerapp.VStreamerName, send)
+ return tsv.vstreamer.Stream(ctx, request.Position, request.TableLastPKs, request.Filter, throttlerapp.VStreamerName, send, request.Options)
}
// VStreamRows streams rows from the specified starting point.
@@ -1187,7 +1197,7 @@ func (tsv *TabletServer) VStreamRows(ctx context.Context, request *binlogdatapb.
}
row = r.Rows[0]
}
- return tsv.vstreamer.StreamRows(ctx, request.Query, row, send)
+ return tsv.vstreamer.StreamRows(ctx, request.Query, row, send, request.Options)
}
// VStreamTables streams all tables.
@@ -1195,7 +1205,7 @@ func (tsv *TabletServer) VStreamTables(ctx context.Context, request *binlogdatap
if err := tsv.sm.VerifyTarget(ctx, request.Target); err != nil {
return err
}
- return tsv.vstreamer.StreamTables(ctx, send)
+ return tsv.vstreamer.StreamTables(ctx, send, request.Options)
}
// VStreamResults streams rows from the specified starting point.
@@ -1226,7 +1236,7 @@ func (tsv *TabletServer) ReserveBeginExecute(ctx context.Context, target *queryp
state.TabletAlias = tsv.alias
err = tsv.execRequest(
- ctx, tsv.loadQueryTimeout(),
+ ctx, tsv.loadQueryTimeoutWithOptions(options),
"ReserveBegin", "begin", bindVariables,
target, options, false, /* allowOnShutdown */
func(ctx context.Context, logStats *tabletenv.LogStats) error {
@@ -1291,16 +1301,8 @@ func (tsv *TabletServer) ReserveExecute(ctx context.Context, target *querypb.Tar
// needs a reserved connection to execute the query.
state.TabletAlias = tsv.alias
- allowOnShutdown := false
- timeout := tsv.loadQueryTimeout()
- if transactionID != 0 {
- allowOnShutdown = true
- // ReserveExecute is for OLTP only, so we can directly fetch the OLTP
- // TX timeout.
- txTimeout := tsv.config.TxTimeoutForWorkload(querypb.ExecuteOptions_OLTP)
- // Use the smaller of the two values (0 means infinity).
- timeout = smallerTimeout(timeout, txTimeout)
- }
+ allowOnShutdown := transactionID != 0
+ timeout := tsv.loadQueryTimeoutWithTxAndOptions(transactionID, options)
err = tsv.execRequest(
ctx, timeout,
@@ -1692,6 +1694,16 @@ func (tsv *TabletServer) GetThrottlerStatus(ctx context.Context) *throttle.Throt
return r
}
+// RedoPreparedTransactions redoes the prepared transactions.
+func (tsv *TabletServer) RedoPreparedTransactions() {
+ tsv.te.RedoPreparedTransactions()
+}
+
+// SetTwoPCAllowed sets whether TwoPC is allowed or not.
+func (tsv *TabletServer) SetTwoPCAllowed(allowed bool) {
+ tsv.te.twopcAllowed = allowed
+}
+
// HandlePanic is part of the queryservice.QueryService interface
func (tsv *TabletServer) HandlePanic(err *error) {
if x := recover(); x != nil {
@@ -1771,7 +1783,7 @@ func (tsv *TabletServer) registerQueryListHandlers(queryLists []*QueryList) {
func (tsv *TabletServer) registerTwopczHandler() {
tsv.exporter.HandleFunc("/twopcz", func(w http.ResponseWriter, r *http.Request) {
ctx := tabletenv.LocalContext()
- txe := NewDTExecutor(ctx, tsv.te, tabletenv.NewLogStats(ctx, "twopcz"))
+ txe := NewDTExecutor(ctx, tsv.te, tsv.qe, tabletenv.NewLogStats(ctx, "twopcz"))
twopczHandler(txe, w, r)
})
}
diff --git a/go/vt/vttablet/tabletserver/tabletserver_test.go b/go/vt/vttablet/tabletserver/tabletserver_test.go
index 7ffd201c0a4..97d948a4d0a 100644
--- a/go/vt/vttablet/tabletserver/tabletserver_test.go
+++ b/go/vt/vttablet/tabletserver/tabletserver_test.go
@@ -36,6 +36,7 @@ import (
"vitess.io/vitess/go/vt/callerid"
"vitess.io/vitess/go/vt/sidecardb"
"vitess.io/vitess/go/vt/vtenv"
+ "vitess.io/vitess/go/vt/vttablet/tabletserver/tx"
"vitess.io/vitess/go/mysql/fakesqldb"
"vitess.io/vitess/go/test/utils"
@@ -152,13 +153,13 @@ func TestTabletServerPrimaryToReplica(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
// Reuse code from tx_executor_test.
- _, tsv, db := newTestTxExecutor(t, ctx)
+ _, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
// This is required because the test is verifying that we rollback transactions on changing serving type,
- // but that only happens immediately if the shut down grace period is not specified.
- tsv.te.shutdownGracePeriod = 0
- tsv.sm.shutdownGracePeriod = 0
- defer tsv.StopService()
- defer db.Close()
+ // but that only happens when we have a shutdown grace period, otherwise we wait for transactions to be resolved
+ // indefinitely.
+ tsv.te.shutdownGracePeriod = 1
+ tsv.sm.shutdownGracePeriod = 1
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
state1, err := tsv.Begin(ctx, &target, nil)
require.NoError(t, err)
@@ -197,17 +198,22 @@ func TestTabletServerRedoLogIsKeptBetweenRestarts(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
// Reuse code from tx_executor_test.
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer tsv.StopService()
- defer db.Close()
- tsv.SetServingType(topodatapb.TabletType_REPLICA, time.Time{}, true, "")
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
+ // This is required because the test is verifying that we rollback transactions on changing serving type,
+ // but that only happens when we have a shutdown grace period, otherwise we wait for transactions to be resolved
+ // indefinitely.
+ tsv.te.shutdownGracePeriod = 1
+ tsv.sm.shutdownGracePeriod = 1
+ tsv.SetServingType(topodatapb.TabletType_PRIMARY, time.Time{}, false, "")
turnOnTxEngine := func() {
tsv.SetServingType(topodatapb.TabletType_PRIMARY, time.Time{}, true, "")
- tsv.TwoPCEngineWait()
}
turnOffTxEngine := func() {
- tsv.SetServingType(topodatapb.TabletType_REPLICA, time.Time{}, true, "")
+ // We can use a transition to PRIMARY non-serving or REPLICA serving to turn off the transaction engine.
+ // With primary serving, the shutdown of prepared transactions is synchronous, but for the latter its asynchronous.
+ tsv.SetServingType(topodatapb.TabletType_PRIMARY, time.Time{}, false, "")
}
tpc := tsv.te.twoPC
@@ -223,18 +229,22 @@ func TestTabletServerRedoLogIsKeptBetweenRestarts(t *testing.T) {
{Type: sqltypes.Uint64},
{Type: sqltypes.Uint64},
{Type: sqltypes.VarBinary},
+ {Type: sqltypes.Text},
},
Rows: [][]sqltypes.Value{{
sqltypes.NewVarBinary("dtid0"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary(""),
sqltypes.NewVarBinary("update test_table set `name` = 2 where pk = 1 limit 10001"),
+ sqltypes.NULL,
}},
})
turnOnTxEngine()
assert.EqualValues(t, 1, len(tsv.te.preparedPool.conns), "len(tsv.te.preparedPool.conns)")
got := tsv.te.preparedPool.conns["dtid0"].TxProperties().Queries
- want := []string{"update test_table set `name` = 2 where pk = 1 limit 10001"}
+ want := []tx.Query{{
+ Sql: "update test_table set `name` = 2 where pk = 1 limit 10001",
+ Tables: []string{"test_table"}}}
utils.MustMatch(t, want, got, "Prepared queries")
turnOffTxEngine()
assert.Empty(t, tsv.te.preparedPool.conns, "tsv.te.preparedPool.conns")
@@ -247,30 +257,39 @@ func TestTabletServerRedoLogIsKeptBetweenRestarts(t *testing.T) {
{Type: sqltypes.Uint64},
{Type: sqltypes.Uint64},
{Type: sqltypes.VarBinary},
+ {Type: sqltypes.Text},
},
Rows: [][]sqltypes.Value{{
sqltypes.NewVarBinary("bogus"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary(""),
sqltypes.NewVarBinary("bogus"),
+ sqltypes.NULL,
}, {
sqltypes.NewVarBinary("a:b:10"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary(""),
sqltypes.NewVarBinary("update test_table set `name` = 2 where pk = 1 limit 10001"),
+ sqltypes.NULL,
}, {
sqltypes.NewVarBinary("a:b:20"),
sqltypes.NewInt64(RedoStateFailed),
sqltypes.NewVarBinary(""),
sqltypes.NewVarBinary("unused"),
+ sqltypes.TestValue(sqltypes.Text, "deadlock detected, transaction rolled back"),
}},
})
turnOnTxEngine()
assert.EqualValues(t, 1, len(tsv.te.preparedPool.conns), "len(tsv.te.preparedPool.conns)")
got = tsv.te.preparedPool.conns["a:b:10"].TxProperties().Queries
- want = []string{"update test_table set `name` = 2 where pk = 1 limit 10001"}
+ want = []tx.Query{{
+ Sql: "update test_table set `name` = 2 where pk = 1 limit 10001",
+ Tables: []string{"test_table"}}}
utils.MustMatch(t, want, got, "Prepared queries")
- wantFailed := map[string]error{"a:b:20": errPrepFailed}
+ wantFailed := map[string]error{
+ "bogus": errPrepFailed, // The query is rejected by database so added to failed list.
+ "a:b:20": errPrepFailed, // The DTID is already in failed state.
+ }
utils.MustMatch(t, tsv.te.preparedPool.reserved, wantFailed, fmt.Sprintf("Failed dtids: %v, want %v", tsv.te.preparedPool.reserved, wantFailed))
// Verify last id got adjusted.
assert.EqualValues(t, 20, tsv.te.txPool.scp.lastID.Load(), "tsv.te.txPool.lastID.Get()")
@@ -281,9 +300,8 @@ func TestTabletServerRedoLogIsKeptBetweenRestarts(t *testing.T) {
func TestTabletServerCreateTransaction(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer tsv.StopService()
- defer db.Close()
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
db.AddQueryPattern(fmt.Sprintf("insert into _vt\\.dt_state\\(dtid, state, time_created\\) values \\('aa', %d,.*", int(querypb.TransactionState_PREPARE)), &sqltypes.Result{})
@@ -298,9 +316,8 @@ func TestTabletServerCreateTransaction(t *testing.T) {
func TestTabletServerStartCommit(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer tsv.StopService()
- defer db.Close()
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
commitTransition := fmt.Sprintf("update _vt.dt_state set state = %d where dtid = 'aa' and state = %d", int(querypb.TransactionState_COMMIT), int(querypb.TransactionState_PREPARE))
@@ -318,9 +335,8 @@ func TestTabletServerStartCommit(t *testing.T) {
func TestTabletserverSetRollback(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer tsv.StopService()
- defer db.Close()
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
rollbackTransition := fmt.Sprintf("update _vt.dt_state set state = %d where dtid = 'aa' and state = %d", int(querypb.TransactionState_ROLLBACK), int(querypb.TransactionState_PREPARE))
@@ -338,9 +354,8 @@ func TestTabletserverSetRollback(t *testing.T) {
func TestTabletServerReadTransaction(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer tsv.StopService()
- defer db.Close()
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
db.AddQuery("select dtid, state, time_created from _vt.dt_state where dtid = 'aa'", &sqltypes.Result{})
@@ -433,9 +448,8 @@ func TestTabletServerReadTransaction(t *testing.T) {
func TestTabletServerConcludeTransaction(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer tsv.StopService()
- defer db.Close()
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
db.AddQuery("delete from _vt.dt_state where dtid = 'aa'", &sqltypes.Result{})
@@ -537,9 +551,8 @@ func TestTabletServerPrepare(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
// Reuse code from tx_executor_test.
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer tsv.StopService()
- defer db.Close()
+ _, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
state, err := tsv.Begin(ctx, &target, nil)
require.NoError(t, err)
@@ -554,9 +567,8 @@ func TestTabletServerCommitPrepared(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
// Reuse code from tx_executor_test.
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer tsv.StopService()
- defer db.Close()
+ _, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
state, err := tsv.Begin(ctx, &target, nil)
require.NoError(t, err)
@@ -671,6 +683,80 @@ func TestSmallerTimeout(t *testing.T) {
}
}
+func TestLoadQueryTimeout(t *testing.T) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ db, tsv := setupTabletServerTest(t, ctx, "")
+ defer tsv.StopService()
+ defer db.Close()
+
+ testcases := []struct {
+ name string
+ txID int64
+ setOptions bool
+ optionTimeout int64
+
+ want time.Duration
+ }{{
+ name: "no options and no transaction",
+ want: 30 * time.Second,
+ }, {
+ name: "only transaction",
+ txID: 1234,
+ want: 30 * time.Second,
+ }, {
+ name: "only option - infinite time",
+ setOptions: true,
+ optionTimeout: 0,
+ want: 0 * time.Millisecond,
+ }, {
+ name: "only option - lower time",
+ setOptions: true,
+ optionTimeout: 3, // 3ms
+ want: 3 * time.Millisecond,
+ }, {
+ name: "only option - higher time",
+ setOptions: true,
+ optionTimeout: 40000, // 40s
+ want: 40 * time.Second,
+ }, {
+ name: "transaction and option - infinite time",
+ txID: 1234,
+ setOptions: true,
+ optionTimeout: 0,
+ want: 30 * time.Second,
+ }, {
+ name: "transaction and option - lower time",
+ txID: 1234,
+ setOptions: true,
+ optionTimeout: 3, // 3ms
+ want: 3 * time.Millisecond,
+ }, {
+ name: "transaction and option - higher time",
+ txID: 1234,
+ setOptions: true,
+ optionTimeout: 40000, // 40s
+ want: 30 * time.Second,
+ }}
+ for _, tcase := range testcases {
+ t.Run(tcase.name, func(t *testing.T) {
+ var options *querypb.ExecuteOptions
+ if tcase.setOptions {
+ options = &querypb.ExecuteOptions{
+ Timeout: &querypb.ExecuteOptions_AuthoritativeTimeout{AuthoritativeTimeout: tcase.optionTimeout},
+ }
+ }
+ var got time.Duration
+ if tcase.txID != 0 {
+ got = tsv.loadQueryTimeoutWithTxAndOptions(tcase.txID, options)
+ } else {
+ got = tsv.loadQueryTimeoutWithOptions(options)
+ }
+ assert.Equal(t, tcase.want, got)
+ })
+ }
+}
+
func TestTabletServerReserveConnection(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
@@ -801,9 +887,8 @@ func TestTabletServerRollbackPrepared(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
// Reuse code from tx_executor_test.
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer tsv.StopService()
- defer db.Close()
+ _, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
state, err := tsv.Begin(ctx, &target, nil)
require.NoError(t, err)
@@ -1435,9 +1520,8 @@ func TestSerializeTransactionsSameRow_RequestCanceled(t *testing.T) {
func TestMessageStream(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ _, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
err := tsv.MessageStream(ctx, &target, "nomsg", func(qr *sqltypes.Result) error {
@@ -1463,9 +1547,8 @@ func TestMessageStream(t *testing.T) {
func TestCheckMySQLGauge(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ _, tsv, _, closer := newTestTxExecutor(t, ctx)
+ defer closer()
// Check that initially checkMySQLGauge has 0 value
assert.EqualValues(t, 0, tsv.checkMysqlGaugeFunc.Get())
@@ -1493,9 +1576,8 @@ func TestCheckMySQLGauge(t *testing.T) {
func TestMessageAck(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
ids := []*querypb.Value{{
@@ -1524,9 +1606,8 @@ func TestMessageAck(t *testing.T) {
func TestRescheduleMessages(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
_, err := tsv.messager.GetGenerator("nonmsg")
@@ -1550,9 +1631,8 @@ func TestRescheduleMessages(t *testing.T) {
func TestPurgeMessages(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
target := querypb.Target{TabletType: topodatapb.TabletType_PRIMARY}
_, err := tsv.messager.GetGenerator("nonmsg")
diff --git a/go/vt/vttablet/tabletserver/twopc.go b/go/vt/vttablet/tabletserver/twopc.go
index 0bdf4ac0c91..5eff30ce07e 100644
--- a/go/vt/vttablet/tabletserver/twopc.go
+++ b/go/vt/vttablet/tabletserver/twopc.go
@@ -47,7 +47,7 @@ const (
// DTStateRollback represents the ROLLBACK state for dt_state.
DTStateRollback = querypb.TransactionState_ROLLBACK
- readAllRedo = `select t.dtid, t.state, t.time_created, s.statement
+ readAllRedo = `select t.dtid, t.state, t.time_created, s.statement, t.message
from %s.redo_state t
join %s.redo_statement s on t.dtid = s.dtid
order by t.dtid, s.id`
@@ -61,7 +61,7 @@ const (
// Resolving COMMIT first is crucial because we need to address transactions where a commit decision has already been made but remains unresolved.
// For transactions with a commit decision, applications are already aware of the outcome and are waiting for the resolution.
// By addressing these first, we ensure atomic commits and improve user experience. For other transactions, the decision is typically to rollback.
- readUnresolvedTransactions = `select t.dtid, t.state, p.keyspace, p.shard
+ readUnresolvedTransactions = `select t.dtid, t.state, t.time_created, p.keyspace, p.shard
from %s.dt_state t
join %s.dt_participant p on t.dtid = p.dtid
where time_created < %a
@@ -109,8 +109,8 @@ func (tpc *TwoPC) initializeQueries() {
"insert into %s.redo_statement(dtid, id, statement) values %a",
dbname, ":vals")
tpc.updateRedoTx = sqlparser.BuildParsedQuery(
- "update %s.redo_state set state = %a where dtid = %a",
- dbname, ":state", ":dtid")
+ "update %s.redo_state set state = %a, message = %a where dtid = %a",
+ dbname, ":state", ":message", ":dtid")
tpc.deleteRedoTx = sqlparser.BuildParsedQuery(
"delete from %s.redo_state where dtid = %a",
dbname, ":dtid")
@@ -169,7 +169,7 @@ func (tpc *TwoPC) Close() {
}
// SaveRedo saves the statements in the redo log using the supplied connection.
-func (tpc *TwoPC) SaveRedo(ctx context.Context, conn *StatefulConnection, dtid string, queries []string) error {
+func (tpc *TwoPC) SaveRedo(ctx context.Context, conn *StatefulConnection, dtid string, queries []tx.Query) error {
bindVars := map[string]*querypb.BindVariable{
"dtid": sqltypes.StringBindVariable(dtid),
"state": sqltypes.Int64BindVariable(RedoStatePrepared),
@@ -185,7 +185,7 @@ func (tpc *TwoPC) SaveRedo(ctx context.Context, conn *StatefulConnection, dtid s
rows[i] = []sqltypes.Value{
sqltypes.NewVarBinary(dtid),
sqltypes.NewInt64(int64(i + 1)),
- sqltypes.NewVarBinary(query),
+ sqltypes.NewVarBinary(query.Sql),
}
}
extras := map[string]sqlparser.Encodable{
@@ -200,10 +200,11 @@ func (tpc *TwoPC) SaveRedo(ctx context.Context, conn *StatefulConnection, dtid s
}
// UpdateRedo changes the state of the redo log for the dtid.
-func (tpc *TwoPC) UpdateRedo(ctx context.Context, conn *StatefulConnection, dtid string, state int) error {
+func (tpc *TwoPC) UpdateRedo(ctx context.Context, conn *StatefulConnection, dtid string, state int, message string) error {
bindVars := map[string]*querypb.BindVariable{
- "dtid": sqltypes.StringBindVariable(dtid),
- "state": sqltypes.Int64BindVariable(int64(state)),
+ "dtid": sqltypes.StringBindVariable(dtid),
+ "state": sqltypes.Int64BindVariable(int64(state)),
+ "message": sqltypes.StringBindVariable(message),
}
_, err := tpc.exec(ctx, conn, tpc.updateRedoTx, bindVars)
return err
@@ -244,8 +245,9 @@ func (tpc *TwoPC) ReadAllRedo(ctx context.Context) (prepared, failed []*tx.Prepa
// which is harmless.
tm, _ := row[2].ToCastInt64()
curTx = &tx.PreparedTx{
- Dtid: dtid,
- Time: time.Unix(0, tm),
+ Dtid: dtid,
+ Time: time.Unix(0, tm),
+ Message: row[4].ToString(),
}
st, err := row[1].ToCastInt64()
if err != nil {
@@ -374,7 +376,7 @@ func (tpc *TwoPC) ReadTransaction(ctx context.Context, dtid string) (*querypb.Tr
return nil, vterrors.Wrapf(err, "error parsing state for dtid %s", dtid)
}
result.State = querypb.TransactionState(st)
- if result.State < querypb.TransactionState_PREPARE || result.State > querypb.TransactionState_COMMIT {
+ if result.State < DTStatePrepare || result.State > DTStateCommit {
return nil, fmt.Errorf("unexpected state for dtid %s: %v", dtid, result.State)
}
// A failure in time parsing will show up as a very old time,
@@ -427,7 +429,7 @@ func (tpc *TwoPC) ReadAllTransactions(ctx context.Context) ([]*tx.DistributedTx,
log.Errorf("Error parsing state for dtid %s: %v.", dtid, err)
}
protostate := querypb.TransactionState(st)
- if protostate < querypb.TransactionState_PREPARE || protostate > querypb.TransactionState_COMMIT {
+ if protostate < DTStatePrepare || protostate > DTStateCommit {
log.Errorf("Unexpected state for dtid %s: %v.", dtid, protostate)
}
curTx = &tx.DistributedTx{
@@ -464,10 +466,10 @@ func (tpc *TwoPC) read(ctx context.Context, conn *connpool.Conn, pq *sqlparser.P
// UnresolvedTransactions returns the list of unresolved transactions
// the list from database is retrieved as
-// dtid | state | keyspace | shard
-// 1 | PREPARE | ks | 40-80
-// 1 | PREPARE | ks | 80-c0
-// 2 | COMMIT | ks | -40
+// dtid | state | time_created | keyspace | shard
+// 1 | PREPARE | 1726748387 | ks | 40-80
+// 1 | PREPARE | 1726748387 | ks | 80-c0
+// 2 | COMMIT | 1726748387 | ks | -40
// Here there are 2 dtids with 2 participants for dtid:1 and 1 participant for dtid:2.
func (tpc *TwoPC) UnresolvedTransactions(ctx context.Context, abandonTime time.Time) ([]*querypb.TransactionMetadata, error) {
conn, err := tpc.readPool.Get(ctx, nil)
@@ -506,17 +508,19 @@ func (tpc *TwoPC) UnresolvedTransactions(ctx context.Context, abandonTime time.T
// Extract the transaction state and initialize a new TransactionMetadata
stateID, _ := row[1].ToInt()
+ timeCreated, _ := row[2].ToCastInt64()
currentTx = &querypb.TransactionMetadata{
Dtid: dtid,
State: querypb.TransactionState(stateID),
+ TimeCreated: timeCreated,
Participants: []*querypb.Target{},
}
}
// Add the current participant (keyspace and shard) to the transaction
currentTx.Participants = append(currentTx.Participants, &querypb.Target{
- Keyspace: row[2].ToString(),
- Shard: row[3].ToString(),
+ Keyspace: row[3].ToString(),
+ Shard: row[4].ToString(),
TabletType: topodatapb.TabletType_PRIMARY,
})
}
diff --git a/go/vt/vttablet/tabletserver/twopc_test.go b/go/vt/vttablet/tabletserver/twopc_test.go
index cc9e987664c..0dc10266e8c 100644
--- a/go/vt/vttablet/tabletserver/twopc_test.go
+++ b/go/vt/vttablet/tabletserver/twopc_test.go
@@ -36,9 +36,9 @@ func TestReadAllRedo(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
// Reuse code from tx_executor_test.
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
+
tpc := tsv.te.twoPC
conn, err := tsv.qe.conns.Get(ctx, nil)
@@ -66,12 +66,14 @@ func TestReadAllRedo(t *testing.T) {
{Type: sqltypes.Int64},
{Type: sqltypes.Int64},
{Type: sqltypes.VarChar},
+ {Type: sqltypes.Text},
},
Rows: [][]sqltypes.Value{{
sqltypes.NewVarBinary("dtid0"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt01"),
+ sqltypes.NULL,
}},
})
prepared, failed, err = tpc.ReadAllRedo(ctx)
@@ -96,17 +98,20 @@ func TestReadAllRedo(t *testing.T) {
{Type: sqltypes.Int64},
{Type: sqltypes.Int64},
{Type: sqltypes.VarChar},
+ {Type: sqltypes.Text},
},
Rows: [][]sqltypes.Value{{
sqltypes.NewVarBinary("dtid0"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt01"),
+ sqltypes.NULL,
}, {
sqltypes.NewVarBinary("dtid0"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt02"),
+ sqltypes.NULL,
}},
})
prepared, failed, err = tpc.ReadAllRedo(ctx)
@@ -131,22 +136,26 @@ func TestReadAllRedo(t *testing.T) {
{Type: sqltypes.Int64},
{Type: sqltypes.Int64},
{Type: sqltypes.VarChar},
+ {Type: sqltypes.Text},
},
Rows: [][]sqltypes.Value{{
sqltypes.NewVarBinary("dtid0"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt01"),
+ sqltypes.NULL,
}, {
sqltypes.NewVarBinary("dtid0"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt02"),
+ sqltypes.NULL,
}, {
sqltypes.NewVarBinary("dtid1"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt11"),
+ sqltypes.NULL,
}},
})
prepared, failed, err = tpc.ReadAllRedo(ctx)
@@ -175,37 +184,44 @@ func TestReadAllRedo(t *testing.T) {
{Type: sqltypes.Int64},
{Type: sqltypes.Int64},
{Type: sqltypes.VarChar},
+ {Type: sqltypes.Text},
},
Rows: [][]sqltypes.Value{{
sqltypes.NewVarBinary("dtid0"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt01"),
+ sqltypes.NULL,
}, {
sqltypes.NewVarBinary("dtid0"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt02"),
+ sqltypes.NULL,
}, {
sqltypes.NewVarBinary("dtid1"),
- sqltypes.NewVarBinary("Failed"),
+ sqltypes.NewInt64(RedoStateFailed),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt11"),
+ sqltypes.TestValue(sqltypes.Text, "error1"),
}, {
sqltypes.NewVarBinary("dtid2"),
- sqltypes.NewVarBinary("Failed"),
+ sqltypes.NewInt64(RedoStateFailed),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt21"),
+ sqltypes.TestValue(sqltypes.Text, "error2"),
}, {
sqltypes.NewVarBinary("dtid2"),
- sqltypes.NewVarBinary("Failed"),
+ sqltypes.NewInt64(RedoStateFailed),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt22"),
+ sqltypes.TestValue(sqltypes.Text, "error2"),
}, {
sqltypes.NewVarBinary("dtid3"),
sqltypes.NewInt64(RedoStatePrepared),
sqltypes.NewVarBinary("1"),
sqltypes.NewVarBinary("stmt31"),
+ sqltypes.NULL,
}},
})
prepared, failed, err = tpc.ReadAllRedo(ctx)
@@ -221,29 +237,27 @@ func TestReadAllRedo(t *testing.T) {
Queries: []string{"stmt31"},
Time: time.Unix(0, 1),
}}
- if !reflect.DeepEqual(prepared, want) {
- t.Errorf("ReadAllRedo: %s, want %s", jsonStr(prepared), jsonStr(want))
- }
+ utils.MustMatch(t, want, prepared)
wantFailed := []*tx.PreparedTx{{
Dtid: "dtid1",
Queries: []string{"stmt11"},
Time: time.Unix(0, 1),
+ Message: "error1",
}, {
Dtid: "dtid2",
Queries: []string{"stmt21", "stmt22"},
Time: time.Unix(0, 1),
+ Message: "error2",
}}
- if !reflect.DeepEqual(failed, wantFailed) {
- t.Errorf("ReadAllRedo failed): %s, want %s", jsonStr(failed), jsonStr(wantFailed))
- }
+ utils.MustMatch(t, wantFailed, failed)
}
func TestReadAllTransactions(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
+
tpc := tsv.te.twoPC
conn, err := tsv.qe.conns.Get(ctx, nil)
@@ -404,9 +418,8 @@ func jsonStr(v any) string {
func TestUnresolvedTransactions(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
- _, tsv, db := newTestTxExecutor(t, ctx)
- defer db.Close()
- defer tsv.StopService()
+ _, tsv, db, closer := newTestTxExecutor(t, ctx)
+ defer closer()
conn, err := tsv.qe.conns.Get(ctx, nil)
require.NoError(t, err)
@@ -422,13 +435,14 @@ func TestUnresolvedTransactions(t *testing.T) {
}, {
name: "one unresolved transaction",
unresolvedTx: sqltypes.MakeTestResult(
- sqltypes.MakeTestFields("dtid|state|keyspace|shard",
- "VARBINARY|INT64|VARCHAR|VARCHAR"),
- "dtid0|1|ks01|shard01",
- "dtid0|1|ks01|shard02"),
+ sqltypes.MakeTestFields("dtid|state|time_created|keyspace|shard",
+ "VARBINARY|INT64|INT64|VARCHAR|VARCHAR"),
+ "dtid0|1|2|ks01|shard01",
+ "dtid0|1|2|ks01|shard02"),
expectedTx: []*querypb.TransactionMetadata{{
- Dtid: "dtid0",
- State: querypb.TransactionState_PREPARE,
+ Dtid: "dtid0",
+ State: querypb.TransactionState_PREPARE,
+ TimeCreated: 2,
Participants: []*querypb.Target{
{Keyspace: "ks01", Shard: "shard01", TabletType: topodatapb.TabletType_PRIMARY},
{Keyspace: "ks01", Shard: "shard02", TabletType: topodatapb.TabletType_PRIMARY},
@@ -436,21 +450,23 @@ func TestUnresolvedTransactions(t *testing.T) {
}, {
name: "two unresolved transaction",
unresolvedTx: sqltypes.MakeTestResult(
- sqltypes.MakeTestFields("dtid|state|keyspace|shard",
- "VARBINARY|INT64|VARCHAR|VARCHAR"),
- "dtid0|3|ks01|shard01",
- "dtid0|3|ks01|shard02",
- "dtid1|2|ks02|shard03",
- "dtid1|2|ks01|shard02"),
+ sqltypes.MakeTestFields("dtid|state|time_created|keyspace|shard",
+ "VARBINARY|INT64|INT64|VARCHAR|VARCHAR"),
+ "dtid0|3|1|ks01|shard01",
+ "dtid0|3|1|ks01|shard02",
+ "dtid1|2|2|ks02|shard03",
+ "dtid1|2|2|ks01|shard02"),
expectedTx: []*querypb.TransactionMetadata{{
- Dtid: "dtid0",
- State: querypb.TransactionState_COMMIT,
+ Dtid: "dtid0",
+ State: querypb.TransactionState_COMMIT,
+ TimeCreated: 1,
Participants: []*querypb.Target{
{Keyspace: "ks01", Shard: "shard01", TabletType: topodatapb.TabletType_PRIMARY},
{Keyspace: "ks01", Shard: "shard02", TabletType: topodatapb.TabletType_PRIMARY},
}}, {
- Dtid: "dtid1",
- State: querypb.TransactionState_ROLLBACK,
+ Dtid: "dtid1",
+ TimeCreated: 2,
+ State: querypb.TransactionState_ROLLBACK,
Participants: []*querypb.Target{
{Keyspace: "ks02", Shard: "shard03", TabletType: topodatapb.TabletType_PRIMARY},
{Keyspace: "ks01", Shard: "shard02", TabletType: topodatapb.TabletType_PRIMARY},
diff --git a/go/vt/vttablet/tabletserver/tx/api.go b/go/vt/vttablet/tabletserver/tx/api.go
index a392e530ffa..48a1cc1107a 100644
--- a/go/vt/vttablet/tabletserver/tx/api.go
+++ b/go/vt/vttablet/tabletserver/tx/api.go
@@ -31,11 +31,11 @@ type (
// ConnID as type int64
ConnID = int64
- //DTID as type string
+ // DTID as type string
DTID = string
- //EngineStateMachine is used to control the state the transactional engine -
- //whether new connections and/or transactions are allowed or not.
+ // EngineStateMachine is used to control the state the transactional engine -
+ // whether new connections and/or transactions are allowed or not.
EngineStateMachine interface {
Init() error
AcceptReadWrite() error
@@ -46,14 +46,14 @@ type (
// ReleaseReason as type int
ReleaseReason int
- //Properties contains all information that is related to the currently running
- //transaction on the connection
+ // Properties contains all information that is related to the currently running
+ // transaction on the connection
Properties struct {
EffectiveCaller *vtrpcpb.CallerID
ImmediateCaller *querypb.VTGateCallerID
StartTime time.Time
EndTime time.Time
- Queries []string
+ Queries []Query
Autocommit bool
Conclusion string
LogToFile bool
@@ -62,6 +62,11 @@ type (
}
)
+type Query struct {
+ Sql string
+ Tables []string
+}
+
const (
// TxClose - connection released on close.
TxClose ReleaseReason = iota
@@ -114,12 +119,33 @@ var txNames = map[ReleaseReason]string{
ConnRenewFail: "renewFail",
}
-// RecordQuery records the query against this transaction.
-func (p *Properties) RecordQuery(query string) {
+// RecordQueryDetail records the query and tables against this transaction.
+func (p *Properties) RecordQueryDetail(query string, tables []string) {
if p == nil {
return
}
- p.Queries = append(p.Queries, query)
+ p.Queries = append(p.Queries, Query{
+ Sql: query,
+ Tables: tables,
+ })
+}
+
+// RecordQuery records the query and extract tables against this transaction.
+func (p *Properties) RecordQuery(query string, parser *sqlparser.Parser) {
+ if p == nil {
+ return
+ }
+ stmt, err := parser.Parse(query)
+ if err != nil {
+ // This should neven happen, but if it does,
+ // we would not be able to block cut-overs on this query.
+ return
+ }
+ tables := sqlparser.ExtractAllTables(stmt)
+ p.Queries = append(p.Queries, Query{
+ Sql: query,
+ Tables: tables,
+ })
}
// InTransaction returns true as soon as this struct is not nil
@@ -134,10 +160,11 @@ func (p *Properties) String(sanitize bool, parser *sqlparser.Parser) string {
printQueries := func() string {
sb := strings.Builder{}
for _, query := range p.Queries {
+ sql := query.Sql
if sanitize {
- query, _ = parser.RedactSQLQuery(query)
+ sql, _ = parser.RedactSQLQuery(sql)
}
- sb.WriteString(query)
+ sb.WriteString(sql)
sb.WriteString(";")
}
return sb.String()
diff --git a/go/vt/vttablet/tabletserver/tx/twopc.go b/go/vt/vttablet/tabletserver/tx/twopc.go
index 56cfbd1a51f..6412fc53b4d 100644
--- a/go/vt/vttablet/tabletserver/tx/twopc.go
+++ b/go/vt/vttablet/tabletserver/tx/twopc.go
@@ -36,4 +36,5 @@ type PreparedTx struct {
Dtid string
Queries []string
Time time.Time
+ Message string
}
diff --git a/go/vt/vttablet/tabletserver/tx_engine.go b/go/vt/vttablet/tabletserver/tx_engine.go
index 33e22e321bc..549851790ed 100644
--- a/go/vt/vttablet/tabletserver/tx_engine.go
+++ b/go/vt/vttablet/tabletserver/tx_engine.go
@@ -22,10 +22,10 @@ import (
"sync"
"time"
+ "vitess.io/vitess/go/mysql/sqlerror"
"vitess.io/vitess/go/pools/smartconnpool"
"vitess.io/vitess/go/timer"
"vitess.io/vitess/go/trace"
- "vitess.io/vitess/go/vt/concurrency"
"vitess.io/vitess/go/vt/dtids"
"vitess.io/vitess/go/vt/log"
querypb "vitess.io/vitess/go/vt/proto/query"
@@ -75,7 +75,11 @@ type TxEngine struct {
// transition while creating new transactions
beginRequests sync.WaitGroup
- twopcEnabled bool
+ // twopcEnabled is the flag value of whether the user has enabled twopc or not.
+ twopcEnabled bool
+ // twopcAllowed is wether it is safe to allow two pc transactions or not.
+ // If the primary tablet doesn't run with semi-sync we set this to false, and disallow any prepared calls.
+ twopcAllowed bool
shutdownGracePeriod time.Duration
coordinatorAddress string
abandonAge time.Duration
@@ -87,7 +91,6 @@ type TxEngine struct {
txPool *TxPool
preparedPool *TxPreparedPool
twoPC *TwoPC
- twoPCReady sync.WaitGroup
dxNotify func()
}
@@ -101,6 +104,9 @@ func NewTxEngine(env tabletenv.Env, dxNotifier func()) *TxEngine {
}
limiter := txlimiter.New(env)
te.txPool = NewTxPool(env, limiter)
+ // We initially allow twoPC (handles vttablet restarts).
+ // We will disallow them, when a new tablet is promoted if semi-sync is turned off.
+ te.twopcAllowed = true
te.twopcEnabled = config.TwoPCEnable
if te.twopcEnabled {
if config.TwoPCAbandonAge <= 0 {
@@ -116,7 +122,7 @@ func NewTxEngine(env tabletenv.Env, dxNotifier func()) *TxEngine {
// perform metadata state change operations. Without this,
// the system can deadlock if all connections get moved to
// the TxPreparedPool.
- te.preparedPool = NewTxPreparedPool(config.TxPool.Size - 2)
+ te.preparedPool = NewTxPreparedPool(config.TxPool.Size-2, te.twopcEnabled)
readPool := connpool.NewPool(env, "TxReadPool", tabletenv.ConnPoolConfig{
Size: 3,
IdleTimeout: env.Config().TxPool.IdleTimeout,
@@ -128,9 +134,6 @@ func NewTxEngine(env tabletenv.Env, dxNotifier func()) *TxEngine {
}
// AcceptReadWrite will start accepting all transactions.
-// If transitioning from RO mode, transactions are rolled
-// back before accepting new transactions. This is to allow
-// for 2PC state to be correctly initialized.
func (te *TxEngine) AcceptReadWrite() {
te.transition(AcceptingReadAndWrite)
}
@@ -149,37 +152,70 @@ func (te *TxEngine) transition(state txEngineState) {
}
log.Infof("TxEngine transition: %v", state)
- switch te.state {
- case AcceptingReadOnly, AcceptingReadAndWrite:
+
+ // When we are transitioning from read write state, we should close all transactions.
+ if te.state == AcceptingReadAndWrite {
te.shutdownLocked()
- case NotServing:
- // No special action.
}
te.state = state
+ if te.twopcEnabled && te.state == AcceptingReadAndWrite {
+ // If the prepared pool is not open, then we need to redo the prepared transactions
+ // before we open the transaction engine to accept new writes.
+ // This check is required because during a Promotion, we would have already setup the prepared pool
+ // and redid the prepared transactions when we turn super_read_only off. So we don't need to do it again.
+ if !te.preparedPool.IsOpen() {
+ // We need to redo prepared transactions here to handle vttablet restarts.
+ // If MySQL continues to work fine, then we won't end up redoing the prepared transactions as part of any RPC call
+ // since VTOrc won't call `UndoDemotePrimary`. We need to do them as part of this transition.
+ te.redoPreparedTransactionsLocked()
+ }
+ te.startTransactionWatcher()
+ }
te.txPool.Open(te.env.Config().DB.AppWithDB(), te.env.Config().DB.DbaWithDB(), te.env.Config().DB.AppDebugWithDB())
+}
- if te.twopcEnabled && te.state == AcceptingReadAndWrite {
- // Set the preparedPool to start accepting connections.
- te.preparedPool.shutdown = false
- // If there are errors, we choose to raise an alert and
- // continue anyway. Serving traffic is considered more important
- // than blocking everything for the sake of a few transactions.
- // We do this async; so we do not end up blocking writes on
- // failover for our setup tasks if using semi-sync replication.
- te.twoPCReady.Add(1)
- go func() {
- defer te.twoPCReady.Done()
- if err := te.twoPC.Open(te.env.Config().DB); err != nil {
- te.env.Stats().InternalErrors.Add("TwopcOpen", 1)
- log.Errorf("Could not open TwoPC engine: %v", err)
- }
- if err := te.prepareFromRedo(); err != nil {
- te.env.Stats().InternalErrors.Add("TwopcResurrection", 1)
- log.Errorf("Could not prepare transactions: %v", err)
- }
- te.startTransactionWatcher()
- }()
+// RedoPreparedTransactions acquires the state lock and calls redoPreparedTransactionsLocked.
+func (te *TxEngine) RedoPreparedTransactions() {
+ if te.twopcEnabled {
+ te.stateLock.Lock()
+ defer te.stateLock.Unlock()
+ te.redoPreparedTransactionsLocked()
+ }
+}
+
+// redoPreparedTransactionsLocked redoes the prepared transactions.
+// If there are errors, we choose to raise an alert and
+// continue anyway. Serving traffic is considered more important
+// than blocking everything for the sake of a few transactions.
+// We do this async; so we do not end up blocking writes on
+// failover for our setup tasks if using semi-sync replication.
+func (te *TxEngine) redoPreparedTransactionsLocked() {
+ oldState := te.state
+ // We shutdown to ensure no other writes are in progress.
+ te.shutdownLocked()
+ defer func() {
+ te.state = oldState
+ }()
+
+ if err := te.twoPC.Open(te.env.Config().DB); err != nil {
+ te.env.Stats().InternalErrors.Add("TwopcOpen", 1)
+ log.Errorf("Could not open TwoPC engine: %v", err)
+ return
+ }
+
+ // We should only open the prepared pool and the transaction pool if the opening of twoPC pool is successful.
+ // We use the prepared pool being open to know if we need to redo the prepared transactions.
+ // So if we open the prepared pool and then opening of twoPC fails, we will never end up opening the twoPC pool at all!
+ // This is why opening prepared pool after the twoPC pool is crucial for correctness.
+ te.preparedPool.Open()
+ // We have to defer opening the transaction pool because we call shutdown in the beginning that closes it.
+ // We want to open the transaction pool after the prepareFromRedo has run. Also, we want this to run even if that fails.
+ defer te.txPool.Open(te.env.Config().DB.AppWithDB(), te.env.Config().DB.DbaWithDB(), te.env.Config().DB.AppDebugWithDB())
+
+ if err := te.prepareFromRedo(); err != nil {
+ te.env.Stats().InternalErrors.Add("TwopcResurrection", 1)
+ log.Errorf("Could not prepare transactions: %v", err)
}
}
@@ -306,11 +342,6 @@ func (te *TxEngine) shutdownLocked() {
te.stateLock.Lock()
log.Infof("TxEngine - state lock acquired again")
- // Shut down functions are idempotent.
- // No need to check if 2pc is enabled.
- log.Infof("TxEngine - stop watchdog")
- te.stopTransactionWatcher()
-
poolEmpty := make(chan bool)
rollbackDone := make(chan bool)
// This goroutine decides if transactions have to be
@@ -333,13 +364,6 @@ func (te *TxEngine) shutdownLocked() {
// connections.
te.txPool.scp.ShutdownNonTx()
if te.shutdownGracePeriod <= 0 {
- // No grace period was specified. Wait indefinitely for transactions to be concluded.
- // TODO(sougou): invoking rollbackPrepared is incorrect here. Prepared statements should
- // actually be rolled back last. But this will cause the shutdown to hang because the
- // tx pool will never become empty, because the prepared pool is holding on to connections
- // from the tx pool. But we plan to deprecate this approach to 2PC. So, this
- // should eventually be deleted.
- te.rollbackPrepared()
log.Info("No grace period specified: performing normal wait.")
return
}
@@ -354,6 +378,9 @@ func (te *TxEngine) shutdownLocked() {
log.Info("Transactions completed before grace period: shutting down.")
}
}()
+ // It is important to note, that we aren't rolling back prepared transactions here.
+ // That is happneing in the same place where we are killing queries. This will block
+ // until either all prepared transactions get resolved or rollbacked.
log.Infof("TxEngine - waiting for empty txPool")
te.txPool.WaitForEmpty()
// If the goroutine is still running, signal that it can exit.
@@ -362,10 +389,19 @@ func (te *TxEngine) shutdownLocked() {
log.Infof("TxEngine - making sure the goroutine has returned")
<-rollbackDone
+ // We stop the transaction watcher so late, because if the user isn't running
+ // with any shutdown grace period, we still want the watcher to run while we are waiting
+ // for resolving transactions.
+ log.Infof("TxEngine - stop transaction watcher")
+ te.stopTransactionWatcher()
+
+ // Mark the prepared pool closed.
log.Infof("TxEngine - closing the txPool")
te.txPool.Close()
log.Infof("TxEngine - closing twoPC")
te.twoPC.Close()
+ log.Infof("TxEngine - closing the prepared pool")
+ te.preparedPool.Close()
log.Infof("TxEngine - finished shutdownLocked")
}
@@ -375,74 +411,146 @@ func (te *TxEngine) shutdownLocked() {
// to ensure there are no future collisions.
func (te *TxEngine) prepareFromRedo() error {
ctx := tabletenv.LocalContext()
- var allErr concurrency.AllErrorRecorder
- prepared, failed, err := te.twoPC.ReadAllRedo(ctx)
- if err != nil {
- return err
+
+ prepared, failed, readErr := te.twoPC.ReadAllRedo(ctx)
+ if readErr != nil {
+ return readErr
}
- maxid := int64(0)
-outer:
+ var (
+ maxID = int64(0)
+ preparedCounter = 0
+ failedCounter = len(failed)
+ allErrs []error
+ )
+
+ // While going through the prepared transaction.
+ // We will extract the transaction ID from the dtid and
+ // update the last transaction ID to max value to avoid any collision with the new transactions.
+
for _, preparedTx := range prepared {
- txid, err := dtids.TransactionID(preparedTx.Dtid)
- if err != nil {
- log.Errorf("Error extracting transaction ID from dtid: %v", err)
+ txID, _ := dtids.TransactionID(preparedTx.Dtid)
+ if txID > maxID {
+ maxID = txID
}
- if txid > maxid {
- maxid = txid
- }
- conn, _, _, err := te.txPool.Begin(ctx, &querypb.ExecuteOptions{}, false, 0, nil, nil)
+
+ prepFailed, err := te.prepareTx(ctx, preparedTx)
if err != nil {
- allErr.RecordError(err)
- continue
- }
- for _, stmt := range preparedTx.Queries {
- conn.TxProperties().RecordQuery(stmt)
- _, err := conn.Exec(ctx, stmt, 1, false)
- if err != nil {
- allErr.RecordError(err)
- te.txPool.RollbackAndRelease(ctx, conn)
- continue outer
+ allErrs = append(allErrs, vterrors.Wrapf(err, "dtid - %v", preparedTx.Dtid))
+ if prepFailed {
+ failedCounter++
}
- }
- // We should not use the external Prepare because
- // we don't want to write again to the redo log.
- err = te.preparedPool.Put(conn, preparedTx.Dtid)
- if err != nil {
- allErr.RecordError(err)
- continue
+ } else {
+ preparedCounter++
}
}
+
for _, preparedTx := range failed {
- txid, err := dtids.TransactionID(preparedTx.Dtid)
+ txID, _ := dtids.TransactionID(preparedTx.Dtid)
+ if txID > maxID {
+ maxID = txID
+ }
+ te.preparedPool.SetFailed(preparedTx.Dtid)
+ }
+
+ te.txPool.AdjustLastID(maxID)
+ log.Infof("TwoPC: Prepared %d transactions, and registered %d failures.", preparedCounter, failedCounter)
+ return vterrors.Aggregate(allErrs)
+}
+
+func (te *TxEngine) prepareTx(ctx context.Context, preparedTx *tx.PreparedTx) (failed bool, err error) {
+ defer func() {
if err != nil {
- log.Errorf("Error extracting transaction ID from dtid: %v", err)
+ failed = te.checkErrorAndMarkFailed(ctx, preparedTx.Dtid, err, "TwopcPrepareRedo")
}
- if txid > maxid {
- maxid = txid
+ }()
+
+ // We need to redo the prepared transactions using a dba user because MySQL might still be in read only mode.
+ var conn *StatefulConnection
+ if conn, err = te.beginNewDbaConnection(ctx); err != nil {
+ return
+ }
+
+ for _, stmt := range preparedTx.Queries {
+ conn.TxProperties().RecordQuery(stmt, te.env.Environment().Parser())
+ if _, err = conn.Exec(ctx, stmt, 1, false); err != nil {
+ te.txPool.RollbackAndRelease(ctx, conn)
+ return
}
- te.preparedPool.SetFailed(preparedTx.Dtid)
}
- te.txPool.AdjustLastID(maxid)
- log.Infof("TwoPC: Prepared %d transactions, and registered %d failures.", len(prepared), len(failed))
- return allErr.Error()
+ // We should not use the external Prepare because
+ // we don't want to write again to the redo log.
+ err = te.preparedPool.Put(conn, preparedTx.Dtid)
+ return
}
-// shutdownTransactions rolls back all open transactions
-// including the prepared ones.
-// This is used for transitioning from a primary to a non-primary
-// serving type.
+// checkErrorAndMarkFailed check that the error is retryable or non-retryable error.
+// If it is a non-retryable error than it marks the dtid as failed in the prepared pool,
+// increments the InternalErrors counter, and also changes the state of the transaction in the redo log as failed.
+func (te *TxEngine) checkErrorAndMarkFailed(ctx context.Context, dtid string, receivedErr error, metricName string) (fail bool) {
+ state := RedoStateFailed
+ if isRetryableError(receivedErr) {
+ log.Infof("retryable error for dtid: %s", dtid)
+ state = RedoStatePrepared
+ } else {
+ fail = true
+ te.env.Stats().InternalErrors.Add(metricName, 1)
+ te.preparedPool.SetFailed(dtid)
+ }
+
+ // Update the state of the transaction in the redo log.
+ // Retryable Error: Update the message with error message.
+ // Non-retryable Error: Along with message, update the state as RedoStateFailed.
+ conn, _, _, err := te.txPool.Begin(ctx, &querypb.ExecuteOptions{}, false, 0, nil, nil)
+ if err != nil {
+ log.Errorf("markFailed: Begin failed for dtid %s: %v", dtid, err)
+ return
+ }
+ defer te.txPool.RollbackAndRelease(ctx, conn)
+
+ if err = te.twoPC.UpdateRedo(ctx, conn, dtid, state, receivedErr.Error()); err != nil {
+ log.Errorf("markFailed: UpdateRedo failed for dtid %s: %v", dtid, err)
+ return
+ }
+
+ if _, err = te.txPool.Commit(ctx, conn); err != nil {
+ log.Errorf("markFailed: Commit failed for dtid %s: %v", dtid, err)
+ }
+ return
+}
+
+func isRetryableError(err error) bool {
+ switch vterrors.Code(err) {
+ case vtrpcpb.Code_OK,
+ vtrpcpb.Code_DEADLINE_EXCEEDED,
+ vtrpcpb.Code_CANCELED,
+ vtrpcpb.Code_UNAVAILABLE:
+ return true
+ case vtrpcpb.Code_UNKNOWN:
+ // If the error is unknown, convert to SQL Error.
+ sqlErr := sqlerror.NewSQLErrorFromError(err)
+ // Connection errors are retryable
+ return sqlerror.IsConnErr(sqlErr)
+ default:
+ return false
+ }
+}
+
+// shutdownTransactions rolls back all open transactions that are idol.
+// These are transactions that are open but no write is executing on them right now.
+// By definition, prepared transactions aren't part of them since these are transactions on which
+// the user has issued a commit command. These transactions are rollbacked elsewhere when we kill all writes.
+// This is used for transitioning from a primary to a non-primary serving type.
func (te *TxEngine) shutdownTransactions() {
- te.rollbackPrepared()
ctx := tabletenv.LocalContext()
- // The order of rollbacks is currently not material because
- // we don't allow new statements or commits during
- // this function. In case of any such change, this will
- // have to be revisited.
te.txPool.Shutdown(ctx)
}
-func (te *TxEngine) rollbackPrepared() {
+// RollbackPrepared rollbacks all the prepared transactions.
+// This should only be called after we are certain no other writes are in progress.
+// If there were some other conflicting write in progress that hadn't been killed, then it could potentially go through
+// and cause data corruption since we won't be able to prepare the transaction again.
+func (te *TxEngine) RollbackPrepared() {
ctx := tabletenv.LocalContext()
for _, conn := range te.preparedPool.FetchAllForRollback() {
te.txPool.Rollback(ctx, conn)
@@ -581,3 +689,22 @@ func (te *TxEngine) Release(connID int64) error {
return nil
}
+
+// beginNewDbaConnection gets a new dba connection and starts a transaction in it.
+// This should only be used to redo prepared transactions. All the other writes should use the normal pool.
+func (te *TxEngine) beginNewDbaConnection(ctx context.Context) (*StatefulConnection, error) {
+ dbConn, err := connpool.NewConn(ctx, te.env.Config().DB.DbaWithDB(), nil, nil, te.env)
+ if err != nil {
+ return nil, err
+ }
+
+ sc := &StatefulConnection{
+ dbConn: &connpool.PooledConn{
+ Conn: dbConn,
+ },
+ env: te.env,
+ }
+
+ _, _, err = te.txPool.begin(ctx, nil, false, sc, nil)
+ return sc, err
+}
diff --git a/go/vt/vttablet/tabletserver/tx_engine_test.go b/go/vt/vttablet/tabletserver/tx_engine_test.go
index 95057d754fb..43916dab3c2 100644
--- a/go/vt/vttablet/tabletserver/tx_engine_test.go
+++ b/go/vt/vttablet/tabletserver/tx_engine_test.go
@@ -25,7 +25,10 @@ import (
"testing"
"time"
+ "vitess.io/vitess/go/mysql/sqlerror"
+ vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc"
"vitess.io/vitess/go/vt/vtenv"
+ "vitess.io/vitess/go/vt/vterrors"
"vitess.io/vitess/go/vt/vttablet/tabletserver/tx"
"github.com/stretchr/testify/assert"
@@ -603,3 +606,75 @@ func TestTxEngineFailReserve(t *testing.T) {
require.Error(t, err)
assert.Zero(t, connID)
}
+
+func TestCheckReceivedError(t *testing.T) {
+ db := setUpQueryExecutorTest(t)
+ defer db.Close()
+ cfg := tabletenv.NewDefaultConfig()
+ cfg.DB = newDBConfigs(db)
+ env := tabletenv.NewEnv(vtenv.NewTestEnv(), cfg, "TabletServerTest")
+ env.Config().TwoPCEnable = true
+ env.Config().TwoPCAbandonAge = 5
+ te := NewTxEngine(env, nil)
+ te.AcceptReadWrite()
+
+ tcases := []struct {
+ receivedErr error
+ retryable bool
+ expQuery string
+ }{{
+ receivedErr: vterrors.New(vtrpcpb.Code_DEADLINE_EXCEEDED, "deadline exceeded"),
+ retryable: true,
+ expQuery: `update _vt.redo_state set state = 1, message = 'deadline exceeded' where dtid = 'aa'`,
+ }, {
+ receivedErr: vterrors.New(vtrpcpb.Code_INVALID_ARGUMENT, "invalid argument"),
+ retryable: false,
+ expQuery: `update _vt.redo_state set state = 0, message = 'invalid argument' where dtid = 'aa'`,
+ }, {
+ receivedErr: sqlerror.NewSQLError(sqlerror.ERLockDeadlock, sqlerror.SSLockDeadlock, "Deadlock found when trying to get lock; try restarting transaction"),
+ retryable: false,
+ expQuery: `update _vt.redo_state set state = 0, message = 'Deadlock found when trying to get lock; try restarting transaction (errno 1213) (sqlstate 40001)' where dtid = 'aa'`,
+ }, {
+ receivedErr: context.DeadlineExceeded,
+ retryable: true,
+ expQuery: `update _vt.redo_state set state = 1, message = 'context deadline exceeded' where dtid = 'aa'`,
+ }, {
+ receivedErr: context.Canceled,
+ retryable: true,
+ expQuery: `update _vt.redo_state set state = 1, message = 'context canceled' where dtid = 'aa'`,
+ }, {
+ receivedErr: sqlerror.NewSQLError(sqlerror.CRServerLost, sqlerror.SSUnknownSQLState, "Lost connection to MySQL server during query"),
+ retryable: true,
+ expQuery: `update _vt.redo_state set state = 1, message = 'Lost connection to MySQL server during query (errno 2013) (sqlstate HY000)' where dtid = 'aa'`,
+ }, {
+ receivedErr: sqlerror.NewSQLError(sqlerror.CRMalformedPacket, sqlerror.SSUnknownSQLState, "Malformed packet"),
+ retryable: false,
+ expQuery: `update _vt.redo_state set state = 0, message = 'Malformed packet (errno 2027) (sqlstate HY000)' where dtid = 'aa'`,
+ }, {
+ receivedErr: sqlerror.NewSQLError(sqlerror.CRServerGone, sqlerror.SSUnknownSQLState, "Server has gone away"),
+ retryable: true,
+ expQuery: `update _vt.redo_state set state = 1, message = 'Server has gone away (errno 2006) (sqlstate HY000)' where dtid = 'aa'`,
+ }, {
+ receivedErr: vterrors.New(vtrpcpb.Code_ABORTED, "Row count exceeded"),
+ retryable: false,
+ expQuery: `update _vt.redo_state set state = 0, message = 'Row count exceeded' where dtid = 'aa'`,
+ }, {
+ receivedErr: errors.New("(errno 2013) (sqlstate HY000) lost connection"),
+ retryable: true,
+ expQuery: `update _vt.redo_state set state = 1, message = '(errno 2013) (sqlstate HY000) lost connection' where dtid = 'aa'`,
+ }}
+
+ for _, tc := range tcases {
+ t.Run(tc.receivedErr.Error(), func(t *testing.T) {
+ if tc.expQuery != "" {
+ db.AddQuery(tc.expQuery, &sqltypes.Result{})
+ }
+ nonRetryable := te.checkErrorAndMarkFailed(context.Background(), "aa", tc.receivedErr, "")
+ require.NotEqual(t, tc.retryable, nonRetryable)
+ if !tc.retryable {
+ require.Equal(t, errPrepFailed, te.preparedPool.reserved["aa"])
+ }
+ delete(te.preparedPool.reserved, "aa")
+ })
+ }
+}
diff --git a/go/vt/vttablet/tabletserver/tx_pool_test.go b/go/vt/vttablet/tabletserver/tx_pool_test.go
index aa2d5b69e89..e80f1edb17f 100644
--- a/go/vt/vttablet/tabletserver/tx_pool_test.go
+++ b/go/vt/vttablet/tabletserver/tx_pool_test.go
@@ -365,7 +365,7 @@ func TestTxPoolGetConnRecentlyRemovedTransaction(t *testing.T) {
assertErrorMatch := func(id int64, reason string) {
conn, err := txPool.GetAndLock(id, "for query")
if err == nil { //
- conn.Releasef("fail")
+ conn.ReleaseString("fail")
t.Errorf("expected to get an error")
return
}
@@ -385,7 +385,7 @@ func TestTxPoolGetConnRecentlyRemovedTransaction(t *testing.T) {
_, err := txPool.Commit(ctx, conn1)
require.NoError(t, err)
- conn1.Releasef("transaction committed")
+ conn1.ReleaseString("transaction committed")
assertErrorMatch(id, "transaction committed")
diff --git a/go/vt/vttablet/tabletserver/tx_prep_pool.go b/go/vt/vttablet/tabletserver/tx_prep_pool.go
index d5376172856..468c160c002 100644
--- a/go/vt/vttablet/tabletserver/tx_prep_pool.go
+++ b/go/vt/vttablet/tabletserver/tx_prep_pool.go
@@ -36,31 +36,55 @@ type TxPreparedPool struct {
mu sync.Mutex
conns map[string]*StatefulConnection
reserved map[string]error
- // shutdown tells if the prepared pool has been drained and shutdown.
- shutdown bool
+ // open tells if the prepared pool is open for accepting transactions.
+ open bool
capacity int
+ // twoPCEnabled is set to true if 2PC is enabled.
+ twoPCEnabled bool
}
// NewTxPreparedPool creates a new TxPreparedPool.
-func NewTxPreparedPool(capacity int) *TxPreparedPool {
+func NewTxPreparedPool(capacity int, twoPCEnabled bool) *TxPreparedPool {
if capacity < 0 {
// If capacity is 0 all prepares will fail.
capacity = 0
}
return &TxPreparedPool{
- conns: make(map[string]*StatefulConnection, capacity),
- reserved: make(map[string]error),
- capacity: capacity,
+ conns: make(map[string]*StatefulConnection, capacity),
+ reserved: make(map[string]error),
+ capacity: capacity,
+ twoPCEnabled: twoPCEnabled,
}
}
+// Open marks the prepared pool open for use.
+func (pp *TxPreparedPool) Open() {
+ pp.mu.Lock()
+ defer pp.mu.Unlock()
+ pp.open = true
+}
+
+// Close marks the prepared pool closed.
+func (pp *TxPreparedPool) Close() {
+ pp.mu.Lock()
+ defer pp.mu.Unlock()
+ pp.open = false
+}
+
+// IsOpen checks if the prepared pool is open for use.
+func (pp *TxPreparedPool) IsOpen() bool {
+ pp.mu.Lock()
+ defer pp.mu.Unlock()
+ return pp.open
+}
+
// Put adds the connection to the pool. It returns an error
// if the pool is full or on duplicate key.
func (pp *TxPreparedPool) Put(c *StatefulConnection, dtid string) error {
pp.mu.Lock()
defer pp.mu.Unlock()
// If the pool is shutdown, we don't accept new prepared transactions.
- if pp.shutdown {
+ if !pp.open {
return vterrors.VT09025("pool is shutdown")
}
if _, ok := pp.reserved[dtid]; ok {
@@ -105,7 +129,7 @@ func (pp *TxPreparedPool) FetchForCommit(dtid string) (*StatefulConnection, erro
defer pp.mu.Unlock()
// If the pool is shutdown, we don't have any connections to return.
// That however doesn't mean this transaction was committed, it could very well have been rollbacked.
- if pp.shutdown {
+ if !pp.open {
return nil, vterrors.VT09025("pool is shutdown")
}
if err, ok := pp.reserved[dtid]; ok {
@@ -139,7 +163,7 @@ func (pp *TxPreparedPool) Forget(dtid string) {
func (pp *TxPreparedPool) FetchAllForRollback() []*StatefulConnection {
pp.mu.Lock()
defer pp.mu.Unlock()
- pp.shutdown = true
+ pp.open = false
conns := make([]*StatefulConnection, 0, len(pp.conns))
for _, c := range pp.conns {
conns = append(conns, c)
@@ -148,3 +172,25 @@ func (pp *TxPreparedPool) FetchAllForRollback() []*StatefulConnection {
pp.reserved = make(map[string]error)
return conns
}
+
+func (pp *TxPreparedPool) IsEmpty(tableName string) bool {
+ pp.mu.Lock()
+ defer pp.mu.Unlock()
+ if !pp.twoPCEnabled {
+ return true
+ }
+ // If the pool is shutdown, we do not know the correct state of prepared transactions.
+ if !pp.open {
+ return false
+ }
+ for _, connection := range pp.conns {
+ for _, query := range connection.txProps.Queries {
+ for _, table := range query.Tables {
+ if table == tableName {
+ return false
+ }
+ }
+ }
+ }
+ return true
+}
diff --git a/go/vt/vttablet/tabletserver/tx_prep_pool_test.go b/go/vt/vttablet/tabletserver/tx_prep_pool_test.go
index 42e2b800e0e..cf6d2b61093 100644
--- a/go/vt/vttablet/tabletserver/tx_prep_pool_test.go
+++ b/go/vt/vttablet/tabletserver/tx_prep_pool_test.go
@@ -24,13 +24,13 @@ import (
)
func TestEmptyPrep(t *testing.T) {
- pp := NewTxPreparedPool(0)
+ pp := createAndOpenPreparedPool(0)
err := pp.Put(nil, "aa")
require.ErrorContains(t, err, "prepared transactions exceeded limit: 0")
}
func TestPrepPut(t *testing.T) {
- pp := NewTxPreparedPool(2)
+ pp := createAndOpenPreparedPool(2)
err := pp.Put(nil, "aa")
require.NoError(t, err)
err = pp.Put(nil, "bb")
@@ -50,7 +50,7 @@ func TestPrepPut(t *testing.T) {
}
func TestPrepFetchForRollback(t *testing.T) {
- pp := NewTxPreparedPool(2)
+ pp := createAndOpenPreparedPool(2)
conn := &StatefulConnection{}
pp.Put(conn, "aa")
got := pp.FetchForRollback("bb")
@@ -68,7 +68,7 @@ func TestPrepFetchForRollback(t *testing.T) {
}
func TestPrepFetchForCommit(t *testing.T) {
- pp := NewTxPreparedPool(2)
+ pp := createAndOpenPreparedPool(2)
conn := &StatefulConnection{}
got, err := pp.FetchForCommit("aa")
require.NoError(t, err)
@@ -97,7 +97,7 @@ func TestPrepFetchForCommit(t *testing.T) {
}
func TestPrepFetchAll(t *testing.T) {
- pp := NewTxPreparedPool(2)
+ pp := createAndOpenPreparedPool(2)
conn1 := &StatefulConnection{}
conn2 := &StatefulConnection{}
pp.Put(conn1, "aa")
@@ -108,3 +108,11 @@ func TestPrepFetchAll(t *testing.T) {
_, err := pp.FetchForCommit("aa")
require.ErrorContains(t, err, "pool is shutdown")
}
+
+// createAndOpenPreparedPool creates a new transaction prepared pool and opens it.
+// Used as a helper function for testing.
+func createAndOpenPreparedPool(capacity int) *TxPreparedPool {
+ pp := NewTxPreparedPool(capacity, true)
+ pp.Open()
+ return pp
+}
diff --git a/go/vt/vttablet/tabletserver/txlogz_test.go b/go/vt/vttablet/tabletserver/txlogz_test.go
index 319669a0023..8faec74d07b 100644
--- a/go/vt/vttablet/tabletserver/txlogz_test.go
+++ b/go/vt/vttablet/tabletserver/txlogz_test.go
@@ -60,7 +60,7 @@ func testHandler(req *http.Request, t *testing.T) {
ImmediateCaller: callerid.NewImmediateCallerID("immediate-caller"),
StartTime: time.Now(),
Conclusion: "unknown",
- Queries: []string{"select * from test"},
+ Queries: []tx.Query{{Sql: "select * from test"}},
},
}
txConn.txProps.EndTime = txConn.txProps.StartTime
diff --git a/go/vt/vttablet/tabletserver/txthrottler/tx_throttler.go b/go/vt/vttablet/tabletserver/txthrottler/tx_throttler.go
index 18fafa8eb96..cf0a88ad310 100644
--- a/go/vt/vttablet/tabletserver/txthrottler/tx_throttler.go
+++ b/go/vt/vttablet/tabletserver/txthrottler/tx_throttler.go
@@ -40,7 +40,7 @@ import (
// These vars store the functions used to create the topo server, healthcheck,
// and go/vt/throttler. These are provided here so that they can be overridden
// in tests to generate mocks.
-type healthCheckFactoryFunc func(topoServer *topo.Server, cell string, cellsToWatch []string) discovery.HealthCheck
+type healthCheckFactoryFunc func(ctx context.Context, topoServer *topo.Server, cell, keyspace, shard string, cellsToWatch []string) (discovery.HealthCheck, error)
type throttlerFactoryFunc func(name, unit string, threadCount int, maxRate int64, maxReplicationLagConfig throttler.MaxReplicationLagModuleConfig) (throttler.Throttler, error)
var (
@@ -49,8 +49,13 @@ var (
)
func resetTxThrottlerFactories() {
- healthCheckFactory = func(topoServer *topo.Server, cell string, cellsToWatch []string) discovery.HealthCheck {
- return discovery.NewHealthCheck(context.Background(), discovery.DefaultHealthCheckRetryDelay, discovery.DefaultHealthCheckTimeout, topoServer, cell, strings.Join(cellsToWatch, ","))
+ healthCheckFactory = func(ctx context.Context, topoServer *topo.Server, cell, keyspace, shard string, cellsToWatch []string) (discovery.HealthCheck, error) {
+ // discovery.NewFilterByShard expects a single-shard filter to be in "keyspace|shard" format.
+ filter, err := discovery.NewFilterByShard([]string{keyspace + "|" + shard})
+ if err != nil {
+ return nil, err
+ }
+ return discovery.NewHealthCheck(ctx, discovery.DefaultHealthCheckRetryDelay, discovery.DefaultHealthCheckTimeout, topoServer, cell, strings.Join(cellsToWatch, ","), filter), nil
}
throttlerFactory = func(name, unit string, threadCount int, maxRate int64, maxReplicationLagConfig throttler.MaxReplicationLagModuleConfig) (throttler.Throttler, error) {
return throttler.NewThrottlerFromConfig(name, unit, threadCount, maxRate, maxReplicationLagConfig, time.Now)
@@ -142,9 +147,11 @@ type txThrottlerStateImpl struct {
// throttleMu serializes calls to throttler.Throttler.Throttle(threadId).
// That method is required to be called in serial for each threadId.
- throttleMu sync.Mutex
- throttler throttler.Throttler
- stopHealthCheck context.CancelFunc
+ throttleMu sync.Mutex
+ throttler throttler.Throttler
+
+ ctx context.Context
+ cancel context.CancelFunc
healthCheck discovery.HealthCheck
healthCheckChan chan *discovery.TabletHealth
@@ -268,7 +275,10 @@ func newTxThrottlerState(txThrottler *txThrottler, config *tabletenv.TabletConfi
tabletTypes[tabletType] = true
}
+ ctx, cancel := context.WithCancel(context.Background())
state := &txThrottlerStateImpl{
+ ctx: ctx,
+ cancel: cancel,
config: config,
healthCheckCells: config.TxThrottlerHealthCheckCells,
tabletTypes: tabletTypes,
@@ -279,38 +289,42 @@ func newTxThrottlerState(txThrottler *txThrottler, config *tabletenv.TabletConfi
// get cells from topo if none defined in tabletenv config
if len(state.healthCheckCells) == 0 {
- ctx, cancel := context.WithTimeout(context.Background(), topo.RemoteOperationTimeout)
- defer cancel()
- state.healthCheckCells = fetchKnownCells(ctx, txThrottler.topoServer, target)
+ cellsCtx, cellsCancel := context.WithTimeout(ctx, topo.RemoteOperationTimeout)
+ defer cellsCancel()
+ state.healthCheckCells = fetchKnownCells(cellsCtx, txThrottler.topoServer, target)
state.cellsFromTopo = true
}
- ctx, cancel := context.WithCancel(context.Background())
- state.stopHealthCheck = cancel
- state.initHealthCheckStream(txThrottler.topoServer, target)
+ if err := state.initHealthCheckStream(txThrottler.topoServer, target); err != nil {
+ return nil, err
+ }
state.healthCheck.RegisterStats()
- go state.healthChecksProcessor(ctx, txThrottler.topoServer, target)
+ go state.healthChecksProcessor(txThrottler.topoServer, target)
state.waitForTermination.Add(1)
go state.updateMaxLag()
return state, nil
}
-func (ts *txThrottlerStateImpl) initHealthCheckStream(topoServer *topo.Server, target *querypb.Target) {
- ts.healthCheck = healthCheckFactory(topoServer, target.Cell, ts.healthCheckCells)
+func (ts *txThrottlerStateImpl) initHealthCheckStream(topoServer *topo.Server, target *querypb.Target) (err error) {
+ ts.healthCheck, err = healthCheckFactory(ts.ctx, topoServer, target.Cell, target.Keyspace, target.Shard, ts.healthCheckCells)
+ if err != nil {
+ return err
+ }
ts.healthCheckChan = ts.healthCheck.Subscribe()
+ return nil
}
func (ts *txThrottlerStateImpl) closeHealthCheckStream() {
if ts.healthCheck == nil {
return
}
- ts.stopHealthCheck()
+ ts.cancel()
ts.healthCheck.Close()
}
-func (ts *txThrottlerStateImpl) updateHealthCheckCells(ctx context.Context, topoServer *topo.Server, target *querypb.Target) {
- fetchCtx, cancel := context.WithTimeout(ctx, topo.RemoteOperationTimeout)
+func (ts *txThrottlerStateImpl) updateHealthCheckCells(topoServer *topo.Server, target *querypb.Target) error {
+ fetchCtx, cancel := context.WithTimeout(ts.ctx, topo.RemoteOperationTimeout)
defer cancel()
knownCells := fetchKnownCells(fetchCtx, topoServer, target)
@@ -318,11 +332,12 @@ func (ts *txThrottlerStateImpl) updateHealthCheckCells(ctx context.Context, topo
log.Info("txThrottler: restarting healthcheck stream due to topology cells update")
ts.healthCheckCells = knownCells
ts.closeHealthCheckStream()
- ts.initHealthCheckStream(topoServer, target)
+ return ts.initHealthCheckStream(topoServer, target)
}
+ return nil
}
-func (ts *txThrottlerStateImpl) healthChecksProcessor(ctx context.Context, topoServer *topo.Server, target *querypb.Target) {
+func (ts *txThrottlerStateImpl) healthChecksProcessor(topoServer *topo.Server, target *querypb.Target) {
var cellsUpdateTicks <-chan time.Time
if ts.cellsFromTopo {
ticker := time.NewTicker(ts.config.TxThrottlerTopoRefreshInterval)
@@ -331,10 +346,12 @@ func (ts *txThrottlerStateImpl) healthChecksProcessor(ctx context.Context, topoS
}
for {
select {
- case <-ctx.Done():
+ case <-ts.ctx.Done():
return
case <-cellsUpdateTicks:
- ts.updateHealthCheckCells(ctx, topoServer, target)
+ if err := ts.updateHealthCheckCells(topoServer, target); err != nil {
+ log.Errorf("txThrottler: failed to update cell list: %+v", err)
+ }
case th := <-ts.healthCheckChan:
ts.StatsUpdate(th)
}
diff --git a/go/vt/vttablet/tabletserver/txthrottler/tx_throttler_test.go b/go/vt/vttablet/tabletserver/txthrottler/tx_throttler_test.go
index 25c855b898b..1d3c9f57e72 100644
--- a/go/vt/vttablet/tabletserver/txthrottler/tx_throttler_test.go
+++ b/go/vt/vttablet/tabletserver/txthrottler/tx_throttler_test.go
@@ -74,8 +74,8 @@ func TestEnabledThrottler(t *testing.T) {
hcCall2.After(hcCall1)
hcCall3 := mockHealthCheck.EXPECT().Close()
hcCall3.After(hcCall2)
- healthCheckFactory = func(topoServer *topo.Server, cell string, cellsToWatch []string) discovery.HealthCheck {
- return mockHealthCheck
+ healthCheckFactory = func(ctx context.Context, topoServer *topo.Server, cell, keyspace, shard string, cellsToWatch []string) (discovery.HealthCheck, error) {
+ return mockHealthCheck, nil
}
mockThrottler := NewMockThrottler(mockCtrl)
diff --git a/go/vt/vttablet/tabletserver/vstreamer/copy.go b/go/vt/vttablet/tabletserver/vstreamer/copy.go
index 2f54ea235fe..1e1d432956d 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/copy.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/copy.go
@@ -74,7 +74,7 @@ func (uvs *uvstreamer) catchup(ctx context.Context) error {
errch := make(chan error, 1)
go func() {
startPos := replication.EncodePosition(uvs.pos)
- vs := newVStreamer(ctx, uvs.cp, uvs.se, startPos, "", uvs.filter, uvs.getVSchema(), uvs.throttlerApp, uvs.send2, "catchup", uvs.vse)
+ vs := newVStreamer(ctx, uvs.cp, uvs.se, startPos, "", uvs.filter, uvs.getVSchema(), uvs.throttlerApp, uvs.send2, "catchup", uvs.vse, nil)
uvs.setVs(vs)
errch <- vs.Stream()
uvs.setVs(nil)
@@ -306,7 +306,7 @@ func (uvs *uvstreamer) copyTable(ctx context.Context, tableName string) error {
uvs.setCopyState(tableName, qrLastPK)
log.V(2).Infof("NewLastPK: %v", qrLastPK)
return nil
- })
+ }, nil)
if err != nil {
uvs.vse.errorCounts.Add("StreamRows", 1)
return err
@@ -333,7 +333,7 @@ func (uvs *uvstreamer) fastForward(stopPos string) error {
}()
log.Infof("starting fastForward from %s upto pos %s", replication.EncodePosition(uvs.pos), stopPos)
uvs.stopPos, _ = replication.DecodePosition(stopPos)
- vs := newVStreamer(uvs.ctx, uvs.cp, uvs.se, replication.EncodePosition(uvs.pos), "", uvs.filter, uvs.getVSchema(), uvs.throttlerApp, uvs.send2, "fastforward", uvs.vse)
+ vs := newVStreamer(uvs.ctx, uvs.cp, uvs.se, replication.EncodePosition(uvs.pos), "", uvs.filter, uvs.getVSchema(), uvs.throttlerApp, uvs.send2, "fastforward", uvs.vse, nil)
uvs.setVs(vs)
return vs.Stream()
}
diff --git a/go/vt/vttablet/tabletserver/vstreamer/engine.go b/go/vt/vttablet/tabletserver/vstreamer/engine.go
index 3dc1f5f9a92..eba6e736a21 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/engine.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/engine.go
@@ -39,6 +39,7 @@ import (
"vitess.io/vitess/go/vt/topo"
"vitess.io/vitess/go/vt/vterrors"
"vitess.io/vitess/go/vt/vtgate/vindexes"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
"vitess.io/vitess/go/vt/vttablet/tabletserver/schema"
"vitess.io/vitess/go/vt/vttablet/tabletserver/tabletenv"
"vitess.io/vitess/go/vt/vttablet/tabletserver/throttle"
@@ -233,7 +234,10 @@ func (vse *Engine) validateBinlogRowImage(ctx context.Context, db dbconfigs.Conn
// Stream starts a new stream.
// This streams events from the binary logs
-func (vse *Engine) Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter, throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error) error {
+func (vse *Engine) Stream(ctx context.Context, startPos string, tablePKs []*binlogdatapb.TableLastPK,
+ filter *binlogdatapb.Filter, throttlerApp throttlerapp.Name,
+ send func([]*binlogdatapb.VEvent) error, options *binlogdatapb.VStreamOptions) error {
+
if err := vse.validateBinlogRowImage(ctx, vse.se.GetDBConnector()); err != nil {
return err
}
@@ -250,7 +254,8 @@ func (vse *Engine) Stream(ctx context.Context, startPos string, tablePKs []*binl
}
vse.mu.Lock()
defer vse.mu.Unlock()
- streamer := newUVStreamer(ctx, vse, vse.env.Config().DB.FilteredWithDB(), vse.se, startPos, tablePKs, filter, vse.lvschema, throttlerApp, send)
+ streamer := newUVStreamer(ctx, vse, vse.env.Config().DB.FilteredWithDB(), vse.se, startPos, tablePKs,
+ filter, vse.lvschema, throttlerApp, send, options)
idx := vse.streamIdx
vse.streamers[idx] = streamer
vse.streamIdx++
@@ -277,7 +282,8 @@ func (vse *Engine) Stream(ctx context.Context, startPos string, tablePKs []*binl
// StreamRows streams rows.
// This streams the table data rows (so we can copy the table data snapshot)
-func (vse *Engine) StreamRows(ctx context.Context, query string, lastpk []sqltypes.Value, send func(*binlogdatapb.VStreamRowsResponse) error) error {
+func (vse *Engine) StreamRows(ctx context.Context, query string, lastpk []sqltypes.Value,
+ send func(*binlogdatapb.VStreamRowsResponse) error, options *binlogdatapb.VStreamOptions) error {
// Ensure vschema is initialized and the watcher is started.
// Starting of the watcher has to be delayed till the first call to Stream
// because this overhead should be incurred only if someone uses this feature.
@@ -292,7 +298,8 @@ func (vse *Engine) StreamRows(ctx context.Context, query string, lastpk []sqltyp
vse.mu.Lock()
defer vse.mu.Unlock()
- rowStreamer := newRowStreamer(ctx, vse.env.Config().DB.FilteredWithDB(), vse.se, query, lastpk, vse.lvschema, send, vse, RowStreamerModeSingleTable, nil)
+ rowStreamer := newRowStreamer(ctx, vse.env.Config().DB.FilteredWithDB(), vse.se, query, lastpk, vse.lvschema,
+ send, vse, RowStreamerModeSingleTable, nil, options)
idx := vse.streamIdx
vse.rowStreamers[idx] = rowStreamer
vse.streamIdx++
@@ -318,7 +325,9 @@ func (vse *Engine) StreamRows(ctx context.Context, query string, lastpk []sqltyp
}
// StreamTables streams all tables.
-func (vse *Engine) StreamTables(ctx context.Context, send func(*binlogdatapb.VStreamTablesResponse) error) error {
+func (vse *Engine) StreamTables(ctx context.Context,
+ send func(*binlogdatapb.VStreamTablesResponse) error, options *binlogdatapb.VStreamOptions) error {
+
// Ensure vschema is initialized and the watcher is started.
// Starting of the watcher is delayed till the first call to StreamTables
// so that this overhead is incurred only if someone uses this feature.
@@ -333,7 +342,7 @@ func (vse *Engine) StreamTables(ctx context.Context, send func(*binlogdatapb.VSt
vse.mu.Lock()
defer vse.mu.Unlock()
- tableStreamer := newTableStreamer(ctx, vse.env.Config().DB.FilteredWithDB(), vse.se, vse.lvschema, send, vse)
+ tableStreamer := newTableStreamer(ctx, vse.env.Config().DB.FilteredWithDB(), vse.se, vse.lvschema, send, vse, options)
idx := vse.streamIdx
vse.tableStreamers[idx] = tableStreamer
vse.streamIdx++
@@ -359,7 +368,9 @@ func (vse *Engine) StreamTables(ctx context.Context, send func(*binlogdatapb.VSt
}
// StreamResults streams results of the query with the gtid.
-func (vse *Engine) StreamResults(ctx context.Context, query string, send func(*binlogdatapb.VStreamResultsResponse) error) error {
+func (vse *Engine) StreamResults(ctx context.Context, query string,
+ send func(*binlogdatapb.VStreamResultsResponse) error) error {
+
// Create stream and add it to the map.
resultStreamer, idx, err := func() (*resultStreamer, int, error) {
if atomic.LoadInt32(&vse.isOpen) == 0 {
@@ -465,7 +476,7 @@ func (vse *Engine) setWatch() {
}
func getPacketSize() int64 {
- return int64(defaultPacketSize)
+ return int64(vttablet.VStreamerDefaultPacketSize)
}
// waitForMySQL ensures that the source is able to stay within defined bounds for
diff --git a/go/vt/vttablet/tabletserver/vstreamer/engine_test.go b/go/vt/vttablet/tabletserver/vstreamer/engine_test.go
index b0b31e256cc..7cafcc6d485 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/engine_test.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/engine_test.go
@@ -96,7 +96,7 @@ func TestUpdateVSchema(t *testing.T) {
// Stream should terminate immediately due to invalid pos.
_ = engine.Stream(ctx, "invalid", nil, filter, throttlerapp.VStreamerName, func(_ []*binlogdatapb.VEvent) error {
return nil
- })
+ }, nil)
startCount := expectUpdateCount(t, 1)
@@ -106,6 +106,7 @@ func TestUpdateVSchema(t *testing.T) {
expectUpdateCount(t, startCount+1)
want := `{
+ "mirror_rules": {},
"routing_rules": {},
"keyspaces": {
"vttest": {
diff --git a/go/vt/vttablet/tabletserver/vstreamer/helper_event_test.go b/go/vt/vttablet/tabletserver/vstreamer/helper_event_test.go
index 81f4d3f7975..c52e81564c0 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/helper_event_test.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/helper_event_test.go
@@ -158,10 +158,10 @@ func (s *TestRowEventSpec) String() string {
TableName: s.table,
}
var rowChanges []*binlogdatapb.RowChange
- if s.changes != nil && len(s.changes) > 0 {
+ if len(s.changes) > 0 {
for _, c := range s.changes {
rowChange := binlogdatapb.RowChange{}
- if c.before != nil && len(c.before) > 0 {
+ if len(c.before) > 0 {
rowChange.Before = &query.Row{}
for _, val := range c.before {
if val == sqltypes.NullStr {
@@ -171,7 +171,7 @@ func (s *TestRowEventSpec) String() string {
rowChange.Before.Values = append(rowChange.Before.Values, []byte(val)...)
}
}
- if c.after != nil && len(c.after) > 0 {
+ if len(c.after) > 0 {
rowChange.After = &query.Row{}
for i, val := range c.after {
if val == sqltypes.NullStr {
@@ -318,7 +318,7 @@ func (ts *TestSpec) Init() {
// Close() should be called (via defer) at the end of the test to clean up the tables created in the test.
func (ts *TestSpec) Close() {
- dropStatement := fmt.Sprintf("drop tables %s", strings.Join(ts.schema.TableNames(), ", "))
+ dropStatement := fmt.Sprintf("drop table if exists %s", strings.Join(ts.schema.TableNames(), ", "))
execStatement(ts.t, dropStatement)
}
diff --git a/go/vt/vttablet/tabletserver/vstreamer/main_test.go b/go/vt/vttablet/tabletserver/vstreamer/main_test.go
index aade1511060..18b5e1f1b3b 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/main_test.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/main_test.go
@@ -22,11 +22,14 @@ import (
"io"
"os"
"slices"
+ "strconv"
"strings"
"sync"
"testing"
"time"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
+
"github.com/stretchr/testify/require"
_flag "vitess.io/vitess/go/internal/flag"
@@ -309,6 +312,14 @@ func vstream(ctx context.Context, t *testing.T, pos string, tablePKs []*binlogda
}},
}
}
+
+ // Some unit tests currently change the packet size options for the scope of those tests. We want to pass those
+ // values to the VStreamer for the duration of this test.
+ var options binlogdatapb.VStreamOptions
+ options.ConfigOverrides = make(map[string]string)
+ options.ConfigOverrides["vstream_dynamic_packet_size"] = strconv.FormatBool(vttablet.VStreamerUseDynamicPacketSize)
+ options.ConfigOverrides["vstream_packet_size"] = strconv.Itoa(vttablet.VStreamerDefaultPacketSize)
+
return engine.Stream(ctx, pos, tablePKs, filter, throttlerapp.VStreamerName, func(evs []*binlogdatapb.VEvent) error {
timer := time.NewTimer(2 * time.Second)
defer timer.Stop()
@@ -323,7 +334,7 @@ func vstream(ctx context.Context, t *testing.T, pos string, tablePKs []*binlogda
return io.EOF
}
return nil
- })
+ }, &options)
}
func execStatement(t *testing.T, query string) {
diff --git a/go/vt/vttablet/tabletserver/vstreamer/packet_size.go b/go/vt/vttablet/tabletserver/vstreamer/packet_size.go
index 50bc1e57cd2..7ce430d1811 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/packet_size.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/packet_size.go
@@ -21,14 +21,9 @@ import (
"github.com/spf13/pflag"
- "vitess.io/vitess/go/vt/servenv"
-
"vitess.io/vitess/go/mathstats"
-)
-
-var (
- defaultPacketSize = 250000
- useDynamicPacketSize = true
+ "vitess.io/vitess/go/vt/servenv"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
)
func init() {
@@ -38,9 +33,9 @@ func init() {
func registerPacketSizeFlags(fs *pflag.FlagSet) {
// defaultPacketSize is the suggested packet size for VReplication streamer.
- fs.IntVar(&defaultPacketSize, "vstream_packet_size", defaultPacketSize, "Suggested packet size for VReplication streamer. This is used only as a recommendation. The actual packet size may be more or less than this amount.")
+ fs.IntVar(&vttablet.VStreamerDefaultPacketSize, "vstream_packet_size", vttablet.VStreamerDefaultPacketSize, "Suggested packet size for VReplication streamer. This is used only as a recommendation. The actual packet size may be more or less than this amount.")
// useDynamicPacketSize controls whether to use dynamic packet size adjustments to increase performance while streaming
- fs.BoolVar(&useDynamicPacketSize, "vstream_dynamic_packet_size", useDynamicPacketSize, "Enable dynamic packet sizing for VReplication. This will adjust the packet size during replication to improve performance.")
+ fs.BoolVar(&vttablet.VStreamerUseDynamicPacketSize, "vstream_dynamic_packet_size", vttablet.VStreamerUseDynamicPacketSize, "Enable dynamic packet sizing for VReplication. This will adjust the packet size during replication to improve performance.")
}
// PacketSizer is a controller that adjusts the size of the packets being sent by the vstreamer at runtime
@@ -50,28 +45,29 @@ type PacketSizer interface {
Limit() int
}
-// DefaultPacketSizer creates a new PacketSizer using the default settings.
+// DefaultPacketSizer creates a new PacketSizer based on the provided values.
// If dynamic packet sizing is enabled, this will return a dynamicPacketSizer.
-func DefaultPacketSizer() PacketSizer {
+// Otherwise it will return a fixedPacketSize of packetSize.
+func DefaultPacketSizer(useDynamicPacketSize bool, packetSize int) PacketSizer {
if useDynamicPacketSize {
- return newDynamicPacketSizer(defaultPacketSize)
+ return newDynamicPacketSizer(packetSize)
}
- return newFixedPacketSize(defaultPacketSize)
+ return newFixedPacketSize(packetSize)
}
// AdjustPacketSize temporarily adjusts the default packet sizes to the given value.
// Calling the returned cleanup function resets them to their original value.
// This function is only used for testing.
func AdjustPacketSize(size int) func() {
- originalSize := defaultPacketSize
- originalDyn := useDynamicPacketSize
+ originalSize := vttablet.VStreamerDefaultPacketSize
+ originalDyn := vttablet.VStreamerUseDynamicPacketSize
- defaultPacketSize = size
- useDynamicPacketSize = false
+ vttablet.VStreamerDefaultPacketSize = size
+ vttablet.VStreamerUseDynamicPacketSize = false
return func() {
- defaultPacketSize = originalSize
- useDynamicPacketSize = originalDyn
+ vttablet.VStreamerDefaultPacketSize = originalSize
+ vttablet.VStreamerUseDynamicPacketSize = originalDyn
}
}
diff --git a/go/vt/vttablet/tabletserver/vstreamer/planbuilder.go b/go/vt/vttablet/tabletserver/vstreamer/planbuilder.go
index 2c768d7d3c6..9bbc98ca2bd 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/planbuilder.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/planbuilder.go
@@ -64,6 +64,9 @@ type Plan struct {
EnumSetValuesMap map[int](map[int]string)
env *vtenv.Environment
+
+ // IsInternal is set to true if the plan is for a sidecar table.
+ IsInternal bool
}
// Opcode enumerates the operators supported in a where clause
diff --git a/go/vt/vttablet/tabletserver/vstreamer/resultstreamer.go b/go/vt/vttablet/tabletserver/vstreamer/resultstreamer.go
index b6294cd1939..ca3929979c3 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/resultstreamer.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/resultstreamer.go
@@ -25,6 +25,7 @@ import (
"vitess.io/vitess/go/vt/dbconfigs"
"vitess.io/vitess/go/vt/logutil"
"vitess.io/vitess/go/vt/sqlparser"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
"vitess.io/vitess/go/vt/vttablet/tabletserver/throttle/throttlerapp"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
@@ -55,7 +56,7 @@ func newResultStreamer(ctx context.Context, cp dbconfigs.Connector, query string
query: query,
send: send,
vse: vse,
- pktsize: DefaultPacketSizer(),
+ pktsize: DefaultPacketSizer(vttablet.VStreamerUseDynamicPacketSize, vttablet.VStreamerDefaultPacketSize),
}
}
diff --git a/go/vt/vttablet/tabletserver/vstreamer/rowstreamer.go b/go/vt/vttablet/tabletserver/vstreamer/rowstreamer.go
index 6015590dad7..31c47674233 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/rowstreamer.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/rowstreamer.go
@@ -33,7 +33,7 @@ import (
"vitess.io/vitess/go/vt/logutil"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vterrors"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
"vitess.io/vitess/go/vt/vttablet/tabletserver/schema"
"vitess.io/vitess/go/vt/vttablet/tabletserver/throttle/throttlerapp"
@@ -79,14 +79,20 @@ type rowStreamer struct {
vse *Engine
pktsize PacketSizer
- mode RowStreamerMode
- conn *snapshotConn
+ mode RowStreamerMode
+ conn *snapshotConn
+ options *binlogdatapb.VStreamOptions
+ config *vttablet.VReplicationConfig
}
func newRowStreamer(ctx context.Context, cp dbconfigs.Connector, se *schema.Engine, query string,
lastpk []sqltypes.Value, vschema *localVSchema, send func(*binlogdatapb.VStreamRowsResponse) error, vse *Engine,
- mode RowStreamerMode, conn *snapshotConn) *rowStreamer {
+ mode RowStreamerMode, conn *snapshotConn, options *binlogdatapb.VStreamOptions) *rowStreamer {
+ config, err := GetVReplicationConfig(options)
+ if err != nil {
+ return nil
+ }
ctx, cancel := context.WithCancel(ctx)
return &rowStreamer{
ctx: ctx,
@@ -98,9 +104,11 @@ func newRowStreamer(ctx context.Context, cp dbconfigs.Connector, se *schema.Engi
send: send,
vschema: vschema,
vse: vse,
- pktsize: DefaultPacketSizer(),
+ pktsize: DefaultPacketSizer(config.VStreamDynamicPacketSize, config.VStreamPacketSize),
mode: mode,
conn: conn,
+ options: options,
+ config: config,
}
}
@@ -128,10 +136,10 @@ func (rs *rowStreamer) Stream() error {
if _, err := rs.conn.ExecuteFetch("set names 'binary'", 1, false); err != nil {
return err
}
- if _, err := conn.ExecuteFetch(fmt.Sprintf("set @@session.net_read_timeout = %v", vttablet.VReplicationNetReadTimeout), 1, false); err != nil {
+ if _, err := conn.ExecuteFetch(fmt.Sprintf("set @@session.net_read_timeout = %v", rs.config.NetReadTimeout), 1, false); err != nil {
return err
}
- if _, err := conn.ExecuteFetch(fmt.Sprintf("set @@session.net_write_timeout = %v", vttablet.VReplicationNetWriteTimeout), 1, false); err != nil {
+ if _, err := conn.ExecuteFetch(fmt.Sprintf("set @@session.net_write_timeout = %v", rs.config.NetReadTimeout), 1, false); err != nil {
return err
}
}
@@ -240,7 +248,7 @@ func (rs *rowStreamer) buildPKColumns(st *binlogdatapb.MinimalTable) ([]int, err
func (rs *rowStreamer) buildSelect(st *binlogdatapb.MinimalTable) (string, error) {
buf := sqlparser.NewTrackedBuffer(nil)
// We could have used select *, but being explicit is more predictable.
- buf.Myprintf("select %s", GetVReplicationMaxExecutionTimeQueryHint())
+ buf.Myprintf("select %s", GetVReplicationMaxExecutionTimeQueryHint(rs.config.CopyPhaseDuration))
prefix := ""
for _, col := range rs.plan.Table.Fields {
if rs.plan.isConvertColumnUsingUTF8(col.Name) {
@@ -455,6 +463,6 @@ func (rs *rowStreamer) streamQuery(send func(*binlogdatapb.VStreamRowsResponse)
return nil
}
-func GetVReplicationMaxExecutionTimeQueryHint() string {
- return fmt.Sprintf("/*+ MAX_EXECUTION_TIME(%v) */ ", vttablet.CopyPhaseDuration.Milliseconds())
+func GetVReplicationMaxExecutionTimeQueryHint(copyPhaseDuration time.Duration) string {
+ return fmt.Sprintf("/*+ MAX_EXECUTION_TIME(%v) */ ", copyPhaseDuration.Milliseconds())
}
diff --git a/go/vt/vttablet/tabletserver/vstreamer/rowstreamer_test.go b/go/vt/vttablet/tabletserver/vstreamer/rowstreamer_test.go
index 48d11d9e856..2c75c4a73b0 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/rowstreamer_test.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/rowstreamer_test.go
@@ -20,8 +20,11 @@ import (
"context"
"fmt"
"regexp"
+ "strconv"
"testing"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
+
"github.com/stretchr/testify/require"
"vitess.io/vitess/go/mysql"
@@ -79,7 +82,7 @@ func TestRowStreamerQuery(t *testing.T) {
})
}
return nil
- })
+ }, nil)
require.NoError(t, err)
}
@@ -285,7 +288,7 @@ func TestStreamRowsUnicode(t *testing.T) {
t.Errorf("rows.Rows[0].Values: %s, want %s", got, want)
}
return nil
- })
+ }, nil)
require.NoError(t, err)
}
@@ -423,10 +426,14 @@ func TestStreamRowsCancel(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
+ var options binlogdatapb.VStreamOptions
+ options.ConfigOverrides = make(map[string]string)
+ options.ConfigOverrides["vstream_dynamic_packet_size"] = "false"
+ options.ConfigOverrides["vstream_packet_size"] = "10"
err := engine.StreamRows(ctx, "select * from t1", nil, func(rows *binlogdatapb.VStreamRowsResponse) error {
cancel()
return nil
- })
+ }, &options)
if got, want := err.Error(), "stream ended: context canceled"; got != want {
t.Errorf("err: %v, want %s", err, want)
}
@@ -442,6 +449,10 @@ func checkStream(t *testing.T, query string, lastpk []sqltypes.Value, wantQuery
go func() {
first := true
defer close(ch)
+ var options binlogdatapb.VStreamOptions
+ options.ConfigOverrides = make(map[string]string)
+ options.ConfigOverrides["vstream_dynamic_packet_size"] = strconv.FormatBool(vttablet.VStreamerUseDynamicPacketSize)
+ options.ConfigOverrides["vstream_packet_size"] = strconv.Itoa(vttablet.VStreamerDefaultPacketSize)
err := engine.StreamRows(context.Background(), query, lastpk, func(rows *binlogdatapb.VStreamRowsResponse) error {
if first {
if rows.Gtid == "" {
@@ -469,7 +480,7 @@ func checkStream(t *testing.T, query string, lastpk []sqltypes.Value, wantQuery
}
i++
return nil
- })
+ }, &options)
if err != nil {
ch <- err
}
@@ -486,7 +497,7 @@ func expectStreamError(t *testing.T, query string, want string) {
defer close(ch)
err := engine.StreamRows(context.Background(), query, nil, func(rows *binlogdatapb.VStreamRowsResponse) error {
return nil
- })
+ }, nil)
require.EqualError(t, err, want, "Got incorrect error")
}()
}
diff --git a/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn.go b/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn.go
index f3eda83bd45..ec326cc4159 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/snapshot_conn.go
@@ -25,23 +25,17 @@ import (
"github.com/spf13/pflag"
+ "vitess.io/vitess/go/mysql"
"vitess.io/vitess/go/mysql/replication"
"vitess.io/vitess/go/mysql/sqlerror"
-
- "vitess.io/vitess/go/mysql"
"vitess.io/vitess/go/vt/dbconfigs"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/servenv"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vterrors"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
)
-// If the current binary log is greater than this byte size, we
-// will attempt to rotate it before starting a GTID snapshot
-// based stream.
-// Default is 64MiB.
-var binlogRotationThreshold = int64(64 * 1024 * 1024) // 64MiB
-
// snapshotConn is wrapper on mysql.Conn capable of
// reading a table along with a GTID snapshot.
type snapshotConn struct {
@@ -55,7 +49,7 @@ func init() {
}
func registerSnapshotConnFlags(fs *pflag.FlagSet) {
- fs.Int64Var(&binlogRotationThreshold, "vstream-binlog-rotation-threshold", binlogRotationThreshold, "Byte size at which a VStreamer will attempt to rotate the source's open binary log before starting a GTID snapshot based stream (e.g. a ResultStreamer or RowStreamer)")
+ fs.Int64Var(&vttablet.VStreamerBinlogRotationThreshold, "vstream-binlog-rotation-threshold", vttablet.VStreamerBinlogRotationThreshold, "Byte size at which a VStreamer will attempt to rotate the source's open binary log before starting a GTID snapshot based stream (e.g. a ResultStreamer or RowStreamer)")
}
func snapshotConnect(ctx context.Context, cp dbconfigs.Connector) (*snapshotConn, error) {
@@ -189,7 +183,7 @@ func (conn *snapshotConn) limitOpenBinlogSize() (bool, error) {
if err != nil {
return rotatedLog, err
}
- if curLogSize > atomic.LoadInt64(&binlogRotationThreshold) {
+ if curLogSize > atomic.LoadInt64(&vttablet.VStreamerBinlogRotationThreshold) {
if _, err = conn.ExecuteFetch("FLUSH BINARY LOGS", 0, false); err != nil {
return rotatedLog, err
}
@@ -202,14 +196,14 @@ func (conn *snapshotConn) limitOpenBinlogSize() (bool, error) {
// will attempt to rotate the binary log before starting a GTID snapshot based
// stream (e.g. a ResultStreamer or RowStreamer).
func GetBinlogRotationThreshold() int64 {
- return atomic.LoadInt64(&binlogRotationThreshold)
+ return atomic.LoadInt64(&vttablet.VStreamerBinlogRotationThreshold)
}
// SetBinlogRotationThreshold sets the byte size at which a VStreamer will
// attempt to rotate the binary log before starting a GTID snapshot based
// stream (e.g. a ResultStreamer or RowStreamer).
func SetBinlogRotationThreshold(threshold int64) {
- atomic.StoreInt64(&binlogRotationThreshold, threshold)
+ atomic.StoreInt64(&vttablet.VStreamerBinlogRotationThreshold, threshold)
}
// startSnapshotAllTables starts a streaming query with a snapshot view of all tables, returning the
diff --git a/go/vt/vttablet/tabletserver/vstreamer/tablestreamer.go b/go/vt/vttablet/tabletserver/vstreamer/tablestreamer.go
index d3bbd136f12..6ed291387e1 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/tablestreamer.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/tablestreamer.go
@@ -28,7 +28,7 @@ import (
"vitess.io/vitess/go/vt/dbconfigs"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/mysqlctl/tmutils"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
"vitess.io/vitess/go/vt/vttablet/tabletserver/schema"
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
@@ -60,10 +60,17 @@ type tableStreamer struct {
snapshotConn *snapshotConn
tables []string
gtid string
+ options *binlogdatapb.VStreamOptions
+ config *vttablet.VReplicationConfig
}
func newTableStreamer(ctx context.Context, cp dbconfigs.Connector, se *schema.Engine, vschema *localVSchema,
- send func(response *binlogdatapb.VStreamTablesResponse) error, vse *Engine) *tableStreamer {
+ send func(response *binlogdatapb.VStreamTablesResponse) error, vse *Engine, options *binlogdatapb.VStreamOptions) *tableStreamer {
+
+ config, err := GetVReplicationConfig(options)
+ if err != nil {
+ return nil
+ }
ctx, cancel := context.WithCancel(ctx)
return &tableStreamer{
ctx: ctx,
@@ -73,6 +80,8 @@ func newTableStreamer(ctx context.Context, cp dbconfigs.Connector, se *schema.En
send: send,
vschema: vschema,
vse: vse,
+ options: options,
+ config: config,
}
}
@@ -103,10 +112,10 @@ func (ts *tableStreamer) Stream() error {
if _, err := conn.ExecuteFetch("set names 'binary'", 1, false); err != nil {
return err
}
- if _, err := conn.ExecuteFetch(fmt.Sprintf("set @@session.net_read_timeout = %v", vttablet.VReplicationNetReadTimeout), 1, false); err != nil {
+ if _, err := conn.ExecuteFetch(fmt.Sprintf("set @@session.net_read_timeout = %v", ts.config.NetReadTimeout), 1, false); err != nil {
return err
}
- if _, err := conn.ExecuteFetch(fmt.Sprintf("set @@session.net_write_timeout = %v", vttablet.VReplicationNetWriteTimeout), 1, false); err != nil {
+ if _, err := conn.ExecuteFetch(fmt.Sprintf("set @@session.net_write_timeout = %v", ts.config.NetWriteTimeout), 1, false); err != nil {
return err
}
@@ -149,7 +158,7 @@ func (ts *tableStreamer) newRowStreamer(ctx context.Context, query string, lastp
defer vse.mu.Unlock()
rowStreamer := newRowStreamer(ctx, vse.env.Config().DB.FilteredWithDB(), vse.se, query, lastpk, vse.lvschema,
- send, vse, RowStreamerModeAllTables, ts.snapshotConn)
+ send, vse, RowStreamerModeAllTables, ts.snapshotConn, ts.options)
idx := vse.streamIdx
vse.rowStreamers[idx] = rowStreamer
diff --git a/go/vt/vttablet/tabletserver/vstreamer/tablestreamer_test.go b/go/vt/vttablet/tabletserver/vstreamer/tablestreamer_test.go
index 9be3940c01d..8fe3849b8a4 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/tablestreamer_test.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/tablestreamer_test.go
@@ -69,7 +69,7 @@ func TestTableStreamer(t *testing.T) {
}
gotStream = append(gotStream, fmt.Sprintf("%v", response))
return nil
- })
+ }, nil)
require.NoError(t, err)
require.EqualValues(t, wantStream, gotStream)
require.Equal(t, int64(4), engine.tableStreamerNumTables.Get())
diff --git a/go/vt/vttablet/tabletserver/vstreamer/utils.go b/go/vt/vttablet/tabletserver/vstreamer/utils.go
new file mode 100644
index 00000000000..9597f80c07c
--- /dev/null
+++ b/go/vt/vttablet/tabletserver/vstreamer/utils.go
@@ -0,0 +1,37 @@
+/*
+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.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package vstreamer
+
+import (
+ "vitess.io/vitess/go/vt/log"
+ "vitess.io/vitess/go/vt/vterrors"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
+
+ binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
+)
+
+func GetVReplicationConfig(options *binlogdatapb.VStreamOptions) (*vttablet.VReplicationConfig, error) {
+ if options == nil {
+ return vttablet.InitVReplicationConfigDefaults(), nil
+ }
+ config, err := vttablet.NewVReplicationConfig(options.ConfigOverrides)
+ if err != nil {
+ log.Errorf("Error parsing VReplicationConfig: %v", err)
+ return nil, vterrors.Wrapf(err, "failed to parse VReplicationConfig")
+ }
+ return config, nil
+}
diff --git a/go/vt/vttablet/tabletserver/vstreamer/uvstreamer.go b/go/vt/vttablet/tabletserver/vstreamer/uvstreamer.go
index 854157b1546..ea475d19676 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/uvstreamer.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/uvstreamer.go
@@ -88,7 +88,8 @@ type uvstreamer struct {
config *uvstreamerConfig
- vs *vstreamer // last vstreamer created in uvstreamer
+ vs *vstreamer // last vstreamer created in uvstreamer
+ options *binlogdatapb.VStreamOptions
}
type uvstreamerConfig struct {
@@ -96,7 +97,10 @@ type uvstreamerConfig struct {
CatchupRetryTime time.Duration
}
-func newUVStreamer(ctx context.Context, vse *Engine, cp dbconfigs.Connector, se *schema.Engine, startPos string, tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter, vschema *localVSchema, throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error) *uvstreamer {
+func newUVStreamer(ctx context.Context, vse *Engine, cp dbconfigs.Connector, se *schema.Engine, startPos string,
+ tablePKs []*binlogdatapb.TableLastPK, filter *binlogdatapb.Filter, vschema *localVSchema,
+ throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error, options *binlogdatapb.VStreamOptions) *uvstreamer {
+
ctx, cancel := context.WithCancel(ctx)
config := &uvstreamerConfig{
MaxReplicationLag: 1 * time.Nanosecond,
@@ -123,6 +127,7 @@ func newUVStreamer(ctx context.Context, vse *Engine, cp dbconfigs.Connector, se
config: config,
inTablePKs: tablePKs,
throttlerApp: throttlerApp,
+ options: options,
}
return uvs
@@ -427,7 +432,7 @@ func (uvs *uvstreamer) Stream() error {
}
}
vs := newVStreamer(uvs.ctx, uvs.cp, uvs.se, replication.EncodePosition(uvs.pos), replication.EncodePosition(uvs.stopPos),
- uvs.filter, uvs.getVSchema(), uvs.throttlerApp, uvs.send, "replicate", uvs.vse)
+ uvs.filter, uvs.getVSchema(), uvs.throttlerApp, uvs.send, "replicate", uvs.vse, uvs.options)
uvs.setVs(vs)
return vs.Stream()
diff --git a/go/vt/vttablet/tabletserver/vstreamer/uvstreamer_flaky_test.go b/go/vt/vttablet/tabletserver/vstreamer/uvstreamer_flaky_test.go
index 389c06a671e..e2972bb7071 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/uvstreamer_flaky_test.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/uvstreamer_flaky_test.go
@@ -454,7 +454,7 @@ func startVStreamCopy(ctx context.Context, t *testing.T, filter *binlogdatapb.Fi
pos := ""
go func() {
err := engine.Stream(ctx, pos, tablePKs, filter, throttlerapp.VStreamerName, func(evs []*binlogdatapb.VEvent) error {
- //t.Logf("Received events: %v", evs)
+ // t.Logf("Received events: %v", evs)
muAllEvents.Lock()
defer muAllEvents.Unlock()
for _, ev := range evs {
@@ -474,7 +474,7 @@ func startVStreamCopy(ctx context.Context, t *testing.T, filter *binlogdatapb.Fi
allEvents = append(allEvents, ev)
}
return nil
- })
+ }, nil)
require.Nil(t, err)
}()
}
@@ -503,7 +503,7 @@ var expectedEvents = []string{
"type:FIELD field_event:{table_name:\"t1\" fields:{name:\"id11\" type:INT32 table:\"t1\" org_table:\"t1\" database:\"vttest\" org_name:\"id11\" column_length:11 charset:63 column_type:\"int(11)\"} fields:{name:\"id12\" type:INT32 table:\"t1\" org_table:\"t1\" database:\"vttest\" org_name:\"id12\" column_length:11 charset:63 column_type:\"int(11)\"} enum_set_string_values:true}",
"type:ROW row_event:{table_name:\"t1\" row_changes:{after:{lengths:2 lengths:3 values:\"11110\"}}}",
"type:GTID",
- "type:COMMIT", //insert for t2 done along with t1 does not generate an event since t2 is not yet copied
+ "type:COMMIT", // insert for t2 done along with t1 does not generate an event since t2 is not yet copied
fmt.Sprintf("type:OTHER gtid:\"%s t2\"", copyPhaseStart),
"type:BEGIN",
"type:FIELD field_event:{table_name:\"t1\" fields:{name:\"id11\" type:INT32 table:\"t1\" org_table:\"t1\" database:\"vttest\" org_name:\"id11\" column_length:11 charset:63 column_type:\"int(11)\"} fields:{name:\"id12\" type:INT32 table:\"t1\" org_table:\"t1\" database:\"vttest\" org_name:\"id12\" column_length:11 charset:63 column_type:\"int(11)\"} enum_set_string_values:true}",
diff --git a/go/vt/vttablet/tabletserver/vstreamer/vstreamer.go b/go/vt/vttablet/tabletserver/vstreamer/vstreamer.go
index 634c9a5d40c..e7453b2b70f 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/vstreamer.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/vstreamer.go
@@ -31,7 +31,6 @@ import (
"vitess.io/vitess/go/mysql/collations"
"vitess.io/vitess/go/mysql/replication"
"vitess.io/vitess/go/sqltypes"
- "vitess.io/vitess/go/timer"
"vitess.io/vitess/go/vt/binlog"
"vitess.io/vitess/go/vt/dbconfigs"
"vitess.io/vitess/go/vt/log"
@@ -39,7 +38,7 @@ import (
vtschema "vitess.io/vitess/go/vt/schema"
"vitess.io/vitess/go/vt/sqlparser"
"vitess.io/vitess/go/vt/vterrors"
- "vitess.io/vitess/go/vt/vttablet"
+ vttablet "vitess.io/vitess/go/vt/vttablet/common"
"vitess.io/vitess/go/vt/vttablet/tabletserver/schema"
"vitess.io/vitess/go/vt/vttablet/tabletserver/throttle/throttlerapp"
@@ -84,8 +83,10 @@ type vstreamer struct {
pos replication.Position
stopPos string
- phase string
- vse *Engine
+ phase string
+ vse *Engine
+ options *binlogdatapb.VStreamOptions
+ config *vttablet.VReplicationConfig
}
// streamerPlan extends the original plan to also include
@@ -106,7 +107,7 @@ type streamerPlan struct {
// filter: the list of filtering rules. If a rule has a select expression for its filter,
//
// the select list can only reference direct columns. No other expressions are allowed.
-// The select expression is allowed to contain the special 'keyspace_id()' function which
+// The select expression is allowed to contain the special 'in_keyrange()' function which
// will return the keyspace id of the row. Examples:
// "select * from t", same as an empty Filter,
// "select * from t where in_keyrange('-80')", same as "-80",
@@ -118,7 +119,14 @@ type streamerPlan struct {
//
// vschema: the current vschema. This value can later be changed through the SetVSchema method.
// send: callback function to send events.
-func newVStreamer(ctx context.Context, cp dbconfigs.Connector, se *schema.Engine, startPos string, stopPos string, filter *binlogdatapb.Filter, vschema *localVSchema, throttlerApp throttlerapp.Name, send func([]*binlogdatapb.VEvent) error, phase string, vse *Engine) *vstreamer {
+func newVStreamer(ctx context.Context, cp dbconfigs.Connector, se *schema.Engine, startPos string, stopPos string,
+ filter *binlogdatapb.Filter, vschema *localVSchema, throttlerApp throttlerapp.Name,
+ send func([]*binlogdatapb.VEvent) error, phase string, vse *Engine, options *binlogdatapb.VStreamOptions) *vstreamer {
+
+ config, err := GetVReplicationConfig(options)
+ if err != nil {
+ return nil
+ }
ctx, cancel := context.WithCancel(ctx)
return &vstreamer{
ctx: ctx,
@@ -135,6 +143,8 @@ func newVStreamer(ctx context.Context, cp dbconfigs.Connector, se *schema.Engine
plans: make(map[uint64]*streamerPlan),
phase: phase,
vse: vse,
+ options: options,
+ config: config,
}
}
@@ -246,7 +256,7 @@ func (vs *vstreamer) parseEvents(ctx context.Context, events <-chan mysql.Binlog
return vs.send(vevents)
case binlogdatapb.VEventType_INSERT, binlogdatapb.VEventType_DELETE, binlogdatapb.VEventType_UPDATE, binlogdatapb.VEventType_REPLACE:
newSize := len(vevent.GetDml())
- if curSize+newSize > defaultPacketSize {
+ if curSize+newSize > vs.config.VStreamPacketSize {
vs.vse.vstreamerNumPackets.Add(1)
vevents := bufferedEvents
bufferedEvents = []*binlogdatapb.VEvent{vevent}
@@ -267,7 +277,7 @@ func (vs *vstreamer) parseEvents(ctx context.Context, events <-chan mysql.Binlog
newSize += len(rowChange.After.Values)
}
}
- if curSize+newSize > defaultPacketSize {
+ if curSize+newSize > vs.config.VStreamPacketSize {
vs.vse.vstreamerNumPackets.Add(1)
vevents := bufferedEvents
bufferedEvents = []*binlogdatapb.VEvent{vevent}
@@ -288,11 +298,11 @@ func (vs *vstreamer) parseEvents(ctx context.Context, events <-chan mysql.Binlog
defer hbTimer.Stop()
injectHeartbeat := func(throttled bool, throttledReason string) error {
- now := time.Now().UnixNano()
select {
case <-ctx.Done():
return vterrors.Errorf(vtrpcpb.Code_CANCELED, "context has expired")
default:
+ now := time.Now().UnixNano()
err := bufferAndTransmit(&binlogdatapb.VEvent{
Type: binlogdatapb.VEventType_HEARTBEAT,
Timestamp: now / 1e9,
@@ -305,24 +315,22 @@ func (vs *vstreamer) parseEvents(ctx context.Context, events <-chan mysql.Binlog
}
logger := logutil.NewThrottledLogger(vs.vse.GetTabletInfo(), throttledLoggerInterval)
+ wfNameLog := ""
+ if vs.filter != nil && vs.filter.WorkflowName != "" {
+ wfNameLog = fmt.Sprintf(" in workflow %s", vs.filter.WorkflowName)
+ }
throttleEvents := func(throttledEvents chan mysql.BinlogEvent) {
- throttledHeartbeatsRateLimiter := timer.NewRateLimiter(HeartbeatTime)
- defer throttledHeartbeatsRateLimiter.Stop()
for {
- // check throttler.
+ // Check throttler.
if checkResult, ok := vs.vse.throttlerClient.ThrottleCheckOKOrWaitAppName(ctx, vs.throttlerApp); !ok {
- // make sure to leave if context is cancelled
+ // Make sure to leave if context is cancelled.
select {
case <-ctx.Done():
return
default:
- // do nothing special
+ // Do nothing special.
}
- throttledHeartbeatsRateLimiter.Do(func() error {
- return injectHeartbeat(true, checkResult.Summary())
- })
- // we won't process events, until we're no longer throttling
- logger.Infof("throttled.")
+ logger.Infof("vstreamer throttled%s: %s.", wfNameLog, checkResult.Summary())
continue
}
select {
@@ -394,7 +402,8 @@ func (vs *vstreamer) parseEvents(ctx context.Context, events <-chan mysql.Binlog
case <-ctx.Done():
return nil
case <-hbTimer.C:
- if err := injectHeartbeat(false, ""); err != nil {
+ checkResult, ok := vs.vse.throttlerClient.ThrottleCheckOK(ctx, vs.throttlerApp)
+ if err := injectHeartbeat(!ok, checkResult.Summary()); err != nil {
if err == io.EOF {
return nil
}
@@ -567,26 +576,28 @@ func (vs *vstreamer) parseEvent(ev mysql.BinlogEvent) ([]*binlogdatapb.VEvent, e
if err != nil {
return nil, err
}
-
if plan, ok := vs.plans[id]; ok {
// When the underlying mysql server restarts the table map can change.
// Usually the vstreamer will also error out when this happens, and vstreamer re-initializes its table map.
// But if the vstreamer is not aware of the restart, we could get an id that matches one in the cache, but
// is for a different table. We then invalidate and recompute the plan for this id.
- if plan == nil || plan.Table.Name == tm.Name {
+ isInternal := tm.Database == sidecar.GetName()
+ if plan == nil ||
+ (plan.Table.Name == tm.Name && isInternal == plan.IsInternal) {
return nil, nil
}
vs.plans[id] = nil
log.Infof("table map changed: id %d for %s has changed to %s", id, plan.Table.Name, tm.Name)
}
- if tm.Database == sidecar.GetName() && tm.Name == "resharding_journal" {
- // A journal is a special case that generates a JOURNAL event.
- return nil, vs.buildJournalPlan(id, tm)
- } else if tm.Database == sidecar.GetName() && tm.Name == "schema_version" && !vs.se.SkipMetaCheck {
- // Generates a Version event when it detects that a schema is stored in the schema_version table.
- return nil, vs.buildVersionPlan(id, tm)
+ // The database connector `vs.cp` points to the keyspace's database.
+ // If this is also setup as the sidecar database name, as is the case in the distributed transaction unit tests,
+ // for example, we stream all tables as usual.
+ // If not, we only stream the schema_version and journal tables and those specified in the internal_tables list.
+ if tm.Database == sidecar.GetName() && vs.cp.DBName() != sidecar.GetName() {
+ return vs.buildSidecarTablePlan(id, tm)
}
+
if tm.Database != "" && tm.Database != vs.cp.DBName() {
vs.plans[id] = nil
return nil, nil
@@ -675,72 +686,84 @@ func (vs *vstreamer) parseEvent(ev mysql.BinlogEvent) ([]*binlogdatapb.VEvent, e
return vevents, nil
}
-func (vs *vstreamer) buildJournalPlan(id uint64, tm *mysql.TableMap) error {
- conn, err := vs.cp.Connect(vs.ctx)
- if err != nil {
- return err
- }
- defer conn.Close()
- qr, err := conn.ExecuteFetch(sqlparser.BuildParsedQuery("select * from %s.resharding_journal where 1 != 1",
- sidecar.GetIdentifier()).Query, 1, true)
- if err != nil {
- return err
- }
- fields := qr.Fields
- if len(fields) < len(tm.Types) {
- return fmt.Errorf("cannot determine table columns for %s: event has %v, schema has %v", tm.Name, tm.Types, fields)
- }
- table := &Table{
- Name: fmt.Sprintf("%s.resharding_journal", sidecar.GetIdentifier()),
- Fields: fields[:len(tm.Types)],
- }
- // Build a normal table plan, which means, return all rows
- // and columns as is. Special handling is done when we actually
- // receive the row event. We'll build a JOURNAL event instead.
- plan, err := buildREPlan(vs.se.Environment(), table, nil, "")
- if err != nil {
- return err
- }
- vs.plans[id] = &streamerPlan{
- Plan: plan,
- TableMap: tm,
+func (vs *vstreamer) buildSidecarTablePlan(id uint64, tm *mysql.TableMap) ([]*binlogdatapb.VEvent, error) {
+ tableName := tm.Name
+ switch tableName {
+ case "resharding_journal":
+ // A journal is a special case that generates a JOURNAL event.
+ case "schema_version":
+ // Generates a Version event when it detects that a schema is stored in the schema_version table.
+
+ // SkipMetaCheck is set during PITR restore: some table metadata is not fetched in that case.
+ if vs.se.SkipMetaCheck {
+ return nil, nil
+ }
+ default:
+ if vs.options == nil {
+ return nil, nil
+ }
+ found := false
+ for _, table := range vs.options.InternalTables {
+ if table == tableName {
+ found = true
+ break
+ }
+ }
+ if !found {
+ return nil, nil
+ }
}
- vs.journalTableID = id
- return nil
-}
-func (vs *vstreamer) buildVersionPlan(id uint64, tm *mysql.TableMap) error {
conn, err := vs.cp.Connect(vs.ctx)
if err != nil {
- return err
+ return nil, err
}
defer conn.Close()
- qr, err := conn.ExecuteFetch(sqlparser.BuildParsedQuery("select * from %s.schema_version where 1 != 1",
- sidecar.GetIdentifier()).Query, 1, true)
+ qr, err := conn.ExecuteFetch(sqlparser.BuildParsedQuery("select * from %s.%s where 1 != 1",
+ sidecar.GetIdentifier(), tableName).Query, 1, true)
if err != nil {
- return err
+ return nil, err
}
fields := qr.Fields
if len(fields) < len(tm.Types) {
- return fmt.Errorf("cannot determine table columns for %s: event has %v, schema has %v", tm.Name, tm.Types, fields)
+ return nil, fmt.Errorf("cannot determine table columns for %s: event has %v, schema has %v", tm.Name, tm.Types, fields)
}
table := &Table{
- Name: fmt.Sprintf("%s.schema_version", sidecar.GetIdentifier()),
+ Name: tableName,
Fields: fields[:len(tm.Types)],
}
+
// Build a normal table plan, which means, return all rows
- // and columns as is. Special handling is done when we actually
- // receive the row event. We'll build a JOURNAL event instead.
+ // and columns as is. Special handling may be done when we actually
+ // receive the row event, example: we'll build a JOURNAL or VERSION event instead.
plan, err := buildREPlan(vs.se.Environment(), table, nil, "")
if err != nil {
- return err
+ return nil, err
}
+ plan.IsInternal = true
vs.plans[id] = &streamerPlan{
Plan: plan,
TableMap: tm,
}
- vs.versionTableID = id
- return nil
+
+ var vevents []*binlogdatapb.VEvent
+ switch tm.Name {
+ case "resharding_journal":
+ vs.journalTableID = id
+ case "schema_version":
+ vs.versionTableID = id
+ default:
+ vevents = append(vevents, &binlogdatapb.VEvent{
+ Type: binlogdatapb.VEventType_FIELD,
+ FieldEvent: &binlogdatapb.FieldEvent{
+ TableName: tableName,
+ Fields: plan.fields(),
+ Keyspace: vs.vse.keyspace,
+ Shard: vs.vse.shard,
+ IsInternalTable: plan.IsInternal,
+ }})
+ }
+ return vevents, nil
}
func (vs *vstreamer) buildTablePlan(id uint64, tm *mysql.TableMap) (*binlogdatapb.VEvent, error) {
@@ -980,7 +1003,7 @@ func (vs *vstreamer) processRowEvent(vevents []*binlogdatapb.VEvent, plan *strea
}
if afterOK {
rowChange.After = sqltypes.RowToProto3(afterValues)
- if (vttablet.VReplicationExperimentalFlags /**/ & /**/ vttablet.VReplicationExperimentalFlagAllowNoBlobBinlogRowImage != 0) &&
+ if (vs.config.ExperimentalFlags /**/ & /**/ vttablet.VReplicationExperimentalFlagAllowNoBlobBinlogRowImage != 0) &&
partial {
rowChange.DataColumns = &binlogdatapb.RowChange_Bitmap{
@@ -995,11 +1018,12 @@ func (vs *vstreamer) processRowEvent(vevents []*binlogdatapb.VEvent, plan *strea
vevents = append(vevents, &binlogdatapb.VEvent{
Type: binlogdatapb.VEventType_ROW,
RowEvent: &binlogdatapb.RowEvent{
- TableName: plan.Table.Name,
- RowChanges: rowChanges,
- Keyspace: vs.vse.keyspace,
- Shard: vs.vse.shard,
- Flags: uint32(rows.Flags),
+ TableName: plan.Table.Name,
+ RowChanges: rowChanges,
+ Keyspace: vs.vse.keyspace,
+ Shard: vs.vse.shard,
+ Flags: uint32(rows.Flags),
+ IsInternalTable: plan.IsInternal,
},
})
}
@@ -1043,7 +1067,7 @@ func (vs *vstreamer) extractRowAndFilter(plan *streamerPlan, data []byte, dataCo
partial := false
for colNum := 0; colNum < dataColumns.Count(); colNum++ {
if !dataColumns.Bit(colNum) {
- if vttablet.VReplicationExperimentalFlags /**/ & /**/ vttablet.VReplicationExperimentalFlagAllowNoBlobBinlogRowImage == 0 {
+ if vs.config.ExperimentalFlags /**/ & /**/ vttablet.VReplicationExperimentalFlagAllowNoBlobBinlogRowImage == 0 {
return false, nil, false, fmt.Errorf("partial row image encountered: ensure binlog_row_image is set to 'full'")
} else {
partial = true
diff --git a/go/vt/vttablet/tabletserver/vstreamer/vstreamer_test.go b/go/vt/vttablet/tabletserver/vstreamer/vstreamer_test.go
index 4d9f66f1809..c265fb45b85 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/vstreamer_test.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/vstreamer_test.go
@@ -20,6 +20,7 @@ import (
"context"
"fmt"
"io"
+ "slices"
"strconv"
"strings"
"sync"
@@ -51,10 +52,7 @@ func checkIfOptionIsSupported(t *testing.T, variable string) bool {
qr, err := env.Mysqld.FetchSuperQuery(context.Background(), fmt.Sprintf("show variables like '%s'", variable))
require.NoError(t, err)
require.NotNil(t, qr)
- if qr.Rows != nil && len(qr.Rows) == 1 {
- return true
- }
- return false
+ return len(qr.Rows) == 1
}
// TestPlayerNoBlob sets up a new environment with mysql running with
@@ -398,6 +396,70 @@ func TestMissingTables(t *testing.T) {
runCases(t, filter, testcases, startPos, nil)
}
+// TestSidecarDBTables tests streaming of sidecar db tables.
+func TestSidecarDBTables(t *testing.T) {
+ ts := &TestSpec{
+ t: t,
+ ddls: []string{
+ "create table t1(id11 int, id12 int, primary key(id11))",
+ "create table _vt.internal1(id int, primary key(id))",
+ "create table _vt.internal2(id int, primary key(id))",
+ },
+ }
+ ts.Init()
+ defer func() {
+ execStatements(t, []string{
+ "drop table _vt.internal1",
+ "drop table _vt.internal2",
+ })
+ }()
+ defer ts.Close()
+ position := primaryPosition(t)
+ filter := &binlogdatapb.Filter{
+ Rules: []*binlogdatapb.Rule{{
+ Match: "t1",
+ Filter: "select * from t1",
+ }},
+ }
+ execStatements(t, []string{
+ "insert into t1 values (1, 1)",
+ "insert into t1 values (2, 2)",
+ "insert into _vt.internal1 values (1)",
+ "insert into _vt.internal2 values (1)",
+ "insert into _vt.internal2 values (2)",
+ })
+ options := &binlogdatapb.VStreamOptions{
+ InternalTables: []string{"internal1", "internal2"},
+ }
+ ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(10*time.Second))
+ defer cancel()
+ wantRowEvents := map[string]int{
+ "t1": 2,
+ "internal1": 1,
+ "internal2": 2,
+ }
+ gotRowEvents := make(map[string]int)
+ gotFieldEvents := make(map[string]int)
+ err := engine.Stream(ctx, position, nil, filter, "", func(events []*binlogdatapb.VEvent) error {
+ for _, ev := range events {
+ if ev.Type == binlogdatapb.VEventType_ROW {
+ gotRowEvents[ev.RowEvent.TableName]++
+ require.Equal(t, slices.Contains(options.InternalTables, ev.RowEvent.TableName), ev.RowEvent.IsInternalTable)
+ }
+ if ev.Type == binlogdatapb.VEventType_FIELD {
+ require.Equal(t, slices.Contains(options.InternalTables, ev.FieldEvent.TableName), ev.FieldEvent.IsInternalTable)
+ gotFieldEvents[ev.FieldEvent.TableName]++
+ }
+ }
+ return nil
+ }, options)
+ require.NoError(t, err)
+ require.EqualValues(t, wantRowEvents, gotRowEvents)
+ for k, v := range gotFieldEvents {
+ require.Equal(t, 1, v, "gotFieldEvents[%s] = %d", k, v)
+ }
+}
+
// TestVStreamMissingFieldsInLastPK tests that we error out if the lastpk for a table is missing the fields spec.
func TestVStreamMissingFieldsInLastPK(t *testing.T) {
ts := &TestSpec{
@@ -408,6 +470,7 @@ func TestVStreamMissingFieldsInLastPK(t *testing.T) {
}
ts.Init()
defer ts.Close()
+
filter := &binlogdatapb.Filter{
Rules: []*binlogdatapb.Rule{{
Match: "t1",
@@ -435,7 +498,6 @@ func TestVStreamCopySimpleFlow(t *testing.T) {
}
ts.Init()
defer ts.Close()
-
log.Infof("Pos before bulk insert: %s", primaryPosition(t))
insertSomeRows(t, 10)
log.Infof("Pos after bulk insert: %s", primaryPosition(t))
@@ -663,11 +725,11 @@ func TestVStreamCopyWithDifferentFilters(t *testing.T) {
return io.EOF
}
return nil
- })
+ }, nil)
}()
wg.Wait()
if errGoroutine != nil {
- t.Fatalf(errGoroutine.Error())
+ t.Fatal(errGoroutine.Error())
}
}
@@ -1487,7 +1549,7 @@ func TestBestEffortNameInFieldEvent(t *testing.T) {
// todo: migrate to new framework
// test that vstreamer ignores tables created by OnlineDDL
-func TestInternalTables(t *testing.T) {
+func TestOnlineDDLTables(t *testing.T) {
if version.GoOS == "darwin" {
t.Skip("internal online ddl table matching doesn't work on Mac because it is case insensitive")
}
@@ -1763,7 +1825,7 @@ func TestMinimalMode(t *testing.T) {
engine = oldEngine
env = oldEnv
}()
- err := engine.Stream(context.Background(), "current", nil, nil, throttlerapp.VStreamerName, func(evs []*binlogdatapb.VEvent) error { return nil })
+ err := engine.Stream(context.Background(), "current", nil, nil, throttlerapp.VStreamerName, func(evs []*binlogdatapb.VEvent) error { return nil }, nil)
require.Error(t, err, "minimal binlog_row_image is not supported by Vitess VReplication")
}
diff --git a/go/vt/vttablet/tabletservermock/controller.go b/go/vt/vttablet/tabletservermock/controller.go
index 7c7055b3e15..bb0ce05ed19 100644
--- a/go/vt/vttablet/tabletservermock/controller.go
+++ b/go/vt/vttablet/tabletservermock/controller.go
@@ -91,6 +91,8 @@ type Controller struct {
// queryRulesMap has the latest query rules.
queryRulesMap map[string]*rules.Rules
+
+ MethodCalled map[string]bool
}
// NewController returns a mock of tabletserver.Controller
@@ -101,6 +103,7 @@ func NewController() *Controller {
BroadcastData: make(chan *BroadcastData, 10),
StateChanges: make(chan *StateChange, 10),
queryRulesMap: make(map[string]*rules.Rules),
+ MethodCalled: make(map[string]bool),
}
}
@@ -226,6 +229,37 @@ func (tqsc *Controller) GetThrottlerStatus(ctx context.Context) *throttle.Thrott
return nil
}
+// RedoPreparedTransactions is part of the tabletserver.Controller interface
+func (tqsc *Controller) RedoPreparedTransactions() {}
+
+// SetTwoPCAllowed sets whether TwoPC is allowed or not.
+func (tqsc *Controller) SetTwoPCAllowed(bool) {
+}
+
+// UnresolvedTransactions is part of the tabletserver.Controller interface
+func (tqsc *Controller) UnresolvedTransactions(context.Context, *querypb.Target, int64) ([]*querypb.TransactionMetadata, error) {
+ tqsc.MethodCalled["UnresolvedTransactions"] = true
+ return nil, nil
+}
+
+// ReadTransaction is part of the tabletserver.Controller interface
+func (tqsc *Controller) ReadTransaction(ctx context.Context, target *querypb.Target, dtid string) (*querypb.TransactionMetadata, error) {
+ tqsc.MethodCalled["ReadTransaction"] = true
+ return nil, nil
+}
+
+// ConcludeTransaction is part of the tabletserver.Controller interface
+func (tqsc *Controller) ConcludeTransaction(context.Context, *querypb.Target, string) error {
+ tqsc.MethodCalled["ConcludeTransaction"] = true
+ return nil
+}
+
+// RollbackPrepared is part of the tabletserver.Controller interface
+func (tqsc *Controller) RollbackPrepared(context.Context, *querypb.Target, string, int64) error {
+ tqsc.MethodCalled["RollbackPrepared"] = true
+ return nil
+}
+
// EnterLameduck implements tabletserver.Controller.
func (tqsc *Controller) EnterLameduck() {
tqsc.mu.Lock()
diff --git a/go/vt/vttablet/tmclient/rpc_client_api.go b/go/vt/vttablet/tmclient/rpc_client_api.go
index 7da1a6196dd..d81c5ed3cd9 100644
--- a/go/vt/vttablet/tmclient/rpc_client_api.go
+++ b/go/vt/vttablet/tmclient/rpc_client_api.go
@@ -146,6 +146,19 @@ type TabletManagerClient interface {
// query faster. Close() should close the pool in that case.
ExecuteFetchAsApp(ctx context.Context, tablet *topodatapb.Tablet, usePool bool, req *tabletmanagerdatapb.ExecuteFetchAsAppRequest) (*querypb.QueryResult, error)
+ //
+ // Distributed Transaction related methods
+ //
+
+ // GetUnresolvedTransactions returns the list of unresolved transactions for the tablet.
+ GetUnresolvedTransactions(ctx context.Context, tablet *topodatapb.Tablet) ([]*querypb.TransactionMetadata, error)
+
+ // ReadTransaction returns the metadata for the specified distributed transaction ID.
+ ReadTransaction(ctx context.Context, tablet *topodatapb.Tablet, dtid string) (*querypb.TransactionMetadata, error)
+
+ // ConcludeTransaction conclude the transaction on the tablet.
+ ConcludeTransaction(ctx context.Context, tablet *topodatapb.Tablet, dtid string, mm bool) error
+
//
// Replication related methods
//
@@ -192,6 +205,7 @@ type TabletManagerClient interface {
ReadVReplicationWorkflow(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.ReadVReplicationWorkflowRequest) (*tabletmanagerdatapb.ReadVReplicationWorkflowResponse, error)
UpdateVReplicationWorkflow(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.UpdateVReplicationWorkflowRequest) (*tabletmanagerdatapb.UpdateVReplicationWorkflowResponse, error)
UpdateVReplicationWorkflows(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest) (*tabletmanagerdatapb.UpdateVReplicationWorkflowsResponse, error)
+ ValidateVReplicationPermissions(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.ValidateVReplicationPermissionsRequest) (*tabletmanagerdatapb.ValidateVReplicationPermissionsResponse, error)
// VReplicationExec executes a VReplication command
VReplicationExec(ctx context.Context, tablet *topodatapb.Tablet, query string) (*querypb.QueryResult, error)
VReplicationWaitForPos(ctx context.Context, tablet *topodatapb.Tablet, id int32, pos string) error
diff --git a/go/vt/vttablet/tmrpctest/test_tm_rpc.go b/go/vt/vttablet/tmrpctest/test_tm_rpc.go
index 9ba01b13d5a..03a8b0d1821 100644
--- a/go/vt/vttablet/tmrpctest/test_tm_rpc.go
+++ b/go/vt/vttablet/tmrpctest/test_tm_rpc.go
@@ -26,6 +26,7 @@ import (
"testing"
"time"
+ "github.com/stretchr/testify/require"
"google.golang.org/protobuf/proto"
"vitess.io/vitess/go/mysql/replication"
@@ -56,47 +57,52 @@ type fakeRPCTM struct {
}
func (fra *fakeRPCTM) CreateVReplicationWorkflow(ctx context.Context, req *tabletmanagerdatapb.CreateVReplicationWorkflowRequest) (*tabletmanagerdatapb.CreateVReplicationWorkflowResponse, error) {
- //TODO implement me
+ // TODO implement me
panic("implement me")
}
func (fra *fakeRPCTM) DeleteVReplicationWorkflow(ctx context.Context, req *tabletmanagerdatapb.DeleteVReplicationWorkflowRequest) (*tabletmanagerdatapb.DeleteVReplicationWorkflowResponse, error) {
- //TODO implement me
+ // TODO implement me
panic("implement me")
}
func (fra *fakeRPCTM) HasVReplicationWorkflows(ctx context.Context, req *tabletmanagerdatapb.HasVReplicationWorkflowsRequest) (*tabletmanagerdatapb.HasVReplicationWorkflowsResponse, error) {
- //TODO implement me
+ // TODO implement me
panic("implement me")
}
func (fra *fakeRPCTM) ReadVReplicationWorkflows(ctx context.Context, req *tabletmanagerdatapb.ReadVReplicationWorkflowsRequest) (*tabletmanagerdatapb.ReadVReplicationWorkflowsResponse, error) {
- //TODO implement me
+ // TODO implement me
panic("implement me")
}
func (fra *fakeRPCTM) ReadVReplicationWorkflow(ctx context.Context, req *tabletmanagerdatapb.ReadVReplicationWorkflowRequest) (*tabletmanagerdatapb.ReadVReplicationWorkflowResponse, error) {
- //TODO implement me
+ // TODO implement me
panic("implement me")
}
func (fra *fakeRPCTM) UpdateVReplicationWorkflow(ctx context.Context, req *tabletmanagerdatapb.UpdateVReplicationWorkflowRequest) (*tabletmanagerdatapb.UpdateVReplicationWorkflowResponse, error) {
- //TODO implement me
+ // TODO implement me
panic("implement me")
}
func (fra *fakeRPCTM) UpdateVReplicationWorkflows(ctx context.Context, req *tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest) (*tabletmanagerdatapb.UpdateVReplicationWorkflowsResponse, error) {
- //TODO implement me
+ // TODO implement me
panic("implement me")
}
func (fra *fakeRPCTM) ResetSequences(ctx context.Context, tables []string) error {
- //TODO implement me
+ // TODO implement me
+ panic("implement me")
+}
+
+func (fra *fakeRPCTM) ValidateVReplicationPermissions(ctx context.Context, req *tabletmanagerdatapb.ValidateVReplicationPermissionsRequest) (*tabletmanagerdatapb.ValidateVReplicationPermissionsResponse, error) {
+ // TODO implement me
panic("implement me")
}
func (fra *fakeRPCTM) VDiff(ctx context.Context, req *tabletmanagerdatapb.VDiffRequest) (*tabletmanagerdatapb.VDiffResponse, error) {
- //TODO implement me
+ // TODO implement me
panic("implement me")
}
@@ -404,6 +410,26 @@ func tmRPCTestGetGlobalStatusVarsPanic(ctx context.Context, t *testing.T, client
expectHandleRPCPanic(t, "GetGlobalStatusVars", false /*verbose*/, err)
}
+func tmRPCTestGetUnresolvedTransactions(ctx context.Context, t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.Tablet) {
+ _, err := client.GetUnresolvedTransactions(ctx, tablet)
+ require.NoError(t, err)
+}
+
+func tmRPCTestGetUnresolvedTransactionsPanic(ctx context.Context, t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.Tablet) {
+ _, err := client.GetUnresolvedTransactions(ctx, tablet)
+ expectHandleRPCPanic(t, "GetUnresolvedTransactions", false /*verbose*/, err)
+}
+
+func tmRPCTestReadTransaction(ctx context.Context, t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.Tablet) {
+ _, err := client.ReadTransaction(ctx, tablet, "aa")
+ require.NoError(t, err)
+}
+
+func tmRPCTestReadTransactionPanic(ctx context.Context, t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.Tablet) {
+ _, err := client.ReadTransaction(ctx, tablet, "aa")
+ expectHandleRPCPanic(t, "ReadTransaction", false /*verbose*/, err)
+}
+
//
// Various read-write methods
//
@@ -726,6 +752,27 @@ func (fra *fakeRPCTM) ExecuteFetchAsApp(ctx context.Context, req *tabletmanagerd
return testExecuteFetchResult, nil
}
+func (fra *fakeRPCTM) GetUnresolvedTransactions(ctx context.Context, abandonAgeSeconds int64) ([]*querypb.TransactionMetadata, error) {
+ if fra.panics {
+ panic(fmt.Errorf("test-triggered panic"))
+ }
+ return nil, nil
+}
+
+func (fra *fakeRPCTM) ReadTransaction(ctx context.Context, req *tabletmanagerdatapb.ReadTransactionRequest) (*querypb.TransactionMetadata, error) {
+ if fra.panics {
+ panic(fmt.Errorf("test-triggered panic"))
+ }
+ return nil, nil
+}
+
+func (fra *fakeRPCTM) ConcludeTransaction(ctx context.Context, req *tabletmanagerdatapb.ConcludeTransactionRequest) error {
+ if fra.panics {
+ panic(fmt.Errorf("test-triggered panic"))
+ }
+ return nil
+}
+
func tmRPCTestExecuteFetch(ctx context.Context, t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.Tablet) {
// using pool
qr, err := client.ExecuteFetchAsDba(ctx, tablet, true, &tabletmanagerdatapb.ExecuteFetchAsDbaRequest{
@@ -1348,7 +1395,7 @@ func (fra *fakeRPCTM) CheckThrottler(ctx context.Context, req *tabletmanagerdata
panic(fmt.Errorf("test-triggered panic"))
}
- //TODO implement me
+ // TODO implement me
panic("implement me")
}
@@ -1357,7 +1404,7 @@ func (fra *fakeRPCTM) GetThrottlerStatus(ctx context.Context, req *tabletmanager
panic(fmt.Errorf("test-triggered panic"))
}
- //TODO implement me
+ // TODO implement me
panic("implement me")
}
@@ -1424,6 +1471,8 @@ func Run(t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.T
tmRPCTestGetSchema(ctx, t, client, tablet)
tmRPCTestGetPermissions(ctx, t, client, tablet)
tmRPCTestGetGlobalStatusVars(ctx, t, client, tablet)
+ tmRPCTestGetUnresolvedTransactions(ctx, t, client, tablet)
+ tmRPCTestReadTransaction(ctx, t, client, tablet)
// Various read-write methods
tmRPCTestSetReadOnly(ctx, t, client, tablet)
@@ -1485,6 +1534,8 @@ func Run(t *testing.T, client tmclient.TabletManagerClient, tablet *topodatapb.T
tmRPCTestGetSchemaPanic(ctx, t, client, tablet)
tmRPCTestGetPermissionsPanic(ctx, t, client, tablet)
tmRPCTestGetGlobalStatusVarsPanic(ctx, t, client, tablet)
+ tmRPCTestGetUnresolvedTransactionsPanic(ctx, t, client, tablet)
+ tmRPCTestReadTransactionPanic(ctx, t, client, tablet)
// Various read-write methods
tmRPCTestSetReadOnlyPanic(ctx, t, client, tablet)
diff --git a/go/vt/vttest/local_cluster.go b/go/vt/vttest/local_cluster.go
index 406269ef749..576a78bb761 100644
--- a/go/vt/vttest/local_cluster.go
+++ b/go/vt/vttest/local_cluster.go
@@ -292,6 +292,15 @@ func (db *LocalCluster) MySQLConnParams() mysql.ConnParams {
return connParams
}
+func (db *LocalCluster) MySQLTCPConnParams() mysql.ConnParams {
+ connParams := db.mysql.Params(db.DbName())
+ _, port := db.mysql.Address()
+ connParams.UnixSocket = ""
+ connParams.Host = "127.0.0.1"
+ connParams.Port = port
+ return connParams
+}
+
// MySQLAppDebugConnParams returns a mysql.ConnParams struct that can be used
// to connect directly to the mysqld service in the self-contained cluster,
// using the appdebug user. It's valid only if you used MySQLOnly option.
diff --git a/go/vt/wrangler/keyspace.go b/go/vt/wrangler/keyspace.go
index a5f7d6ae0bf..98551a084c9 100644
--- a/go/vt/wrangler/keyspace.go
+++ b/go/vt/wrangler/keyspace.go
@@ -19,6 +19,7 @@ package wrangler
import (
"bytes"
"context"
+ "errors"
"fmt"
"sync"
"time"
@@ -82,7 +83,7 @@ func (wr *Wrangler) validateNewWorkflow(ctx context.Context, keyspace, workflow
return
}
if p3qr != nil && len(p3qr.Rows) != 0 {
- allErrors.RecordError(vterrors.Wrap(fmt.Errorf(validation.msg), "validateWorkflowName.VReplicationExec"))
+ allErrors.RecordError(vterrors.Wrap(errors.New(validation.msg), "validateWorkflowName.VReplicationExec"))
return
}
}
diff --git a/go/vt/wrangler/materializer.go b/go/vt/wrangler/materializer.go
index 9367c43c310..7e24945cde7 100644
--- a/go/vt/wrangler/materializer.go
+++ b/go/vt/wrangler/materializer.go
@@ -18,6 +18,7 @@ package wrangler
import (
"context"
+ "errors"
"fmt"
"hash/fnv"
"math"
@@ -355,7 +356,7 @@ func (wr *Wrangler) MoveTables(ctx context.Context, workflow, sourceKeyspace, ta
migrationID, strings.Join(tablets, ","))
msg += fmt.Sprintf("please review and delete it before proceeding and restart the workflow using the Workflow %s.%s start",
workflow, targetKeyspace)
- return fmt.Errorf(msg)
+ return errors.New(msg)
}
}
if autoStart {
@@ -1397,7 +1398,19 @@ func (mz *materializer) generateInserts(ctx context.Context, sourceShards []*top
for _, mappedCol := range mappedCols {
subExprs = append(subExprs, mappedCol)
}
- vindexName := fmt.Sprintf("%s.%s", mz.ms.TargetKeyspace, cv.Name)
+ var vindexName string
+ if mz.getWorkflowType() == binlogdatapb.VReplicationWorkflowType_Migrate {
+ // For a Migrate, if the TargetKeyspace name is different from the SourceKeyspace name, we need to use the
+ // SourceKeyspace name to determine the vindex since the TargetKeyspace name is not known to the source.
+ // Note: it is expected that the source and target keyspaces have the same vindex name and data type.
+ keyspace := mz.ms.TargetKeyspace
+ if mz.ms.ExternalCluster != "" {
+ keyspace = mz.ms.SourceKeyspace
+ }
+ vindexName = fmt.Sprintf("%s.%s", keyspace, cv.Name)
+ } else {
+ vindexName = fmt.Sprintf("%s.%s", mz.ms.TargetKeyspace, cv.Name)
+ }
subExprs = append(subExprs, sqlparser.NewStrLiteral(vindexName))
subExprs = append(subExprs, sqlparser.NewStrLiteral("{{.keyrange}}"))
inKeyRange := &sqlparser.FuncExpr{
@@ -1442,7 +1455,7 @@ func (mz *materializer) generateInserts(ctx context.Context, sourceShards []*top
ig.AddRow(mz.ms.Workflow, bls, "", mz.ms.Cell, tabletTypeStr,
workflowType,
workflowSubType,
- mz.ms.DeferSecondaryKeys,
+ mz.ms.DeferSecondaryKeys, "",
)
}
return ig.String(), nil
diff --git a/go/vt/wrangler/resharder.go b/go/vt/wrangler/resharder.go
index 536f4c643cc..b041ce32041 100644
--- a/go/vt/wrangler/resharder.go
+++ b/go/vt/wrangler/resharder.go
@@ -341,7 +341,7 @@ func (rs *resharder) createStreams(ctx context.Context) error {
ig.AddRow(rs.workflow, bls, "", rs.cell, rs.tabletTypes,
binlogdatapb.VReplicationWorkflowType_Reshard,
binlogdatapb.VReplicationWorkflowSubType_None,
- rs.deferSecondaryKeys)
+ rs.deferSecondaryKeys, "")
}
for _, rstream := range rs.refStreams {
@@ -349,7 +349,7 @@ func (rs *resharder) createStreams(ctx context.Context) error {
//todo: fix based on original stream
binlogdatapb.VReplicationWorkflowType_Reshard,
binlogdatapb.VReplicationWorkflowSubType_None,
- rs.deferSecondaryKeys)
+ rs.deferSecondaryKeys, "")
}
query := ig.String()
if _, err := rs.wr.tmc.VReplicationExec(ctx, targetPrimary.Tablet, query); err != nil {
diff --git a/go/vt/wrangler/testlib/version_test.go b/go/vt/wrangler/testlib/version_test.go
index cf5f3fd1487..552f7f29c04 100644
--- a/go/vt/wrangler/testlib/version_test.go
+++ b/go/vt/wrangler/testlib/version_test.go
@@ -56,7 +56,7 @@ func expvarHandler(gitRev *string) func(http.ResponseWriter, *http.Request) {
http.Error(w, fmt.Sprintf("cannot marshal json: %s", err), http.StatusInternalServerError)
return
}
- fmt.Fprintf(w, string(result)+"\n")
+ fmt.Fprint(w, string(result)+"\n")
}
}
diff --git a/go/vt/wrangler/traffic_switcher.go b/go/vt/wrangler/traffic_switcher.go
index 448f4f99734..d337c1ee515 100644
--- a/go/vt/wrangler/traffic_switcher.go
+++ b/go/vt/wrangler/traffic_switcher.go
@@ -278,12 +278,12 @@ func (wr *Wrangler) getWorkflowState(ctx context.Context, targetKeyspace, workfl
}
}
} else {
- state.RdonlyCellsSwitched, state.RdonlyCellsNotSwitched, err = ws.GetCellsWithTableReadsSwitched(ctx, targetKeyspace, table, topodatapb.TabletType_RDONLY)
+ state.RdonlyCellsSwitched, state.RdonlyCellsNotSwitched, err = ws.GetCellsWithTableReadsSwitched(ctx, sourceKeyspace, targetKeyspace, table, topodatapb.TabletType_RDONLY)
if err != nil {
return nil, nil, err
}
- state.ReplicaCellsSwitched, state.ReplicaCellsNotSwitched, err = ws.GetCellsWithTableReadsSwitched(ctx, targetKeyspace, table, topodatapb.TabletType_REPLICA)
+ state.ReplicaCellsSwitched, state.ReplicaCellsNotSwitched, err = ws.GetCellsWithTableReadsSwitched(ctx, sourceKeyspace, targetKeyspace, table, topodatapb.TabletType_REPLICA)
if err != nil {
return nil, nil, err
}
@@ -335,7 +335,7 @@ func (wr *Wrangler) SwitchReads(ctx context.Context, targetKeyspace, workflowNam
cells []string, direction workflow.TrafficSwitchDirection, dryRun bool) (*[]string, error) {
// Consistently handle errors by logging and returning them.
handleError := func(message string, err error) (*[]string, error) {
- werr := vterrors.Errorf(vtrpcpb.Code_INTERNAL, fmt.Sprintf("%s: %v", message, err))
+ werr := vterrors.Errorf(vtrpcpb.Code_INTERNAL, "%s: %v", message, err)
wr.Logger().Error(werr)
return nil, werr
}
@@ -346,7 +346,7 @@ func (wr *Wrangler) SwitchReads(ctx context.Context, targetKeyspace, workflowNam
}
if ts == nil {
errorMsg := fmt.Sprintf("workflow %s not found in keyspace %s", workflowName, targetKeyspace)
- return handleError("failed to get the current state of the workflow", fmt.Errorf(errorMsg))
+ return handleError("failed to get the current state of the workflow", errors.New(errorMsg))
}
log.Infof("Switching reads: %s.%s tt %+v, cells %+v, workflow state: %+v", targetKeyspace, workflowName, servedTypes, cells, ws)
var switchReplicas, switchRdonly bool
@@ -478,7 +478,7 @@ func (wr *Wrangler) SwitchWrites(ctx context.Context, targetKeyspace, workflowNa
cancel, reverse, reverseReplication bool, dryRun, initializeTargetSequences bool) (journalID int64, dryRunResults *[]string, err error) {
// Consistently handle errors by logging and returning them.
handleError := func(message string, err error) (int64, *[]string, error) {
- werr := vterrors.Errorf(vtrpcpb.Code_INTERNAL, fmt.Sprintf("%s: %v", message, err))
+ werr := vterrors.Errorf(vtrpcpb.Code_INTERNAL, "%s: %v", message, err)
wr.Logger().Error(werr)
return 0, nil, werr
}
@@ -490,7 +490,7 @@ func (wr *Wrangler) SwitchWrites(ctx context.Context, targetKeyspace, workflowNa
}
if ts == nil {
errorMsg := fmt.Sprintf("workflow %s not found in keyspace %s", workflowName, targetKeyspace)
- return handleError("failed to get the current workflow state", fmt.Errorf(errorMsg))
+ return handleError("failed to get the current workflow state", errors.New(errorMsg))
}
var sw iswitcher
@@ -1723,7 +1723,7 @@ func doValidateWorkflowHasCompleted(ctx context.Context, ts *trafficSwitcher) er
_ = ts.ForAllSources(func(source *workflow.MigrationSource) error {
wg.Add(1)
if source.GetShard().IsPrimaryServing {
- rec.RecordError(fmt.Errorf(fmt.Sprintf("Shard %s is still serving", source.GetShard().ShardName())))
+ rec.RecordError(fmt.Errorf("Shard %s is still serving", source.GetShard().ShardName()))
}
wg.Done()
return nil
diff --git a/go/vt/wrangler/vexec.go b/go/vt/wrangler/vexec.go
index 2c279c5c6cf..41f02ef9e63 100644
--- a/go/vt/wrangler/vexec.go
+++ b/go/vt/wrangler/vexec.go
@@ -445,9 +445,9 @@ func (wr *Wrangler) execWorkflowAction(ctx context.Context, workflow, keyspace,
changes = true
dryRunChanges.WriteString(fmt.Sprintf(" tablet_types=%q\n", topoproto.MakeStringTypeCSV(rpcReq.TabletTypes)))
}
- if !textutil.ValueIsSimulatedNull(rpcReq.OnDdl) {
+ if rpcReq.OnDdl != nil {
changes = true
- dryRunChanges.WriteString(fmt.Sprintf(" on_ddl=%q\n", binlogdatapb.OnDDLAction_name[int32(rpcReq.OnDdl)]))
+ dryRunChanges.WriteString(fmt.Sprintf(" on_ddl=%q\n", binlogdatapb.OnDDLAction_name[int32(*rpcReq.OnDdl)]))
}
if !changes {
return nil, fmt.Errorf("no updates were provided; use --cells, --tablet-types, or --on-ddl to specify new values")
diff --git a/go/vt/wrangler/vexec_test.go b/go/vt/wrangler/vexec_test.go
index 80cd2aef565..223e338b303 100644
--- a/go/vt/wrangler/vexec_test.go
+++ b/go/vt/wrangler/vexec_test.go
@@ -29,13 +29,15 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
+ "vitess.io/vitess/go/ptr"
"vitess.io/vitess/go/sqltypes"
"vitess.io/vitess/go/textutil"
"vitess.io/vitess/go/vt/logutil"
+ "vitess.io/vitess/go/vt/vtenv"
+
binlogdatapb "vitess.io/vitess/go/vt/proto/binlogdata"
tabletmanagerdatapb "vitess.io/vitess/go/vt/proto/tabletmanagerdata"
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
- "vitess.io/vitess/go/vt/vtenv"
)
var (
@@ -397,49 +399,45 @@ func TestWorkflowUpdate(t *testing.T) {
defer env.close()
logger := logutil.NewMemoryLogger()
wr := New(vtenv.NewTestEnv(), logger, env.topoServ, env.tmc)
- nullSlice := textutil.SimulatedNullStringSlice // Used to represent a non-provided value
- nullOnDDL := binlogdatapb.OnDDLAction(textutil.SimulatedNullInt) // Used to represent a non-provided value
+
tests := []struct {
name string
cells []string
tabletTypes []topodatapb.TabletType
- onDDL binlogdatapb.OnDDLAction
+ onDDL *binlogdatapb.OnDDLAction
output string
wantErr string
}{
{
name: "no flags",
- cells: nullSlice,
- tabletTypes: []topodatapb.TabletType{topodatapb.TabletType(textutil.SimulatedNullInt)},
- onDDL: nullOnDDL,
+ cells: textutil.SimulatedNullStringSlice,
+ tabletTypes: textutil.SimulatedNullTabletTypeSlice,
wantErr: "no updates were provided; use --cells, --tablet-types, or --on-ddl to specify new values",
},
{
name: "only cells",
cells: []string{"zone1"},
- tabletTypes: []topodatapb.TabletType{topodatapb.TabletType(textutil.SimulatedNullInt)},
- onDDL: nullOnDDL,
+ tabletTypes: textutil.SimulatedNullTabletTypeSlice,
output: "The following workflow fields will be updated:\n cells=\"zone1\"\nOn the following tablets in the target keyspace for workflow wrWorkflow:\n zone1-0000000200 (target/-80)\n zone1-0000000210 (target/80-)\n",
},
{
name: "only tablet types",
- cells: nullSlice,
+ cells: textutil.SimulatedNullStringSlice,
tabletTypes: []topodatapb.TabletType{topodatapb.TabletType_PRIMARY, topodatapb.TabletType_REPLICA},
- onDDL: nullOnDDL,
output: "The following workflow fields will be updated:\n tablet_types=\"primary,replica\"\nOn the following tablets in the target keyspace for workflow wrWorkflow:\n zone1-0000000200 (target/-80)\n zone1-0000000210 (target/80-)\n",
},
{
name: "only on-ddl",
- cells: nullSlice,
- tabletTypes: []topodatapb.TabletType{topodatapb.TabletType(textutil.SimulatedNullInt)},
- onDDL: binlogdatapb.OnDDLAction_EXEC_IGNORE,
+ cells: textutil.SimulatedNullStringSlice,
+ tabletTypes: textutil.SimulatedNullTabletTypeSlice,
+ onDDL: ptr.Of(binlogdatapb.OnDDLAction_EXEC_IGNORE),
output: "The following workflow fields will be updated:\n on_ddl=\"EXEC_IGNORE\"\nOn the following tablets in the target keyspace for workflow wrWorkflow:\n zone1-0000000200 (target/-80)\n zone1-0000000210 (target/80-)\n",
},
{
name: "all flags",
cells: []string{"zone1", "zone2"},
tabletTypes: []topodatapb.TabletType{topodatapb.TabletType_RDONLY, topodatapb.TabletType_SPARE},
- onDDL: binlogdatapb.OnDDLAction_EXEC,
+ onDDL: ptr.Of(binlogdatapb.OnDDLAction_EXEC),
output: "The following workflow fields will be updated:\n cells=\"zone1,zone2\"\n tablet_types=\"rdonly,spare\"\n on_ddl=\"EXEC\"\nOn the following tablets in the target keyspace for workflow wrWorkflow:\n zone1-0000000200 (target/-80)\n zone1-0000000210 (target/80-)\n",
},
}
diff --git a/go/vt/wrangler/workflow.go b/go/vt/wrangler/workflow.go
index 6862f5f4d3f..6e74e4c9ebd 100644
--- a/go/vt/wrangler/workflow.go
+++ b/go/vt/wrangler/workflow.go
@@ -2,6 +2,7 @@ package wrangler
import (
"context"
+ "errors"
"fmt"
"sort"
"strings"
@@ -114,7 +115,7 @@ func (wr *Wrangler) NewVReplicationWorkflow(ctx context.Context, workflowType VR
return nil, err
}
log.Infof("Workflow state is %+v", ws)
- if ts != nil { //Other than on create we need to get SourceKeyspace from the workflow
+ if ts != nil { // Other than on create we need to get SourceKeyspace from the workflow
vrw.params.TargetKeyspace = ts.targetKeyspace
vrw.params.Workflow = ts.workflow
vrw.params.SourceKeyspace = ts.sourceKeyspace
@@ -379,7 +380,7 @@ func (vrw *VReplicationWorkflow) Complete() (*[]string, error) {
}
if !ws.WritesSwitched || len(ws.ReplicaCellsNotSwitched) > 0 || len(ws.RdonlyCellsNotSwitched) > 0 {
- return nil, fmt.Errorf(ErrWorkflowNotFullySwitched)
+ return nil, errors.New(ErrWorkflowNotFullySwitched)
}
var renameTable workflow.TableRemovalType
if vrw.params.RenameTables {
@@ -404,7 +405,7 @@ func (vrw *VReplicationWorkflow) Cancel() error {
}
if ws.WritesSwitched || len(ws.ReplicaCellsSwitched) > 0 || len(ws.RdonlyCellsSwitched) > 0 {
- return fmt.Errorf(ErrWorkflowPartiallySwitched)
+ return errors.New(ErrWorkflowPartiallySwitched)
}
if _, err := vrw.wr.DropTargets(vrw.ctx, vrw.ws.TargetKeyspace, vrw.ws.Workflow, vrw.params.KeepData, vrw.params.KeepRoutingRules, false); err != nil {
return err
diff --git a/java/jdbc/src/test/java/io/vitess/jdbc/FieldWithMetadataTest.java b/java/jdbc/src/test/java/io/vitess/jdbc/FieldWithMetadataTest.java
index bcadc49d33a..26ad5fd11b3 100644
--- a/java/jdbc/src/test/java/io/vitess/jdbc/FieldWithMetadataTest.java
+++ b/java/jdbc/src/test/java/io/vitess/jdbc/FieldWithMetadataTest.java
@@ -16,6 +16,9 @@
package io.vitess.jdbc;
+import java.util.Set;
+import java.util.EnumSet;
+
import io.vitess.proto.Query;
import io.vitess.util.MysqlDefs;
import io.vitess.util.charset.CharsetMapping;
@@ -274,6 +277,16 @@ public void testNumericAndDateTimeEncoding() throws SQLException {
}
}
+ // Define the types to skip
+ Set typesToSkip = EnumSet.of(
+ Query.Type.UNRECOGNIZED,
+ Query.Type.EXPRESSION,
+ Query.Type.HEXVAL,
+ Query.Type.HEXNUM,
+ Query.Type.BITNUM,
+ Query.Type.RAW
+ );
+
@Test
public void testPrecisionAdjustFactor() throws SQLException {
VitessConnection conn = getVitessConnection();
@@ -294,7 +307,8 @@ public void testPrecisionAdjustFactor() throws SQLException {
conn.setIncludedFields(Query.ExecuteOptions.IncludedFields.TYPE_AND_NAME);
for (Query.Type type : Query.Type.values()) {
- if (type == Query.Type.UNRECOGNIZED || type == Query.Type.EXPRESSION || type == Query.Type.HEXVAL || type == Query.Type.HEXNUM || type == Query.Type.BITNUM) {
+ // Skip if the type is in the set
+ if (typesToSkip.contains(type)) {
continue;
}
diff --git a/java/pom.xml b/java/pom.xml
index 079f185ad70..8d8f6ab9275 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -72,7 +72,7 @@
4.1.94.Final
2.0.61.Final
- 3.24.3
+ 3.25.5
3.24.3
3.0.0
2.17.1
diff --git a/misc/errcheck_excludes.txt b/misc/errcheck_excludes.txt
deleted file mode 100644
index fb689e26288..00000000000
--- a/misc/errcheck_excludes.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-// This file contains one function signature per line, which errcheck should not warn about.
-//
-// The format for function signatures is `package.FunctionName`.
-// The format for method signatures is `(package.Receiver).MethodName` for value receivers,
-// and the format for pointer receivers is `(*package.Receiver).MethodName`.
-//
-// See https://github.com/kisielk/errcheck#excluding-functions for more details.
-
-flag.Set
-(*flag.FlagSet).Parse
-(flag.Value).Set
-
-fmt.Fprint
-fmt.Fprintf
-
-io.WriteString(fmt.State)
-io.WriteString(net/http.ResponseWriter)
-
-(net.Listener).Close
-(net/http.ResponseWriter).Write
-
-(*os.File).Close
-os.Remove
-os.RemoveAll
-os.Rename
-
-(*github.com/spf13/cobra.Command).Help
-(*github.com/spf13/cobra.Command).MarkFlagRequired
-(*github.com/spf13/cobra.Command).MarkPersistentFlagRequired
-(*github.com/spf13/cobra.Command).MarkPersistentFlagFilename
-
-(*github.com/spf13/pflag.FlagSet).MarkDeprecated
-
-(*google.golang.org/grpc.ClientConn).Close
-(*google.golang.org/grpc.Server).Serve
-
-(*vitess.io/vitess/go/bytes2.Buffer).Write
-(*vitess.io/vitess/go/bytes2.Buffer).WriteByte
-(*vitess.io/vitess/go/bytes2.Buffer).WriteString
-
-(vitess.io/vitess/go/sqltypes.BinWriter).Write
-
-vitess.io/vitess/go/vt/orchestrator/external/golib/log.Errore
-vitess.io/vitess/go/vt/orchestrator/external/golib/log.Errorf
-vitess.io/vitess/go/vt/orchestrator/external/golib/log.Fatal
-vitess.io/vitess/go/vt/orchestrator/external/golib/log.Fatale
-vitess.io/vitess/go/vt/orchestrator/external/golib/log.Fatalf
-
-(*vitess.io/vitess/go/vt/vttest.LocalCluster).TearDown
diff --git a/misc/git/hooks/golangci-lint b/misc/git/hooks/golangci-lint
index d152cb965a3..21313316a12 100755
--- a/misc/git/hooks/golangci-lint
+++ b/misc/git/hooks/golangci-lint
@@ -13,18 +13,58 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-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.56.2
+# Required version of golangci-lint
+REQUIRED_VERSION="v1.60.2"
+
+# Function to compare versions in pure Bash
+version_greater_or_equal() {
+ local IFS=.
+ local i
+ local ver1=($1)
+ local ver2=($2)
+
+ # Fill empty fields in ver1 with zeros
+ for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)); do
+ ver1[i]=0
+ done
+ # Fill empty fields in ver2 with zeros
+ for ((i=${#ver2[@]}; i<${#ver1[@]}; i++)); do
+ ver2[i]=0
+ done
+
+ for ((i=0; i<${#ver1[@]}; i++)); do
+ if ((10#${ver1[i]} > 10#${ver2[i]})); then
+ return 0
+ elif ((10#${ver1[i]} < 10#${ver2[i]})); then
+ return 1
+ fi
+ done
+ return 0
+}
+
+# Check if golangci-lint is installed and capture the version
+if ! command -v golangci-lint >/dev/null 2>&1; then
+ echo "golangci-lint not found. Installing version $REQUIRED_VERSION..."
+ go install github.com/golangci/golangci-lint/cmd/golangci-lint@$REQUIRED_VERSION
+else
+ VERSION_OUTPUT=$(golangci-lint --version)
+ INSTALLED_VERSION=$(echo "$VERSION_OUTPUT" | sed -n 's/^golangci-lint has version v\([0-9.]*\).*/\1/p')
+ if ! version_greater_or_equal "$INSTALLED_VERSION" "${REQUIRED_VERSION#v}"; then
+ echo "golangci-lint version $INSTALLED_VERSION found, but $REQUIRED_VERSION or newer is required."
+ echo "Installing version $REQUIRED_VERSION..."
+ go install github.com/golangci/golangci-lint/cmd/golangci-lint@$REQUIRED_VERSION
+ fi
fi
+# Get list of Go files to lint
gofiles=$(git diff --cached --name-only --diff-filter=ACM | grep '^go/.*\.go$')
if [ -z "$gofiles" ]; then
exit 0
fi
+# Get unique directories of the Go files
gopackages=$(echo "$gofiles" | xargs -n1 dirname | sort -u | paste -sd ' ' -)
+# Lint the Go packages
echo "Linting $gopackages"
-golangci-lint run $gopackages
+golangci-lint run $gopackages
\ No newline at end of file
diff --git a/proto/binlogdata.proto b/proto/binlogdata.proto
index 5f5bbd59c6e..595760dcd52 100644
--- a/proto/binlogdata.proto
+++ b/proto/binlogdata.proto
@@ -344,6 +344,7 @@ message RowEvent {
string keyspace = 3;
string shard = 4;
uint32 flags = 5; // https://dev.mysql.com/doc/dev/mysql-server/latest/classbinary__log_1_1Rows__event.html
+ bool is_internal_table = 6; // set for sidecardb tables
}
// FieldEvent represents the field info for a table.
@@ -360,6 +361,7 @@ message FieldEvent {
// NOTE: because this is the use case, this is ONLY ever set today in
// vstreams managed by the vstreamManager.
bool enum_set_string_values = 25;
+ bool is_internal_table = 26; // set for sidecardb tables
}
// ShardGtid contains the GTID position for one shard.
@@ -476,6 +478,11 @@ message MinimalSchema {
repeated MinimalTable tables = 1;
}
+message VStreamOptions {
+ repeated string internal_tables = 1;
+ map config_overrides = 2;
+}
+
// VStreamRequest is the payload for VStreamer
message VStreamRequest {
vtrpc.CallerID effective_caller_id = 1;
@@ -485,6 +492,8 @@ message VStreamRequest {
string position = 4;
Filter filter = 5;
repeated TableLastPK table_last_p_ks = 6;
+
+ VStreamOptions options = 7;
}
// VStreamResponse is the response from VStreamer
@@ -500,6 +509,7 @@ message VStreamRowsRequest {
string query = 4;
query.QueryResult lastpk = 5;
+ VStreamOptions options = 6;
}
// VStreamRowsResponse is the response from VStreamRows
@@ -523,6 +533,7 @@ message VStreamTablesRequest {
vtrpc.CallerID effective_caller_id = 1;
query.VTGateCallerID immediate_caller_id = 2;
query.Target target = 3;
+ VStreamOptions options = 4;
}
// VStreamTablesResponse is the response from VStreamTables
diff --git a/proto/query.proto b/proto/query.proto
index 9112fde1858..917883e5ad8 100644
--- a/proto/query.proto
+++ b/proto/query.proto
@@ -219,6 +219,8 @@ enum Type {
// VECTOR specifies a VECTOR type
// Properties: 35, IsQuoted.
VECTOR = 2083;
+ // RAW specifies a type which won't be quoted but the value used as-is while encoding.
+ RAW = 2084;
}
// Value represents a typed value.
@@ -357,6 +359,11 @@ message ExecuteOptions {
// priority specifies the priority of the query, between 0 and 100. This is leveraged by the transaction
// throttler to determine whether, under resource contention, a query should or should not be throttled.
string priority = 16;
+
+ // timeout specifies the query timeout in milliseconds. If not set, the default timeout is used.
+ oneof timeout {
+ int64 authoritative_timeout = 17;
+ }
}
// Field describes a single column returned by a query
@@ -647,6 +654,7 @@ message UnresolvedTransactionsRequest {
vtrpc.CallerID effective_caller_id = 1;
VTGateCallerID immediate_caller_id = 2;
Target target = 3;
+ int64 abandon_age = 4; // Unresolved Transactions older than this (in seconds).
}
// UnresolvedTransactionsResponse is the returned value from UnresolvedTransactions
diff --git a/proto/tabletmanagerdata.proto b/proto/tabletmanagerdata.proto
index cd74e79fa5d..d37bae81292 100644
--- a/proto/tabletmanagerdata.proto
+++ b/proto/tabletmanagerdata.proto
@@ -309,6 +309,30 @@ message ExecuteFetchAsAppResponse {
query.QueryResult result = 1;
}
+message GetUnresolvedTransactionsRequest {
+ int64 abandon_age = 1;
+}
+
+message GetUnresolvedTransactionsResponse {
+ repeated query.TransactionMetadata transactions = 1;
+}
+
+message ReadTransactionRequest {
+ string dtid = 1;
+}
+
+message ReadTransactionResponse {
+ query.TransactionMetadata transaction = 1;
+}
+
+message ConcludeTransactionRequest {
+ string dtid = 1;
+ bool mm = 2;
+}
+
+message ConcludeTransactionResponse {
+}
+
message ReplicationStatusRequest {
}
@@ -627,6 +651,18 @@ message ReadVReplicationWorkflowResponse {
}
repeated Stream streams = 11;
string options = 12;
+ map config_overrides = 13;
+}
+
+message ValidateVReplicationPermissionsRequest {
+}
+
+message ValidateVReplicationPermissionsResponse {
+ // The --db_filtered_user on the tablet.
+ string user = 1;
+ // Does the user have the minimum privileges needed to manage
+ // vreplication metadata.
+ bool ok = 2;
}
message VDiffRequest {
@@ -657,6 +693,7 @@ message VDiffReportOptions {
bool debug_query = 2;
string format = 3;
int64 max_sample_rows = 4;
+ int64 row_diff_column_truncate_at = 5;
}
message VDiffCoreOptions {
@@ -669,6 +706,7 @@ message VDiffCoreOptions {
int64 max_extra_rows_to_compare = 7;
bool update_table_stats = 8;
int64 max_diff_seconds = 9;
+ optional bool auto_start = 10;
}
message VDiffOptions {
@@ -677,6 +715,7 @@ message VDiffOptions {
VDiffReportOptions report_options = 3;
}
+
// UpdateVReplicationWorkflowRequest is used to update an existing VReplication
// workflow. Note that the following fields MUST have an explicit value provided
// if you do NOT wish to update the existing value to the given type's ZeroValue:
@@ -687,10 +726,11 @@ message UpdateVReplicationWorkflowRequest {
string workflow = 1;
repeated string cells = 2;
repeated topodata.TabletType tablet_types = 3;
- TabletSelectionPreference tablet_selection_preference = 4;
- binlogdata.OnDDLAction on_ddl = 5;
- binlogdata.VReplicationWorkflowState state = 6;
+ optional TabletSelectionPreference tablet_selection_preference = 4;
+ optional binlogdata.OnDDLAction on_ddl = 5;
+ optional binlogdata.VReplicationWorkflowState state = 6;
reserved 7; // unused, was: repeated string shards
+ map config_overrides = 8;
}
message UpdateVReplicationWorkflowResponse {
@@ -707,9 +747,9 @@ message UpdateVReplicationWorkflowsRequest {
bool all_workflows = 1;
repeated string include_workflows = 2;
repeated string exclude_workflows = 3;
- binlogdata.VReplicationWorkflowState state = 4;
- string message = 5;
- string stop_position = 6;
+ optional binlogdata.VReplicationWorkflowState state = 4;
+ optional string message = 5;
+ optional string stop_position = 6;
}
message UpdateVReplicationWorkflowsResponse {
diff --git a/proto/tabletmanagerservice.proto b/proto/tabletmanagerservice.proto
index 2a593273a0c..b5530b9d84a 100644
--- a/proto/tabletmanagerservice.proto
+++ b/proto/tabletmanagerservice.proto
@@ -86,6 +86,16 @@ service TabletManager {
rpc ExecuteFetchAsApp(tabletmanagerdata.ExecuteFetchAsAppRequest) returns (tabletmanagerdata.ExecuteFetchAsAppResponse) {};
+ //
+ // Distributed Transaction related methods
+ //
+
+ rpc GetUnresolvedTransactions(tabletmanagerdata.GetUnresolvedTransactionsRequest) returns (tabletmanagerdata.GetUnresolvedTransactionsResponse) {};
+
+ rpc ReadTransaction(tabletmanagerdata.ReadTransactionRequest) returns (tabletmanagerdata.ReadTransactionResponse) {};
+
+ rpc ConcludeTransaction(tabletmanagerdata.ConcludeTransactionRequest) returns (tabletmanagerdata.ConcludeTransactionResponse) {};
+
//
// Replication related methods
//
@@ -125,10 +135,11 @@ service TabletManager {
rpc HasVReplicationWorkflows(tabletmanagerdata.HasVReplicationWorkflowsRequest) returns(tabletmanagerdata.HasVReplicationWorkflowsResponse) {};
rpc ReadVReplicationWorkflow(tabletmanagerdata.ReadVReplicationWorkflowRequest) returns(tabletmanagerdata.ReadVReplicationWorkflowResponse) {};
rpc ReadVReplicationWorkflows(tabletmanagerdata.ReadVReplicationWorkflowsRequest) returns(tabletmanagerdata.ReadVReplicationWorkflowsResponse) {};
- rpc VReplicationExec(tabletmanagerdata.VReplicationExecRequest) returns(tabletmanagerdata.VReplicationExecResponse) {};
- rpc VReplicationWaitForPos(tabletmanagerdata.VReplicationWaitForPosRequest) returns(tabletmanagerdata.VReplicationWaitForPosResponse) {};
rpc UpdateVReplicationWorkflow(tabletmanagerdata.UpdateVReplicationWorkflowRequest) returns(tabletmanagerdata.UpdateVReplicationWorkflowResponse) {};
rpc UpdateVReplicationWorkflows(tabletmanagerdata.UpdateVReplicationWorkflowsRequest) returns(tabletmanagerdata.UpdateVReplicationWorkflowsResponse) {};
+ rpc ValidateVReplicationPermissions(tabletmanagerdata.ValidateVReplicationPermissionsRequest) returns(tabletmanagerdata.ValidateVReplicationPermissionsResponse) {};
+ rpc VReplicationExec(tabletmanagerdata.VReplicationExecRequest) returns(tabletmanagerdata.VReplicationExecResponse) {};
+ rpc VReplicationWaitForPos(tabletmanagerdata.VReplicationWaitForPosRequest) returns(tabletmanagerdata.VReplicationWaitForPosResponse) {};
// VDiff API
rpc VDiff(tabletmanagerdata.VDiffRequest) returns(tabletmanagerdata.VDiffResponse) {};
diff --git a/proto/vtadmin.proto b/proto/vtadmin.proto
index d6f1047fc1e..a8e6775de98 100644
--- a/proto/vtadmin.proto
+++ b/proto/vtadmin.proto
@@ -114,6 +114,8 @@ service VTAdmin {
rpc GetTablets(GetTabletsRequest) returns (GetTabletsResponse) {};
// GetTopologyPath returns the cell located at the specified path in the topology server.
rpc GetTopologyPath(GetTopologyPathRequest) returns (vtctldata.GetTopologyPathResponse){};
+ // GetUnresolvedTransactions returns the unresolved transactions for the request.
+ rpc GetUnresolvedTransactions(GetUnresolvedTransactionsRequest) returns (vtctldata.GetUnresolvedTransactionsResponse){};
// GetVSchema returns a VSchema for the specified keyspace in the specified
// cluster.
rpc GetVSchema(GetVSchemaRequest) returns (VSchema) {};
@@ -126,9 +128,18 @@ service VTAdmin {
rpc GetWorkflow(GetWorkflowRequest) returns (Workflow) {};
// GetWorkflows returns the Workflows for all specified clusters.
rpc GetWorkflows(GetWorkflowsRequest) returns (GetWorkflowsResponse) {};
+ // GetWorkflowStatus returns the status for a specific workflow.
+ rpc GetWorkflowStatus(GetWorkflowStatusRequest) returns (vtctldata.WorkflowStatusResponse) {};
+ // StartWorkflow starts a vreplication workflow.
+ rpc StartWorkflow(StartWorkflowRequest) returns (vtctldata.WorkflowUpdateResponse) {};
+ // StopWorkflow stops a vreplication workflow.
+ rpc StopWorkflow(StopWorkflowRequest) returns (vtctldata.WorkflowUpdateResponse) {};
// LaunchSchemaMigration launches one or all migrations in the given
// cluster executed with --postpone-launch.
rpc LaunchSchemaMigration(LaunchSchemaMigrationRequest) returns (vtctldata.LaunchSchemaMigrationResponse) {};
+ // MoveTablesCreate creates a workflow which moves one or more tables from a
+ // source keyspace to a target keyspace.
+ rpc MoveTablesCreate(MoveTablesCreateRequest) returns (vtctldata.WorkflowStatusResponse) {};
// PingTablet checks that the specified tablet is awake and responding to
// RPCs. This command can be blocked by other in-flight operations.
rpc PingTablet(PingTabletRequest) returns (PingTabletResponse) {};
@@ -613,6 +624,11 @@ message GetTopologyPathRequest {
string path = 2;
}
+message GetUnresolvedTransactionsRequest {
+ string cluster_id = 1;
+ string keyspace = 2;
+}
+
message GetVSchemaRequest {
string cluster_id = 1;
string keyspace = 2;
@@ -641,6 +657,24 @@ message GetWorkflowRequest {
bool active_only = 4;
}
+message GetWorkflowStatusRequest {
+ string cluster_id = 1;
+ string keyspace = 2;
+ string name = 3;
+}
+
+message StartWorkflowRequest {
+ string cluster_id = 1;
+ string keyspace = 2;
+ string workflow = 3;
+}
+
+message StopWorkflowRequest {
+ string cluster_id = 1;
+ string keyspace = 2;
+ string workflow = 3;
+}
+
message GetWorkflowsRequest {
repeated string cluster_ids = 1;
// ActiveOnly specifies whether to return workflows that are currently
@@ -672,6 +706,11 @@ message LaunchSchemaMigrationRequest {
vtctldata.LaunchSchemaMigrationRequest request = 2;
}
+message MoveTablesCreateRequest {
+ string cluster_id = 1;
+ vtctldata.MoveTablesCreateRequest request = 2;
+}
+
message PingTabletRequest {
// Unique (per cluster) tablet alias of the standard form: "$cell-$uid"
topodata.TabletAlias alias = 1;
diff --git a/proto/vtctldata.proto b/proto/vtctldata.proto
index 869e50a23df..2f88fbe3ed0 100644
--- a/proto/vtctldata.proto
+++ b/proto/vtctldata.proto
@@ -98,6 +98,9 @@ message MaterializeSettings {
tabletmanagerdata.TabletSelectionPreference tablet_selection_preference = 15;
bool atomic_copy = 16;
WorkflowOptions workflow_options = 17;
+
+ // ReferenceTables is set to a csv list of tables, if the materialization is for reference tables.
+ repeated string reference_tables = 18;
}
/* Data types for VtctldServer */
@@ -214,6 +217,8 @@ message WorkflowOptions {
// Shards on which vreplication streams in the target keyspace are created for this workflow and to which the data
// from the source will be vreplicated.
repeated string shards = 3;
+ map config = 4;
+
}
// TODO: comment the hell out of this.
@@ -1101,6 +1106,23 @@ message TopologyCell {
int64 version = 5;
}
+message GetUnresolvedTransactionsRequest {
+ string keyspace = 1;
+ int64 abandon_age = 2; // in seconds
+}
+
+message GetUnresolvedTransactionsResponse {
+ repeated query.TransactionMetadata transactions = 1;
+}
+
+message ConcludeTransactionRequest {
+ string dtid = 1;
+ repeated query.Target participants = 2;
+}
+
+message ConcludeTransactionResponse {
+}
+
message GetVSchemaRequest {
string keyspace = 1;
}
@@ -1525,6 +1547,8 @@ message ReshardCreateRequest {
bool defer_secondary_keys = 11;
// Start the workflow after creating it.
bool auto_start = 12;
+ WorkflowOptions workflow_options = 13;
+
}
message RestoreFromBackupRequest {
@@ -1862,6 +1886,8 @@ message VDiffCreateRequest {
bool verbose = 18;
int64 max_report_sample_rows = 19;
vttime.Duration max_diff_duration = 20;
+ int64 row_diff_column_truncate_at = 21;
+ optional bool auto_start = 22;
}
message VDiffCreateResponse {
@@ -1884,6 +1910,7 @@ message VDiffResumeRequest {
string workflow = 1;
string target_keyspace = 2;
string uuid = 3;
+ repeated string target_shards = 4;
}
message VDiffResumeResponse {
@@ -1905,6 +1932,7 @@ message VDiffStopRequest {
string workflow = 1;
string target_keyspace = 2;
string uuid = 3;
+ repeated string target_shards = 4;
}
message VDiffStopResponse {
@@ -1972,6 +2000,7 @@ message WorkflowSwitchTrafficRequest {
bool dry_run = 9;
bool initialize_target_sequences = 10;
repeated string shards = 11;
+ bool force = 12;
}
message WorkflowSwitchTrafficResponse {
diff --git a/proto/vtctlservice.proto b/proto/vtctlservice.proto
index 672374038b5..23f00c2a376 100644
--- a/proto/vtctlservice.proto
+++ b/proto/vtctlservice.proto
@@ -70,6 +70,8 @@ service Vtctld {
rpc CleanupSchemaMigration(vtctldata.CleanupSchemaMigrationRequest) returns (vtctldata.CleanupSchemaMigrationResponse) {};
// CompleteSchemaMigration completes one or all migrations executed with --postpone-completion.
rpc CompleteSchemaMigration(vtctldata.CompleteSchemaMigrationRequest) returns (vtctldata.CompleteSchemaMigrationResponse) {};
+ // CompleteSchemaMigration completes one or all migrations executed with --postpone-completion.
+ rpc ConcludeTransaction(vtctldata.ConcludeTransactionRequest) returns (vtctldata.ConcludeTransactionResponse) {};
// CreateKeyspace creates the specified keyspace in the topology. For a
// SNAPSHOT keyspace, the request must specify the name of a base keyspace,
// as well as a snapshot time.
@@ -169,6 +171,8 @@ service Vtctld {
rpc GetThrottlerStatus(vtctldata.GetThrottlerStatusRequest) returns (vtctldata.GetThrottlerStatusResponse) {};
// GetTopologyPath returns the topology cell at a given path.
rpc GetTopologyPath(vtctldata.GetTopologyPathRequest) returns (vtctldata.GetTopologyPathResponse) {};
+ // GetTransactions returns the unresolved transactions for the request.
+ rpc GetUnresolvedTransactions(vtctldata.GetUnresolvedTransactionsRequest) returns (vtctldata.GetUnresolvedTransactionsResponse) {};
// GetVersion returns the version of a tablet from its debug vars.
rpc GetVersion(vtctldata.GetVersionRequest) returns (vtctldata.GetVersionResponse) {};
// GetVSchema returns the vschema for a keyspace.
diff --git a/proto/vtgate.proto b/proto/vtgate.proto
index 0d8781bcd61..5b080178218 100644
--- a/proto/vtgate.proto
+++ b/proto/vtgate.proto
@@ -302,6 +302,10 @@ message VStreamFlags {
string cells = 4;
string cell_preference = 5;
string tablet_order = 6;
+ // When set, all new row events from the `heartbeat` table, for all shards, in the sidecardb will be streamed.
+ bool stream_keyspace_heartbeats = 7;
+ // Include reshard journal events in the stream.
+ bool include_reshard_journal_events = 8;
}
// VStreamRequest is the payload for VStream.
diff --git a/test.go b/test.go
index 360b231e889..52b1d06115d 100755
--- a/test.go
+++ b/test.go
@@ -77,7 +77,7 @@ For example:
// Flags
var (
flavor = flag.String("flavor", "mysql80", "comma-separated bootstrap flavor(s) to run against (when using Docker mode). Available flavors: all,"+flavors)
- bootstrapVersion = flag.String("bootstrap-version", "34", "the version identifier to use for the docker images")
+ bootstrapVersion = flag.String("bootstrap-version", "36", "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")
@@ -112,7 +112,7 @@ const (
configFileName = "test/config.json"
// List of flavors for which a bootstrap Docker image is available.
- flavors = "mysql57,mysql80,percona,percona57,percona80"
+ flavors = "mysql80,percona80"
)
// Config is the overall object serialized in test/config.json.
diff --git a/test/ci_workflow_gen.go b/test/ci_workflow_gen.go
index 09e2fbb6900..af8b0a84d47 100644
--- a/test/ci_workflow_gen.go
+++ b/test/ci_workflow_gen.go
@@ -75,6 +75,7 @@ var (
"xb_backup",
"backup_pitr",
"backup_pitr_xtrabackup",
+ "backup_pitr_mysqlshell",
"21",
"mysql_server_vault",
"vstream",
diff --git a/test/config.json b/test/config.json
index 49f77e1b7fb..cfc89de84ce 100644
--- a/test/config.json
+++ b/test/config.json
@@ -109,6 +109,15 @@
"RetryMax": 1,
"Tags": []
},
+ "backup_pitr_mysqlshell": {
+ "File": "unused.go",
+ "Args": ["vitess.io/vitess/go/test/endtoend/backup/pitr_mysqlshell", "-timeout", "30m"],
+ "Command": [],
+ "Manual": false,
+ "Shard": "backup_pitr_mysqlshell",
+ "RetryMax": 1,
+ "Tags": []
+ },
"backup": {
"File": "unused.go",
"Args": ["vitess.io/vitess/go/test/endtoend/backup/vtctlbackup", "-timeout", "30m"],
@@ -842,9 +851,18 @@
"RetryMax": 1,
"Tags": []
},
- "vtgate_transaction_twopc_fuzzer": {
+ "vtgate_transaction_twopc_stress": {
+ "File": "unused.go",
+ "Args": ["vitess.io/vitess/go/test/endtoend/transaction/twopc/stress"],
+ "Command": [],
+ "Manual": false,
+ "Shard": "vtgate_transaction",
+ "RetryMax": 1,
+ "Tags": []
+ },
+ "vtgate_transaction_twopc_fuzz": {
"File": "unused.go",
- "Args": ["vitess.io/vitess/go/test/endtoend/transaction/twopc/fuzzer"],
+ "Args": ["vitess.io/vitess/go/test/endtoend/transaction/twopc/fuzz"],
"Command": [],
"Manual": false,
"Shard": "vtgate_transaction",
@@ -1042,7 +1060,7 @@
},
"vreplication_materialize": {
"File": "unused.go",
- "Args": ["vitess.io/vitess/go/test/endtoend/vreplication", "-run", "TestMaterialize"],
+ "Args": ["vitess.io/vitess/go/test/endtoend/vreplication", "-run", "Materialize"],
"Command": [],
"Manual": false,
"Shard": "vreplication_partial_movetables_and_materialize",
diff --git a/test/templates/cluster_endtoend_test.tpl b/test/templates/cluster_endtoend_test.tpl
index 332cb67fedc..6df8b52e22e 100644
--- a/test/templates/cluster_endtoend_test.tpl
+++ b/test/templates/cluster_endtoend_test.tpl
@@ -14,7 +14,7 @@ env:
jobs:
build:
name: Run endtoend tests on {{.Name}}
- runs-on: {{if .Cores16}}gh-hosted-runners-16cores-1{{else}}gh-hosted-runners-4cores-1{{end}}
+ runs-on: {{if .Cores16}}gh-hosted-runners-16cores-1{{else}}ubuntu-latest{{end}}
steps:
- name: Skip CI
@@ -56,11 +56,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -85,13 +85,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -129,7 +129,7 @@ jobs:
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# Install everything else we need, and configure
- sudo apt-get -qq install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
+ sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd curl git wget eatmydata xz-utils libncurses5
{{end}}
@@ -222,7 +222,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/test/templates/cluster_endtoend_test_docker.tpl b/test/templates/cluster_endtoend_test_docker.tpl
index 2b63e6d3516..f68e4223c75 100644
--- a/test/templates/cluster_endtoend_test_docker.tpl
+++ b/test/templates/cluster_endtoend_test_docker.tpl
@@ -6,7 +6,7 @@ permissions: read-all
jobs:
build:
name: Run endtoend tests on {{.Name}}
- runs-on: {{if .Cores16}}gh-hosted-runners-16cores-1{{else}}gh-hosted-runners-4cores-1{{end}}
+ runs-on: {{if .Cores16}}gh-hosted-runners-16cores-1{{else}}ubuntu-latest{{end}}
steps:
- name: Skip CI
@@ -28,11 +28,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
diff --git a/test/templates/cluster_endtoend_test_mysql57.tpl b/test/templates/cluster_endtoend_test_mysql57.tpl
index a29698da472..d8283f1d03e 100644
--- a/test/templates/cluster_endtoend_test_mysql57.tpl
+++ b/test/templates/cluster_endtoend_test_mysql57.tpl
@@ -19,7 +19,7 @@ env:
jobs:
build:
name: Run endtoend tests on {{.Name}}
- runs-on: {{if .Cores16}}gh-hosted-runners-16cores-1{{else}}gh-hosted-runners-4cores-1{{end}}
+ runs-on: {{if .Cores16}}gh-hosted-runners-16cores-1{{else}}ubuntu-latest{{end}}
steps:
- name: Skip CI
@@ -61,11 +61,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -228,7 +228,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/test/templates/cluster_vitess_tester.tpl b/test/templates/cluster_vitess_tester.tpl
index 541bfd5c6a0..ce7cafbdee9 100644
--- a/test/templates/cluster_vitess_tester.tpl
+++ b/test/templates/cluster_vitess_tester.tpl
@@ -14,7 +14,7 @@ env:
jobs:
build:
name: Run endtoend tests on {{.Name}}
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -43,11 +43,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -69,13 +69,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@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@@ -164,7 +164,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report*.xml"
show: "fail, skip"
diff --git a/test/templates/dockerfile.tpl b/test/templates/dockerfile.tpl
index 437971aa532..3a6d664753c 100644
--- a/test/templates/dockerfile.tpl
+++ b/test/templates/dockerfile.tpl
@@ -1,4 +1,4 @@
-ARG bootstrap_version=34
+ARG bootstrap_version=36
ARG image="vitess/bootstrap:${bootstrap_version}-{{.Platform}}"
FROM "${image}"
diff --git a/test/templates/unit_test.tpl b/test/templates/unit_test.tpl
index 21707a89e48..83f7826be27 100644
--- a/test/templates/unit_test.tpl
+++ b/test/templates/unit_test.tpl
@@ -14,7 +14,7 @@ env:
jobs:
test:
name: {{.Name}}
- runs-on: gh-hosted-runners-4cores-1
+ runs-on: ubuntu-latest
steps:
- name: Skip CI
@@ -43,11 +43,11 @@ jobs:
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: actions/checkout@v4
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
- uses: dorny/paths-filter@v3.0.1
+ uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
@@ -67,13 +67,13 @@ jobs:
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-go@v5
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
- go-version: 1.22.5
+ go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
- uses: actions/setup-python@v5
+ uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true'
@@ -186,7 +186,7 @@ jobs:
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.unit_tests == 'true' && always()
- uses: test-summary/action@v2
+ uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail, skip"
diff --git a/tools/check_go_versions.sh b/tools/check_go_versions.sh
index 3549cdc10e9..846a10322f1 100755
--- a/tools/check_go_versions.sh
+++ b/tools/check_go_versions.sh
@@ -14,25 +14,9 @@ if [ -z "${GO_MOD_VERSION}" ]; then
exit 1
fi
-# ci workflows
-TPL_GO_VERSIONS="$(awk '/go-version: /{print $(NF-0)}' .github/workflows/*.yml test/templates/*.tpl | sort -u)"
-TPL_GO_VERSIONS_COUNT=$(echo "$TPL_GO_VERSIONS" | wc -l | tr -d [:space:])
-if [ "${TPL_GO_VERSIONS_COUNT}" -gt 1 ]; then
- echo -e "expected a consistent 'go-version:' in CI workflow files/templates, found versions:\n${TPL_GO_VERSIONS}"
- exit 1
-fi
-TPL_GO_VERSION="${TPL_GO_VERSIONS}"
-if [[ ! "${TPL_GO_VERSION}" =~ "${GO_MOD_VERSION}" ]]; then
- echo "expected go-version in test/templates/* to be equal to go.mod: '${TPL_GO_VERSION}' != '${GO_MOD_VERSION}'"
- exit 1
-fi
-
# docker/bootstrap/Dockerfile.common
BOOTSTRAP_GO_VERSION="$(awk -F ':' '/golang:/{print $(NF-0)}' docker/bootstrap/Dockerfile.common | cut -d- -f1)"
if [[ ! "${BOOTSTRAP_GO_VERSION}" =~ "${GO_MOD_VERSION}" ]]; then
echo "expected golang docker version in docker/bootstrap/Dockerfile.common to be equal to go.mod: '${TPL_GO_VERSION}' != '${GO_MOD_VERSION}'"
exit 1
-elif [ "${TPL_GO_VERSION}" != "${BOOTSTRAP_GO_VERSION}" ]; then
- echo "expected equal go version in CI workflow files/templates and bootstrap Dockerfile: '${TPL_GO_VERSIONS}' != '${BOOTSTRAP_GO_VERSION}'"
- exit 1
fi
diff --git a/vitess-mixin/.env b/vitess-mixin/.env
deleted file mode 100644
index 2dd23ee5572..00000000000
--- a/vitess-mixin/.env
+++ /dev/null
@@ -1,15 +0,0 @@
-TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500 --topo_global_root vitess/global
-GRPC_PORT=15999
-WEB_PORT=8080
-MYSQL_PORT=15306
-
-CELL=local
-KEYSPACE=commerce
-DB=commerce
-
-EXTERNAL_DB=0
-DB_HOST=external_db_host
-DB_PORT=3306
-DB_USER=external_db_user
-DB_PASS=external_db_password
-DB_CHARSET=CHARACTER SET utf8 COLLATE utf8_general_ci
\ No newline at end of file
diff --git a/vitess-mixin/.gitignore b/vitess-mixin/.gitignore
deleted file mode 100644
index eb410a1f9e8..00000000000
--- a/vitess-mixin/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-.DS_Store
-*.yaml
-dashboards_out
-prometheus_alerts.yaml
-prometheus_rules.yaml
-jsonnetfile.lock.json
-vendor
-.vscode/
diff --git a/vitess-mixin/Makefile b/vitess-mixin/Makefile
deleted file mode 100644
index 267bc569312..00000000000
--- a/vitess-mixin/Makefile
+++ /dev/null
@@ -1,91 +0,0 @@
-.PHONY: dashboards_out prometheus_alerts.yaml prometheus_rules.yaml test tools all e2e e2e-dev e2e-compose-up e2e-compose-down lint fmt
-
-help: #: Show this message.
- @echo "\nAvailable Targets:\n"
- @sed -ne '/@sed/!s/#: //p' $(MAKEFILE_LIST)
-
-all: #: format all .jsonnet/.libsonnet files, generate all dashboards json, alerts and rules yaml
- @make tools
- @make clean > /dev/null
- @make fmt > /dev/null
- @make test
- @make dashboards_out > /dev/null
- @make prometheus_rules.yaml > /dev/null
-
-fmt: #: Usage make fmt
- @echo "# Formatting all .libsonnet and .jsonnet files...\n"
- @scripts/fmt.sh
- @echo "\nDone!\n"
-
-a.yaml: #: Build prometheus alerts
- @echo "# Building 'prometheus_alerts.yaml'...\n"
- @jsonnet -S lib/alerts.jsonnet > $@
- @echo "\nDone!\n"
-
-prometheus_rules.yaml: #: Build prometheus rules
- @echo "# Building 'prometheus_rules.yaml'...\n"
- @jsonnet -S lib/rules.jsonnet > $@
- @echo "\nDone!\n"
-
-dashboards_out: #: Generate Grafana Dashboards Usage: `ENV='prod' make dashboards_out`
- @echo "# Building Grafana dashboards...\n"
- @make clean > /dev/null
- @mkdir -p dashboards_out
- @[ "${ENV}" = 'dev' ] || [ "${ENV}" = 'prod' ] || ( echo -e "##ERROR\nPlease specify ENV (prod or dev)"; exit 1)
- @jsonnet -J vendor --ext-str env="${ENV}" -m dashboards_out lib/dashboards.jsonnet
- @echo "\nDone!\n"
-
-lint: #: Usage: make lint
- @echo "# Linting all .libsonnet and .jsonnet files...\n"
- @scripts/fmt.sh --check
- @echo "\nDone!\n"
- @echo "# Linting 'prometheus_rules.yaml'...\n"
- @make prometheus_rules.yaml > /dev/null
- @promtool check rules prometheus_rules.yaml
- @echo "Done!\n"
-
-clean: #: Delete generated dashboards (/dashboards_out) Usage: make clean
- @echo "# Cleaning up all generated files...\n"
- @rm -rf dashboards_out prometheus_alerts.yaml prometheus_rules.yaml > /dev/null
- @echo "\nDone!\n"
-
-test: #: Compare your .json generated dashboards local version with the origin/main version.
- @make clean > /dev/null
- @ENV=${ENV} scripts/vitess-mixin-plan.sh
- @make clean > /dev/null
-
-tools: tools.go
- @# -mod='' tells go to ignore the vendor/ directory
- @cat $^ | grep _ | awk -F'"' '{print $$2}' | xargs -I% go install -mod='' %
- @jb install
- @jb update https://github.com/grafana/grafonnet-lib/grafonnet > /dev/null 2>&1
-
-
-E2E_GRAFANA_VERSION ?= 7.3.6
-
-e2e: #: Run all Grafana end-to-end tests.
- GRAFANA_VERSION=${E2E_GRAFANA_VERSION} \
- docker-compose -f e2e/docker-compose.yml up \
- --abort-on-container-exit \
- --exit-code-from e2e \
- --remove-orphans
-
-e2e-dev: #: Run Grafana e2e tests in Cypress test runner.
- GRAFANA_VERSION=${E2E_GRAFANA_VERSION} \
- DISPLAY=$$(ipconfig getifaddr en0):0 \
- docker-compose -f e2e/docker-compose.dev.yml up \
- --abort-on-container-exit \
- --exit-code-from e2e \
- --remove-orphans
-
-e2e-compose-up: #: Run Grafana e2e environment spining Prometheus and Vitess in the backend.
- GRAFANA_VERSION=${E2E_GRAFANA_VERSION} \
- COMPOSE_HTTP_TIMEOUT=200 \
- DISPLAY=$$(ipconfig getifaddr en0):0 \
- docker-compose -f e2e/docker-compose.vt.yml up \
- --remove-orphans
-
-e2e-compose-down: #: Clean docker compose resources
- @docker-compose -f e2e/docker-compose.vt.yml down -v --remove-orphans
- @rm e2e/grafana/provisioning/dashboards/*.json
- @rm e2e/prometheus/prometheus_rules.yaml
diff --git a/vitess-mixin/README.md b/vitess-mixin/README.md
deleted file mode 100644
index 695a943295c..00000000000
--- a/vitess-mixin/README.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# (Beta) Monitoring Mixin for Vitess
-
-A set of Grafana dashboards, Prometheus rules and alerts for Vitess, packaged together in a reusable and extensible bundle.
-
-## 🔁 Prerequisites
-
-1. Go (programming language)
- - Install binaries using the official [installer](https://golang.org/dl/)
- - Ensure `GOPATH` variable is set in your system. See instructions [here](https://golang.org/doc/install#install). Here below there's a sample config:
-
- ```shell
- export GOPATH=$HOME/go
- export PATH="$GOPATH/bin:/usr/local/go/bin:$PATH"
- ```
-
-1. Install the go tools: `make tools`, `jb`, `jsonnet`, `jsonnetfmt`, and `promtool` should now be in `$GOPATH/bin`.
-
-1. Install the dependencies by running: `jb install`
-
-## ℹ️ How-to
-
-Customize `config.libsonnet` based on your setup. Example: specify the `dataSource` name (default to `Prometheus_Vitess`). You can then generate:
-
-- Prometheus alerts: `$ make prometheus_alerts.yaml`
-(Note: This files is empty because the current version of the mixin uses Grafana Alerts)
-
-- Prometheus rules: `$ make prometheus_rules.yaml`
-
-- Grafana dashboard: `$ ENV='prod' make dashboards_out` (Supported environments are `dev` and `prod`).
-
-The `prometheus_alerts.yaml` and `prometheus_rules.yaml` file then need to passed to your Prometheus server, and the files in `dashboards_out` need to be imported into you Grafana server.
-
-## 👩💻 Development
-
-If you want to contribute please read [Vitess mixin quickstart guide](vitess-mixin-quickstart.md)
-
-## 📚 Useful links & further learning
-
-- For more information about monitoring mixins, see this [design doc](https://docs.google.com/document/d/1A9xvzwqnFVSOZ5fD3blKODXfsat5fg6ZhnKu9LK3lB4/edit#).
-- For more motivation, see
-"[The RED Method: How to instrument your services](https://kccncna17.sched.com/event/CU8K/the-red-method-how-to-instrument-your-services-b-tom-wilkie-kausal?iframe=no&w=100%&sidebar=yes&bg=no)" talk from CloudNativeCon Austin.
diff --git a/vitess-mixin/alerts/alerts.libsonnet b/vitess-mixin/alerts/alerts.libsonnet
deleted file mode 100644
index 732a682f8b6..00000000000
--- a/vitess-mixin/alerts/alerts.libsonnet
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- prometheusAlerts+:: {
-
- },
-}
diff --git a/vitess-mixin/config.libsonnet b/vitess-mixin/config.libsonnet
deleted file mode 100644
index 8c8f69ca0ee..00000000000
--- a/vitess-mixin/config.libsonnet
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- _config+:: {
-
- // Selectors are inserted between {} in Prometheus queries.
- vtctldSelector: 'job="vitess-vtctld"',
- vtgateSelector: 'job="vitess-vtgate"',
- vttabletSelector: 'job="vitess-vttablet"',
- vtgateNodeSelector: 'job="node-exporter-vitess-vtgate"',
- mysqlSelector: 'job="mysql"',
- defaultTimeFrom: 'now-30m',
- vttabletMountpoint: '/mnt',
-
- // Datasource to use
- dataSource: 'Prometheus',
- nodeDataSource: 'Prometheus',
-
- // Default config for the Grafana dashboards in the Vitess Mixin
- grafanaDashboardMetadataDefault: {
- dashboardNameSuffix: '(auto-generated)',
- dashboardAlertPrefix: 'alerts',
- dashboardTags: ['vitess-mixin'],
- },
-
- dashborardLinks: {
- title: 'vitess-mixin',
- tags: ['vitess-mixin'],
- keepTime: true,
- includeVars: false,
- },
-
- // Grafana dashboard IDs are necessary for stable links for dashboards
- grafanaDashboardMetadata: {
-
- local defaultDashboard = {
- environments: ['dev', 'prod'],
- time_from: $._config.defaultTimeFrom,
- },
-
- // Overview
- clusterOverview+: defaultDashboard {
- uid: 'vitess-cluster-overview',
- title: 'cluster - overview %(dashboardNameSuffix)s' % $._config.grafanaDashboardMetadataDefault,
- description: 'General cluster overview',
- dashboardTags: $._config.grafanaDashboardMetadataDefault.dashboardTags + ['overview', 'cluster'],
- },
- vtgateOverview+: defaultDashboard {
- uid: 'vitess-vtgate-overview',
- title: 'vtgate - overview %(dashboardNameSuffix)s' % $._config.grafanaDashboardMetadataDefault,
- description: 'General vtgate overview',
- dashboardTags: $._config.grafanaDashboardMetadataDefault.dashboardTags + ['overview', 'vtgate'],
- },
-
- // Host View
- vttabletHostView+: defaultDashboard {
- uid: 'vitess-vttablet-host-view',
- title: 'vttablet - host view %(dashboardNameSuffix)s' % $._config.grafanaDashboardMetadataDefault,
- description: 'Detailed vttablet host view',
- dashboardTags: $._config.grafanaDashboardMetadataDefault.dashboardTags + ['vttablet', 'host'],
- },
- vtgateHostView+: defaultDashboard {
- uid: 'vitess-vtgate-host-view',
- title: 'vtgate - host view %(dashboardNameSuffix)s' % $._config.grafanaDashboardMetadataDefault,
- description: 'Detailed vtgate view by host',
- dashboardTags: $._config.grafanaDashboardMetadataDefault.dashboardTags + ['vtgate', 'host'],
- },
- },
- },
-
- os: import 'dashboards/resources/config/os_config.libsonnet',
- vttablet: import 'dashboards/resources/config/vttablet_config.libsonnet',
- vtgate: import 'dashboards/resources/config/vtgate_config.libsonnet',
- mysql: import 'dashboards/resources/config/mysql_config.libsonnet',
- row: import 'dashboards/resources/config/row_config.libsonnet',
-}
diff --git a/vitess-mixin/dashboards/dashboards.libsonnet b/vitess-mixin/dashboards/dashboards.libsonnet
deleted file mode 100644
index 5840e4b5228..00000000000
--- a/vitess-mixin/dashboards/dashboards.libsonnet
+++ /dev/null
@@ -1,5 +0,0 @@
-(import 'layouts/cluster_overview.libsonnet') +
-(import 'layouts/vtgate_host_view.libsonnet') +
-(import 'layouts/vtgate_overview.libsonnet') +
-(import 'layouts/vttablet_host_view.libsonnet') +
-(import 'defaults.libsonnet')
diff --git a/vitess-mixin/dashboards/defaults.libsonnet b/vitess-mixin/dashboards/defaults.libsonnet
deleted file mode 100644
index d94de1fab09..00000000000
--- a/vitess-mixin/dashboards/defaults.libsonnet
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- local grafanaDashboards = super.grafanaDashboards,
-
- grafanaDashboards:: {
- [filename]: grafanaDashboards[filename] {
- // Modify tooltip to only show a single value
- rows: [
- row {
- panels: [
- panel {
- tooltip+: {
- shared: false,
- },
- }
- for panel in super.panels
- ],
- }
- for row in super.rows
- ],
-
- }
- for filename in std.objectFields(grafanaDashboards)
- },
-}
diff --git a/vitess-mixin/dashboards/layouts/cluster_overview.libsonnet b/vitess-mixin/dashboards/layouts/cluster_overview.libsonnet
deleted file mode 100644
index 6db716c982c..00000000000
--- a/vitess-mixin/dashboards/layouts/cluster_overview.libsonnet
+++ /dev/null
@@ -1,56 +0,0 @@
-local helpers = import '../resources/grafonnet/helpers/helpers.libsonnet';
-local panels = import '../resources/grafonnet/panels.libsonnet';
-local rows = import '../resources/grafonnet/rows.libsonnet';
-local singlestats = import '../resources/grafonnet/singlestats.libsonnet';
-local templates = import '../resources/grafonnet/templates.libsonnet';
-local texts = import '../resources/grafonnet/texts.libsonnet';
-
-local config = import '../../config.libsonnet';
-
-{
- grafanaDashboards+:: {
- 'cluster_overview.json':
-
- helpers.dashboard.getDashboard(config._config.grafanaDashboardMetadata.clusterOverview)
- .addTemplates([
- templates.interval,
- ])
- .addLink(helpers.default.getDashboardLink(config._config.dashborardLinks))
- .addPanels([
- texts.clusterOverview { gridPos: { h: 3, w: 24, x: 0, y: 0 } },
- singlestats.vtgateSuccessRate { gridPos: { h: 4, w: 4, x: 0, y: 3 } },
- singlestats.vttabletQuerySuccess { gridPos: { h: 4, w: 4, x: 4, y: 3 } },
- helpers.vtgate.getSingleStat(config.vtgate.singlestats.vtgateQueryLatencyP99) { gridPos: { h: 4, w: 4, x: 8, y: 3 } },
- helpers.vtgate.getSingleStat(config.vtgate.singlestats.vtgateQPS) { gridPos: { h: 2, w: 4, x: 12, y: 3 } },
- helpers.vttablet.getSingleStat(config.vttablet.singlestats.vttabletQPS) { gridPos: { h: 2, w: 4, x: 12, y: 5 } },
- singlestats.mysqlQPS { gridPos: { h: 2, w: 4, x: 16, y: 3 } },
- singlestats.keyspaceCount { gridPos: { h: 2, w: 2, x: 16, y: 3 } },
- singlestats.shardCount { gridPos: { h: 2, w: 2, x: 18, y: 3 } },
- singlestats.vtgateUp { gridPos: { h: 2, w: 2, x: 20, y: 3 } },
- singlestats.vtctldUp { gridPos: { h: 2, w: 2, x: 20, y: 5 } },
- singlestats.vttabletUp { gridPos: { h: 2, w: 2, x: 22, y: 3 } },
-
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateRequests) { gridPos: { h: 6, w: 8, x: 0, y: 7 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorRate) { gridPos: { h: 6, w: 8, x: 8, y: 7 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationP99) { gridPos: { h: 6, w: 8, x: 16, y: 7 } },
-
- rows.RED { gridPos: { h: 1, w: 24, x: 0, y: 13 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateRequestsByKeyspace) { gridPos: { h: 8, w: 8, x: 0, y: 14 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorRateByKeyspace) { gridPos: { h: 8, w: 8, x: 8, y: 14 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationP99ByKeyspace) { gridPos: { h: 8, w: 8, x: 16, y: 14 } },
-
- rows.tabletsQueries { gridPos: { h: 1, w: 24, x: 0, y: 22 } },
- helpers.vttablet.getPanel(config.vttablet.panels.countServingTablets) { gridPos: { h: 8, w: 8, x: 0, y: 23 } },
- helpers.mysql.getPanel(config.mysql.panels.mysqlSlowQueries) { gridPos: { h: 8, w: 8, x: 8, y: 23 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryTransactionKilled) { gridPos: { h: 8, w: 8, x: 16, y: 23 } },
-
- rows.serviceRestart { gridPos: { h: 1, w: 24, x: 0, y: 31 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateRestart) { gridPos: { h: 8, w: 8, x: 0, y: 32 } },
- panels.vtctldRestart { gridPos: { h: 8, w: 8, x: 8, y: 32 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletRestart) { gridPos: { h: 8, w: 8, x: 16, y: 32 } },
-
- helpers.mysql.getPanel(config.mysql.panels.mysqlRestart) { gridPos: { h: 8, w: 8, x: 16, y: 40 } },
- ]),
-
- },
-}
diff --git a/vitess-mixin/dashboards/layouts/vtgate_host_view.libsonnet b/vitess-mixin/dashboards/layouts/vtgate_host_view.libsonnet
deleted file mode 100644
index 139999e09fc..00000000000
--- a/vitess-mixin/dashboards/layouts/vtgate_host_view.libsonnet
+++ /dev/null
@@ -1,49 +0,0 @@
-local heatmaps = import '../resources/grafonnet/heatmaps.libsonnet';
-local helpers = import '../resources/grafonnet/helpers/helpers.libsonnet';
-local rows = import '../resources/grafonnet/rows.libsonnet';
-local singlestats = import '../resources/grafonnet/singlestats.libsonnet';
-local templates = import '../resources/grafonnet/templates.libsonnet';
-local texts = import '../resources/grafonnet/texts.libsonnet';
-
-local config = import '../../config.libsonnet';
-
-// TODO: add connections info
-
-{
- grafanaDashboards+:: {
- 'vtgate_host_view.json':
-
- helpers.dashboard.getDashboard(config._config.grafanaDashboardMetadata.vtgateHostView)
- .addTemplates([
- templates.hostVtgate,
- ])
- .addLink(helpers.default.getDashboardLink(config._config.dashborardLinks))
- .addPanels([
- texts.vtgateHost { gridPos: { h: 3, w: 24, x: 0, y: 0 } },
- rows.RED { gridPos: { h: 1, w: 24, x: 0, y: 4 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateRequestsByInstance) { gridPos: { h: 7, w: 8, x: 0, y: 5 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorRateByInstance) { gridPos: { h: 7, w: 8, x: 8, y: 5 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationP99ByInstance) { gridPos: { h: 7, w: 8, x: 16, y: 5 } },
- rows.REDByTabletType.addPanels([
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateRequestsByInstanceDBType) { gridPos: { h: 7, w: 8, x: 0, y: 9 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorRateByInstanceDBType) { gridPos: { h: 7, w: 8, x: 8, y: 9 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationP99ByInstanceDBType) { gridPos: { h: 7, w: 8, x: 16, y: 9 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 8 } },
- rows.errors.addPanels([
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorsByInstanceKeyspace) { gridPos: { h: 7, w: 8, x: 0, y: 17 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorsByInstanceCode) { gridPos: { h: 7, w: 8, x: 8, y: 17 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 16 } },
- rows.duration.addPanels([
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationAVGByInstance) { gridPos: { h: 7, w: 8, x: 0, y: 25 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationP50ByInstance) { gridPos: { h: 7, w: 8, x: 8, y: 25 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationP95ByInstance) { gridPos: { h: 7, w: 8, x: 16, y: 25 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 24 } },
- rows.OS.addPanels([
- helpers.os.getPanel(config.os.panels.CPUUsageByInstance) { gridPos: { h: 7, w: 8, x: 0, y: 33 } },
- helpers.os.getPanel(config.os.panels.MemoryUsageByInstance) { gridPos: { h: 7, w: 8, x: 8, y: 33 } },
- helpers.os.getPanel(config.os.panels.NetworkUsageByInstance) { gridPos: { h: 7, w: 8, x: 16, y: 33 } },
- helpers.os.getPanel(config.os.panels.TCPRetransmissionsByInstance) { gridPos: { h: 7, w: 8, x: 16, y: 40 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 32 } },
- ]),
- },
-}
diff --git a/vitess-mixin/dashboards/layouts/vtgate_overview.libsonnet b/vitess-mixin/dashboards/layouts/vtgate_overview.libsonnet
deleted file mode 100644
index b2c14eb8563..00000000000
--- a/vitess-mixin/dashboards/layouts/vtgate_overview.libsonnet
+++ /dev/null
@@ -1,58 +0,0 @@
-local heatmaps = import '../resources/grafonnet/heatmaps.libsonnet';
-local helpers = import '../resources/grafonnet/helpers/helpers.libsonnet';
-local rows = import '../resources/grafonnet/rows.libsonnet';
-local singlestats = import '../resources/grafonnet/singlestats.libsonnet';
-local templates = import '../resources/grafonnet/templates.libsonnet';
-local texts = import '../resources/grafonnet/texts.libsonnet';
-
-local config = import '../../config.libsonnet';
-
-// TODO: add connections info
-
-{
- grafanaDashboards+:: {
- 'vtgate_overview.json':
-
- helpers.dashboard.getDashboard(config._config.grafanaDashboardMetadata.vtgateOverview)
- .addLink(helpers.default.getDashboardLink(config._config.dashborardLinks))
- .addPanels([
- texts.vtgateOverview { gridPos: { h: 3, w: 24, x: 0, y: 0 } },
-
- rows.RED { gridPos: { h: 1, w: 24, x: 0, y: 4 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateRequests) { gridPos: { h: 7, w: 8, x: 0, y: 5 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorRate) { gridPos: { h: 7, w: 8, x: 8, y: 5 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationP99) { gridPos: { h: 7, w: 8, x: 16, y: 5 } },
-
- rows.REDByKeyspace.addPanels([
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateRequestsByKeyspace) { gridPos: { h: 7, w: 8, x: 0, y: 13 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorRateByKeyspace) { gridPos: { h: 7, w: 8, x: 8, y: 13 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationP99ByKeyspace) { gridPos: { h: 7, w: 8, x: 16, y: 13 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 12 } },
-
- rows.REDByTabletType.addPanels([
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateRequestsByDBType) { gridPos: { h: 7, w: 8, x: 0, y: 21 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorRateByDBType) { gridPos: { h: 7, w: 8, x: 8, y: 21 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationP99ByDBType) { gridPos: { h: 7, w: 8, x: 16, y: 21 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 20 } },
-
- rows.errors.addPanels([
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorsByCode) { gridPos: { h: 7, w: 8, x: 0, y: 29 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorsByOperation) { gridPos: { h: 7, w: 8, x: 8, y: 29 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateErrorsByDbtype) { gridPos: { h: 7, w: 8, x: 16, y: 29 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 28 } },
-
- rows.duration.addPanels([
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationAVG) { gridPos: { h: 7, w: 8, x: 0, y: 37 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationP50) { gridPos: { h: 7, w: 8, x: 8, y: 37 } },
- helpers.vtgate.getPanel(config.vtgate.panels.vtgateDurationP95) { gridPos: { h: 7, w: 8, x: 16, y: 37 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 36 } },
-
- rows.OS.addPanels([
- helpers.os.getPanel(config.os.panels.CPUUsage) { gridPos: { h: 7, w: 8, x: 0, y: 45 } },
- helpers.os.getPanel(config.os.panels.MemoryUsage) { gridPos: { h: 7, w: 8, x: 8, y: 45 } },
- helpers.os.getPanel(config.os.panels.NetworkUsage) { gridPos: { h: 7, w: 8, x: 16, y: 45 } },
- helpers.os.getPanel(config.os.panels.TCPRetransmissions) { gridPos: { h: 7, w: 8, x: 16, y: 52 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 44 } },
- ]),
- },
-}
diff --git a/vitess-mixin/dashboards/layouts/vttablet_host_view.libsonnet b/vitess-mixin/dashboards/layouts/vttablet_host_view.libsonnet
deleted file mode 100644
index 7148deb44ee..00000000000
--- a/vitess-mixin/dashboards/layouts/vttablet_host_view.libsonnet
+++ /dev/null
@@ -1,103 +0,0 @@
-local heatmaps = import '../resources/grafonnet/heatmaps.libsonnet';
-local helpers = import '../resources/grafonnet/helpers/helpers.libsonnet';
-local rows = import '../resources/grafonnet/rows.libsonnet';
-local templates = import '../resources/grafonnet/templates.libsonnet';
-local texts = import '../resources/grafonnet/texts.libsonnet';
-
-local config = import '../../config.libsonnet';
-local rows_helper = helpers.default;
-
-{
- grafanaDashboards+:: {
- 'vttablet_host_view.json':
-
- helpers.dashboard.getDashboard(config._config.grafanaDashboardMetadata.vttabletHostView)
- .addTemplates(
- [
- templates.hostVttablet,
- ]
- ).addLink(helpers.default.getDashboardLink(config._config.dashborardLinks))
- .addPanels(
- [
- texts.vttabletHost { gridPos: { h: 3, w: 24, x: 0, y: 0 } },
-
- rows.RED { gridPos: { h: 1, w: 24, x: 0, y: 4 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletRequestsByInstance) { gridPos: { h: 7, w: 8, x: 0, y: 5 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletErrorRateByInstance) { gridPos: { h: 7, w: 8, x: 8, y: 5 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryDurationP99ByInstance) { gridPos: { h: 7, w: 8, x: 16, y: 5 } },
-
- rows.REDByPlanType.addPanels([
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletRequestsByPlanType) { gridPos: { h: 7, w: 8, x: 0, y: 13 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletErrorRateByPlanFilteredByInstance) { gridPos: { h: 7, w: 8, x: 8, y: 13 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryDurationP99ByPlan) { gridPos: { h: 7, w: 8, x: 16, y: 13 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 12 } },
-
- rows.REDByTable.addPanels([
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletRequestsByTableFilteredByInstance) { gridPos: { h: 7, w: 8, x: 0, y: 29 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletErrorRateByTableFilteredByInstance) { gridPos: { h: 7, w: 8, x: 8, y: 29 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 28 } },
-
- rows.rowsReturned.addPanels([
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletRowsReturnedByTableFilteredByInstance) { gridPos: { h: 7, w: 12, x: 0, y: 37 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletRowsReturnedByPlansFilterByInstance) { gridPos: { h: 7, w: 12, x: 12, y: 37 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 36 } },
-
- rows_helper.getRow(config.row.queryErrors).addPanels([
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueriesKilled) { gridPos: { h: 7, w: 8, x: 0, y: 45 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryErrorsByType) { gridPos: { h: 7, w: 8, x: 8, y: 45 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 44 } },
-
- rows.vitessQueryPool.addPanels([
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryPoolAvailableConnections) { gridPos: { h: 7, w: 8, x: 0, y: 52 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryPoolActiveConnections) { gridPos: { h: 7, w: 8, x: 8, y: 52 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryPoolIddleClosedRate) { gridPos: { h: 7, w: 8, x: 16, y: 52 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryPoolWaitCount) { gridPos: { h: 7, w: 8, x: 0, y: 59 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryPoolAvgWaitTime) { gridPos: { h: 7, w: 8, x: 8, y: 59 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 51 } },
-
- rows.vitessTransactionPool.addPanels([
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletTransactionPoolAvailableConnections) { gridPos: { h: 7, w: 8, x: 0, y: 67 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletTransactionPoolActiveConnections) { gridPos: { h: 7, w: 8, x: 8, y: 67 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletTransactionPoolIddleClosedRate) { gridPos: { h: 7, w: 8, x: 16, y: 67 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletTransactionPoolWaitCount) { gridPos: { h: 7, w: 8, x: 0, y: 74 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletTransactionPoolAvgWaitTime) { gridPos: { h: 7, w: 8, x: 8, y: 74 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 66 } },
-
- rows_helper.getRow(config.row.vitessTimings).addPanels([
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryDurationAvgByInstance) { gridPos: { h: 7, w: 8, x: 0, y: 82 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryDurationP50ByInstance) { gridPos: { h: 7, w: 8, x: 8, y: 82 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletQueryDurationP95ByInstance) { gridPos: { h: 7, w: 8, x: 16, y: 82 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletTransactionDurationAvgByInstance) { gridPos: { h: 7, w: 8, x: 0, y: 89 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletTransactionDurationP50ByInstance) { gridPos: { h: 7, w: 8, x: 8, y: 89 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletTransactionDurationP95ByInstance) { gridPos: { h: 7, w: 8, x: 16, y: 89 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vtgateToVtTabletCallTimeAvgFilteredByInstance) { gridPos: { h: 7, w: 8, x: 0, y: 86 } },
- heatmaps.vttabletQueryTimeDistribution { gridPos: { h: 7, w: 16, x: 8, y: 86 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 81 } },
-
- rows.mysql.addPanels([
- helpers.mysql.getPanel(config.mysql.panels.mysqlSlowQueriesByInstance) { gridPos: { h: 7, w: 8, x: 0, y: 94 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 93 } },
-
- rows_helper.getRow(config.row.mysqlTimings).addPanels([
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletMysqlTimeAvgFilteredByInstance) { gridPos: { h: 7, w: 8, x: 0, y: 102 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletMysqlExecTimeP50FilterebyInstance) { gridPos: { h: 7, w: 8, x: 8, y: 102 } },
- helpers.vttablet.getPanel(config.vttablet.panels.vttabletMysqlExecTimeP95FilterebyInstance) { gridPos: { h: 7, w: 8, x: 16, y: 102 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 101 } },
-
- rows.OS.addPanels([
- helpers.os.getPanel(config.os.panels.CPUUsageByInstance) { gridPos: { h: 7, w: 8, x: 0, y: 110 } },
- helpers.os.getPanel(config.os.panels.MemoryUsageByInstance) { gridPos: { h: 7, w: 8, x: 8, y: 110 } },
- helpers.os.getPanel(config.os.panels.DiskUsageByInstance) { gridPos: { h: 7, w: 8, x: 16, y: 110 } },
- helpers.os.getPanel(config.os.panels.NetworkTxByInstance) { gridPos: { h: 7, w: 12, x: 0, y: 117 } },
- helpers.os.getPanel(config.os.panels.NetworkRxByInstance) { gridPos: { h: 7, w: 12, x: 12, y: 117 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 109 } },
-
- rows_helper.getRow(config.row.misc).addPanels([
- helpers.os.getPanel(config.vttablet.panels.vttabletGarbageCollectionCount) { gridPos: { h: 7, w: 8, x: 0, y: 125 } },
- helpers.os.getPanel(config.vttablet.panels.vttabletGarbageCollectionDuration) { gridPos: { h: 7, w: 8, x: 8, y: 125 } },
- helpers.os.getPanel(config.vttablet.panels.vttabletGarbageCollectionDurationQuantiles) { gridPos: { h: 7, w: 8, x: 16, y: 125 } },
- ]) { gridPos: { h: 1, w: 24, x: 0, y: 124 } },
- ],
- ),
- },
-}
diff --git a/vitess-mixin/dashboards/resources/config/configuration_templates.libsonnet b/vitess-mixin/dashboards/resources/config/configuration_templates.libsonnet
deleted file mode 100644
index 6f1f85da0a3..00000000000
--- a/vitess-mixin/dashboards/resources/config/configuration_templates.libsonnet
+++ /dev/null
@@ -1,125 +0,0 @@
-local config = import '../../../config.libsonnet';
-
-{
- //Override default_panel values with custom configuration
- prometheus_vitess: {
- panel: {
-
- datasource: {
- datasource: '%(dataSource)s' % config._config,
- },
-
- default+: self.datasource {
- fill: 0,
- legend_alignAsTable: true,
- legend_values: true,
- min: 0,
- shared_tooltip: false,
- },
-
- legend_max+: self.default {
- legend_max: true,
- },
-
- legend_min_max_avg+: self.default {
- legend_max: true,
- legend_min: true,
- legend_avg: true,
- },
-
- legend_min_max_current+: self.default {
- legend_max: true,
- legend_min: true,
- legend_current: true,
- },
-
- null_as_zeros+: self.default {
- nullPointMode: 'null as zero',
- },
-
- mysql_default+: self.default {
- legend_max: true,
- legend_sort: 'max',
- },
-
- orc_default+: self.default {
- legend_current: true,
- legend_rightSide: true,
- legend_sort: 'current',
- legend_sortDesc: false,
- pointradius: 5,
- sort: 'none',
- },
-
- vitess_vttablet_host_view+: self.mysql_default {
- legend_current: true,
- legend_min: true,
- legend_sort: 'current',
- legend_sortDesc: true,
- },
-
- go_gc_seconds+: self.legend_max {
- format: 's',
- },
-
- go_gc_ops+: self.legend_max {
- format: 'ops',
- },
-
- mysql_timings+: self.legend_min_max_avg {
- legend_sort: 'max',
- legend_sortDesc: true,
- format: 's',
- },
-
- vtgate_to_vttablet_calls: self.legend_min_max_avg + self.null_as_zeros {
- format: 's',
- legend_sortDesc: true,
- legend_sort: 'max',
- },
-
- },
- },
-
- prometheus_node: {
- panel: {
- default: {
- datasource: '%(nodeDataSource)s' % config._config,
- fill: 0,
- legend_alignAsTable: true,
- legend_current: true,
- legend_sort: 'current',
- legend_sortDesc: true,
- legend_values: true,
- min: 0,
- sort: 'decreasing',
- },
-
- percent_panel: self.default {
- format: 'percentunit',
- legend_min: true,
- legend_max: true,
- },
-
- null_as_zeros+: self.default {
- nullPointMode: 'null as zero',
- },
-
- vttablet_host_view: self.percent_panel {
- legend_avg: true,
- legend_current: false,
- legend_sort: 'max',
- },
-
- performance_analysis_short: self.percent_panel {
- format: 'short',
- legend_min: false,
- legend_max: false,
- },
-
- performance_analysis_seconds+: self.performance_analysis_short {
- format: 's',
- },
- },
- },
-}
diff --git a/vitess-mixin/dashboards/resources/config/mysql_config.libsonnet b/vitess-mixin/dashboards/resources/config/mysql_config.libsonnet
deleted file mode 100644
index 543e3565902..00000000000
--- a/vitess-mixin/dashboards/resources/config/mysql_config.libsonnet
+++ /dev/null
@@ -1,87 +0,0 @@
-local config = import '../../../config.libsonnet';
-local configuration_templates = import './configuration_templates.libsonnet';
-local vitess_ct = configuration_templates.prometheus_vitess;
-
-// TODO: move local template variables and fields to ./configuration_templates.libsonnet.
-{
- // TODO: add description for each panel.
- panels: {
-
- local panel_template = vitess_ct.panel.mysql_default,
- local vttablet_host_view_panel_template = vitess_ct.panel.vitess_vttablet_host_view,
-
- // TODO Create a recording rule for the prometheus target.
- mysqlRestart: panel_template {
- title: 'MySQL (by keyspace/shard)',
- bars: true,
- format: 'short',
- legend_sort: 'max',
- legend_sortDesc: false,
- lines: false,
- sort: 'increasing',
- targets: [
- {
- expr: |||
- count by (keyspace, shard) (
- idelta (
- mysql_global_status_uptime{
- %(mysqlSelector)s
- }[5m]
- ) < 0
- )
- ||| % config._config,
- legendFormat: '{{keyspace}}/{{shard}}',
- },
- ],
- },
-
- // TODO Create a recording rule for the prometheus target.
- mysqlSlowQueries: panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Slow queries',
- format: 'cps',
- legend_min: true,
- legend_current: true,
- legend_sort: 'current',
- legend_sortDesc: true,
- sort: 'decreasing',
- nullPointMode: 'null as zero',
- targets: [
- {
- expr: |||
- sum (
- rate(
- mysql_global_status_slow_queries{
- %(mysqlSelector)s
- }[$interval]
- )
- )
- ||| % config._config,
- legendFormat: 'Slow Queries',
- },
- ],
- },
-
- // TODO Create a recording rule for the prometheus target.
- mysqlSlowQueriesByInstance: vttablet_host_view_panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Slow Queries',
- format: 'ops',
- targets: [
- {
- expr: |||
- sum by(instance)(
- rate(
- mysql_global_status_slow_queries{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- intervalFactor: 1,
- },
- ],
- },
- },
-}
diff --git a/vitess-mixin/dashboards/resources/config/os_config.libsonnet b/vitess-mixin/dashboards/resources/config/os_config.libsonnet
deleted file mode 100644
index 8451311cb1b..00000000000
--- a/vitess-mixin/dashboards/resources/config/os_config.libsonnet
+++ /dev/null
@@ -1,384 +0,0 @@
-/** This is a configuration file containing metadata for OS (Prometheus Node) grafana resources. */
-
-local config = import '../../../config.libsonnet';
-local configuration_templates = import './configuration_templates.libsonnet';
-local node_ct = configuration_templates.prometheus_node;
-
-// TODO: move local template variables and fields to ./configuration_templates.libsonnet.
-{
- // TODO: add description for each panel.
- panels: {
-
- local vtgate_panel_template = node_ct.panel.percent_panel,
- local vttablet_host_view_panel_template = node_ct.panel.vttablet_host_view,
-
- CPUUsage:
- vtgate_panel_template
- + node_ct.panel.null_as_zeros {
- title: 'CPU Usage',
- targets: [
- {
- expr:
- |||
- 1 -
- avg (
- rate(
- node_cpu_seconds_total{
- %(vtgateNodeSelector)s,
- mode="idle"
- }[1m]
- )
- )
- ||| % config._config,
- legendFormat: 'cpu usage',
- },
- ],
- },
-
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- CPUUsageByInstance:
- vtgate_panel_template
- + node_ct.panel.null_as_zeros {
- title: 'CPU Usage',
- targets: [
- {
- expr:
- |||
- 1 -
- avg by (instance)(
- rate(
- node_cpu_seconds_total{
- instance=~"$host",
- mode="idle"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- MemoryUsage:
- vtgate_panel_template
- + node_ct.panel.null_as_zeros {
- title: 'Memory Usage',
- targets: [
- {
- expr:
- |||
- 1 -
- sum (
- node_memory_MemAvailable_bytes{
- %(vtgateNodeSelector)s
- }
- )
- /
- sum (
- node_memory_MemTotal_bytes{
- %(vtgateNodeSelector)s
- }
- )
- ||| % config._config,
- legendFormat: 'Memory Usage',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- MemoryUsageByInstance:
- vtgate_panel_template
- + node_ct.panel.null_as_zeros {
- title: 'Memory Usage',
- targets: [
- {
- expr:
- |||
- 1 -
- sum by (instance)(
- node_memory_MemAvailable_bytes{
- instance=~"$host"
- }
- )
- /
- sum by (instance)(
- node_memory_MemTotal_bytes{
- instance=~"$host"
- }
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- TCPRetransmissions:
- vtgate_panel_template
- + node_ct.panel.null_as_zeros {
- title: 'TCP Retransmissions',
- targets: [
- {
- expr:
- |||
- sum (
- rate(
- node_netstat_Tcp_RetransSegs{
- %(vtgateNodeSelector)s
- }[1m]
- )
- )
- /
- sum (
- rate(
- node_netstat_Tcp_OutSegs{
- %(vtgateNodeSelector)s
- }[1m]
- )
- )
- ||| % config._config,
- legendFormat: 'TCP retransmissions',
- },
- ],
- },
-
- TCPRetransmissionsByInstance:
- vtgate_panel_template
- + node_ct.panel.null_as_zeros {
- title: 'TCP Retransmissions',
- targets: [
- {
- expr:
- |||
- sum by (instance) (
- rate(
- node_netstat_Tcp_RetransSegs{
- instance=~"$host"
- }[1m]
- )
- )
- /
- sum by (instance) (
- rate(
- node_netstat_Tcp_OutSegs{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- NetworkUsage:
- vtgate_panel_template
- + node_ct.panel.null_as_zeros {
- title: 'Network Usage',
- format: 'bps',
- min: null,
- seriesOverrides: [
- {
- alias: '/egress .*/',
- transform: 'negative-Y',
- },
- ],
- targets: [
- {
- expr:
- |||
- sum (
- rate(
- node_network_receive_bytes_total{
- %(vtgateNodeSelector)s
- }[5m]
- )
- )
- * 8
- ||| % config._config,
- legendFormat: 'ingress',
- },
- {
- expr:
- |||
- sum (
- rate(
- node_network_transmit_bytes_total{
- %(vtgateNodeSelector)s
- }[5m]
- )
- )
- * 8
- ||| % config._config,
- legendFormat: 'egress',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROM TARGET
- NetworkUsageByInstance:
- vtgate_panel_template
- + node_ct.panel.null_as_zeros {
- title: 'Network Usage',
- format: 'Bps',
- min: null,
- seriesOverrides: [
- {
- alias: '/egress .*/',
- transform: 'negative-Y',
- },
- ],
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- node_network_receive_bytes_total{
- instance=~"$host"
- }[5m]
- )
- )
- ||| % config._config,
- legendFormat: 'ingress - {{instance}}',
- },
- {
- expr:
- |||
- sum by (instance)(
- rate(
- node_network_transmit_bytes_total{
- instance=~"$host"
- }[5m]
- )
- )
- ||| % config._config,
- legendFormat: 'egress - {{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROM TARGET
- NetworkUsageByInstanceFilteredByShardKeyspace:
- vttablet_host_view_panel_template
- + node_ct.panel.null_as_zeros {
- title: 'Network Usage',
- format: 'bps',
- min: null,
- seriesOverrides: [
- {
- alias: '/egress .*/',
- transform: 'negative-Y',
- },
- ],
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- node_network_receive_bytes_total{
- keyspace="$keyspace",
- shard=~"$shard",
- instance=~"$host"
- }[5m]
- )
- )
- * 8
- |||,
- legendFormat: 'ingress - {{instance}}',
- },
- {
- expr:
- |||
- sum by (instance)(
- rate(
- node_network_transmit_bytes_total{
- keyspace="$keyspace",
- shard=~"$shard",
- instance=~"$host"
- }[5m]
- )
- )
- * 8
- |||,
- legendFormat: 'egress - {{instance}}',
- },
- ],
- },
-
- NetworkRxByInstance:
- vttablet_host_view_panel_template
- + node_ct.panel.null_as_zeros {
- title: 'Network Rx Bytes',
- format: 'bps',
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- node_network_receive_bytes_total{
- instance=~"$host"
- }[1m]
- )
- )
- * 8
- |||,
- legendFormat: 'ingress - {{instance}}',
- },
- ],
- },
-
- NetworkTxByInstance:
- vttablet_host_view_panel_template
- + node_ct.panel.null_as_zeros {
- title: 'Network Tx Bytes',
- format: 'bps',
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- node_network_transmit_bytes_total{
- instance=~"$host"
- }[1m]
- )
- )
- * 8
- |||,
- legendFormat: 'egress - {{instance}}',
- },
- ],
- },
-
- DiskUsageByInstance:
- vtgate_panel_template
- + node_ct.panel.null_as_zeros {
- title: '/mnt disk free',
- min: null,
- targets: [
- {
- expr:
- |||
- avg by(instance)(
- node_filesystem_avail_bytes{
- instance=~"$host",
- mountpoint="%(vttabletMountpoint)s"
- }
- /
- node_filesystem_size_bytes{
- instance=~"$host",
- mountpoint="%(vttabletMountpoint)s"
- }
- )
- ||| % config._config,
- legendFormat: '{{instance}}',
- intervalFactor: 1,
- },
- ],
- },
- },
-}
diff --git a/vitess-mixin/dashboards/resources/config/row_config.libsonnet b/vitess-mixin/dashboards/resources/config/row_config.libsonnet
deleted file mode 100644
index 2fb6d6cb355..00000000000
--- a/vitess-mixin/dashboards/resources/config/row_config.libsonnet
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- misc:: {
- title: 'Misc',
- collapse: true,
- },
- mysqlTimings: {
- title: 'MySQL Timings',
- collapse: true,
- },
- queryErrors:: {
- title: 'Queries/Errors',
- collapse: true,
- },
- vitessTimings:: {
- title: 'Vitess Timings',
- collapse: true,
- },
-}
diff --git a/vitess-mixin/dashboards/resources/config/vtgate_config.libsonnet b/vitess-mixin/dashboards/resources/config/vtgate_config.libsonnet
deleted file mode 100644
index acbc7e19efb..00000000000
--- a/vitess-mixin/dashboards/resources/config/vtgate_config.libsonnet
+++ /dev/null
@@ -1,765 +0,0 @@
-/** This is a configuration file containing metadata for vtgate grafana resources. */
-
-local config = import '../../../config.libsonnet';
-local configuration_templates = import './configuration_templates.libsonnet';
-local vitess_ct = configuration_templates.prometheus_vitess;
-
-// TODO: move local template variables and fields to ./configuration_templates.libsonnet.
-{
- // ____ _
- // | _ \ __ _ _ __ ___| |___
- // | |_) / _` | '_ \ / _ \ / __|
- // | __/ (_| | | | | __/ \__ \
- // |_| \__,_|_| |_|\___|_|___/
-
- // TODO: add description for each panel.
- panels: {
-
- //Override default_panel values with custom configuration
- local panel_template = {
- datasource: '%(dataSource)s' % config._config,
- format: 'rps',
- fill: 0,
- legend_values: true,
- legend_alignAsTable: true,
- legend_min: true,
- legend_max: true,
- legend_current: true,
- legend_sort: 'current',
- legend_sortDesc: true,
- min: 0,
- sort: 'decreasing',
- },
-
- local garbage_collector_panel_template = panel_template {
- format: 's',
- legend_sort: 'max',
- },
-
- vtgateRequests:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Requests',
- fill: 1,
- targets: [
- {
- expr: |||
- sum (
- vitess_mixin:vtgate_api_count:rate1m
- )
- |||,
- legendFormat: 'Requests',
- },
- ],
- },
-
- vtgateRequestsByKeyspace:
- panel_template +
- vitess_ct.panel.null_as_zeros {
- title: 'Requests (by keyspace)',
- targets: [
- {
- expr: |||
- sum by(keyspace)(
- vitess_mixin:vtgate_api_count_by_keyspace:rate1m
- )
- ||| % config._config,
- legendFormat: '{{keyspace}}',
- },
- ],
- },
-
-
- vtgateRequestsByDBType:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Requests (by db_type)',
- targets: [
- {
- expr: |||
- sum by (db_type)(
- vitess_mixin:vtgate_api_count_by_db_type:rate1m
- )
- |||,
- legendFormat: '{{db_type}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vtgateRequestsByInstanceDBType:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Requests (by db_type)',
- fill: 0,
- targets: [
- {
- expr: |||
- sum by (instance, db_type)(
- rate(
- vtgate_api_count{
- instance=~"$host",
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}} - {{db_type}}',
- intervalFactor: 1,
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS TARGET
- vtgateRequestsByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Requests',
- fill: 0,
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- vtgate_api_count{
- instance=~'$host'
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- intervalFactor: 1,
- },
- ],
- },
-
- vtgateErrorRate:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Error rate',
- format: 'percentunit',
- fill: 1,
- aliasColors: {
- 'Error rate': '#F2495C',
- },
- targets: [
- {
- expr: |||
- sum (
- vitess_mixin:vtgate_api_error_counts:rate1m)
- /
- sum (
- vitess_mixin:vtgate_api_count:rate1m)
- |||,
- legendFormat: 'Error rate',
- },
- ],
- },
-
- vtgateErrorRateByKeyspace:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Error rate (by keyspace)',
- format: 'percentunit',
- targets: [
- {
- expr: |||
- sum by(keyspace)(
- vitess_mixin:vtgate_api_error_counts_by_keyspace:rate1m)
- /
- sum by(keyspace)(
- vitess_mixin:vtgate_api_count_by_keyspace:rate1m)
- |||,
- legendFormat: '{{keyspace}}',
- },
- ],
- },
-
- vtgateErrorRateByDBType:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Error rate (by db_type)',
- format: 'percentunit',
- targets: [
- {
- expr: |||
- sum by (db_type)(
- vitess_mixin:vtgate_api_error_counts_by_db_type:rate1m
- )
- /
- sum by (db_type)(
- vitess_mixin:vtgate_api_count_by_db_type:rate1m
- )
- ||| % config._config,
- legendFormat: '{{db_type}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS TARGET
- vtgateErrorRateByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Error rate',
- fill: 0,
- format: 'percentunit',
- nullPointMode: 'null as zero',
- targets: [
- {
- expr:
- |||
- sum by(instance)(
- rate(
- vtgate_api_error_counts[1m]
- ) > 0
- )
- /
- sum by(instance)(
- rate(
- vtgate_api_count[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- intervalFactor: 1,
- },
- ],
- },
-
- //TODO Create RECORDING RULES FOR THESE PROM TARGETS
- vtgateErrorRateByInstanceDBType:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Error rate (by db_type)',
- fill: 0,
- format: 'percentunit',
- targets: [
- {
- expr:
- |||
- sum by(instance, db_type)(
- rate(vtgate_api_error_counts{
- instance=~"$host"
- }[1m]
- ) > 0
- )
- /
- sum by(instance, db_type)(
- rate(
- vtgate_api_count{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}} - {{db_type}}',
- intervalFactor: 1,
- },
- ],
- },
-
- vtgateDurationP99:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Duration 99th quantile',
- fill: 1,
- format: 's',
- aliasColors: {
- Duration: '#5794F2',
- },
- targets: [
- {
- expr: |||
- histogram_quantile(
- 0.99,
- sum by(le)(
- vitess_mixin:vtgate_api_bucket:rate1m
- )
- )
- |||,
- legendFormat: 'Duration',
- },
- ],
- },
-
- vtgateDurationP99ByKeyspace:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Duration 99th quantile (by keyspace)',
- format: 's',
- targets: [
- {
- expr: |||
- histogram_quantile(
- 0.99,
- sum by(keyspace,le)(
- vitess_mixin:vtgate_api_bucket_by_keyspace:rate1m
- )
- )
- ||| % config._config,
- legendFormat: '{{keyspace}}',
- },
- ],
- },
-
- local vtgateDurationTemplate =
- panel_template
- + vitess_ct.panel.null_as_zeros {
- fill: 1,
- format: 's',
- aliasColors: {
- Duration: '#5794F2',
- },
- },
-
- //TODO crete a recording rule for this prometheus vitess target
- vtgateDurationP99ByInstance: vtgateDurationTemplate {
- title: 'Duration 99th quantile',
- fill: 0,
- targets: [
- {
- expr: |||
- histogram_quantile(
- 0.99,
- sum by(instance,le)(
- rate(
- vtgate_api_bucket{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}}',
- intervalFactor: 1,
- },
- ],
- },
-
- //TODO crete a recording rule for this prometheus vitess target
- vtgateDurationP99ByInstanceDBType: vtgateDurationTemplate {
- title: 'Duration 99th quantile (by db_type)',
- fill: 0,
- targets: [
- {
- expr: |||
- histogram_quantile(
- 0.99,
- sum by(instance,db_type,le)(
- rate(
- vtgate_api_bucket{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}} - {{db_type}}',
- intervalFactor: 1,
- },
- ],
- },
-
- vtgateDurationP50: vtgateDurationTemplate {
- title: 'Duration 50th quantile',
- fill: 0,
- targets: [
- {
- expr: |||
- histogram_quantile(
- 0.50,
- sum by(le)(
- vitess_mixin:vtgate_api_bucket:rate1m
- )
- )
- |||,
- legendFormat: 'Duration p50',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROM TARGET
- vtgateDurationP50ByInstance: vtgateDurationTemplate {
- title: 'Duration 50th quantile',
- fill: 0,
- targets: [
- {
- expr: |||
- histogram_quantile(
- 0.50,
- sum by(instance, le)(
- rate(
- vtgate_api_bucket{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- vtgateDurationP95: vtgateDurationTemplate {
- title: 'Duration 95th quantile',
- fill: 0,
- targets: [
- {
- expr: |||
- histogram_quantile(
- 0.95,
- sum by(le)(
- vitess_mixin:vtgate_api_bucket:rate1m
- )
- )
- |||,
- legendFormat: 'Duration p95',
- },
- ],
- },
-
- vtgateDurationP95ByInstance: vtgateDurationTemplate {
- title: 'Duration 95th quantile',
- fill: 0,
- targets: [
- {
- expr: |||
- histogram_quantile(
- 0.95,
- sum by(instance, le)(
- rate(
- vtgate_api_bucket{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO write a recording rule for this prometheus_vitess target
- // only vtgate_api_sum requires a rule. Use 1m interval instead of 5m.
- vtgateDurationAVG: vtgateDurationTemplate {
- title: 'Duration (Avg)',
- fill: 0,
- targets: [
- {
- expr: |||
- sum (
- rate(
- vtgate_api_sum[5m]
- )
- )
- /
- sum (
- rate(
- vtgate_api_count[5m]
- )
- )
- |||,
- legendFormat: 'Avg Latency',
- },
- ],
- },
-
- //TODO write a recording rule for this prometheus_vitess target
- vtgateDurationAVGByInstance: vtgateDurationTemplate {
- title: 'Duration (Avg)',
- fill: 0,
- targets: [
- {
- expr: |||
- sum by (instance)(
- rate(
- vtgate_api_sum{
- instance=~"$host"
- }[5m]
- )
- )
- /
- sum by (instance)(
- rate(
- vtgate_api_count{
- instance=~"$host"
- }[5m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- vtgateDurationP99ByDBType:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Duration 99th quantile (by db_type)',
- format: 's',
- targets: [
- {
- expr: |||
- histogram_quantile(
- 0.99,
- sum by (db_type, le)(
- vitess_mixin:vtgate_api_bucket_by_db_type:rate1m
- )
- )
- |||,
- legendFormat: '{{db_type}}',
- },
- ],
- },
-
- vtgateErrorsByCode:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Errors (by code)',
- format: 'cps',
- targets: [
- {
- expr: |||
- sum by (code)(
- vitess_mixin:vtgate_api_error_counts_by_code:rate1m
- )
- |||,
- legendFormat: '{{code}}',
- },
- ],
-
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROM TARGET
- vtgateErrorsByInstanceCode:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Errors (by code)',
- format: 'cps',
- targets: [
- {
- expr: |||
- sum by (instance,code)(
- rate(
- vtgate_api_error_counts{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}} - {{code}}',
- },
- ],
-
- },
-
- vtgateErrorsByOperation:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Errors (by operation)',
- format: 'cps',
- targets: [
- {
- expr: |||
- sum by (operation)(
- vitess_mixin:vtgate_api_error_counts_by_operation:rate1m
- )
- |||,
- legendFormat: '{{operation}}',
- },
- ],
-
- },
-
- vtgateErrorsByDbtype:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Errors (by db_type)',
- format: 'cps',
- targets: [
- {
- expr: |||
- sum by (db_type)(
- vitess_mixin:vtgate_api_error_counts_by_db_type:rate1m
- )
- |||,
- legendFormat: '{{db_type}}',
- },
- ],
-
- },
-
- //TODO CREATE RECORDING RULE FOR THIS PROM TARGET
- vtgateErrorsByInstanceKeyspace:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Errors (by keyspace)',
- format: 'cps',
- targets: [
- {
- expr: |||
- sum by (instance,keyspace)(
- rate(
- vtgate_api_error_counts{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{keyspace}}',
- intervalFactor: 1,
- },
- ],
- },
-
- vtgateRestart: {
- title: 'vtgate',
- bars: true,
- datasource: '%(dataSource)s' % config._config,
- fill: 0,
- format: 'short',
- legend_alignAsTable: true,
- legend_current: false,
- legend_max: true,
- legend_min: false,
- legend_sort: 'max',
- legend_sortDesc: false,
- legend_values: true,
- lines: false,
- min: 0,
- shared_tooltip: false,
- sort: 'increasing',
- targets: [
- {
- expr: |||
- sum by (instance)(
- vitess_mixin:process_start_time_seconds_by_instance_job:sum5m{
- %(vtgateSelector)s
- }
- )
- ||| % config._config,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO crete a recording rule for this prometheus vitess target
- vtgateGarbageCollectionCount: garbage_collector_panel_template {
- title: 'GC Count',
- format: 'ops',
- targets: [
- {
- expr:
- |||
- sum by(instance)(
- rate(
- go_gc_duration_seconds_count{
- %(vtgateSelector)s
- }[1m]
- )
- )
- ||| % config._config,
- legendFormat: '{{instance}}',
- intervalFactor: 1,
- },
- ],
- },
- //TODO crete a recording rule for this prometheus vitess target
- vtgateGarbageCollectionDuration: garbage_collector_panel_template {
- title: 'GC Duration total per second',
- description: 'A summary of the pause duration of garbage collection cycles',
- targets: [
- {
- expr:
- |||
- sum by(instance)(
- rate(
- go_gc_duration_seconds_count{
- %(vtgateSelector)s
- }[1m]
- )
- )
- ||| % config._config,
- legendFormat: '{{instance}}',
- intervalFactor: 1,
- },
- ],
- },
- //TODO crete a recording rule for this prometheus vitess target
- vtgateGarbageCollectionDurationQuantiles: garbage_collector_panel_template {
- title: 'GC Duration quantiles',
- targets: [
- {
- expr:
- |||
- sum by(quantile)(
- rate(
- go_gc_duration_seconds{
- %(vtgateSelector)s
- }[1m]
- )
- )
- ||| % config._config,
- legendFormat: 'p{{quantile}}',
- intervalFactor: 1,
- },
- ],
- },
- },
-
- // _ _ _ _
- // ___(_)_ __ __ _| | ___ ___| |_ __ _| |_ ___
- // / __| | '_ \ / _` | |/ _ \/ __| __/ _` | __/ __|
- // \__ \ | | | | (_| | | __/\__ \ || (_| | |_\__ \
- // |___/_|_| |_|\__, |_|\___||___/\__\__,_|\__|___/
- // |___/
-
- //TODO move default configurations to helper code (vttablet_helper)
- singlestats: {
-
- vtgateQPS: {
- title: 'QPS - vtgate',
- datasource: '%(dataSource)s' % config._config,
- format: 'short',
- valueFontSize: '70%',
- valueName: 'current',
- sparklineFull: true,
- sparklineShow: true,
- target:
- {
- expr: |||
- sum (
- vitess_mixin:vtgate_api_count:rate1m
- )
- |||,
- intervalFactor: 1,
- },
- },
-
- vtgateQueryLatencyP99: {
- title: 'Query latency p99',
- datasource: '%(dataSource)s' % config._config,
- colorBackground: true,
- decimals: 2,
- format: 'ms',
- valueFontSize: '70%',
- valueName: 'current',
- thresholds: '30,50',
- target:
- {
- expr: |||
- 1000 * histogram_quantile(
- 0.99,
- sum by(le)(
- vitess_mixin:vtgate_api_bucket:rate1m
- )
- )
- |||,
- instant: true,
- intervalFactor: 1,
- },
- },
- },
-}
diff --git a/vitess-mixin/dashboards/resources/config/vttablet_config.libsonnet b/vitess-mixin/dashboards/resources/config/vttablet_config.libsonnet
deleted file mode 100644
index 4dbd8a989de..00000000000
--- a/vitess-mixin/dashboards/resources/config/vttablet_config.libsonnet
+++ /dev/null
@@ -1,1073 +0,0 @@
-/** This is a configuration file containing metadata for vttablet grafana resources. */
-
-local config = import '../../../config.libsonnet';
-local configuration_templates = import './configuration_templates.libsonnet';
-local vitess_ct = configuration_templates.prometheus_vitess;
-
-// TODO: move local template variables to ./configurations_templates.libsonnet.
-{
- panels: {
- // ____ _
- // | _ \ __ _ _ __ ___| |___
- // | |_) / _` | '_ \ / _ \ / __|
- // | __/ (_| | | | | __/ \__ \
- // |_| \__,_|_| |_|\___|_|___/
-
- // TODO: add description for each panel.
-
- //Override default_panel values with custom configuration
- local vttablet_queries_killed = vitess_ct.panel.legend_min_max_avg + vitess_ct.panel.null_as_zeros,
- local vttablet_query_errors_by_type = vitess_ct.panel.legend_min_max_avg + vitess_ct.panel.null_as_zeros,
-
- local panel_template = vitess_ct.panel.legend_min_max_current {
- legend_sort: 'current',
- legend_sortDesc: true,
- shared_tooltip: true,
- sort: 'decreasing',
- },
-
- local vttablet_host_view_panel_template = panel_template {
- legend_sort: 'avg',
- legend_avg: true,
- legend_current: false,
- },
-
- //TODO Create a recording rule.
- countServingTablets:
- panel_template {
- title: '# of serving tablets',
- legend_sortDesc: false,
- shared_tooltip: false,
- sort: 'increasing',
- targets: [
- {
- expr:
- |||
- count(
- vttablet_tablet_server_state{
- %(vttabletSelector)s,
- name="SERVING"
- }
- )
- |||
- % config._config,
- legendFormat: 'SERVING',
- },
- ],
- },
-
- vttabletRequestsByTable:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Requests (by table)',
- format: 'rps',
- targets: [
- {
- expr:
- |||
- sum by (table)(
- vitess_mixin:vttablet_query_counts_by_keyspace_table:rate1m{
- table=~"$table"
- }
- )
- or
- vector(0)
- |||,
- legendFormat: '{{table}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMEHTEUS TARGET
- vttabletRequestsByPlanType:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Requests (by plan type)',
- format: 'ops',
- nullPointMode: 'null as zero',
- targets: [
- {
- expr:
- |||
- sum by (plan_type)(
- rate(
- vttablet_queries_count{
- instance=~"$host"
- } [1m]
- )
- )
- |||,
- legendFormat: '{{plan_type}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROM TARGET
- vttabletRequestsByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Requests',
- format: 'ops',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'avg',
- nullPointMode: 'null as zero',
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- vttablet_query_counts{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROM TARGET
- vttabletRequestsByTableFilteredByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Requests (by table)',
- format: 'ops',
- nullPointMode: 'null as zero',
- targets: [
- {
- expr:
- |||
- sum by (table)(
- rate(
- vttablet_query_counts{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{table}}',
- intervalFactor: 1,
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROM TARGET
- vttabletErrorRateByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Error rate',
- format: 'percentunit',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'avg',
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- vttablet_query_error_counts{
- instance=~"$host"
- }[1m]
- )
- )
- /
- (
- sum by (instance)(
- rate(
- vttablet_query_error_counts{
- instance=~"$host"
- }[1m]
- )
- )
- +
- sum by (instance)(
- rate(
- vttablet_query_counts{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- vttabletErrorRateByPlanFilteredByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Error rate (by plan type)',
- format: 'percentunit',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'avg',
- targets: [
- {
- expr:
- |||
- sum by (plan)(
- rate(
- vttablet_query_error_counts{
- instance=~"$host"
- }[1m]
- )
- )
- /
- (
- sum by (plan)(
- rate(
- vttablet_query_error_counts{
- instance=~"$host"
- }[1m]
- )
- )
- +
- sum by (plan)(
- rate(
- vttablet_query_counts{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{plan}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROM TARGET
- vttabletErrorRateByTableFilteredByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Error rate (by table)',
- format: 'percentunit',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'avg',
- targets: [
- {
- expr:
- |||
- sum by (table)(
- rate(
- vttablet_query_error_counts{
- instance=~"$host"
- }[1m]
- )
- )
- /
- (
- sum by (table)(
- rate(
- vttablet_query_error_counts{
- instance=~"$host"
- }[1m]
- )
- )
- +
- sum by (table)(
- rate(
- vttablet_query_counts{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{table}}',
- },
- ],
- },
-
- vttabletRowsReturnedByTableFilteredByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Rows Returned (by table)',
- targets: [
- {
- expr:
- |||
- sum by (table) (
- rate(
- vttablet_query_row_counts{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{table}}',
- },
- ],
- },
-
- vttabletRowsReturnedByPlansFilterByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Rows Returned (by plan)',
- targets: [
- {
- expr:
- |||
- sum by (plan) (
- rate(
- vttablet_query_row_counts{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{plan}}',
- },
- ],
- },
-
- //TODO DEDUPLICATE LEGEND CONFIGURATION FOR QUERY DURATION PANELS
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletQueryDurationAvgByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Query Duration (avg)',
- format: 's',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'max',
- targets: [
- {
- expr:
- |||
- sum by(instance)(
- rate(
- vttablet_queries_sum{
- instance=~"$host"
- }[1m]
- )
- )
- /
- sum by(instance)(
- rate(
- vttablet_queries_count{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletQueryDurationP50ByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Query Duration (p50)',
- format: 's',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'max',
- targets: [
- {
- expr:
- |||
- histogram_quantile(
- 0.50,sum by(instance,le)(
- rate(
- vttablet_queries_bucket{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletQueryDurationP95ByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Query Duration (p95)',
- format: 's',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'max',
- targets: [
- {
- expr:
- |||
- histogram_quantile(
- 0.95,sum by(instance,le)(
- rate(
- vttablet_queries_bucket{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletQueryDurationP99ByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Duration (p99)',
- format: 's',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'avg',
- targets: [
- {
- expr:
- |||
- histogram_quantile(
- 0.99,sum by(instance,le)(
- rate(
- vttablet_queries_bucket{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletQueryDurationP99ByPlan:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Duration p99 (by plan type)',
- format: 's',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'avg',
- targets: [
- {
- expr:
- |||
- histogram_quantile(
- 0.99,sum by(plan_type,le)(
- rate(
- vttablet_queries_bucket{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{plan_type}}',
- },
- ],
- },
-
- //TODO DEDUPLICATE LEGEND CONFIGURATION FOR TRANSACTION DURATION PANELS
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletTransactionDurationAvgByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Transaction Duration (avg)',
- format: 's',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'max',
- targets: [
- {
- expr:
- |||
- sum by(instance)(
- rate(
- vttablet_transactions_sum{
- instance=~"$host"
- }[1m]
- )
- )
- /
- sum by(instance)(
- rate(
- vttablet_transactions_count{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletTransactionDurationP50ByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Transaction Duration (p50)',
- format: 's',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'max',
- targets: [
- {
- expr:
- |||
- histogram_quantile(
- 0.50,sum by(instance,le)(
- rate(
- vttablet_transactions_bucket{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletTransactionDurationP95ByInstance:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Transaction Duration (p95)',
- format: 's',
- legend_current: false,
- legend_avg: true,
- legend_sort: 'max',
- targets: [
- {
- expr:
- |||
- histogram_quantile(
- 0.95,sum by(instance,le)(
- rate(
- vttablet_transactions_bucket{
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- vttabletQueryTransactionKilled:
- panel_template
- + vitess_ct.panel.null_as_zeros {
- title: 'Query/Transaction killed',
- format: 'cps',
- legend_alignAsTable: true,
- shared_tooltip: false,
- targets: [
- {
- expr:
- |||
- sum (
- vitess_mixin:vttablet_kills:rate1m
- )
- |||,
- legendFormat: 'Killed',
- },
- ],
- },
-
- vttabletRestart: {
- title: 'vttablet',
- bars: true,
- datasource: '%(dataSource)s' % config._config,
- fill: 0,
- format: 'short',
- legend_values: true,
- legend_alignAsTable: true,
- legend_max: true,
- legend_sort: 'max',
- legend_sortDesc: false,
- lines: false,
- min: 0,
- shared_tooltip: false,
- sort: 'increasing',
- targets: [
- {
- expr:
- |||
- sum by (instance) (
- vitess_mixin:process_start_time_seconds_by_instance_job:sum5m{
- %(vttabletSelector)s
- }
- )
- ||| % config._config,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletQueryPoolAvailableConnections: vttablet_host_view_panel_template {
- title: 'Available Connections',
- description: 'number of available connections in the pool in real-time',
- format: 'short',
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- vttablet_conn_pool_available{
- instance=~'$host'
- }
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletQueryPoolActiveConnections: vttablet_host_view_panel_template {
- title: 'Active Connections',
- description: 'count of in use connections to mysql',
- format: 'short',
- targets: [
- {
- expr:
- |||
- sum by(instance) (
- vttablet_conn_pool_active{
- instance=~'$host'
- }
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletQueryPoolIddleClosedRate: vttablet_host_view_panel_template {
- title: 'Idle Closed Rate',
- description: 'rate of closing connections due to the idle timeout',
- format: 'ops',
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- vttablet_conn_pool_idle_closed{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletQueryPoolWaitCount: vttablet_host_view_panel_template {
- title: 'Wait count',
- description: 'WaitCount will give you how often the transaction pool gets full that causes new transactions to wait.',
- format: 'short',
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- vttablet_conn_pool_wait_count{
- instance=~'$host'
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletQueryPoolAvgWaitTime: vttablet_host_view_panel_template {
- title: 'Avg wait time',
- format: 's',
- description: 'WaitTime/WaitCount will tell you the average wait time.',
- targets: [
- {
- expr:
- |||
- sum by (instance) (
- rate(
- vttablet_conn_pool_wait_time{
- instance=~"$host"
- }[1m]
- )
- )
- /
- sum by (instance) (
- rate(
- vttablet_conn_pool_wait_count{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- vttabletQueriesKilled: vttablet_queries_killed {
- title: 'Queries Killed',
- description: |||
- Kills reports the queries and transactions killed by VTTablet due to timeout.
- It’s a very important variable to look at during outages.
- |||,
- targets: [
- {
- expr: |||
- sum by (instance)(
- vitess_mixin:vttablet_kills_by_instance:rate1m{
- instance=~"$host"
- }
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- vttabletQueryErrorsByType: vttablet_query_errors_by_type {
- title: 'Query errors (by error code)',
- description: '',
- targets: [
- {
- expr: |||
- sum by (error_code)(
- vitess_mixin:vttablet_errors:rate1m{
- instance=~"$host"
- }
- )
- |||,
- legendFormat: 'ErrorCode: {{error_code}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletTransactionPoolAvailableConnections: vttablet_host_view_panel_template {
- title: 'Available Connections',
- description: 'number of available connections in the pool',
- format: 'short',
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- vttablet_transaction_pool_available{
- instance=~'$host'
- }
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletTransactionPoolActiveConnections: vttablet_host_view_panel_template {
- title: 'Active Connections',
- description: 'Number of connections actually open to mysql',
- format: 'short',
- targets: [
- {
- expr:
- |||
- sum by(instance) (
- vttablet_transaction_pool_active{
- instance=~'$host'
- }
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletTransactionPoolIddleClosedRate: vttablet_host_view_panel_template {
- title: 'Idle Closed Rate',
- description: 'Rate of closing connections due to the idle timeout',
- format: 'ops',
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- vttablet_transaction_pool_idle_closed{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletTransactionPoolWaitCount: vttablet_host_view_panel_template {
- title: 'Wait count',
- description: 'WaitCount will give you how often the transaction pool gets full that causes new transactions to wait.',
- format: 'short',
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- vttablet_transaction_pool_wait_count{
- instance=~'$host'
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletTransactionPoolAvgWaitTime: vttablet_host_view_panel_template {
- title: 'Avg wait time',
- format: 's',
- description: 'WaitTime/WaitCount will tell you the average wait time.',
- targets: [
- {
- expr:
- |||
- sum by (instance) (
- rate(
- vttablet_transaction_pool_wait_time{
- instance=~"$host"
- }[1m]
- )
- )
- /
- sum by (instance) (
- rate(
- vttablet_transaction_pool_wait_count{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletGarbageCollectionCount: vitess_ct.panel.go_gc_ops {
- title: 'GC Count',
- targets: [
- {
- expr:
- |||
- sum by(instance)(
- rate(
- go_gc_duration_seconds_count{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- intervalFactor: 1,
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletGarbageCollectionDuration: vitess_ct.panel.go_gc_seconds {
- title: 'GC Duration total per second',
- description: 'A summary of the pause duration of garbage collection cycles',
- targets: [
- {
- expr:
- |||
- sum by(instance)(
- rate(
- go_gc_duration_seconds_count{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- intervalFactor: 1,
- },
- ],
- },
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletGarbageCollectionDurationQuantiles: vitess_ct.panel.go_gc_seconds {
- title: 'GC Duration quantiles (all hosts)',
- targets: [
- {
- expr:
- |||
- sum by(quantile)(
- rate(
- go_gc_duration_seconds{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: 'p{{quantile}}',
- intervalFactor: 1,
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletMysqlTimeAvgFilteredByInstance: vitess_ct.panel.mysql_timings {
- title: 'MySQL time (avg)',
- targets: [
- {
- expr:
- |||
- sum by (instance) (
- rate(
- vttablet_mysql_sum{
- instance=~"$host"
- }[1m]
- )
- )
- /
- sum by (instance) (
- rate(
- vttablet_mysql_count{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletMysqlExecTimeP50FilterebyInstance: vitess_ct.panel.mysql_timings {
- title: 'MySQL Exec Time P50',
- targets: [
- {
- expr: |||
- histogram_quantile(
- 0.50,
- sum by (le, instance) (
- rate(
- vttablet_mysql_bucket{
- operation="Exec",
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletMysqlExecTimeP95FilterebyInstance: vitess_ct.panel.mysql_timings {
- title: 'MySQL Exec Time P95',
- targets: [
- {
- expr: |||
- histogram_quantile(
- 0.95,
- sum by (le, instance) (
- rate(
- vttablet_mysql_bucket{
- operation="Exec",
- instance=~"$host"
- }[1m]
- )
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vtgateToVtTabletCallTimeAvgFilteredByInstance: vitess_ct.panel.vtgate_to_vttablet_calls {
- title: 'VtGate -> VtTablet Call Time (avg)',
- targets: [
- {
- expr:
- |||
- sum by (instance)(
- rate(
- vtgate_vttablet_call_sum[1m]
- )
- )
- /
- sum by (instance)(
- rate(
- vtgate_vttablet_call_count[1m]
- )
- )
- |||,
- legendFormat: '{{instance}}',
- },
- ],
- },
-
- },
-
- singlestats: {
- // _ _ _ _
- // ___(_)_ __ __ _| | ___ ___| |_ __ _| |_ ___
- // / __| | '_ \ / _` | |/ _ \/ __| __/ _` | __/ __|
- // \__ \ | | | | (_| | | __/\__ \ || (_| | |_\__ \
- // |___/_|_| |_|\__, |_|\___||___/\__\__,_|\__|___/
- // |___/
-
- vttabletQPS: {
- title: 'QPS - vttablet',
- datasource: '%(dataSource)s' % config._config,
- format: 'short',
- valueFontSize: '70%',
- valueName: 'current',
- sparklineFull: true,
- sparklineShow: true,
- target:
- {
- expr: |||
- sum (
- vitess_mixin:vttablet_query_counts:rate1m
- )
- |||,
- intervalFactor: 1,
- },
- },
- },
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/heatmaps.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/heatmaps.libsonnet
deleted file mode 100644
index 9a6e5f41527..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/heatmaps.libsonnet
+++ /dev/null
@@ -1,36 +0,0 @@
-// Re-cyclable components for heatmap resources
-local config = import '../../../config.libsonnet';
-local grafana = import '../../../vendor/grafonnet/grafana.libsonnet';
-
-local heatmap = grafana.heatmapPanel;
-local prometheus = grafana.prometheus;
-{
- //TODO move to resources/vttablet
- //TODO CREATE A RECORDING RULE FOR THIS PROMETHEUS TARGET
- vttabletQueryTimeDistribution::
- heatmap.new(
- title='Query Time Distribution (Heatmap)',
- description='Shows a heatmap of the histogram bucketing of the time per read query.',
- datasource='%(dataSource)s' % config._config,
- dataFormat='tsbuckets',
- yAxis_format='s',
- color_cardColor='#FF9830',
- color_exponent=0.3,
- color_mode='opacity',
- yAxis_decimals=0,
- ).addTarget(
- prometheus.target(
- |||
- sum by (le) (
- rate(
- vttablet_queries_bucket{
- instance=~"$host"
- }[1m]
- )
- )
- |||,
- format='heatmap',
- legendFormat='{{le}}'
- )
- ),
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/helpers/dashboard_helper.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/helpers/dashboard_helper.libsonnet
deleted file mode 100644
index d998cc65540..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/helpers/dashboard_helper.libsonnet
+++ /dev/null
@@ -1,16 +0,0 @@
-/** This is a helper library to load grafonnet dashboards using the mixin metadata stored in `config.libshonnet` */
-
-local grafonnet_helper = import 'grafonnet_helper.libsonnet';
-
-{
- /**
- * Builds a dashboard using grafonnet and the configuration from `config.libsonnet`
- *
- * @name dashboard_helper.getDashboard
- *
- * @param config The dashboard configuration from mixin config file.
- * @return A new graphPanel with the configuration specified in `config.libsonnet`
- *
- */
- getDashboard(config):: grafonnet_helper.getDashboard(config),
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/helpers/grafonnet_helper.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/helpers/grafonnet_helper.libsonnet
deleted file mode 100644
index 2ff41c6a06f..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/helpers/grafonnet_helper.libsonnet
+++ /dev/null
@@ -1,376 +0,0 @@
-/**
- * This is a helper library to generate grafana resources reading the configuration from a config file.
- */
-
-local grafana = import '../../../../vendor/grafonnet/grafana.libsonnet';
-local prometheus = grafana.prometheus;
-local alert_condition = grafana.alertCondition;
-
-// _ _ _
-// __ _ _ __ _ __ ___ | |_ __ _| |_(_) ___ _ __
-// / _` | '_ \| '_ \ / _ \| __/ _` | __| |/ _ \| '_ \
-// | (_| | | | | | | | (_) | || (_| | |_| | (_) | | | |
-// \__,_|_| |_|_| |_|\___/ \__\__,_|\__|_|\___/|_| |_|
-
-local getAnnotation(config) = if (config.name == 'default') then
- grafana.annotation.default
-else
- // TODO when the properties are supported by grafonnet use the lib constructor
- // instead of using composition
- grafana.annotation.datasource(
- config.name,
- config.datasource
- ) +
- config.properties;
-
-// _ _ _ _
-// __| | __ _ ___| |__ | |__ ___ __ _ _ __ __| |
-// / _` |/ _` / __| '_ \| '_ \ / _ \ / _` | '__/ _` |
-// | (_| | (_| \__ \ | | | |_) | (_) | (_| | | | (_| |
-// \__,_|\__,_|___/_| |_|_.__/ \___/ \__,_|_| \__,_|
-
-local getDashboard(config) = grafana.dashboard.new(
- title=config.title,
- description=config.description,
- uid=config.uid,
- time_from=config.time_from,
- tags=(config.dashboardTags),
- editable=true,
- graphTooltip='shared_crosshair',
-) + {
- environments:: config.environments,
-};
-
-// _
-// _ __ __ _ _ __ ___| |
-// | '_ \ / _` | '_ \ / _ \ |
-// | |_) | (_| | | | | __/ |
-// | .__/ \__,_|_| |_|\___|_|
-// |_|
-// The default panel contains all the parameters that we want to override.
-// https://github.com/grafana/grafonnet-lib/blob/master/grafonnet/graph_panel.libsonnet
-
-local default_panel = {
- title: '',
- aliasColors: {},
- bars: false,
- decimals: null,
- description: null,
- format: 'short',
- fill: 1,
- legend_alignAsTable: false,
- legend_avg: false,
- legend_current: false,
- legend_hideZero: null,
- legend_max: false,
- legend_min: false,
- legend_rightSide: false,
- legend_sort: null,
- legend_sortDesc: null,
- legend_values: false,
- lines: true,
- linewidth: 1,
- max: null,
- min: null,
- points: false,
- pointradius: 5,
- nullPointMode: 'null',
- shared_tooltip: true,
- sort: 0,
- thresholds: [],
-};
-
-local default_prometheus_target = {
- format: 'time_series',
- instant: null,
- intervalFactor: 2,
- legendFormat: '',
-};
-
-local default_alert_condition = {
- evaluatorParams: [],
- evaluatorType: 'gt',
- operatorType: 'and',
- queryRefId: 'A',
- queryTimeEnd: 'now',
- queryTimeStart: '5m',
- reducerParams: [],
- reducerType: 'avg',
-};
-
-local getConditions(config) =
- if std.objectHas(config.alert[std.extVar('env')], 'conditions') then
- //reducerType is a grafonnet field value. This asserts the config is not legacy
- if std.objectHas(config.alert[std.extVar('env')].conditions[0], 'reducerType')
- then
- local x = std.map(
- function(c) default_alert_condition + c
- , config.alert[std.extVar('env')].conditions
- );
- std.map(
- function(c)
- alert_condition.new(
- evaluatorParams=c.evaluatorParams,
- evaluatorType=c.evaluatorType,
- operatorType=c.operatorType,
- queryRefId=c.queryRefId,
- queryTimeEnd=c.queryTimeEnd,
- queryTimeStart=c.queryTimeStart,
- reducerParams=c.reducerParams,
- reducerType=c.reducerType,
- )
- , x
- )
- else
- //Legacy config files include calls to grafonnet.alert_condition.new()
- //TODO update legacy config files to use alert conditions in json format,
- config.alert[std.extVar('env')].conditions
- else [];
-
-local getTargets(config) =
- if std.objectHas(config, 'targets') then
- if config.datasource != null &&
- std.startsWith(config.datasource, 'Prometheus') &&
- std.objectHas(config.targets[0], 'expr')
- then
- local x = std.map(
- function(t) default_prometheus_target + t
- , config.targets
- );
- std.map(
- function(t)
- prometheus.target(
- t.expr,
- legendFormat=t.legendFormat,
- instant=t.instant,
- intervalFactor=t.intervalFactor,
- format=t.format
- )
- , x
- )
- else
- //When the datasource is not prometheus(elastic, graphite) config file
- //include calls to graphite.target() and elasticsearch.target().
- //see webapp_config.lisonnet
- //TODO Update this method to decouple grafonnet code from the configuration files.
- //Legacy configuration files include prometheus.target() calls.
- //TODO update legacy config files to use {'expr':'Prom query' ...} format,
- config.targets
- else [];
-
-// This method overriddes grafonnet graphPanel defaults with the values in the config file .
-// https://github.com/grafana/grafonnet-lib/blob/master/grafonnet/graph_panel.libsonnet
-// TODO: When grapPanel supports either addLinks (https://github.com/grafana/grafonnet-lib/pull/278)
-// we should add the links there instead of composing the `options` field.
-local initPanel(config) =
- grafana.graphPanel.new(
- title=config.title,
- aliasColors=config.aliasColors,
- bars=config.bars,
- datasource=config.datasource,
- decimals=config.decimals,
- description=config.description,
- fill=config.fill,
- format=config.format,
- legend_alignAsTable=config.legend_alignAsTable,
- legend_avg=config.legend_avg,
- legend_rightSide=config.legend_rightSide,
- legend_hideZero=config.legend_hideZero,
- legend_min=config.legend_min,
- legend_max=config.legend_max,
- legend_current=config.legend_current,
- legend_sort=config.legend_sort,
- legend_sortDesc=config.legend_sortDesc,
- legend_values=config.legend_values,
- lines=config.lines,
- linewidth=config.linewidth,
- max=config.max,
- min=config.min,
- points=config.points,
- pointradius=config.pointradius,
- nullPointMode=config.nullPointMode,
- shared_tooltip=config.shared_tooltip,
- sort=config.sort,
- thresholds=config.thresholds,
- ).addTargets(
- getTargets(config)
- ) +
- {
- [if std.objectHas(config, 'options')
- then 'options']:
- config.options,
- };
-
-local getPanel(c) =
- if std.objectHas(c, 'alert') then
- local config = default_panel + c;
- local panel = initPanel(config).addAlert(
- config.alert.name,
- executionErrorState=config.alert.executionErrorState,
- forDuration=config.alert.forDuration,
- frequency=config.alert.frequency,
- message=config.alert.message,
- noDataState=config.alert.noDataState,
- notifications=config.alert[std.extVar('env')].notifications,
- ).addConditions(
- getConditions(config)
- );
- if std.objectHas(config, 'seriesOverrides') then
- local it = panel;
- std.foldl(function(p, o) p.addSeriesOverride(o), config.seriesOverrides, it)
- else
- panel
- else
- (local config = default_panel + c;
- local panel = initPanel(config);
- if std.objectHas(config, 'seriesOverrides') then
- local it = panel;
- std.foldl(function(p, o) p.addSeriesOverride(o), config.seriesOverrides, it)
- else
- panel);
-
-// _ __ _____ __
-// | '__/ _ \ \ /\ / /
-// | | | (_) \ V V /
-// |_| \___/ \_/\_/
-
-local row_default = {
- title: '',
- height: null,
- collapse: false,
- repeat: null,
- showTitle: null,
- titleSize: 'h6',
-};
-
-local getRow(c) =
- local config = row_default + c;
- grafana.row.new(
- title=config.title,
- height=config.height,
- collapse=config.collapse,
- repeat=config.repeat,
- showTitle=config.showTitle,
- titleSize=config.titleSize
- );
-
-// _ _ _ _
-// ___(_)_ __ __ _| | ___ ___| |_ __ _| |_
-// / __| | '_ \ / _` | |/ _ \/ __| __/ _` | __|
-// \__ \ | | | | (_| | | __/\__ \ || (_| | |_
-// |___/_|_| |_|\__, |_|\___||___/\__\__,_|\__|
-// |___/
-//The default value should include all the parameters that are overridden by the objects that extend the default.
-//Default values match grafonnet defaults > https://github.com/grafana/grafonnet-lib/blob/master/grafonnet/singlestat.libsonnet
-
-local default_singlestat = {
- colors: [
- '#299c46',
- 'rgba(237, 129, 40, 0.89)',
- '#d44a3a',
- ],
- colorBackground: false,
- decimals: null,
- format: 'none',
- valueFontSize: '80%',
- valueName: 'avg',
- sparklineFull: false,
- sparklineShow: false,
- thresholds: '',
-};
-
-local initSingleStat(config) = grafana.singlestat.new(
- title=config.title,
- datasource=config.datasource,
- colors=config.colors,
- colorBackground=config.colorBackground,
- decimals=config.decimals,
- format=config.format,
- valueFontSize=config.valueFontSize,
- valueName=config.valueName,
- sparklineFull=config.sparklineFull,
- sparklineShow=config.sparklineShow,
- thresholds=config.thresholds,
-);
-
-local getSingleStat(c) = if std.objectHas(c, 'target')
-then
- local config = default_singlestat + c;
- local tc = default_prometheus_target + config.target;
- local t = prometheus.target(
- tc.expr,
- legendFormat=tc.legendFormat,
- instant=tc.instant,
- intervalFactor=tc.intervalFactor,
- format=tc.format
- );
- initSingleStat(config).addTarget(t)
-else
- local config = default_singlestat + c;
- initSingleStat(config);
-
-// _ _ _
-// | |_ ___ _ __ ___ _ __ | | __ _| |_ ___
-// | __/ _ \ '_ ` _ \| '_ \| |/ _` | __/ _ \
-// | || __/ | | | | | |_) | | (_| | || __/
-// \__\___|_| |_| |_| .__/|_|\__,_|\__\___|
-// |_|
-// default values from https://github.com/grafana/grafonnet-lib/blob/master/grafonnet/template.libsonnet
-local template_default = {
- label: null,
- allValues: null,
- tagValuesQuery: '',
- current: null,
- hide: '',
- regex: '',
- refresh: 'never',
- includeAll: false,
- multi: false,
- sort: 0,
-};
-local getTemplate(c) =
- local config = template_default + c;
- grafana.template.new(
- name=config.name,
- datasource=config.datasource,
- query=config.query,
- label=config.label,
- current=config.current,
- regex=config.regex,
- refresh=config.refresh,
- sort=config.sort,
- );
-
-// _ _ _ _ _ _ _
-// __| | __ _ ___| |__ | |__ ___ __ _ _ __ __| | | (_)_ __ | | __
-// / _` |/ _` / __| '_ \| '_ \ / _ \ / _` | '__/ _` | | | | '_ \| |/ /
-// | (_| | (_| \__ \ | | | |_) | (_) | (_| | | | (_| | | | | | | | <
-// \__,_|\__,_|___/_| |_|_.__/ \___/ \__,_|_| \__,_| |_|_|_| |_|_|\_\
-local link_default = {
- asDropdown: true,
- includeVars: false,
- keepTime: false,
- icon: 'external link',
- url: '',
- targetBlank: false,
- type: 'dashboards',
-};
-
-local getDashboardLink(c) =
- local config = link_default + c;
- grafana.link.dashboards(
- title=config.title,
- tags=config.tags,
- keepTime=config.keepTime,
- includeVars=config.includeVars,
- );
-
-{
- getAnnotation(config):: getAnnotation(config),
- getDashboard(config):: getDashboard(config),
- getPanel(config):: getPanel(config),
- getRow(config):: getRow(config),
- getSingleStat(config):: getSingleStat(config),
- getTemplate(config):: getTemplate(config),
- getDashboardLink(config):: getDashboardLink(config),
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/helpers/helpers.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/helpers/helpers.libsonnet
deleted file mode 100644
index a6d74985dd3..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/helpers/helpers.libsonnet
+++ /dev/null
@@ -1,9 +0,0 @@
-// TODO deduplicate helper code. Same/similar functions are used by vtgate, vttablet and orchestrator helpers
-{
- dashboard:: import 'dashboard_helper.libsonnet',
- default:: import 'grafonnet_helper.libsonnet',
- mysql:: import 'mysql_helper.libsonnet',
- os:: import 'os_helper.libsonnet',
- vtgate:: import 'vtgate_helper.libsonnet',
- vttablet:: import 'vttablet_helper.libsonnet',
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/helpers/mysql_helper.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/helpers/mysql_helper.libsonnet
deleted file mode 100644
index 3d0b1ff6a44..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/helpers/mysql_helper.libsonnet
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * This is a helper library to generate os resources reading the configuration from mysql_config.libsonnet
- */
-
-local grafonnet_helper = import './grafonnet_helper.libsonnet';
-
-/**
- * Builds grapPanel using grafonnet and the configuration from `mysql_config.libsonnet`
- *
- * @name mysql_helper.getPanel
- *
- * @param `config`: The panel configuration from mysql_config file.
- *
- * @return A new graphPanel with the configuration specified in `mysql_config.libsonnet`
- *
- */
-{
- getPanel(config):: grafonnet_helper.getPanel(config),
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/helpers/os_helper.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/helpers/os_helper.libsonnet
deleted file mode 100644
index 2580d54e43a..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/helpers/os_helper.libsonnet
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * This is a helper library to generate os resources reading the configuration from os_config.libsonnet
- */
-
-local grafonnet_helper = import './grafonnet_helper.libsonnet';
-
-{
- /**
- * Builds grapPanel using grafonnet and the configuration from `os_config.libsonnet`
- *
- * @name os_helper.getPanel
- *
- * @param `config`: The panel configuration from os_config file.
- *
- * @return A new graphPanel with the configuration specified in `os_config.libsonnet`
- *
- */
- getPanel(config):: grafonnet_helper.getPanel(config),
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/helpers/vtgate_helper.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/helpers/vtgate_helper.libsonnet
deleted file mode 100644
index 2997979edf4..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/helpers/vtgate_helper.libsonnet
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * This is a helper library to generate vtgate resources reading the configuration from vtgate_config.libsonnet
- */
-
-local grafonnet_helper = import './grafonnet_helper.libsonnet';
-
-{
- /**
- * Builds grapPanel using grafonnet and the configuration from `vtgate_config.libsonnet`
- *
- * @name vtgate_helper.getPanel
- *
- * @param `config`: The panel configuration from vtgate_config file.
- *
- * @return A new graphPanel with the configuration specified in `vtgate_config.libsonnet`
- *
- */
- getPanel(config):: grafonnet_helper.getPanel(config),
-
- /**
- * Builds a singlestat using grafonnet and the configuration from `vtgate_config.libsonnet`
- *
- * @name vtgate_helper.getSingleStat
- *
- * @param `config`: The singlestat configuration from vtgate_config file.
- *
- * @return A new singlestat with the configuration specified in `vtgate_config.libsonnet`
- *
- */
- getSingleStat(config):: grafonnet_helper.getSingleStat(config),
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/helpers/vttablet_helper.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/helpers/vttablet_helper.libsonnet
deleted file mode 100644
index 2613de0f094..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/helpers/vttablet_helper.libsonnet
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * This is a helper library to generate vttablet resources reading the configuration from `vttablet_config.libsonnet`
- */
-local grafonnet_helper = import './grafonnet_helper.libsonnet';
-
-{
- /**
- * Builds grapPanel using grafonnet and the configuration from `vttablet_config.libsonnet`
- *
- * @name vttablet_helper.getPanel
- *
- * @param `config`: The panel configuration from vttablet_config file.
- *
- * @return A new graphPanel with the configuration specified in `vttablet_config.libsonnet`
- *
- */
- getPanel(config):: grafonnet_helper.getPanel(config),
- /**
- * Builds singlestat using grafonnet and the configuration from `vttablet_config.libsonnet`
- *
- * @name vttablet_helper.getPanel
- *
- * @param `config`: The singlestat configuration from vttablet_config file.
- *
- * @return A new singlestat with the configuration specified in `vttablet_config.libsonnet`
- *
- */
- getSingleStat(config):: grafonnet_helper.getSingleStat(config),
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/panels.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/panels.libsonnet
deleted file mode 100644
index 40c20a2cb10..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/panels.libsonnet
+++ /dev/null
@@ -1,65 +0,0 @@
-// Re-cyclable components for panel resources
-local config = import '../../../config.libsonnet';
-local grafana = import '../../../vendor/grafonnet/grafana.libsonnet';
-
-local graphPanel = grafana.graphPanel;
-local prometheus = grafana.prometheus;
-
-// TODO: add description for each panel.
-// TODO: create a _helper _config file for each group [vtctld],
-{
- // _ _ _ _
- // __ _| |_ ___| |_| | __| |
- // \ \ / / __/ __| __| |/ _` |
- // \ V /| || (__| |_| | (_| |
- // \_/ \__\___|\__|_|\__,_|
- //
-
- // _
- // _ __ ___ (_)___ ___
- // | '_ ` _ \| / __|/ __|
- // | | | | | | \__ \ (__
- // |_| |_| |_|_|___/\___|
- //
- local default_notification_config = {
- prod+: {
- notifications: [
- { uid: 'alerts-vitess' },
- { uid: 'pagerduty-vitess' },
- ],
- },
- dev+: {
- notifications: [
- { uid: 'alerts-vitess-dev' },
- ],
- },
- },
-
- vtctldRestart::
- graphPanel.new(
- 'vtctld',
- bars=true,
- datasource='%(dataSource)s' % config._config,
- fill=0,
- format='short',
- legend_values=true,
- legend_alignAsTable=true,
- legend_max=true,
- legend_sort='max',
- legend_sortDesc=false,
- lines=false,
- min=0,
- shared_tooltip=false,
- sort='increasing',
- )
- .addTarget(prometheus.target(
- |||
- sum by (instance) (
- vitess_mixin:process_start_time_seconds_by_instance_job:sum5m{
- %(vtctldSelector)s
- }
- ) > 0
- ||| % config._config,
- legendFormat='{{instance}}'
- )),
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/rows.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/rows.libsonnet
deleted file mode 100644
index 54173c2a3f1..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/rows.libsonnet
+++ /dev/null
@@ -1,182 +0,0 @@
-// Re-cyclable components for row resources
-local grafana = import '../../../vendor/grafonnet/grafana.libsonnet';
-local row = grafana.row;
-
-//TODO move all rows to config/row_config.libsonnet and update the layouts to use grafonnet_helper.getRow()
-{
- connection::
- row.new(
- title='Connection',
- ),
-
- cpu::
- row.new(
- title='CPU',
- collapse=true,
- ),
-
- duration::
- row.new(
- title='Duration',
- collapse=true,
- ),
-
- errorsRowsReturned::
- row.new(
- title='Errors / Rows returned',
- ),
-
- errors::
- row.new(
- title='Errors',
- collapse=true,
- ),
-
- healthcheck::
- row.new(
- title='Healthcheck',
- collapse=true,
- ),
-
- tabletsQueries::
- row.new(
- title='Tablets/Queries',
- ),
-
- mysql::
- row.new(
- title='MySQL',
- collapse=true,
- ),
-
- misc::
- row.new(
- title='Misc',
- collapse=true,
- ),
-
- networkingTCP::
- row.new(
- title='Networking TCP',
- collapse=true,
- ),
-
- networkNIC::
- row.new(
- title='Network NIC',
- collapse=true,
- ),
-
- OS::
- row.new(
- title='OS',
- collapse=true,
- ),
-
- processes::
- row.new(
- title='Processes',
- collapse=true,
- ),
-
- queryTimings::
- row.new(
- // as we don't have timings by table (yet!)
- title="Query/Transaction timings (table filter doesn't apply)",
- collapse=true,
- ),
-
- query::
- row.new(
- title='Query',
- ),
-
- RED::
- row.new(
- title='RED - Requests / Error rate / Duration',
- ),
-
- REDByKeyspace::
- row.new(
- title='RED (by keyspace)',
- collapse=true
- ),
-
- REDByTabletType::
- row.new(
- title='RED (by tablet type)',
- collapse=true
- ),
-
- REDByPlanType::
- row.new(
- title='RED (by plan type)',
- collapse=true
- ),
-
- REDByShard::
- row.new(
- title='RED (by shard)',
- collapse=true
- ),
-
- REDByTable::
- row.new(
- title='RED (by table)',
- collapse=true
- ),
-
-
- rowsReturned::
- row.new(
- title='Rows returned',
- collapse=true,
- ),
-
- serviceRestart::
- row.new(
- title='Service restart',
- ),
-
- storage::
- row.new(
- title='Storage',
- collapse=true,
- ),
-
- topLevel::
- row.new(
- title='Top level',
- ),
-
- topologyWatcher::
- row.new(
- title='Topology watcher',
- collapse=true,
- ),
-
- vitessQueryPool::
- row.new(
- title='Vitess - Query pool',
- collapse=true,
- ),
-
- vitessTransactionPool::
- row.new(
- title='Vitess - Transaction pool',
- collapse=true,
- ),
-
- vtgate::
- row.new(
- title='vtgate - Requests (by table / by plan / by keyspace )',
- collapse=true,
- ),
-
- vttablet::
- row.new(
- title='vttablet - Requests (by table / by plan / by keyspace )',
- collapse=true,
- ),
-
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/singlestats.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/singlestats.libsonnet
deleted file mode 100644
index e3930e382d8..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/singlestats.libsonnet
+++ /dev/null
@@ -1,221 +0,0 @@
-// Re-cyclable components for singlestat resources
-local config = import '../../../config.libsonnet';
-local grafana = import '../../../vendor/grafonnet/grafana.libsonnet';
-
-local singlestat = grafana.singlestat;
-local prometheus = grafana.prometheus;
-
-{
- //TODO move to resource to use vtgate_config/vtgate_helper
- vtgateSuccessRate::
- singlestat.new(
- 'Query success - vtgate',
- datasource='%(dataSource)s' % config._config,
- colorBackground=true,
- decimals=4,
- format='percent',
- colors=[
- '#d44a3a',
- 'rgba(237, 129, 40, 0.89)',
- '#299c46',
- ],
- valueFontSize='70%',
- valueName='current',
- thresholds='0.99,0.999',
- )
- .addTarget(
- prometheus.target(
- |||
- 100
- -
- sum(
- rate(
- vtgate_api_error_counts{
- %(vtgateSelector)s
- }[$interval]
- ) OR vector(0)
- )
- /
- sum(
- rate(
- vtgate_api_count{
- %(vtgateSelector)s
- }[$interval]
- )
- )
- ||| % config._config,
- instant=true,
- intervalFactor=1
- )
- ),
-
- //TODO move to resource to use vtgate_config/vtgate_helper
- vtgateUp::
- singlestat.new(
- 'vtgate',
- datasource='%(dataSource)s' % config._config,
- valueFontSize='50%',
- valueName='current',
- )
- .addTarget(
- prometheus.target(
- |||
- sum(
- up{
- %(vtgateSelector)s
- }
- )
- ||| % config._config,
- instant=true,
- intervalFactor=1
- )
- ),
-
- //TODO move to resource to use vttablet_config/vttablet_helper
- vttabletQuerySuccess::
- singlestat.new(
- 'Query success - vttablet',
- datasource='%(dataSource)s' % config._config,
- colorBackground=true,
- decimals=4,
- format='percent',
- colors=[
- '#d44a3a',
- 'rgba(237, 129, 40, 0.89)',
- '#299c46',
- ],
- valueFontSize='70%',
- valueName='current',
- thresholds='0.99,0.999',
- )
- .addTarget(
- prometheus.target(
- |||
- 100
- -
- (
- sum (
- vitess_mixin:vttablet_errors:rate1m
- )
- /
- sum (
- vitess_mixin:vttablet_query_counts:rate1m
- )
- )
- ||| % config._config,
- instant=true,
- intervalFactor=1
- )
- ),
-
- //TODO move to resource to use vttablet_config/vttablet_helper
- vttabletUp::
- singlestat.new(
- 'vttablet',
- datasource='%(dataSource)s' % config._config,
- valueFontSize='50%',
- valueName='current',
- )
- .addTarget(
- prometheus.target(
- |||
- sum(
- up{
- %(vttabletSelector)s
- }
- )
- ||| % config._config,
- instant=true,
- intervalFactor=1
- )
- ),
-
-
- //TODO move to resource to use vttablet_config/vttablet_helper
- keyspaceCount::
- singlestat.new(
- 'keyspace',
- description='count of keyspaces with active queries',
- datasource='%(dataSource)s' % config._config,
- valueFontSize='50%',
- valueName='current',
- )
- .addTarget(
- prometheus.target(
- |||
- count(
- count by (keyspace)(
- vtgate_vttablet_call_count{
- }
- )
- )
- ||| % config._config,
- instant=true,
- intervalFactor=1
- )
- ),
-
- //TODO move to resource to use vttablet_config/vttablet_helper
- shardCount::
- singlestat.new(
- 'shard',
- datasource='%(dataSource)s' % config._config,
- valueFontSize='50%',
- valueName='current',
- )
- .addTarget(
- prometheus.target(
- |||
- count(
- count by(shard)(
- vttablet_tablet_state{
- %(vttabletSelector)s
- }
- )
- )
- ||| % config._config,
- instant=true,
- intervalFactor=1
- )
- ),
-
- mysqlQPS::
- singlestat.new(
- 'QPS - MySQL',
- datasource='%(dataSource)s' % config._config,
- format='short',
- valueFontSize='70%',
- valueName='current',
- sparklineFull=true,
- sparklineShow=true,
- )
- .addTarget(
- prometheus.target(
- |||
- sum (
- vitess_mixin:mysql_global_status_queries:rate1m
- )
- |||,
- intervalFactor=1
- )
- ),
-
- vtctldUp::
- singlestat.new(
- 'vtctld',
- datasource='%(dataSource)s' % config._config,
- valueFontSize='50%',
- valueName='current',
- )
- .addTarget(
- prometheus.target(
- |||
- sum(
- up{
- %(vtctldSelector)s})
- ||| % config._config,
- instant=true,
- intervalFactor=1
- )
- ),
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/templates.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/templates.libsonnet
deleted file mode 100644
index a32b71283c4..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/templates.libsonnet
+++ /dev/null
@@ -1,51 +0,0 @@
-// Re-cyclable components for template resources
-local config = import '../../../config.libsonnet';
-local grafana = import '../../../vendor/grafonnet/grafana.libsonnet';
-
-local template = grafana.template;
-{
- interval:: template.interval(
- name='interval',
- label='Interval',
- query='auto,1m,5m,10m,30m,1h,6h,12h',
- current='auto',
- auto_min='1m'
- ),
-
- table::
- template.new(
- 'table',
- '%(dataSource)s' % config._config,
- 'query_result(sum by(table)(vitess_mixin:vtgate_queries_processed_by_table:rate1m{keyspace="$keyspace"}))',
- regex='.*table="(.*)".*',
- label='Table',
- refresh='time',
- includeAll=true,
- sort=1,
- allValues='.*',
- ),
-
- hostVtgate::
- template.new(
- 'host',
- '%(dataSource)s' % config._config,
- 'label_values(vtgate_build_number, instance)',
- label='Host(s)',
- refresh='time',
- multi=true,
- allValues='.*',
- ),
-
- hostVttablet::
- template.new(
- 'host',
- '%(dataSource)s' % config._config,
- 'label_values(vttablet_build_number{}, instance)',
- label='Host(s)',
- refresh='time',
- multi=true,
- allValues='.*',
- sort=1
- ),
-
-}
diff --git a/vitess-mixin/dashboards/resources/grafonnet/texts.libsonnet b/vitess-mixin/dashboards/resources/grafonnet/texts.libsonnet
deleted file mode 100644
index 44478b7a13f..00000000000
--- a/vitess-mixin/dashboards/resources/grafonnet/texts.libsonnet
+++ /dev/null
@@ -1,65 +0,0 @@
-// Re-cyclable components for text resources
-local config = import '../../../config.libsonnet';
-local grafana = import '../../../vendor/grafonnet/grafana.libsonnet';
-
-local text = grafana.text;
-
-// TODO: figure out how to make emoji work in jsonnet. They are not correctly handled
-{
-
- local footnote =
- |||
- This Dasboard has been automatically generated using vitess-mixin.
- If you want to contribute please visit [https://github.com/vitess/vitess-mixin](https://github.com/vitessio/vitess/tree/main/vitess-mixin)!
- |||,
-
- local notes = {
- footnote: footnote,
- },
-
- clusterOverview::
- text.new(
- '',
- mode='markdown',
- content=|||
- #### Cluster overview
-
- This is a general overview of the Vitess clusters.
-
- %(footnote)s
- ||| % notes
- ),
-
- vtgateOverview::
- text.new(
- '',
- mode='markdown',
- content=|||
- #### vtgate overview
-
- This is a general overview of the vtgate tier.
-
- %(footnote)s
- ||| % notes
- ),
-
- vtgateHost::
- text.new(
- '',
- mode='markdown',
- content=|||
- #### vtgate host
- %s
- ||| % footnote,
- ),
-
- vttabletHost::
- text.new(
- '',
- mode='markdown',
- content=|||
- #### vttablet host
- %s
- ||| % footnote,
- ),
-}
diff --git a/vitess-mixin/e2e/.env b/vitess-mixin/e2e/.env
deleted file mode 100644
index 00e3ed4bf0a..00000000000
--- a/vitess-mixin/e2e/.env
+++ /dev/null
@@ -1,18 +0,0 @@
-TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500 -topo_global_root vitess/global
-GRPC_PORT=15999
-WEB_PORT=8080
-MYSQL_PORT=15306
-
-CELL=local
-KEYSPACE=commerce
-DB=commerce
-
-EXTERNAL_DB=0
-DB_HOST=external_db_host
-DB_PORT=3306
-DB_USER=external_db_user
-DB_PASS=external_db_password
-DB_CHARSET=CHARACTER SET utf8 COLLATE utf8_general_ci
-
-GRAFANA_VERSION=7.3.6
-DISPLAY=
\ No newline at end of file
diff --git a/vitess-mixin/e2e/Dockerfile b/vitess-mixin/e2e/Dockerfile
deleted file mode 100644
index cf4a4a9f85e..00000000000
--- a/vitess-mixin/e2e/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-ARG CYPRESS_IMAGE
-
-FROM $CYPRESS_IMAGE
-WORKDIR /e2e
-
-# dependencies will be installed only if the package files change
-COPY package.json .
-COPY package-lock.json .
-
-# by setting CI environment variable we switch the Cypress install messages
-# to small "started / finished" and avoid 1000s of lines of progress messages
-# https://github.com/cypress-io/cypress/issues/1243
-ENV CI=1
-RUN npm ci
-# verify that Cypress has been installed correctly.
-# running this command separately from "cypress run" will also cache its result
-# to avoid verifying again when running the tests
-RUN npx cypress verify
diff --git a/vitess-mixin/e2e/backups/.gitignore b/vitess-mixin/e2e/backups/.gitignore
deleted file mode 100644
index 35bc8010eb9..00000000000
--- a/vitess-mixin/e2e/backups/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-# ignore all files in this dir...
-*
-# ... except for this one.
-!.gitignore
diff --git a/vitess-mixin/e2e/config/init_db.sql b/vitess-mixin/e2e/config/init_db.sql
deleted file mode 100644
index 6059bbf7ca6..00000000000
--- a/vitess-mixin/e2e/config/init_db.sql
+++ /dev/null
@@ -1,79 +0,0 @@
-# This file is executed immediately after mysql_install_db,
-# to initialize a fresh data directory.
-###############################################################################
-# Equivalent of mysql_secure_installation
-###############################################################################
-# We need to ensure that super_read_only is disabled so that we can execute
-# these commands. Note that disabling it does NOT disable read_only.
-# We save the current value so that we only re-enable it at the end if it was
-# enabled before.
-SET @original_super_read_only=IF(@@global.super_read_only=1, 'ON', 'OFF');
-SET GLOBAL super_read_only='OFF';
-# Changes during the init db should not make it to the binlog.
-# They could potentially create errant transactions on replicas.
-SET sql_log_bin = 0;
-# Remove anonymous users & disable remote root access (only allow UNIX socket).
-DROP USER IF EXISTS ''@'%', ''@'localhost', 'root'@'%';
-# Remove test database.
-DROP DATABASE IF EXISTS test;
-###############################################################################
-# Vitess defaults
-###############################################################################
-# Vitess-internal database.
-CREATE DATABASE IF NOT EXISTS _vt;
-# Note that definitions of local_metadata and shard_metadata should be the same
-# as in production which is defined in go/vt/mysqlctl/metadata_tables.go.
-CREATE TABLE IF NOT EXISTS _vt.local_metadata (
- name VARCHAR(255) NOT NULL,
- value VARCHAR(255) NOT NULL,
- db_name VARBINARY(255) NOT NULL,
- PRIMARY KEY (db_name, name)
- ) ENGINE=InnoDB;
-CREATE TABLE IF NOT EXISTS _vt.shard_metadata (
- name VARCHAR(255) NOT NULL,
- value MEDIUMBLOB NOT NULL,
- db_name VARBINARY(255) NOT NULL,
- PRIMARY KEY (db_name, name)
- ) ENGINE=InnoDB;
-# Admin user with all privileges.
-CREATE USER 'vt_dba'@'localhost';
-GRANT ALL ON *.* TO 'vt_dba'@'localhost';
-GRANT GRANT OPTION ON *.* TO 'vt_dba'@'localhost';
-# User for app traffic, with global read-write access.
-CREATE USER 'vt_app'@'localhost';
-GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, FILE,
- REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES,
- LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW,
- SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER
- ON *.* TO 'vt_app'@'localhost';
-# User for app debug traffic, with global read access.
-CREATE USER 'vt_appdebug'@'localhost';
-GRANT SELECT, SHOW DATABASES, PROCESS ON *.* TO 'vt_appdebug'@'localhost';
-# User for administrative operations that need to be executed as non-SUPER.
-# Same permissions as vt_app here.
-CREATE USER 'vt_allprivs'@'localhost';
-GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, FILE,
- REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES,
- LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW,
- SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER
- ON *.* TO 'vt_allprivs'@'localhost';
-# User for slave replication connections.
-# TODO: Should we set a password on this since it allows remote connections?
-CREATE USER 'vt_repl'@'%';
-GRANT REPLICATION SLAVE ON *.* TO 'vt_repl'@'%';
-# User for Vitess filtered replication (binlog player).
-# Same permissions as vt_app.
-CREATE USER 'vt_filtered'@'localhost';
-GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, FILE,
- REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES,
- LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW,
- SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER
- ON *.* TO 'vt_filtered'@'localhost';
-
-RESET SLAVE ALL;
-RESET MASTER;
-# custom sql is used to add custom scripts like creating users/passwords. We use it in our tests
-# {{custom_sql}}
-
-# We need to set super_read_only back to what it was before
-SET GLOBAL super_read_only=IFNULL(@original_super_read_only, 'ON');
diff --git a/vitess-mixin/e2e/cypress.json b/vitess-mixin/e2e/cypress.json
deleted file mode 100644
index c1ffae0a972..00000000000
--- a/vitess-mixin/e2e/cypress.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "viewportWidth": 1200,
- "viewportHeight": 900
-}
diff --git a/vitess-mixin/e2e/cypress/integration/cluster_overview_spec.js b/vitess-mixin/e2e/cypress/integration/cluster_overview_spec.js
deleted file mode 100644
index 5bb40a68c3b..00000000000
--- a/vitess-mixin/e2e/cypress/integration/cluster_overview_spec.js
+++ /dev/null
@@ -1,56 +0,0 @@
-const fs = require('fs')
-
-describe('vitess-mixin: Cluster Overview Dashboard Test', function () {
-
- let panelTitles = []
-
- before(function () {
- cy.readFile('./test/cluster_overview.json').then((data) => {
- cy.createDashboard(data)
- })
- })
- it('renders cluster overview dashboard', function () {
- cy.visit('/d/vitess-cluster-overview/cluster-overview-auto-generated')
- })
- //TEMPLATES
- it('contains the Interval Template', function () {
- cy.get('.submenu-controls').contains('Interval');
- })
- //LINKS
- it('contains vitess-mixin Dashboard links dropdown', function () {
- cy.get('.submenu-controls').get('.gf-form').contains('vitess-mixin')
- })
- // INIT PANELS
- it('checks all panels in the cluster overview dashboard exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(22)
- expect(titles).to.deep.eq([
- '',
- 'Query success - vtgate',
- 'Query success - vttablet',
- 'Query latency p99',
- 'QPS - vtgate',
- 'QPS - MySQL',
- 'vtgate',
- 'vttablet',
- 'QPS - vttablet',
- 'keyspace',
- 'shard',
- 'vtctld',
- 'Requests',
- 'Error rate',
- 'Duration 99th quantile',
- 'Requests (by keyspace)',
- 'Error rate (by keyspace)',
- 'Duration 99th quantile (by keyspace)',
- '# of serving tablets',
- 'Slow queries',
- 'Query/Transaction killed'
- ])
- })
- })
-})
diff --git a/vitess-mixin/e2e/cypress/integration/vtgate_host_view.js b/vitess-mixin/e2e/cypress/integration/vtgate_host_view.js
deleted file mode 100644
index 7cbbcdb0e9a..00000000000
--- a/vitess-mixin/e2e/cypress/integration/vtgate_host_view.js
+++ /dev/null
@@ -1,174 +0,0 @@
-const fs = require('fs')
-
-describe('vitess-mixin: Vtgate Host View Dashboard Test', function() {
-
- let panelTitles = []
-
- before(function() {
- cy.readFile('./test/vtgate_host_view.json').then((data) => {
- cy.createDashboard(data)
- })
- })
- it('renders vtgate hostview dashboard', function() {
- cy.visit('/d/vitess-vtgate-host-view/vtgate - host view (auto-generated)')
- })
- //SUB-MENU CONTROLS
- it('contains the Host(s) Template', function() {
- cy.get('.submenu-controls').contains('Host(s)');
- })
- it('contains vitess-mixin Dashboard links dropdown', function() {
- cy.get('.submenu-controls').get('.gf-form').contains('vitess-mixin')
- })
- //Rows are loaded at start time
- it('contains 5 rows', function() {
- cy.get('.dashboard-row').should('have.length',5)
- })
- // RED ROW
- it('contains the RED row', function() {
- cy.get('.dashboard-row').contains('RED - Requests / Error rate / Duration')
- })
-
- it('checks all panels in the RED row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'Requests',
- 'Error rate',
- 'Duration 99th quantile'
- ])
- })
- })
-
- it('collapses the RED row', function(){
- cy.get('.dashboard-row__title.pointer').contains('RED - Requests / Error rate / Duration').click();
- })
-
- // ROW (BY TABLET TYPE)
- it('contains the RED (by tablet type) row', function() {
- cy.get('.dashboard-row').contains('RED (by tablet type)');
- })
- it('RED (by tablet type) row is collapsed', function() {
- cy.get('.dashboard-row--collapsed').contains('RED (by tablet type)');
- })
- it('expands the RED (by tablet type) row', function(){
- cy.get('.dashboard-row__title.pointer').contains('RED (by tablet type)').click();
- })
-
- it('checks all panels in the RED (by tablet type) row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'Requests (by db_type)',
- 'Error rate (by db_type)',
- 'Duration 99th quantile (by db_type)'
- ])
- })
- })
-
- it('collapses the RED (by tablet type) row', function(){
- cy.get('.dashboard-row__title.pointer').contains('RED (by tablet type)').click();
- cy.get('.dashboard-row--collapsed').contains('RED (by tablet type)');
- })
-
- //ERRORS ROW
- it('contains the Errors row', function() {
- cy.get('.dashboard-row').contains('Errors');
- })
- it('Errors row is collapsed', function() {
- cy.get('.dashboard-row--collapsed').contains('Errors');
- })
- it('expands the Errors row', function(){
- cy.get('.dashboard-row__title.pointer').contains('Errors').scrollIntoView().click();
- })
- it('checks all panels in the Errors Row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(3)
- expect(titles).to.deep.eq([
- '',
- 'Errors (by keyspace)',
- 'Errors (by code)'
- ])
- })
- })
- it('collapses the Errors row', function(){
- cy.get('.dashboard-row__title.pointer').contains('Errors').click();
- cy.get('.dashboard-row--collapsed').contains('Errors');
- })
- //DURATION ROW
- it('contains the Duration row', function() {
- cy.get('.dashboard-row').contains(/^Duration/)
- })
- it('Duration row is collapsed', function() {
- cy.get('.dashboard-row--collapsed').contains(/^Duration/)
- })
- it('expands the Duration row', function(){
- cy.get('.dashboard-row__title.pointer').contains(/^Duration/).click();
- })
-
- it('checks all panels in the Duration row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'Duration (Avg)',
- 'Duration 50th quantile',
- 'Duration 95th quantile'
- ])
- })
- })
-
- it('collapses the Duration row', function(){
- cy.get('.dashboard-row__title.pointer').contains(/^Duration/).click();
- cy.get('.dashboard-row--collapsed').contains(/^Duration/);
- })
- //OS ROW
- it('contains the OS row', function() {
- cy.get('.dashboard-row').contains('OS')
- })
- it('OS row is collapsed', function() {
- cy.get('.dashboard-row--collapsed').contains('OS')
- })
- it('expands the OS row', function(){
- cy.get('.dashboard-row__title.pointer').contains('OS').click();
- })
-
- it('checks all panels in the OS row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(5)
- expect(titles).to.deep.eq([
- '',
- 'CPU Usage',
- 'Memory Usage',
- 'Network Usage',
- 'TCP Retransmissions'
- ])
- })
- })
-
- it('collapses the OS row', function(){
- cy.get('.dashboard-row__title.pointer').contains('OS').click();
- cy.get('.dashboard-row--collapsed').contains('OS');
- })
-})
diff --git a/vitess-mixin/e2e/cypress/integration/vtgate_overview.js b/vitess-mixin/e2e/cypress/integration/vtgate_overview.js
deleted file mode 100644
index eb8122ca403..00000000000
--- a/vitess-mixin/e2e/cypress/integration/vtgate_overview.js
+++ /dev/null
@@ -1,201 +0,0 @@
-const fs = require('fs')
-
-describe('vitess-mixin: Vtgate Overview Dashboard Test', function() {
-
- let panelTitles = []
-
- before(function() {
- cy.readFile('./test/vtgate_overview.json').then((data) => {
- cy.createDashboard(data)
- })
- })
- it('renders vtgate overview dashboard', function() {
- cy.visit('/d/vitess-vtgate-overview/vtgate - overview (auto-generated)')
- })
- //SUB-MENU CONTROLS
- it('contains vitess-mixin Dashboard links dropdown', function() {
- cy.get('.submenu-controls').get('.gf-form').contains('vitess-mixin');
- })
- // RED ROW
- it('contains the RED row', function() {
- cy.get('.dashboard-row').contains('RED - Requests / Error rate / Duration');
- })
-
- it('checks all panels in the RED row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'Requests',
- 'Error rate',
- 'Duration 99th quantile'
- ])
- })
- })
-
- it('collapses the RED row', function(){
- cy.get('.dashboard-row__title.pointer').contains('RED - Requests / Error rate / Duration').click();
- })
-
- // RED (BY KEYSPACE) ROW
- it('contains the RED (by keyspace) row', function() {
- cy.get('.dashboard-row').contains('RED (by keyspace)');
- })
- it('RED (by keyspace) row is collapsed', function() {
- cy.get('.dashboard-row--collapsed').contains('RED (by keyspace)');
- })
- it('expands the RED (by keyspace) row', function(){
- cy.get('.dashboard-row__title.pointer').contains('RED (by keyspace)').click();
- })
-
- it('checks all panels in the RED (by keyspace) row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'Requests (by keyspace)',
- 'Error rate (by keyspace)',
- 'Duration 99th quantile (by keyspace)'
- ])
- })
- })
-
- it('collapses the RED (by keyspace) row', function(){
- cy.get('.dashboard-row__title.pointer').contains('RED (by keyspace)').click();
- })
-
- // ROW (BY TABLET TYPE)
- it('contains the RED (by tablet type) row', function() {
- cy.get('.dashboard-row').contains('RED (by tablet type)');
- })
- it('RED (by tablet type) row is collapsed', function() {
- cy.get('.dashboard-row--collapsed').contains('RED (by tablet type)');
- })
- it('expands the RED (by tablet type) row', function(){
- cy.get('.dashboard-row__title.pointer').contains('RED (by tablet type)').click();
- })
-
- it('checks all panels in the RED (By tablet type) row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'Requests (by db_type)',
- 'Error rate (by db_type)',
- 'Duration 99th quantile (by db_type)'
- ])
- })
- })
-
- it('collapses the RED (by tablet type) row', function(){
- cy.get('.dashboard-row__title.pointer').contains('RED (by tablet type)').click();
- cy.get('.dashboard-row--collapsed').contains('RED (by tablet type)');
- })
-
- //ERRORS ROW
- it('contains the Errors row', function() {
- cy.get('.dashboard-row').contains('Errors');
- })
- it('Errors row is collapsed', function() {
- cy.get('.dashboard-row--collapsed').contains('Errors');
- })
- it('expands the Errors row', function(){
- cy.get('.dashboard-row__title.pointer').contains('Errors').click();
- })
-
- it('checks all panels in the Errors row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'Errors (by code)',
- 'Errors (by operation)',
- 'Errors (by db_type)'
- ])
- })
- })
-
- it('collapses the Errors row', function(){
- cy.get('.dashboard-row__title.pointer').contains('Errors').click();
- })
-
- //DURATION ROW
- it('contains the Duration row', function() {
- cy.get('.dashboard-row').contains(/^Duration/);
- })
- it('Duration row is collapsed', function() {
- cy.get('.dashboard-row--collapsed').contains(/^Duration/);
- })
- it('expands the Duration row', function(){
- cy.get('.dashboard-row__title.pointer').contains(/^Duration/).click();
- })
-
- it('checks all panels in the Duration row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'Duration (Avg)',
- 'Duration 50th quantile',
- 'Duration 95th quantile'
- ])
- })
- })
-
- it('collapses the Duration row', function(){
- cy.get('.dashboard-row__title.pointer').contains(/^Duration/).click();
- })
-
- //OS ROW
- it('contains the OS row', function() {
- cy.get('.dashboard-row').contains('OS');
- })
- it('OS row is collapsed', function() {
- cy.get('.dashboard-row--collapsed').contains('OS');
- })
- it('expands the OS row', function(){
- cy.get('.dashboard-row__title.pointer').contains('OS').click();
- })
-
- it('checks all panels in the row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(5)
- expect(titles).to.deep.eq([
- '',
- 'CPU Usage',
- 'Memory Usage',
- 'Network Usage',
- 'TCP Retransmissions'
- ])
- })
- })
-
- it('collapses the OS row', function(){
- cy.get('.dashboard-row__title.pointer').contains('OS').click();
- cy.get('.dashboard-row--collapsed').contains('OS');
- })
-})
diff --git a/vitess-mixin/e2e/cypress/integration/vttablet_host_view.js b/vitess-mixin/e2e/cypress/integration/vttablet_host_view.js
deleted file mode 100644
index f98ba803d85..00000000000
--- a/vitess-mixin/e2e/cypress/integration/vttablet_host_view.js
+++ /dev/null
@@ -1,409 +0,0 @@
-const fs = require('fs')
-
-describe('vitess-mixin: Vttablet Host View Dashboard Test', function () {
-
- let panelTitles = []
-
- before(function () {
- cy.readFile('./test/vttablet_host_view.json').then((data) => {
- cy.createDashboard(data)
- })
- })
- it('renders vttablet hostview dashboard', function () {
- cy.visit('/d/vitess-vttablet-host-view/vttablet - host view (auto-generated)')
- })
- //SUB-MENU CONTROLS
- it('contains the Host(s) Template', function () {
- cy.get('.submenu-controls').contains('Host(s)');
- })
- it('contains vitess-mixin Dashboard links dropdown', function () {
- cy.get('.submenu-controls').get('.gf-form').contains('vitess-mixin')
- })
- //All Rows are loaded at start time
- it('contains 12 rows', function () {
- cy.get('.dashboard-row').should('have.length', 12)
- })
-
- // RED ROW
- it('contains the RED row', function () {
- cy.get('.dashboard-row').contains('RED - Requests / Error rate / Duration')
- })
-
- it('checks all panels in the RED row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'Requests',
- 'Error rate',
- 'Duration (p99)'
- ])
- })
- })
-
- it('collapses the RED row', function () {
- cy.get('.dashboard-row__title.pointer').contains('RED - Requests / Error rate / Duration').click();
- })
- // RED BY PLAN TYPE ROW
-
- it('contains the RED (by plan type) row', function () {
- cy.get('.dashboard-row').contains('RED (by plan type)')
- })
- it('RED (by plan type) row is collapsed', function () {
- cy.get('.dashboard-row--collapsed').contains('RED (by plan type)')
- })
- it('expands the RED (by plan type) row', function () {
- cy.get('.dashboard-row__title.pointer').contains('RED (by plan type)').click();
- })
-
- it('checks all panels in the RED (by plan type) row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'Requests (by plan type)',
- 'Error rate (by plan type)',
- 'Duration p99 (by plan type)'
- ])
- })
- })
-
- it('collapses the RED (by plan type) row', function () {
- cy.get('.dashboard-row__title.pointer').contains('RED (by plan type)').click();
- cy.get('.dashboard-row--collapsed').contains('RED (by plan type)');
- })
-
- // RED BY TABLE ROW
-
- it('contains the RED (by table) row', function () {
- cy.get('.dashboard-row').contains('RED (by table)')
- })
- it('RED (by table) row is collapsed', function () {
- cy.get('.dashboard-row--collapsed').contains('RED (by table)')
- })
- it('expands the RED (by table) row', function () {
- cy.get('.dashboard-row__title.pointer').contains('RED (by table)').click();
- })
-
- it('checks all panels in the RED (by table) row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(3)
- expect(titles).to.deep.eq([
- '',
- 'Requests (by table)',
- 'Error rate (by table)'
- ])
- })
- })
-
- it('collapses the RED (by table) row', function () {
- cy.get('.dashboard-row__title.pointer').contains('RED (by table)').click();
- cy.get('.dashboard-row--collapsed').contains('RED (by table)');
- })
-
- // Rows Returned
- it('contains the Rows Returned row', function () {
- cy.get('.dashboard-row').contains(/^Rows returned/)
- })
- it('Rows returned row is collapsed', function () {
- cy.get('.dashboard-row--collapsed').contains(/^Rows returned/)
- })
- it('expands the Rows returned row', function () {
- cy.get('.dashboard-row__title.pointer').contains(/^Rows returned/).click();
- })
-
- it('checks all panels in the Rows returned row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(3)
- expect(titles).to.deep.eq([
- '',
- 'Rows Returned (by table)',
- 'Rows Returned (by plan)'
- ])
- })
- })
-
- it('collapses the Rows returned row', function () {
- cy.get('.dashboard-row__title.pointer').contains(/^Rows returned/).click();
- cy.get('.dashboard-row--collapsed').contains(/^Rows returned/);
- })
-
- // Queries/Errors
- it('contains the Queries/Errors row', function () {
- cy.get('.dashboard-row').contains(/^Queries\/Errors/)
- })
- it('Queries/Errors row is collapsed', function () {
- cy.get('.dashboard-row--collapsed').contains(/^Queries\/Errors/)
- })
- it('expands the Queries/Errors row', function () {
- cy.get('.dashboard-row__title.pointer').contains(/^Queries\/Errors/).click();
- })
-
- it('checks all panels in the Queries/Errors row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(3)
- expect(titles).to.deep.eq([
- '',
- 'Queries Killed',
- 'Query errors (by error code)'
- ])
- })
- })
-
- it('collapses the Queries/Errors row', function () {
- cy.get('.dashboard-row__title.pointer').contains(/^Queries\/Errors/).click();
- cy.get('.dashboard-row--collapsed').contains(/^Queries\/Errors/);
- })
-
- // Vitess Query pool
- it('contains the Vitess - Query pool row', function () {
- cy.get('.dashboard-row').contains('Vitess - Query pool')
- })
- it('Vitess - Query pool row is collapsed', function () {
- cy.get('.dashboard-row--collapsed').contains('Vitess - Query pool')
- })
- it('expands the Vitess - Query pool row', function () {
- cy.get('.dashboard-row__title.pointer').contains('Vitess - Query pool').click();
- })
-
- it('checks all panels in the Query pool row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(6)
- expect(titles).to.deep.eq([
- '',
- 'Available Connections',
- 'Active Connections',
- 'Idle Closed Rate',
- 'Wait count',
- 'Avg wait time'
- ])
- })
- })
-
- it('collapses the Vitess - Query pool row', function () {
- cy.get('.dashboard-row__title.pointer').contains('Vitess - Query pool').click();
- cy.get('.dashboard-row--collapsed').contains('Vitess - Query pool');
- })
-
- // Vitess Transaction pool
- it('contains the Vitess - Transaction pool row', function () {
- cy.get('.dashboard-row').contains('Vitess - Transaction pool')
- })
- it('Vitess - Transaction pool row is collapsed', function () {
- cy.get('.dashboard-row--collapsed').contains('Vitess - Transaction pool')
- })
- it('expands the Vitess - Transaction pool row', function () {
- cy.get('.dashboard-row__title.pointer').contains('Vitess - Transaction pool').click();
- })
-
- it('checks all panels in the Transaction row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(6)
- expect(titles).to.deep.eq([
- '',
- 'Available Connections',
- 'Active Connections',
- 'Idle Closed Rate',
- 'Wait count',
- 'Avg wait time'
- ])
- })
- })
-
- it('collapses the Vitess - Transaction pool row', function () {
- cy.get('.dashboard-row__title.pointer').contains('Vitess - Transaction pool').click();
- cy.get('.dashboard-row--collapsed').contains('Vitess - Transaction pool');
- })
-
- //Vitess timings
- it('contains the Vitess Timings row', function () {
- cy.get('.dashboard-row').contains(/^Vitess Timings/)
- })
- it('Vitess Timings row is collapsed', function () {
- cy.get('.dashboard-row--collapsed').contains(/^Vitess Timings/)
- })
- it('Vitess Timings row has 8 panels', function () {
- cy.get('.dashboard-row').contains(/^Vitess Timings/).find('.dashboard-row__panel_count').contains('(8 panels)')
- })
- it('expands the Vitess Timings row', function () {
- cy.get('.dashboard-row__title.pointer').contains(/^Vitess Timings/).click();
- })
-
- it('checks all panels in the Vitess Timings row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(9)
- expect(titles).to.deep.eq([
- '',
- 'Query Duration (avg)',
- 'Query Duration (p50)',
- 'Query Duration (p95)',
- 'VtGate -> VtTablet Call Time (avg)',
- 'Query Time Distribution (Heatmap)',
- 'Transaction Duration (avg)',
- 'Transaction Duration (p50)',
- 'Transaction Duration (p95)'
- ])
- })
- })
-
- it('collapses the Vitess Timings row', function () {
- cy.get('.dashboard-row__title.pointer').contains(/^Vitess Timings/).click();
- cy.get('.dashboard-row--collapsed').contains(/^Vitess Timings/);
- })
-
-
- //MYSQL ROW
- it('contains the MySQL row', function () {
- cy.get('.dashboard-row').contains('MySQL');
- })
- it('MySQL row is collapsed', function () {
- cy.get('.dashboard-row--collapsed').contains('MySQL');
- })
- it('expands the MySQL row', function () {
- cy.get('.dashboard-row__title.pointer').contains('MySQL').click();
- })
- it('checks all panels in the MySQL row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(2)
- expect(titles).to.deep.eq([
- '',
- 'Slow Queries'
- ])
- })
- })
- it('collapses the MySQL row', function () {
- cy.get('.dashboard-row__title.pointer').contains('MySQL').click();
- cy.get('.dashboard-row--collapsed').contains('MySQL');
- })
-
- //MYSQL Timings ROW
- it('contains the MySQL Timings row', function () {
- cy.get('.dashboard-row').contains(/MySQL Timings/);
- })
- it('MySQL Timings row is collapsed', function () {
- cy.get('.dashboard-row--collapsed').contains(/MySQL Timings/);
- })
- it('expands the MySQL Timings row', function () {
- cy.get('.dashboard-row__title.pointer').contains(/MySQL Timings/).click();
- })
-
- it('checks all panels in the MySQL row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'MySQL time (avg)',
- 'MySQL Exec Time P50',
- 'MySQL Exec Time P95'
- ])
- })
- })
-
- it('collapses the MySQL Timings row', function () {
- cy.get('.dashboard-row__title.pointer').contains(/MySQL Timings/).click();
- cy.get('.dashboard-row--collapsed').contains(/MySQL Timings/);
- })
-
- //OS ROW
- it('contains the OS row', function () {
- cy.get('.dashboard-row').contains('OS');
- })
- it('OS row is collapsed', function () {
- cy.get('.dashboard-row--collapsed').contains('OS');
- })
- it('expands the OS row', function () {
- cy.get('.dashboard-row__title.pointer').contains('OS').scrollIntoView().click();
- })
- it('checks all panels in the OS row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(6)
- expect(titles).to.deep.eq([
- '',
- 'CPU Usage',
- 'Memory Usage',
- '/mnt disk free',
- 'Network Tx Bytes',
- 'Network Rx Bytes'
- ])
- })
- })
- it('collapses the OS row', function () {
- cy.get('.dashboard-row__title.pointer').contains('OS').click();
- cy.get('.dashboard-row--collapsed').contains('OS');
- })
-
- //Misc ROW
- it('contains the Misc row', function () {
- cy.get('.dashboard-row').contains(/^Misc/);
- })
- it('Misc row is collapsed', function () {
- cy.get('.dashboard-row--collapsed').contains(/^Misc/);
- })
- it('expands the Misc row', function () {
- cy.get('.dashboard-row__title.pointer').contains(/^Misc/).click();
- })
- it('checks all panels in the Misc row exist',function() {
- cy.get('.panel-title').should(($p) => {
- let titles = $p.map((i,el) => {
- return Cypress.$(el).text()
- })
- titles = titles.get()
- expect(titles).to.have.length(4)
- expect(titles).to.deep.eq([
- '',
- 'GC Count',
- 'GC Duration total per second',
- 'GC Duration quantiles (all hosts)'
- ])
- })
- })
- it('collapses the Misc row', function () {
- cy.get('.dashboard-row__title.pointer').contains(/^Misc/).click();
- cy.get('.dashboard-row--collapsed').contains(/^Misc/);
- })
-
-})
diff --git a/vitess-mixin/e2e/cypress/plugins/index.js b/vitess-mixin/e2e/cypress/plugins/index.js
deleted file mode 100644
index aa9918d2153..00000000000
--- a/vitess-mixin/e2e/cypress/plugins/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-///
-// ***********************************************************
-// This example plugins/index.js can be used to load plugins
-//
-// You can change the location of this file or turn off loading
-// the plugins file with the 'pluginsFile' configuration option.
-//
-// You can read more here:
-// https://on.cypress.io/plugins-guide
-// ***********************************************************
-
-// This function is called when a project is opened or re-opened (e.g. due to
-// the project's config changing)
-
-/**
- * @type {Cypress.PluginConfig}
- */
-module.exports = (on, config) => {
- // `on` is used to hook into various events Cypress emits
- // `config` is the resolved Cypress config
-}
diff --git a/vitess-mixin/e2e/cypress/support/commands.js b/vitess-mixin/e2e/cypress/support/commands.js
deleted file mode 100644
index 88dec8ed7b0..00000000000
--- a/vitess-mixin/e2e/cypress/support/commands.js
+++ /dev/null
@@ -1,33 +0,0 @@
-const http = require("http")
-
-Cypress.Commands.overwrite('visit', (orig, url, options) => {
- options = options || {}
- options.auth = {
- username: 'admin',
- password: 'admin',
- }
- return orig(url, options)
-})
-
-Cypress.Commands.add('createDashboard', function(dashboardJSON) {
-
- const payload = JSON.stringify({
- dashboard: dashboardJSON,
- overwrite: true
- })
-
- const options = {
- auth: 'admin:admin',
- hostname: 'grafana',
- port: 3000,
- path: '/api/dashboards/db',
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- }
- }
-
- const req = http.request(options)
- req.write(payload)
- req.end()
-})
diff --git a/vitess-mixin/e2e/cypress/support/index.js b/vitess-mixin/e2e/cypress/support/index.js
deleted file mode 100644
index 614041bb83f..00000000000
--- a/vitess-mixin/e2e/cypress/support/index.js
+++ /dev/null
@@ -1,28 +0,0 @@
-require('./commands')
-
-const fs = require('fs')
-
-// This does not use the usual Cypress.Commands.add registration so that it's
-// performed synchronously and we're able to return the panelTitles variable.
-cy.createDashboardFromUnitTests = function(testDir, uid, excludePanels=[]) {
- let panelTitles = []
- cy.readFile(testDir).then(function(str) {
- let panels = []
- for (let [i, [name, panel]] of Object.entries(Object.entries(str))) {
- if (excludePanels.includes(name)) {
- continue
- }
- panel['id'] = parseInt(i)
- panel['gridPos'] = {'w': 6, 'h': 4, 'x': i * 6 % 24 }
- panelTitles.push(panel.title)
- panels.push(panel)
- }
- let dashboardJSON = {
- 'uid': uid,
- 'title': uid,
- 'panels': panels
- }
- cy.createDashboard(dashboardJSON)
- })
- return panelTitles
-}
diff --git a/vitess-mixin/e2e/dbcli.sh b/vitess-mixin/e2e/dbcli.sh
deleted file mode 100755
index 6d56f0b2763..00000000000
--- a/vitess-mixin/e2e/dbcli.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-
-# Copyright 2019 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-usage () {
- echo "Starts a session on a sideloaded vttablet."
- echo "Note that this is a direct MySQL connection; if you actually want to work with Vitess, connect via the vtgate with:"
- echo " mysql --port=15306 --host=127.0.0.1"
- echo
- echo "Usage: $0 []"
- echo " Don't forget the 'vt_' before the keyspace!"
-}
-
-if [ $# -lt 1 ]; then
- usage
- exit -1
-fi
-
-keyspace=${2:-vt_test_keyspace}
-long_alias=`printf "%010d" $1`
-docker-compose exec vttablet$1 mysql -uvt_dba -S /vt/vtdataroot/vt_${long_alias}/mysql.sock $keyspace
diff --git a/vitess-mixin/e2e/default_vschema.json b/vitess-mixin/e2e/default_vschema.json
deleted file mode 100644
index e0b50a66037..00000000000
--- a/vitess-mixin/e2e/default_vschema.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "sharded": false,
- "vindexes": {
- "hash": {
- "type": "hash"
- }
- }
-}
diff --git a/vitess-mixin/e2e/docker-compose.beginners.yml b/vitess-mixin/e2e/docker-compose.beginners.yml
deleted file mode 100644
index 46eadd57801..00000000000
--- a/vitess-mixin/e2e/docker-compose.beginners.yml
+++ /dev/null
@@ -1,312 +0,0 @@
-version: "2.1"
-services:
- consul1:
- image: consul:latest
- hostname: "consul1"
- ports:
- - "8400:8400"
- - "8500:8500"
- - "8600:8600"
- command: "agent -server -bootstrap-expect 3 -ui -disable-host-node-id -client 0.0.0.0"
- consul2:
- image: consul:latest
- hostname: "consul2"
- expose:
- - "8400"
- - "8500"
- - "8600"
- command: "agent -server -retry-join consul1 -disable-host-node-id"
- depends_on:
- - consul1
- consul3:
- image: consul:latest
- hostname: "consul3"
- expose:
- - "8400"
- - "8500"
- - "8600"
- command: "agent -server -retry-join consul1 -disable-host-node-id"
- depends_on:
- - consul1
- # This is a convenience container to quickly test vitess against an external database.
- # In practice you will point Vitess to your existing database and migrate to a Vitess managed cluster.
- external_db_host:
- build:
- context: ./external_db/mysql
- dockerfile: Dockerfile
- restart: always
- environment:
- MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-pass}
- MYSQL_DATABASE: ${DB:-commerce}
- MYSQL_USER: ${DB_USER:-external_db_user}
- MYSQL_PASSWORD: ${DB_PASS:-external_db_password}
- volumes:
- - ./external_db/mysql/:/docker-entrypoint-initdb.d/
- - ./external_db/mysql/log:/var/log/mysql
- command:
- - --server-id=1
- - --log-bin=mysql-bin
- - --gtid_mode=ON
- - --enforce_gtid_consistency
- - --general_log=1
- - --slow_query_log=1
- healthcheck:
- test: "/usr/bin/mysql --user=root --password=$${MYSQL_ROOT_PASSWORD} --execute \"SHOW DATABASES;\""
- timeout: 10s
- retries: 10
- ports:
- - "3306"
-
- vtctld:
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - "15000:$WEB_PORT"
- - "$GRPC_PORT"
- command: ["sh", "-c", " /vt/bin/vtctld \
- $TOPOLOGY_FLAGS \
- -cell $CELL \
- -service_map 'grpc-vtctl' \
- -backup_storage_implementation file \
- -file_backup_storage_root /vt/vtdataroot/backups \
- -logtostderr=true \
- -port $WEB_PORT \
- -grpc_port $GRPC_PORT
- "]
- depends_on:
- - consul1
- - consul2
- - consul3
- depends_on:
- external_db_host:
- condition: service_healthy
-
- vtgate:
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - "15099:$WEB_PORT"
- - "$GRPC_PORT"
- - "15306:$MYSQL_PORT"
- command: ["sh", "-c", "/vt/bin/vtgate \
- $TOPOLOGY_FLAGS \
- --logtostderr=true \
- --port $WEB_PORT \
- --grpc_port $GRPC_PORT \
- --mysql_server_port $MYSQL_PORT \
- --mysql_auth_server_impl none \
- --cell $CELL \
- --cells_to_watch $CELL \
- --tablet_types_to_wait PRIMARY,REPLICA \
- --service_map 'grpc-vtgateservice' \
- --enable_system_settings=true \
- "]
- volumes:
- - ".:/script"
- environment:
- - KEYSPACE
- - DB
- depends_on:
- - vtctld
- depends_on:
- vttablet101:
- condition: service_healthy
-
- schemaload:
- image: vitess/lite:${VITESS_TAG:-latest}
- command:
- - sh
- - -c
- - /script/schemaload.sh
- environment:
- - TOPOLOGY_FLAGS
- - WEB_PORT
- - GRPC_PORT
- - CELL
- - KEYSPACE
- - TARGETTAB
- - SLEEPTIME
- - VSCHEMA_FILE
- - SCHEMA_FILES
- - POST_LOAD_FILE
- - EXTERNAL_DB
- volumes:
- - .:/script
- depends_on:
- vttablet101:
- condition: service_healthy
-
- vttablet100:
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - "15100:$WEB_PORT"
- - "$GRPC_PORT"
- - "3306"
- volumes:
- - ".:/script"
- - "./backups:/vt/vtdataroot/backups"
- environment:
- - TOPOLOGY_FLAGS
- - WEB_PORT
- - GRPC_PORT
- - CELL
- - KEYSPACE
- - DB
- - EXTERNAL_DB
- - DB_PORT
- - DB_HOST
- - DB_USER
- - DB_PASS
- - DB_CHARSET
- - ROLE=primary
- command: ["sh", "-c", "[ $$EXTERNAL_DB -eq 1 ] && /script/vttablet-up.sh 100 || exit 0"]
- depends_on:
- - vtctld
- healthcheck:
- test: ["CMD-SHELL","curl -s --fail --show-error localhost:$$WEB_PORT/debug/health"]
- interval: 30s
- timeout: 10s
- retries: 15
-
- vttablet101:
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - "15101:$WEB_PORT"
- - "$GRPC_PORT"
- - "3306"
- volumes:
- - ".:/script"
- - "./backups:/vt/vtdataroot/backups"
- environment:
- - TOPOLOGY_FLAGS
- - WEB_PORT
- - GRPC_PORT
- - CELL
- - KEYSPACE
- - DB
- - EXTERNAL_DB
- - DB_PORT
- - DB_HOST
- - DB_USER
- - DB_PASS
- - DB_CHARSET
- - ROLE=primary
- command: ["sh", "-c", "/script/vttablet-up.sh 101"]
- depends_on:
- - vtctld
- healthcheck:
- test: ["CMD-SHELL","curl -s --fail --show-error localhost:$$WEB_PORT/debug/health"]
- interval: 30s
- timeout: 10s
- retries: 15
-
- vttablet102:
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - "15102:$WEB_PORT"
- - "$GRPC_PORT"
- - "3306"
- volumes:
- - ".:/script"
- - "./backups:/vt/vtdataroot/backups"
- environment:
- - TOPOLOGY_FLAGS
- - WEB_PORT
- - GRPC_PORT
- - CELL
- - KEYSPACE
- - DB
- - EXTERNAL_DB
- - DB_PORT
- - DB_HOST
- - DB_USER
- - DB_PASS
- - DB_CHARSET
- command: ["sh", "-c", "/script/vttablet-up.sh 102"]
- depends_on:
- - vtctld
- - vttablet101
- healthcheck:
- test: ["CMD-SHELL","curl -s --fail --show-error localhost:$$WEB_PORT/debug/health"]
- interval: 30s
- timeout: 10s
- retries: 15
-
- vttablet103:
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - "15103:$WEB_PORT"
- - "$GRPC_PORT"
- - "3306"
- volumes:
- - ".:/script"
- - "./backups:/vt/vtdataroot/backups"
- environment:
- - TOPOLOGY_FLAGS
- - WEB_PORT
- - GRPC_PORT
- - CELL
- - KEYSPACE
- - DB
- - EXTERNAL_DB
- - DB_PORT
- - DB_HOST
- - DB_USER
- - DB_PASS
- - DB_CHARSET
- command: ["sh", "-c", "/script/vttablet-up.sh 103"]
- depends_on:
- - vtctld
- - vttablet101
- healthcheck:
- test: ["CMD-SHELL","curl -s --fail --show-error localhost:$$WEB_PORT/debug/health"]
- interval: 30s
- timeout: 10s
- retries: 15
-
- vtorc:
- image: vitess/lite:${VITESS_TAG:-latest}
- command: ["sh", "-c", "/script/vtorc-up.sh"]
- depends_on:
- - vtctld
- ports:
- - "13000:3000"
- volumes:
- - ".:/script"
- environment:
- - TOPOLOGY_FLAGS
- - WEB_PORT
- - GRPC_PORT
- - CELL
- - KEYSPACE
- - DB
- - EXTERNAL_DB
- - DB_PORT
- - DB_HOST
- - DB_USER
- - DB_PASS
- - DB_CHARSET
- healthcheck:
- test: ["CMD-SHELL","curl -s --fail --show-error localhost:3000/api/status"]
- interval: 5s
- timeout: 10s
- retries: 15
-
- vreplication:
- image: vitess/lite:${VITESS_TAG:-latest}
- volumes:
- - ".:/script"
- environment:
- - TOPOLOGY_FLAGS
- - WEB_PORT
- - GRPC_PORT
- - CELL
- - KEYSPACE
- - DB
- - EXTERNAL_DB
- - DB_PORT
- - DB_HOST
- - DB_USER
- - DB_PASS
- - DB_CHARSET
- command: ["sh", "-c", "[ $$EXTERNAL_DB -eq 1 ] && /script/externaldb_vreplication.sh || exit 0"]
- depends_on:
- - vtctld
diff --git a/vitess-mixin/e2e/docker-compose.dev.yml b/vitess-mixin/e2e/docker-compose.dev.yml
deleted file mode 100644
index e5bb4f20ef5..00000000000
--- a/vitess-mixin/e2e/docker-compose.dev.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-version: '3'
-services:
- grafana:
- image: grafana/grafana:${GRAFANA_VERSION?err}
- ports:
- - "3030:3000"
- e2e:
- build:
- context: .
- args:
- CYPRESS_IMAGE: cypress/included:5.3.0
- image: grafonnet-e2e-dev
- entrypoint: cypress open --project .
- depends_on:
- - grafana
- environment:
- - CYPRESS_baseUrl=http://grafana:3000
- - CYPRESS_video=false
- - DISPLAY=${DISPLAY?err}
- volumes:
- - ./cypress:/e2e/cypress
- - ./cypress.json:/e2e/cypress.json
- - ../dashboards_out:/e2e/test
- - /tmp/.X11-unix:/tmp/.X11-unix
- deploy:
- resources:
- limits:
- memory: 2G
- reservations:
- memory: 1G
-volumes:
- prometheus-data: {}
diff --git a/vitess-mixin/e2e/docker-compose.vt.yml b/vitess-mixin/e2e/docker-compose.vt.yml
deleted file mode 100644
index 1132068f252..00000000000
--- a/vitess-mixin/e2e/docker-compose.vt.yml
+++ /dev/null
@@ -1,447 +0,0 @@
-version: '3'
-services:
- consul1:
- command: agent -server -bootstrap-expect 3 -ui -disable-host-node-id -client 0.0.0.0
- hostname: consul1
- image: consul:latest
- ports:
- - 8400:8400
- - 8500:8500
- - 8600:8600
- consul2:
- command: agent -server -retry-join consul1 -disable-host-node-id
- depends_on:
- - consul1
- expose:
- - "8400"
- - "8500"
- - "8600"
- hostname: consul2
- image: consul:latest
- consul3:
- command: agent -server -retry-join consul1 -disable-host-node-id
- depends_on:
- - consul1
- expose:
- - "8400"
- - "8500"
- - "8600"
- hostname: consul3
- image: consul:latest
- external_db_host:
- build:
- context: ./external_db/mysql
- dockerfile: Dockerfile
- command:
- - --server-id=1
- - --log-bin=mysql-bin
- - --gtid_mode=ON
- - --enforce_gtid_consistency
- - --general_log=1
- - --slow_query_log=1
- environment:
- MYSQL_DATABASE: ${DB:-commerce}
- MYSQL_PASSWORD: ${DB_PASS:-external_db_password}
- MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-pass}
- MYSQL_USER: ${DB_USER:-external_db_user}
- healthcheck:
- retries: 10
- test: /usr/bin/mysql --user=root --password=$${MYSQL_ROOT_PASSWORD} --execute
- "SHOW DATABASES;"
- timeout: 10s
- ports:
- - "3306"
- restart: always
- volumes:
- - ./external_db/mysql/:/docker-entrypoint-initdb.d/
- - ./external_db/mysql/log:/var/log/mysql
- schemaload_lookup_keyspace:
- command:
- - sh
- - -c
- - /script/schemaload.sh
- depends_on:
- vttablet301:
- condition: service_healthy
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=lookup_keyspace
- - TARGETTAB=test-0000000301
- - SLEEPTIME=15
- - VSCHEMA_FILE=lookup_keyspace_vschema.json
- - SCHEMA_FILES=lookup_keyspace_schema_file.sql
- - POST_LOAD_FILE=
- - EXTERNAL_DB=0
- image: vitess/lite:${VITESS_TAG:-latest}
- volumes:
- - .:/script
- schemaload_test_keyspace:
- command:
- - sh
- - -c
- - /script/schemaload.sh
- depends_on:
- vttablet101:
- condition: service_healthy
- vttablet201:
- condition: service_healthy
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=test_keyspace
- - TARGETTAB=test-0000000101
- - SLEEPTIME=15
- - VSCHEMA_FILE=test_keyspace_vschema.json
- - SCHEMA_FILES=test_keyspace_schema_file.sql
- - POST_LOAD_FILE=
- - EXTERNAL_DB=0
- image: vitess/lite:${VITESS_TAG:-latest}
- volumes:
- - .:/script
- vreplication:
- command:
- - sh
- - -c
- - '[ $$EXTERNAL_DB -eq 1 ] && /script/externaldb_vreplication.sh || exit 0'
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - EXTERNAL_DB=0
- image: vitess/lite:${VITESS_TAG:-latest}
- volumes:
- - .:/script
- vtctld:
- command:
- - sh
- - -c
- - ' /vt/bin/vtctld -topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global -cell test
- -service_map ''grpc-vtctl'' -backup_storage_implementation file -file_backup_storage_root
- /vt/vtdataroot/backups -logtostderr=true -port 8080 -grpc_port 15999 '
- depends_on:
- external_db_host:
- condition: service_healthy
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - 15000:8080
- - "15999"
- volumes:
- - .:/script
- vtgate:
- command:
- - sh
- - -c
- - '/script/run-forever.sh /vt/bin/vtgate --topo_implementation consul --topo_global_server_address
- consul1:8500 --topo_global_root vitess/global --logtostderr=true --port 8080 --grpc_port
- 15999 --mysql_server_port 15306 --mysql_auth_server_impl none --cell test --cells_to_watch
- test --tablet_types_to_wait PRIMARY,REPLICA,RDONLY --service_map ''grpc-vtgateservice''
- --normalize_queries=true '
- depends_on:
- - vtctld
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - 15099:8080
- - "15999"
- - 15306:15306
- volumes:
- - .:/script
- vtorc:
- command:
- - sh
- - -c
- - /script/vtorc-up.sh
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - EXTERNAL_DB=0
- - DB_USER=
- - DB_PASS=
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - 13000:3000
- volumes:
- - .:/script
- vttablet101:
- command:
- - sh
- - -c
- - /script/vttablet-up.sh 101
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=test_keyspace
- - SHARD=-80
- - ROLE=primary
- - VTHOST=vttablet101
- - EXTERNAL_DB=0
- - DB_PORT=
- - DB_HOST=
- - DB_USER=
- - DB_PASS=
- - DB_CHARSET=
- healthcheck:
- interval: 30s
- retries: 15
- test:
- - CMD-SHELL
- - curl -s --fail --show-error localhost:8080/debug/health
- timeout: 10s
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - 15101:8080
- - "15999"
- - "3306"
- volumes:
- - .:/script
- vttablet102:
- command:
- - sh
- - -c
- - /script/vttablet-up.sh 102
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=test_keyspace
- - SHARD=-80
- - ROLE=replica
- - VTHOST=vttablet102
- - EXTERNAL_DB=0
- - DB_PORT=
- - DB_HOST=
- - DB_USER=
- - DB_PASS=
- - DB_CHARSET=
- healthcheck:
- interval: 30s
- retries: 15
- test:
- - CMD-SHELL
- - curl -s --fail --show-error localhost:8080/debug/health
- timeout: 10s
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - 15102:8080
- - "15999"
- - "3306"
- volumes:
- - .:/script
- vttablet201:
- command:
- - sh
- - -c
- - /script/vttablet-up.sh 201
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=test_keyspace
- - SHARD=80-
- - ROLE=primary
- - VTHOST=vttablet201
- - EXTERNAL_DB=0
- - DB_PORT=
- - DB_HOST=
- - DB_USER=
- - DB_PASS=
- - DB_CHARSET=
- healthcheck:
- interval: 30s
- retries: 15
- test:
- - CMD-SHELL
- - curl -s --fail --show-error localhost:8080/debug/health
- timeout: 10s
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - 15201:8080
- - "15999"
- - "3306"
- volumes:
- - .:/script
- vttablet202:
- command:
- - sh
- - -c
- - /script/vttablet-up.sh 202
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=test_keyspace
- - SHARD=80-
- - ROLE=replica
- - VTHOST=vttablet202
- - EXTERNAL_DB=0
- - DB_PORT=
- - DB_HOST=
- - DB_USER=
- - DB_PASS=
- - DB_CHARSET=
- healthcheck:
- interval: 30s
- retries: 15
- test:
- - CMD-SHELL
- - curl -s --fail --show-error localhost:8080/debug/health
- timeout: 10s
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - 15202:8080
- - "15999"
- - "3306"
- volumes:
- - .:/script
- vttablet301:
- command:
- - sh
- - -c
- - /script/vttablet-up.sh 301
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=lookup_keyspace
- - SHARD=-
- - ROLE=primary
- - VTHOST=vttablet301
- - EXTERNAL_DB=0
- - DB_PORT=
- - DB_HOST=
- - DB_USER=
- - DB_PASS=
- - DB_CHARSET=
- healthcheck:
- interval: 30s
- retries: 15
- test:
- - CMD-SHELL
- - curl -s --fail --show-error localhost:8080/debug/health
- timeout: 10s
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - 15301:8080
- - "15999"
- - "3306"
- volumes:
- - .:/script
- vttablet302:
- command:
- - sh
- - -c
- - /script/vttablet-up.sh 302
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=lookup_keyspace
- - SHARD=-
- - ROLE=replica
- - VTHOST=vttablet302
- - EXTERNAL_DB=0
- - DB_PORT=
- - DB_HOST=
- - DB_USER=
- - DB_PASS=
- - DB_CHARSET=
- healthcheck:
- interval: 30s
- retries: 15
- test:
- - CMD-SHELL
- - curl -s --fail --show-error localhost:8080/debug/health
- timeout: 10s
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - 15302:8080
- - "15999"
- - "3306"
- volumes:
- - .:/script
- prometheus:
- image: prom/prometheus:v2.21.0
- ports:
- - 9000:9090
- volumes:
- - ./prometheus:/etc/prometheus
- - ../prometheus_rules.yaml:/etc/prometheus/prometheus_rules.yaml
- - prometheus-data:/prometheus
- command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml
- depends_on:
- - vtctld
- grafana:
- image: grafana/grafana:${GRAFANA_VERSION?err}
- ports:
- - "3030:3000"
- volumes:
- - ./grafana/provisioning:/etc/grafana/provisioning
- - ../dashboards_out/cluster_overview.json:/etc/grafana/provisioning/dashboards/cluster_overview.json
- - ../dashboards_out/vtgate_overview.json:/etc/grafana/provisioning/dashboards/vtgate_overview.json
- - ../dashboards_out/vtgate_host_view.json:/etc/grafana/provisioning/dashboards/vtgate_host_view.json
- - ../dashboards_out/vttablet_host_view.json:/etc/grafana/provisioning/dashboards/vttablet_host_view.json
- depends_on:
- - prometheus
- - vtgate
- - vttablet101
- node-exporter:
- image: prom/node-exporter
- volumes:
- - /proc:/host/proc:ro
- - /sys:/host/sys:ro
- - /:/rootfs:ro
- command:
- - '--path.procfs=/host/proc'
- - '--path.sysfs=/host/sys'
- - --collector.filesystem.ignored-mount-points
- - "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
- ports:
- - '9100:9100'
- deploy:
- mode: global
- mysqld_exporter:
- image: prom/mysqld-exporter:latest
- environment:
- - DATA_SOURCE_NAME=root:pass@(external_db_host:3306)/
- ports:
- - "9104:9104"
- depends_on:
- - external_db_host
- # TODO: ADD CYPRESS FOR AUTOMATED TESTING
-volumes:
- prometheus-data: {}
diff --git a/vitess-mixin/e2e/docker-compose.yml b/vitess-mixin/e2e/docker-compose.yml
deleted file mode 100644
index e46fbcab849..00000000000
--- a/vitess-mixin/e2e/docker-compose.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-version: '3'
-services:
- grafana:
- image: grafana/grafana:${GRAFANA_VERSION?err}
- e2e:
- build:
- context: .
- args:
- CYPRESS_IMAGE: cypress/base:12
- image: grafonnet-e2e
- command: npx cypress run
- depends_on:
- - grafana
- environment:
- - CYPRESS_baseUrl=http://grafana:3000
- - CYPRESS_video=false
- volumes:
- - ./cypress:/e2e/cypress
- - ./cypress.json:/e2e/cypress.json
- - ../dashboards_out:/e2e/test
diff --git a/vitess-mixin/e2e/external_db/.env b/vitess-mixin/e2e/external_db/.env
deleted file mode 100644
index f2745ff08ef..00000000000
--- a/vitess-mixin/e2e/external_db/.env
+++ /dev/null
@@ -1,4 +0,0 @@
-MYSQL_ROOT_PASSWORD=pass
-MYSQL_USER=dbuser
-MYSQL_PASSWORD=dbpass
-MYSQL_DB=commerce
\ No newline at end of file
diff --git a/vitess-mixin/e2e/external_db/README.md b/vitess-mixin/e2e/external_db/README.md
deleted file mode 100644
index 610a9350111..00000000000
--- a/vitess-mixin/e2e/external_db/README.md
+++ /dev/null
@@ -1,113 +0,0 @@
-**This README is kept here for reference, however the parent [README](../README) contains all the information necesaary to simulate this in a better way**
-
-# Simulate external/remote database for Vitess using docker-compose
-
-This directory has a docker-compose that will bring up a mysql instance.
-You can then point your vitess cluster to it to understand how to use Vitess for your existing database
-when you cannot install Vitess on the mysql instance.
-
-First you will need to [install docker-compose](https://docs.docker.com/compose/install/).
-
-
-### Create new docker-machine
-Create a new docker-machine that will run your mysql container.
-Creating a new machine allows you to more comprehensively test the remote functionality.
-```
-vitess/examples/compose/external_db$ docker-machine create remote-db
-```
-
-Grab the docker-machine ip
-```
-vitess/examples/compose/external_db$ docker-machine ip remote-db
-192.168.99.101
-```
-
-Set the environment variables for the remote-db machine
-```
-vitess/examples/compose/external_db$ eval $(docker-machine ip remote-db)
-```
-
-### Start mysql
-Start the mysql instance
-```
-vitess/examples/compose/external_db$ docker-compose up -d
-```
-This will do the following;
-1. Starts mysql service and exposes it at `:3306`
-2. Creates a `commerce` database with `users` table
-3. Adds sample data to the users table
-4. Starts a lightweight adminer container to interact with the database accessible at `:8081`
-5. Default credentials
- ```
- MYSQL_DB: commerce
- MYSQL_USER: dbuser
- MYSQL_PASSWORD: dbpass
- MYSQL_ROOT_PASSWORD: pass
- ```
-
-### Confirm containers are up
-Run the following
-```
-vitess/examples/compose/external_db$ docker-compose ps
-```
-
-A valid response should look like below
-```sh
- Name Command State Ports
----------------------------------------------------------------------------------------------------------
-external_db_adminer_1 entrypoint.sh docker-php-e ... Up 0.0.0.0:8081->8080/tcp
-external_db_db_1 docker-entrypoint.sh mysqld Up (healthy) 0.0.0.0:3306->3306/tcp, 33060/tcp
-```
-You now have a mysql instance ready to be *migrated* to Vitess.
-
-### Start Vitess pointed to this remote database
-Head on to [vitess compose instructions](../README.md )
-
-If using docker-compose.beginners.yml, run;
-```
-vitess/examples/compose$ cp docker-compose.beginners.yml docker-compose.yml
-```
-Update your `.env` file with these;
-```
-KEYSPACE=commerce
-DB=commerce
-EXTERNAL_DB=1
-DB_HOST=
-DB_PORT=3306
-DB_USER=dbuser
-DB_PASS=dbpass
-DB_CHARSET=CHARACTER SET latin1 COLLATE latin1_swedish_ci
-```
-
-
-If using `vtcompose` command, run;
-```
-vitess/examples/compose$ go run vtcompose/vtcompose.go -keyspaceData="commerce:0:2::" -externalDbData="commerce::3306:dbuser:dbpass:CHARACTER SET latin1 COLLATE latin1_swedish_ci"
-```
-
-**Ensure you start Vitess in a different docker-machine!!**
-If not, run;
-```
-vitess/examples/compose$ docker-machine create vitess
-vitess/examples/compose$ $(docker-machine env vitess)
-```
-
-Start Vitess
-```
-vitess/examples/compose$ docker-compose up -d
-```
-
-You should now have Vitess running against your external database instance.
-
-* [Follow this guide for advanced usage](../README.md#advanced-usage "Advanced Usage" )
-* [See this for common issues](../README.md#common-errors "Common Issues" )
-
-### Migrating to Vitess
-Migrating to Vitess entirely can be done from;
-a) The Vitess Control Panel at http://:15000
-b) The `lvtctl.sh` Helper Script;
-
-The steps are same
-1. Do an EmergencyReparentShard to make a replica the new primary.
-2. Ran InitShardPrimary on the new primary.
-3. If Vitess is wrong about who the MySQL primary is, you can update it with TabletExternallyReparented
diff --git a/vitess-mixin/e2e/external_db/docker-compose.yml b/vitess-mixin/e2e/external_db/docker-compose.yml
deleted file mode 100644
index 4c414324e63..00000000000
--- a/vitess-mixin/e2e/external_db/docker-compose.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-version: '2.1'
-
-volumes:
- vol-db:
-
-services:
- db:
- build:
- context: ./mysql
- dockerfile: Dockerfile
- restart: always
- environment:
- MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-pass}
- MYSQL_DATABASE: ${MYSQL_DB:-commerce}
- MYSQL_USER: ${MYSQL_USER:-dbuser}
- MYSQL_PASSWORD: ${MYSQL_PASSWORD:-dbpass}
- volumes:
- - vol-db:/var/lib/mysql
- - ./mysql/:/docker-entrypoint-initdb.d/
- - ./mysql/mysql57.cnf:/etc/mysql/conf.d/mysql57.cnf:ro
- - ./mysql/log:/var/log/mysql
- command:
- - --server-id=1
- - --log-bin=mysql-bin
- - --gtid_mode=ON
- - --enforce_gtid_consistency
- - --general_log=1
- - --slow_query_log=1
- healthcheck:
- test: "/usr/bin/mysql --user=root --password=$${MYSQL_ROOT_PASSWORD} --execute \"SHOW DATABASES;\""
- timeout: 10s
- retries: 10
- ports:
- - "3306:3306"
-
- adminer:
- image: adminer
- environment:
- ADMINER_DESIGN: rmsoft
- ports:
- - "8081:8080"
diff --git a/vitess-mixin/e2e/external_db/mysql/Dockerfile b/vitess-mixin/e2e/external_db/mysql/Dockerfile
deleted file mode 100644
index f44c63951e3..00000000000
--- a/vitess-mixin/e2e/external_db/mysql/Dockerfile
+++ /dev/null
@@ -1,2 +0,0 @@
-FROM mysql:5.7
-COPY . /docker-entrypoint-initdb.d
\ No newline at end of file
diff --git a/vitess-mixin/e2e/external_db/mysql/commerce.sql b/vitess-mixin/e2e/external_db/mysql/commerce.sql
deleted file mode 100644
index 8154d91e7f5..00000000000
--- a/vitess-mixin/e2e/external_db/mysql/commerce.sql
+++ /dev/null
@@ -1,20 +0,0 @@
-CREATE DATABASE IF NOT EXISTS commerce;
-USE commerce;
-DROP TABLE IF EXISTS users;
-CREATE TABLE users (
- device_id BIGINT,
- first_name VARCHAR(50),
- last_name VARCHAR(50),
- telephone BIGINT,
- gender VARCHAR(16),
- reference_id INT,
- confidence INT,
- coverage INT,
- refstart DATETIME,
- refstop DATETIME,
- qrystart DATETIME,
- qrystop DATETIME);
-
-LOAD DATA LOCAL INFILE '/docker-entrypoint-initdb.d/dataset.csv' INTO TABLE users FIELDS TERMINATED BY ',';
-
-ALTER TABLE users ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
\ No newline at end of file
diff --git a/vitess-mixin/e2e/external_db/mysql/dataset.csv b/vitess-mixin/e2e/external_db/mysql/dataset.csv
deleted file mode 100644
index f2af8d74ce7..00000000000
--- a/vitess-mixin/e2e/external_db/mysql/dataset.csv
+++ /dev/null
@@ -1,1000 +0,0 @@
-1,Elianore,Dunbleton,867-921-5436,Female,1,4,90,2018-11-20 00:23:59,2018-02-11 11:32:09,2018-06-18 23:40:59,2018-07-14 00:59:56
-2,Isa,Gilfoyle,539-533-8647,Male,7,86,65,2018-03-22 18:52:41,2019-01-16 21:08:18,2019-01-03 10:48:54,2018-08-29 14:52:14
-3,Millicent,Jedrys,184-899-3979,Female,5,30,17,2018-06-29 14:14:44,2018-06-07 05:03:57,2018-04-08 03:56:39,2018-02-12 06:41:48
-4,Davey,Sutch,862-838-8206,Male,1,62,94,2018-11-14 06:47:18,2018-08-08 22:44:26,2018-07-12 21:09:27,2018-03-04 16:23:22
-5,Adiana,Strowger,792-848-5008,Female,6,97,75,2018-08-07 01:32:59,2018-08-06 16:19:48,2019-01-20 13:11:37,2018-09-02 22:39:39
-6,Oby,Winthrop,522-736-9711,Male,7,95,11,2018-09-29 06:49:44,2018-02-02 11:07:25,2018-08-17 12:49:31,2018-06-03 13:27:48
-7,Berte,Beldon,947-708-5622,Female,6,3,26,2018-11-21 14:55:27,2018-11-15 17:16:04,2018-01-23 06:12:07,2018-08-30 14:40:37
-8,Logan,Atack,103-849-8439,Male,1,20,86,2019-01-04 01:18:38,2018-09-20 23:59:42,2018-05-10 13:14:24,2018-09-25 10:05:29
-9,Vania,Rosenblum,302-132-8289,Female,5,85,32,2018-03-31 00:24:32,2018-07-28 14:50:39,2018-04-19 12:32:49,2018-04-03 08:31:11
-10,Giffie,Lindblad,312-429-3236,Male,1,52,65,2018-04-15 15:34:57,2018-09-03 05:54:49,2019-01-05 06:42:27,2018-11-05 21:47:08
-11,Bili,Weigh,442-992-2387,Female,5,88,97,2018-12-01 04:31:51,2018-08-22 15:52:23,2018-12-07 23:25:46,2018-08-08 07:47:35
-12,Marlin,Stair,854-643-9633,Male,1,62,61,2018-05-30 14:08:25,2018-03-02 03:34:27,2018-03-21 22:43:12,2018-06-03 18:02:22
-13,Dacey,Corradino,364-281-2170,Female,3,82,19,2018-04-10 01:42:36,2019-01-08 17:42:03,2018-05-20 04:07:33,2018-10-14 03:57:57
-14,Caresse,Santon,221-929-9690,Female,7,97,50,2018-11-20 23:15:03,2019-01-01 18:46:08,2018-04-08 05:49:39,2018-10-04 04:00:37
-15,Trixi,Westphalen,681-738-3653,Female,7,100,87,2018-07-09 18:04:01,2018-11-21 04:36:24,2018-11-25 09:43:50,2018-09-10 07:40:31
-16,Pauline,Breslauer,821-177-6696,Female,6,63,24,2018-11-02 19:56:35,2018-02-09 07:46:00,2019-01-08 03:21:02,2018-09-18 08:18:06
-17,Meridith,Briddock,716-528-7645,Female,3,72,24,2018-11-30 20:13:26,2018-04-04 00:17:34,2018-07-12 04:42:43,2018-07-13 02:53:00
-18,Cordy,Sothern,733-369-1763,Male,6,72,5,2018-08-19 02:02:51,2018-10-01 16:39:38,2019-01-18 12:58:50,2018-04-26 11:01:54
-19,Thom,Swarbrigg,566-424-7472,Male,3,56,29,2018-01-25 19:13:40,2018-09-06 20:39:48,2018-12-23 14:49:40,2018-09-19 13:03:37
-20,Amelina,Ekell,514-321-8056,Female,5,42,43,2018-12-15 14:21:28,2018-08-07 02:53:55,2018-09-30 04:29:03,2018-08-02 18:29:13
-21,Cesare,Lahy,446-382-1825,Male,2,32,10,2018-07-08 01:24:43,2018-03-24 15:25:21,2018-11-15 18:50:17,2018-03-27 19:18:16
-22,Elnora,Cheale,489-718-9700,Female,6,12,73,2018-10-26 17:34:35,2018-12-22 05:44:59,2018-05-09 01:25:04,2018-09-21 18:40:44
-23,Hadrian,Snarie,859-447-4644,Male,1,18,4,2018-08-31 12:15:30,2018-04-16 11:19:30,2018-02-28 10:55:26,2018-10-31 07:05:29
-24,Ravid,Meriott,518-484-9203,Male,1,83,12,2018-12-01 21:38:00,2018-02-12 17:25:00,2018-09-18 16:34:45,2018-09-08 17:32:17
-25,Elenore,De Gowe,180-237-8349,Female,7,75,3,2018-03-20 20:52:00,2018-12-22 19:52:58,2018-07-06 23:18:01,2018-08-12 22:02:21
-26,Juieta,Pridie,278-696-9233,Female,1,93,57,2018-09-04 18:45:44,2018-06-04 17:38:47,2018-11-16 10:31:12,2018-07-15 10:27:10
-27,Neddie,Mosedall,956-605-6537,Male,3,94,19,2018-04-09 13:54:22,2018-04-12 10:58:25,2018-08-21 10:57:27,2018-08-22 20:29:53
-28,Octavius,Fordham,797-217-3886,Male,3,32,82,2018-11-23 16:25:55,2018-11-15 12:08:34,2018-10-28 03:46:45,2018-06-22 03:16:15
-29,Edwin,Tapson,578-261-4030,Male,7,83,39,2018-12-16 01:07:34,2018-12-27 23:39:47,2018-12-03 00:30:10,2018-03-09 18:09:49
-30,Korry,Dyos,108-910-1353,Female,3,80,93,2018-06-14 09:39:58,2018-08-12 21:17:11,2018-09-14 12:22:43,2018-04-08 23:31:12
-31,Kenn,Leist,300-420-7371,Male,5,100,90,2018-11-24 01:42:36,2018-10-27 21:31:19,2019-01-05 02:32:45,2018-11-24 06:45:27
-32,Eldredge,Kemmis,451-974-5763,Male,2,44,42,2018-11-18 11:28:34,2018-02-17 08:01:53,2018-08-21 19:25:26,2018-12-23 12:29:15
-33,Suzanne,Matthiae,560-959-3441,Female,4,56,7,2018-05-04 04:19:19,2018-04-11 11:59:42,2018-02-01 16:22:38,2018-11-15 19:58:02
-34,Josh,Callendar,719-551-3561,Male,4,61,56,2018-10-12 07:20:47,2018-06-14 12:53:31,2018-07-20 09:35:33,2018-03-26 05:54:27
-35,Ian,Thoresby,392-740-5436,Male,7,77,8,2018-03-04 19:37:23,2018-08-07 02:19:40,2018-09-24 07:54:33,2018-07-09 15:36:52
-36,Cordi,Vanichkin,773-231-4509,Female,1,99,90,2018-07-02 02:43:15,2019-01-20 04:28:54,2018-09-05 05:02:38,2019-01-08 04:08:00
-37,Ariel,Le land,917-249-6942,Male,5,9,45,2018-04-29 18:48:49,2018-06-23 08:15:12,2018-01-22 01:29:55,2019-01-03 21:24:23
-38,Delila,Assard,119-780-7155,Female,3,83,70,2018-12-01 01:09:53,2018-05-22 00:23:40,2018-05-19 13:53:02,2018-02-17 03:43:18
-39,Deny,Cullrford,100-298-0840,Female,5,50,39,2018-05-09 23:21:57,2018-05-31 23:46:32,2018-12-03 09:53:47,2019-01-12 10:16:35
-40,Frannie,Sharer,410-855-0951,Male,6,72,43,2018-05-12 06:05:03,2018-04-21 17:15:14,2018-08-30 07:18:18,2018-06-20 04:51:13
-41,Jonis,Lintin,803-933-8038,Female,4,89,84,2018-09-13 20:13:23,2018-08-28 18:20:52,2018-03-13 03:07:16,2018-03-05 07:10:50
-42,Bessie,Hackett,443-436-4804,Female,4,20,36,2018-06-13 07:34:49,2018-06-01 11:23:42,2018-10-19 12:40:14,2018-02-10 12:37:05
-43,Gayel,Tabard,704-527-0263,Female,6,40,44,2019-01-04 14:41:19,2018-04-15 00:21:22,2018-12-30 07:24:38,2018-05-02 21:10:48
-44,Ardisj,Ridder,899-877-7365,Female,1,21,84,2018-06-13 21:09:11,2018-12-02 20:33:23,2018-03-25 07:43:03,2018-10-12 11:26:41
-45,Hammad,Stroband,874-825-9046,Male,3,30,83,2018-09-14 06:04:39,2018-10-23 13:35:20,2018-03-10 08:19:18,2018-07-18 20:31:55
-46,Darius,Sorel,750-599-8665,Male,7,98,76,2018-09-17 22:09:17,2018-06-02 14:07:06,2018-12-08 15:52:18,2018-05-05 12:38:37
-47,Dido,Stockin,339-433-0084,Female,1,89,59,2018-04-30 07:42:06,2018-10-18 22:27:31,2018-11-11 05:06:09,2019-01-01 14:19:17
-48,Sholom,Cobbing,828-431-0433,Male,4,53,86,2018-11-03 23:21:35,2018-10-23 13:33:47,2018-09-03 06:25:27,2019-01-18 06:26:39
-49,Melinde,Hynd,283-446-7128,Female,5,97,84,2018-07-31 06:28:22,2018-10-24 04:00:28,2018-07-28 03:47:24,2018-02-10 19:44:46
-50,Hedvige,Fontenot,534-558-8139,Female,4,94,62,2018-07-15 15:22:39,2018-03-20 18:21:30,2018-03-04 17:34:45,2018-05-25 22:41:39
-51,Killian,Gilmartin,722-114-3059,Male,1,47,8,2018-08-24 01:48:56,2018-07-21 08:24:06,2018-11-05 06:28:14,2018-05-06 13:37:33
-52,Inness,O'Cullinane,630-746-2431,Male,3,71,93,2018-06-14 22:12:56,2018-04-12 23:09:39,2018-02-02 09:42:12,2018-11-14 01:06:15
-53,Doretta,Galiford,528-456-0043,Female,3,84,95,2018-09-09 15:03:41,2018-03-30 03:54:32,2018-10-03 10:51:33,2018-12-15 22:54:24
-54,Alicia,Kemmons,695-461-8136,Female,7,16,82,2018-03-26 20:29:48,2018-03-25 15:58:54,2018-01-30 03:52:35,2018-02-11 04:14:39
-55,Brandea,Nannizzi,215-545-0363,Female,2,86,20,2018-11-05 15:18:22,2018-02-18 13:05:40,2018-11-27 14:37:52,2018-05-04 23:08:00
-56,Jordan,Parkman,473-392-8118,Male,1,41,46,2018-09-27 14:56:49,2018-04-27 06:35:47,2018-02-04 22:54:44,2018-12-06 04:53:24
-57,Bourke,Whittaker,712-907-5729,Male,2,71,6,2018-10-19 17:00:36,2018-12-02 03:28:48,2018-04-13 01:02:14,2018-04-11 23:42:42
-58,Honey,Adriano,822-890-9194,Female,4,31,95,2018-06-18 04:19:51,2018-03-12 03:05:16,2018-02-02 00:52:15,2019-01-07 13:33:51
-59,Tracie,Warrender,617-331-6980,Male,3,69,37,2018-07-09 15:19:55,2018-07-26 13:00:13,2018-03-06 19:39:06,2018-10-05 14:56:58
-60,Billy,Eadmead,556-100-5109,Female,6,16,63,2018-10-04 07:52:43,2018-07-02 07:34:18,2018-05-03 01:03:27,2018-06-03 11:04:04
-61,Jamesy,Mellenby,554-299-7370,Male,6,53,82,2018-10-25 22:03:32,2018-05-03 02:36:00,2018-01-26 21:04:03,2018-09-15 17:06:05
-62,Goober,Mawby,765-918-7080,Male,1,70,20,2018-08-05 15:03:53,2018-09-15 16:38:46,2018-03-02 01:37:07,2018-12-15 23:40:37
-63,Zach,Tompkins,798-498-7252,Male,6,45,65,2018-06-26 09:42:40,2018-04-20 17:05:50,2018-09-18 16:58:53,2018-06-24 00:57:54
-64,Augustine,Cornbill,600-318-2489,Male,7,30,38,2018-02-08 08:08:53,2018-08-14 07:05:17,2018-10-14 01:12:13,2018-09-20 19:42:49
-65,Cort,Rosingdall,915-533-3544,Male,5,81,82,2019-01-18 02:20:54,2018-03-12 08:02:19,2018-05-13 15:10:29,2018-05-16 21:38:26
-66,Broddie,Dziwisz,404-420-5799,Male,7,3,22,2018-08-30 21:01:34,2018-03-13 06:37:11,2018-04-27 16:13:37,2018-12-09 08:39:26
-67,Clarke,Goodge,499-845-2443,Male,2,14,95,2018-04-02 10:32:42,2018-04-27 00:42:32,2018-05-29 08:36:44,2018-04-01 23:40:09
-68,Madelyn,Knight,724-972-4025,Female,6,12,57,2018-04-25 04:45:31,2018-08-13 14:34:24,2018-05-25 09:58:32,2018-09-02 04:03:25
-69,Bibby,Pace,266-593-6853,Female,2,11,87,2018-04-12 22:35:20,2018-03-10 11:28:13,2018-04-12 15:22:53,2018-04-21 18:57:47
-70,Nedi,Tambling,534-778-4478,Female,5,69,95,2018-04-27 15:43:27,2018-07-27 11:55:14,2018-04-05 07:02:04,2018-08-26 01:25:05
-71,Veronica,Alejandro,208-365-2416,Female,1,22,32,2018-04-09 03:42:21,2018-03-30 02:47:59,2018-02-08 16:43:52,2018-03-10 19:51:53
-72,Cecil,Walewicz,133-144-8036,Male,3,58,23,2018-12-26 06:56:13,2018-06-08 09:09:35,2018-02-16 16:39:15,2018-12-21 00:33:53
-73,Salem,Armell,186-906-5312,Male,7,25,47,2018-10-08 00:28:48,2018-09-03 00:55:23,2018-01-31 20:13:21,2018-04-06 20:30:43
-74,Brook,Buckston,714-565-2523,Female,1,13,92,2018-02-12 13:53:51,2019-01-10 22:17:38,2018-08-03 18:27:58,2018-09-06 10:38:45
-75,Benson,MacParlan,881-685-7375,Male,7,95,39,2018-04-07 06:40:34,2018-05-10 22:04:48,2018-10-06 01:07:35,2018-12-25 18:36:48
-76,Lukas,Kittle,845-541-8229,Male,1,52,85,2018-04-14 08:08:32,2018-08-21 12:21:22,2018-11-17 23:14:34,2018-06-21 02:48:31
-77,Jessa,Claus,611-425-9914,Female,7,99,56,2018-10-22 02:50:57,2018-11-25 03:44:27,2018-06-30 15:33:40,2018-07-02 03:59:50
-78,Hieronymus,Schurig,840-630-9703,Male,6,98,77,2018-01-24 18:01:57,2018-06-05 08:22:05,2018-07-12 07:09:14,2018-07-31 08:09:20
-79,Quintilla,Risborough,367-606-2805,Female,4,15,15,2018-10-24 13:48:18,2018-12-16 11:17:17,2018-05-17 19:15:19,2018-06-22 16:46:31
-80,Arv,Billingsley,438-164-1166,Male,3,54,65,2018-07-21 13:35:44,2018-10-07 14:37:53,2018-11-16 15:38:23,2018-10-19 21:07:38
-81,Happy,Rodrigo,427-752-3843,Female,2,28,25,2018-01-28 21:31:16,2018-07-06 04:48:40,2018-02-19 10:50:55,2018-10-20 15:58:59
-82,Cos,Chalfain,609-228-7131,Male,6,12,80,2018-02-24 18:06:52,2018-07-21 03:12:50,2018-02-22 09:53:50,2018-12-04 18:31:35
-83,Dael,Crother,249-141-1807,Male,3,11,86,2018-09-09 23:04:41,2018-02-24 13:19:31,2018-11-05 15:18:33,2018-12-23 18:55:24
-84,Evin,Tettley,974-233-5051,Male,1,57,61,2018-12-26 14:24:36,2018-05-28 19:09:40,2018-09-18 10:01:10,2018-04-04 21:11:05
-85,Bethanne,Hynson,395-152-0590,Female,5,51,39,2018-11-12 01:12:14,2018-07-21 02:07:45,2019-01-06 17:16:22,2018-11-15 16:58:09
-86,Adrian,Sapson,962-473-8077,Female,4,19,63,2018-02-13 14:27:28,2018-06-26 14:23:38,2018-09-17 04:28:22,2018-07-19 18:25:11
-87,Zaneta,Alforde,961-173-4877,Female,2,70,67,2018-11-04 11:27:20,2018-06-09 18:02:24,2018-08-17 03:13:55,2018-09-02 00:28:34
-88,Grady,Kobiera,687-321-5987,Male,1,62,96,2018-06-23 20:06:04,2018-02-08 04:03:21,2018-12-05 23:36:55,2018-10-26 14:17:35
-89,Dominique,Carslake,230-143-4475,Male,4,38,64,2018-05-19 01:14:57,2018-09-24 20:05:20,2018-06-26 12:15:04,2018-10-30 18:21:59
-90,Julietta,Gude,585-759-9173,Female,7,59,75,2018-11-25 20:42:33,2018-08-31 21:59:40,2018-12-31 21:04:44,2018-11-23 04:31:37
-91,Lothaire,Macrow,510-775-2964,Male,1,91,59,2018-04-22 14:12:47,2018-07-05 11:15:49,2018-06-04 12:44:19,2018-10-12 10:28:46
-92,Agneta,Trematick,391-964-4713,Female,6,6,91,2018-01-31 13:00:06,2018-11-24 20:48:15,2018-07-27 00:12:28,2018-02-17 08:41:55
-93,Pet,Padgett,690-476-6060,Female,2,17,84,2018-03-21 11:54:39,2018-03-08 01:51:40,2018-12-21 16:41:23,2018-02-07 14:47:44
-94,Barclay,Binion,516-626-1251,Male,4,49,46,2018-10-19 13:16:50,2018-06-25 01:26:53,2018-02-23 06:44:17,2018-10-08 11:01:59
-95,Dillie,Quilleash,676-581-4684,Male,3,27,14,2019-01-02 01:50:23,2019-01-02 04:16:15,2018-07-21 11:54:44,2018-03-06 02:17:37
-96,Marissa,Twinterman,855-444-0657,Female,6,52,62,2018-07-27 09:41:53,2018-03-18 21:07:51,2018-09-05 04:45:41,2018-05-01 14:08:21
-97,Perl,Braun,639-977-9224,Female,7,93,88,2018-03-12 07:21:26,2018-11-12 18:45:36,2018-09-10 10:45:15,2018-09-30 10:28:01
-98,Gwenette,Jozef,804-642-8405,Female,1,67,64,2018-05-02 20:04:22,2018-05-25 14:26:42,2018-12-22 04:00:00,2018-04-27 17:36:21
-99,Gabbi,Nassey,998-336-4318,Female,3,35,79,2018-11-13 07:58:46,2018-02-23 01:11:32,2018-11-08 17:30:31,2018-07-24 03:14:25
-100,Susana,Ebben,826-329-4492,Female,5,9,98,2018-07-08 08:40:45,2018-07-12 00:41:34,2018-10-12 15:33:58,2018-06-16 15:33:32
-101,Mallorie,Marsters,637-209-9862,Female,5,18,34,2018-07-30 15:18:09,2018-09-23 17:22:45,2018-12-21 17:11:36,2018-07-06 19:42:09
-102,Marley,Bethell,102-272-8411,Female,6,70,7,2018-10-08 12:25:07,2018-04-13 04:50:24,2018-03-01 09:20:29,2018-04-05 02:02:24
-103,Genvieve,McMeekin,679-490-4369,Female,3,7,25,2018-02-25 15:34:48,2018-06-24 16:32:10,2018-07-03 20:04:57,2018-12-11 02:53:30
-104,Bartram,Leahey,830-491-8399,Male,3,100,57,2018-10-18 18:39:57,2018-04-08 02:16:41,2018-07-20 01:10:35,2018-06-20 09:41:56
-105,Livvyy,Thornewell,872-138-4425,Female,6,58,58,2019-01-17 09:36:59,2018-04-13 07:25:55,2018-11-28 12:44:14,2018-07-14 04:05:13
-106,Gabriella,Cornish,202-570-6308,Female,7,79,67,2018-08-25 01:20:02,2018-11-30 22:05:13,2018-10-21 11:47:58,2018-11-20 04:28:53
-107,Humberto,Lanfranchi,636-653-6377,Male,3,18,85,2018-08-21 03:38:03,2018-09-01 07:20:38,2018-04-27 04:23:16,2018-08-15 14:45:48
-108,Othella,Asaaf,386-100-6369,Female,4,59,93,2018-05-20 17:17:26,2018-10-23 01:32:55,2018-09-20 03:27:06,2018-12-17 21:11:18
-109,Mil,Booij,494-405-6566,Female,5,88,97,2018-07-12 19:07:28,2018-02-14 12:57:18,2018-12-11 19:22:18,2018-11-23 12:41:41
-110,Orel,Blaxland,309-372-2193,Female,7,30,93,2018-11-18 23:18:41,2018-06-21 19:30:46,2018-09-15 13:43:25,2018-02-04 09:51:54
-111,Sibeal,Fennelow,543-514-6831,Female,6,92,56,2018-10-09 14:48:56,2018-12-18 22:29:16,2018-04-09 03:30:48,2018-04-04 18:11:19
-112,Sidnee,Thorby,687-609-9785,Male,2,30,12,2018-03-28 10:27:39,2018-07-01 07:12:38,2018-02-16 12:58:34,2018-11-16 01:37:38
-113,Lora,Ridewood,164-690-9005,Female,1,37,55,2018-11-13 21:13:39,2018-09-06 23:00:39,2019-01-17 10:31:22,2018-12-05 22:14:39
-114,Velma,Brolan,359-817-6834,Female,6,26,38,2019-01-16 21:47:15,2018-11-25 16:54:49,2018-10-07 01:07:24,2018-10-11 01:14:02
-115,Vassili,Kirkbride,287-966-8144,Male,6,52,16,2018-12-20 23:23:45,2018-12-21 08:42:29,2018-02-25 02:07:40,2018-06-28 04:39:19
-116,Nettie,Bulmer,357-176-0651,Female,5,16,44,2018-09-19 15:07:17,2018-03-16 17:55:44,2018-09-06 22:48:36,2018-04-28 23:48:07
-117,Elyn,Matthew,176-489-8486,Female,4,25,95,2018-04-10 12:26:47,2019-01-10 03:12:46,2018-07-28 23:51:46,2018-07-07 16:15:50
-118,Nat,Enderlein,480-924-1165,Male,4,94,42,2018-09-10 06:56:16,2018-04-24 02:55:47,2018-03-17 15:48:28,2018-04-30 06:11:27
-119,Allister,Laundon,267-536-1588,Male,6,86,21,2018-08-21 09:06:13,2018-11-26 09:47:45,2018-04-05 15:01:24,2018-01-21 02:29:49
-120,Suzy,Dubery,631-694-1983,Female,5,54,24,2018-07-12 11:08:05,2018-07-21 06:22:14,2018-09-04 03:44:08,2018-11-14 04:59:58
-121,Reinaldo,Assel,927-809-0971,Male,3,4,44,2018-10-17 17:15:04,2018-12-24 21:34:45,2019-01-15 07:39:25,2018-02-06 19:16:38
-122,Claudell,Reckus,196-391-8789,Male,1,34,75,2018-08-12 02:29:09,2018-11-28 02:43:43,2018-08-21 09:11:37,2018-07-14 12:51:48
-123,Kary,Jee,656-508-4636,Female,2,67,47,2018-12-17 10:42:46,2018-05-16 14:59:10,2018-12-23 02:44:31,2018-12-19 01:28:44
-124,Giustino,Tinan,292-383-3412,Male,7,100,96,2018-02-05 08:16:51,2018-04-10 02:46:18,2018-12-07 23:33:47,2018-03-25 18:50:56
-125,Matthew,Palmer,562-655-9301,Male,5,87,100,2018-07-14 00:43:30,2018-01-22 19:53:17,2018-05-18 08:37:49,2018-04-16 10:03:59
-126,Helge,Paradyce,454-788-5166,Female,4,31,87,2018-12-29 12:15:52,2018-02-08 19:33:17,2018-12-29 06:51:56,2018-11-11 03:52:39
-127,Anthe,Cullinan,517-178-4457,Female,4,61,14,2018-07-10 05:46:54,2018-12-22 09:39:32,2018-12-06 16:59:53,2018-12-30 08:24:22
-128,Cindy,Bellie,284-376-7890,Female,6,26,95,2018-02-04 23:09:03,2018-09-06 16:30:50,2018-05-25 00:39:04,2018-12-20 19:03:33
-129,Deva,Branthwaite,272-973-9361,Female,5,4,74,2018-06-05 05:56:15,2018-06-26 03:23:22,2018-06-06 00:42:51,2018-12-01 12:32:06
-130,Karen,Frank,495-748-4715,Female,6,55,54,2018-10-26 02:19:25,2018-04-11 12:50:31,2019-01-12 15:29:42,2018-12-23 04:07:28
-131,Batsheva,Wressell,364-562-3308,Female,2,93,2,2018-12-08 11:50:47,2018-10-05 08:11:01,2018-12-29 23:04:37,2018-10-13 09:59:34
-132,Damian,Devon,617-622-5769,Male,1,81,84,2018-03-03 22:21:45,2018-02-09 02:46:29,2018-02-04 03:39:23,2018-06-24 17:15:50
-133,Mischa,Feldbrin,941-794-4981,Male,2,17,93,2018-07-05 04:20:06,2018-11-22 10:46:44,2018-10-25 23:05:17,2018-08-04 04:19:58
-134,Remus,Mochar,964-251-2864,Male,2,78,88,2018-05-08 23:51:18,2019-01-19 19:38:55,2018-06-13 09:14:44,2019-01-10 12:37:02
-135,Cleon,Ambroise,790-235-3681,Male,3,38,95,2018-08-11 11:07:40,2018-07-06 04:03:45,2018-12-18 09:47:22,2018-03-31 14:59:58
-136,Sidney,Duthy,739-113-2227,Male,4,95,79,2018-09-25 19:41:46,2018-09-05 07:30:26,2018-03-21 18:52:33,2018-04-25 13:58:28
-137,Xavier,Gon,942-422-7024,Male,5,35,47,2018-09-05 22:08:31,2018-05-10 20:19:08,2018-06-25 18:32:07,2018-04-11 04:44:32
-138,Ara,Gwyllt,450-595-4186,Male,4,4,28,2018-10-28 21:12:39,2018-02-13 08:26:45,2018-06-16 21:44:05,2018-08-01 11:08:43
-139,Libbey,Millwall,764-602-4598,Female,7,89,31,2019-01-14 17:04:08,2018-02-22 03:01:08,2018-02-27 08:56:59,2018-11-09 13:18:23
-140,Rosalynd,Wellard,798-378-3350,Female,4,58,44,2018-07-13 19:23:05,2018-11-20 20:46:20,2018-01-31 02:28:58,2018-10-25 13:31:05
-141,Reinaldo,O'Dea,896-868-5961,Male,2,72,69,2018-08-08 04:21:04,2018-06-23 08:34:34,2018-08-31 08:41:08,2018-11-19 09:43:28
-142,Veradis,Holyard,706-725-9446,Female,3,78,56,2018-09-05 17:38:33,2018-05-04 13:04:38,2018-11-05 12:46:29,2018-09-25 08:56:54
-143,Birdie,Collerd,319-380-7196,Female,2,22,1,2018-10-16 19:45:08,2018-08-05 06:38:47,2018-11-22 11:10:39,2018-10-20 09:48:22
-144,Sada,Schout,825-204-2108,Female,7,88,10,2018-04-13 13:44:13,2018-06-06 14:39:37,2018-11-09 10:29:00,2018-09-15 05:38:03
-145,Ambros,Mayoral,819-227-9360,Male,7,50,91,2018-03-27 15:27:05,2018-08-02 02:18:35,2018-06-27 17:10:44,2018-07-21 14:18:29
-146,Emile,Abraham,622-769-6584,Male,6,10,44,2018-09-15 10:24:46,2018-07-10 07:58:58,2018-06-18 22:49:01,2018-04-20 09:07:25
-147,Lira,Reboulet,983-623-7858,Female,4,54,39,2018-06-27 09:11:33,2018-10-01 07:52:19,2018-10-21 09:48:43,2018-09-09 22:17:51
-148,Bucky,Dubery,127-215-3377,Male,1,13,5,2018-02-15 22:03:55,2018-10-15 16:35:39,2018-02-20 10:22:26,2018-11-05 12:56:42
-149,Ced,Meert,482-685-6526,Male,1,85,40,2018-11-09 04:11:10,2019-01-16 14:34:41,2018-05-22 12:18:01,2018-03-13 13:09:46
-150,Hamlen,Boyson,723-641-9907,Male,7,3,25,2018-07-08 10:27:28,2018-09-06 08:34:00,2018-10-19 17:18:48,2018-02-22 19:31:50
-151,Scotty,Bromell,605-116-4137,Male,4,44,83,2018-02-03 11:10:35,2018-03-05 15:14:24,2018-06-20 01:47:46,2018-04-09 17:34:46
-152,Betti,Cuttelar,947-869-1635,Female,7,31,68,2018-07-14 23:35:44,2018-09-07 08:03:02,2018-05-02 15:32:32,2018-02-26 15:33:55
-153,Lothario,Whellams,959-671-9821,Male,3,91,85,2018-12-17 02:20:59,2018-08-31 16:54:24,2018-09-30 18:16:21,2018-06-06 21:30:55
-154,Maurits,Eisenberg,612-730-0598,Male,5,95,2,2018-07-11 05:38:06,2018-01-26 15:01:11,2018-11-11 22:30:48,2018-04-16 07:20:25
-155,Jeffry,Wilprecht,420-521-7374,Male,2,2,19,2018-07-31 12:28:42,2018-03-19 23:14:58,2018-11-29 11:25:28,2018-02-19 02:42:46
-156,Victor,Grinter,303-176-4062,Male,3,28,82,2018-04-15 17:22:33,2018-04-26 11:56:35,2018-10-06 23:26:58,2018-04-05 07:32:13
-157,Sonnie,Lobe,794-424-7798,Male,1,68,99,2018-12-23 13:36:28,2018-11-24 21:42:21,2018-03-23 12:37:58,2018-06-26 15:29:05
-158,Krishna,Fletcher,520-484-4343,Male,5,77,26,2018-05-15 11:17:35,2018-12-22 22:52:12,2018-05-10 22:50:32,2018-05-05 21:38:09
-159,Kerrie,Bartholomieu,654-465-0213,Female,4,7,56,2018-11-02 19:08:33,2018-01-27 09:11:25,2018-12-13 16:53:49,2018-05-06 13:16:06
-160,Rasla,Dibbs,192-692-8022,Female,5,58,38,2018-05-13 16:41:12,2018-12-17 01:00:54,2018-08-19 15:33:37,2019-01-11 00:33:40
-161,Mellisa,Prinn,884-570-1200,Female,3,2,44,2018-06-17 15:55:01,2018-02-09 22:16:46,2018-01-21 11:35:44,2018-03-22 01:43:34
-162,Shandeigh,Prise,284-912-2475,Female,1,24,63,2018-04-16 10:09:01,2018-09-06 02:59:22,2018-05-21 00:23:45,2018-05-18 15:59:58
-163,Aline,Pockey,145-621-3349,Female,5,46,99,2018-07-08 01:50:19,2018-07-23 03:08:04,2018-07-25 04:19:37,2018-08-02 04:28:24
-164,Quinton,Filon,646-285-5370,Male,7,71,90,2018-09-26 09:06:43,2018-09-15 14:33:28,2018-11-23 04:26:39,2019-01-20 06:07:08
-165,Brena,Bentke,336-549-2800,Female,6,52,73,2018-02-07 03:32:01,2018-09-21 09:41:58,2018-08-01 23:49:56,2018-04-24 04:41:42
-166,Kessia,Bentote,261-293-3478,Female,7,34,27,2019-01-03 17:12:12,2018-01-28 01:36:43,2018-09-06 07:29:49,2018-07-16 11:22:52
-167,Serene,Jellett,617-490-3045,Female,4,8,12,2018-08-01 05:18:42,2018-08-21 11:58:23,2018-02-17 11:36:57,2018-12-29 13:38:10
-168,Drugi,Chainey,642-531-9743,Male,1,27,14,2019-01-06 06:11:34,2018-11-02 16:07:48,2019-01-07 21:38:11,2018-10-26 19:58:30
-169,Benjamen,Angric,161-599-1534,Male,6,80,80,2018-03-25 19:49:25,2018-08-23 06:12:13,2018-05-09 05:22:56,2018-04-03 12:50:17
-170,Augustine,de Werk,986-128-9745,Male,7,40,35,2018-09-07 12:55:20,2018-09-15 16:46:53,2018-02-12 14:00:28,2018-02-20 11:54:00
-171,Rorke,Laidlaw,818-603-8046,Male,1,99,95,2018-12-25 21:27:03,2018-12-15 12:30:46,2018-11-06 04:14:51,2018-11-30 18:51:21
-172,Clywd,Cawdron,118-860-8931,Male,3,12,48,2018-10-28 00:46:43,2018-07-04 11:34:45,2018-01-24 04:40:57,2018-11-08 13:52:59
-173,Maudie,Habbijam,781-157-2628,Female,1,79,35,2018-11-30 12:07:21,2018-03-07 00:30:04,2018-11-14 11:01:28,2018-12-25 08:37:17
-174,Gina,Adamovitz,873-120-9534,Female,1,99,41,2018-10-15 08:16:08,2018-02-02 10:04:20,2018-03-11 05:28:50,2018-08-15 16:28:04
-175,Dorey,Berkeley,856-131-2818,Female,5,8,45,2018-06-14 02:47:10,2018-12-04 16:14:29,2018-02-20 02:19:22,2018-04-14 04:00:28
-176,Ashli,Stanistrete,507-365-9155,Female,3,50,85,2019-01-15 15:53:25,2018-09-08 00:21:37,2018-09-08 14:26:57,2018-08-12 18:04:42
-177,Aleta,Jessard,640-184-4123,Female,1,63,42,2018-12-13 11:45:35,2018-07-13 05:43:20,2018-07-19 01:29:59,2018-08-19 10:17:25
-178,Conney,Tansly,619-324-6788,Male,7,18,68,2018-02-06 08:22:33,2018-02-09 16:00:31,2018-02-17 20:35:12,2018-09-01 00:28:07
-179,Chaddie,Curling,967-821-4721,Male,3,50,28,2018-04-18 18:52:52,2018-10-04 03:42:09,2018-11-06 23:55:33,2018-12-23 04:01:13
-180,Skyler,Shard,173-185-5465,Male,7,48,76,2018-03-21 23:42:54,2018-05-22 07:52:04,2018-02-28 18:02:47,2018-08-20 09:21:32
-181,Alair,Bruggen,225-747-4685,Male,5,45,4,2018-03-13 03:01:40,2018-04-30 23:24:34,2018-04-25 03:14:01,2018-07-26 19:41:29
-182,Forester,Rackstraw,111-188-6870,Male,6,11,43,2018-09-26 04:05:12,2018-08-25 04:59:08,2018-02-09 16:50:13,2018-06-10 06:53:15
-183,Stinky,Klassmann,628-447-6394,Male,5,42,77,2018-12-29 18:37:51,2018-01-31 04:16:33,2018-05-27 09:10:31,2018-02-03 20:09:44
-184,Gabriella,Weeds,978-256-0633,Female,3,17,50,2018-10-10 14:56:11,2019-01-19 07:53:13,2018-08-28 10:02:39,2018-05-03 15:01:38
-185,Ingeborg,Swine,765-792-5768,Female,5,39,37,2018-10-13 03:17:12,2018-11-25 20:17:22,2018-08-25 21:54:45,2018-12-04 07:44:58
-186,Kain,Everingham,945-715-9320,Male,7,52,80,2018-10-22 01:58:35,2018-04-16 11:48:35,2018-02-22 17:07:19,2018-12-15 01:59:16
-187,Noble,Swadlinge,928-764-8545,Male,7,24,75,2018-07-02 20:12:53,2018-07-19 00:23:08,2018-08-06 21:50:01,2018-05-04 08:56:30
-188,Amber,Shropshire,983-928-3309,Female,1,100,37,2018-03-18 04:32:13,2018-08-09 03:16:35,2018-11-21 04:25:29,2018-10-03 06:20:54
-189,Hedy,Sapena,301-104-2652,Female,3,37,35,2018-07-04 12:54:06,2018-10-12 20:33:48,2018-04-10 07:32:31,2018-03-17 10:12:03
-190,Nerissa,Jedras,425-605-9508,Female,1,18,31,2019-01-12 14:05:35,2018-10-19 14:28:35,2018-06-14 21:07:02,2018-03-22 05:53:32
-191,Terrel,Kear,681-621-2157,Male,3,98,45,2018-02-20 10:42:05,2018-11-08 04:29:14,2018-03-09 02:33:02,2018-07-04 18:27:00
-192,Dennison,Theodoris,722-911-1627,Male,6,76,32,2018-11-18 05:15:23,2018-05-13 02:02:05,2019-01-15 21:45:30,2018-04-13 17:24:17
-193,Chrystel,Ferentz,497-580-2963,Female,2,96,6,2018-12-11 03:17:23,2018-05-23 04:35:09,2018-11-01 17:51:50,2018-08-02 02:44:29
-194,Devland,Butchers,313-172-9223,Male,6,42,38,2019-01-16 07:17:37,2018-11-09 17:37:48,2018-04-10 08:57:30,2018-05-02 13:47:28
-195,Simon,Astupenas,981-207-6441,Male,2,57,43,2018-11-07 15:02:00,2018-01-25 17:30:33,2018-07-13 05:08:19,2018-10-29 18:37:22
-196,Jordan,Attride,447-912-6034,Female,7,25,37,2018-06-06 14:29:43,2018-06-30 03:49:38,2018-12-09 18:11:23,2018-01-30 19:12:46
-197,Clerissa,Forsard,485-444-1412,Female,2,88,66,2018-09-19 00:56:28,2018-07-23 15:36:37,2018-11-17 11:43:09,2018-11-17 17:11:53
-198,Alastair,Toth,495-980-1189,Male,1,62,59,2018-03-04 17:35:31,2018-06-18 07:02:22,2018-07-30 02:31:33,2018-07-20 14:21:29
-199,Aldo,Bruton,488-482-2130,Male,2,33,99,2018-06-09 23:01:18,2018-08-22 04:11:53,2018-07-17 05:55:24,2018-04-08 10:13:23
-200,Lorin,Mourant,953-195-5245,Male,1,78,78,2018-02-04 07:07:36,2018-08-05 08:03:40,2018-11-22 13:04:30,2018-03-10 12:32:28
-201,Nonnah,Dreini,137-834-9350,Female,1,20,84,2018-11-23 21:47:29,2018-07-02 22:51:42,2018-05-28 23:33:57,2018-06-11 11:55:17
-202,Winnie,Muris,865-681-2171,Female,2,31,76,2018-10-29 21:53:21,2018-10-12 17:59:08,2018-03-21 12:37:41,2018-06-26 05:24:49
-203,Marybelle,Wedmore.,566-812-6518,Female,6,94,20,2018-04-08 17:51:07,2018-01-25 19:29:58,2018-05-29 08:33:21,2018-12-18 09:29:05
-204,Christophorus,La Batie,776-298-7693,Male,2,100,44,2018-11-26 01:22:44,2018-11-28 19:33:42,2018-01-26 20:34:09,2018-10-15 19:29:24
-205,Erhart,Laydon,425-854-5387,Male,7,15,35,2018-11-09 09:53:34,2018-11-11 01:43:14,2019-01-16 12:20:32,2018-08-01 09:34:47
-206,Myrta,Playfair,512-835-4158,Female,4,8,51,2018-05-04 15:28:01,2018-05-11 22:03:31,2018-05-21 02:28:31,2018-03-17 08:25:48
-207,Tybie,McGhee,155-902-0043,Female,5,25,55,2018-03-19 17:19:34,2018-11-11 01:53:03,2018-06-01 16:21:08,2018-08-21 09:39:26
-208,Augusto,Chelam,595-490-1187,Male,2,20,22,2018-02-26 17:51:20,2018-04-15 11:38:21,2018-11-29 19:44:24,2018-05-17 16:31:14
-209,Louisette,Firbanks,365-745-5229,Female,1,51,35,2018-04-17 19:42:14,2018-03-19 09:56:15,2018-04-22 09:48:27,2018-11-20 05:52:44
-210,Brucie,Speers,688-351-7130,Male,3,65,20,2018-09-22 06:54:04,2018-08-14 23:05:08,2018-03-13 17:38:11,2018-12-29 06:47:13
-211,Nathanial,Ayliff,974-831-8727,Male,1,23,95,2018-09-02 06:27:24,2018-06-18 22:51:54,2018-12-25 13:15:52,2018-03-09 05:29:17
-212,Shawnee,McClenan,177-754-4767,Female,4,54,82,2018-04-17 14:01:32,2018-08-15 14:02:31,2019-01-04 03:04:30,2018-10-20 15:25:45
-213,Giavani,Cay,976-869-6321,Male,1,92,27,2018-07-22 17:43:03,2018-02-20 03:19:34,2018-05-06 13:52:36,2018-12-05 18:14:41
-214,Claudia,Fazackerley,454-663-9623,Female,4,26,25,2019-01-07 16:15:34,2018-03-06 15:31:53,2018-02-06 23:08:37,2018-11-13 17:45:22
-215,Nevil,Phelp,255-488-7211,Male,5,22,40,2018-09-11 19:55:44,2018-05-13 12:07:30,2018-08-27 02:20:49,2019-01-17 21:11:30
-216,Elle,Antal,303-999-5794,Female,4,23,5,2018-02-15 19:05:09,2018-10-15 01:01:31,2018-12-31 16:08:16,2018-03-23 15:16:38
-217,Brnaby,Dewsbury,173-850-9221,Male,3,82,22,2018-05-19 14:05:10,2018-12-30 00:25:40,2018-09-27 06:32:26,2018-04-25 02:17:22
-218,Ronda,Dranfield,835-657-5998,Female,5,61,54,2018-10-18 03:51:07,2018-07-20 06:01:19,2018-11-17 15:09:04,2018-12-04 20:06:06
-219,Vania,Brannan,288-990-8986,Female,3,88,25,2018-07-03 11:19:29,2018-11-13 09:44:15,2018-02-28 13:57:43,2018-02-28 05:42:56
-220,Jessy,Baggelley,848-274-4914,Female,7,38,75,2018-12-04 13:44:16,2018-11-20 01:53:14,2018-02-25 03:07:40,2018-06-17 19:02:59
-221,Paxon,Kensall,262-215-6295,Male,1,3,63,2018-08-12 21:30:25,2018-11-24 01:13:12,2018-06-04 19:20:59,2018-08-16 14:48:22
-222,Tana,O'Donohue,514-853-5855,Female,4,99,1,2018-03-21 06:05:58,2018-05-01 00:39:55,2018-03-10 21:55:54,2018-10-31 10:25:10
-223,Thomasina,Gibbons,501-364-8398,Female,3,37,56,2018-11-22 03:07:49,2018-06-30 16:44:00,2018-08-05 18:41:13,2019-01-07 06:21:44
-224,Bellanca,Golston,673-979-3362,Female,1,57,53,2018-05-02 00:04:42,2018-01-21 22:51:57,2018-08-20 18:40:05,2018-02-09 08:22:11
-225,Maureene,Drejer,769-639-6612,Female,7,49,17,2018-02-20 12:00:24,2018-09-01 04:44:08,2018-08-15 22:04:06,2018-09-04 06:40:59
-226,Beatrisa,Blanche,914-368-0909,Female,4,47,77,2018-05-21 06:41:29,2018-10-04 19:21:53,2018-07-11 04:03:32,2018-04-05 01:26:21
-227,Melita,Filipczak,743-692-1202,Female,2,18,45,2018-04-04 09:49:49,2018-03-30 16:30:51,2019-01-09 03:34:15,2018-02-05 00:54:24
-228,Jean,Rzehor,983-469-9959,Male,2,76,95,2018-08-17 14:15:05,2018-09-25 10:05:56,2018-09-04 10:03:08,2018-02-16 04:46:04
-229,Netti,Odeson,140-282-6021,Female,7,46,99,2018-04-08 08:08:21,2018-05-07 06:33:55,2018-03-10 06:30:39,2018-08-27 01:08:06
-230,Lark,Komorowski,889-340-2588,Female,6,36,54,2018-05-27 12:55:35,2018-11-18 05:20:17,2018-11-19 04:18:03,2018-04-24 14:21:19
-231,Mae,Howells,972-510-2059,Female,2,54,97,2019-01-17 19:46:20,2018-07-10 05:29:24,2018-07-06 16:03:28,2018-07-18 17:41:40
-232,Brewer,Wolstencroft,243-516-4986,Male,4,68,84,2018-07-19 01:48:48,2018-12-31 10:44:05,2018-05-25 20:15:52,2018-04-27 22:38:48
-233,Chrystel,Buist,285-587-4608,Female,3,66,90,2018-02-06 05:43:09,2018-06-10 20:45:59,2018-11-27 09:40:02,2018-12-30 22:43:43
-234,Nicola,Feltoe,102-119-8958,Female,6,30,100,2018-05-26 00:46:42,2018-03-17 00:12:12,2019-01-16 18:40:38,2018-01-27 09:20:23
-235,Engelbert,Matveiko,868-192-6148,Male,3,3,6,2018-05-27 06:16:04,2018-12-24 00:22:43,2018-04-18 07:21:59,2018-12-03 08:49:41
-236,Lezley,M'Chirrie,749-737-2204,Male,4,16,17,2018-07-06 21:48:48,2018-02-09 05:08:49,2018-09-05 10:59:16,2018-03-22 01:13:02
-237,Josy,Larkins,826-241-0108,Female,1,8,18,2018-10-26 03:28:37,2018-02-24 22:01:17,2018-12-29 22:31:43,2018-05-23 06:28:27
-238,Armando,Girt,296-631-5842,Male,1,90,62,2018-03-14 20:02:06,2018-02-25 03:43:37,2018-05-29 18:43:28,2018-10-10 16:04:29
-239,Nevins,Boch,243-865-0986,Male,7,87,34,2018-04-27 05:11:05,2018-06-13 18:02:47,2018-04-17 23:28:45,2018-03-11 20:07:50
-240,Gordan,MacHoste,194-807-0099,Male,2,8,10,2018-11-30 11:09:40,2018-03-19 08:40:39,2018-07-07 07:58:57,2018-12-03 15:54:45
-241,Vlad,Urling,756-416-9308,Male,6,44,75,2018-07-01 08:10:44,2018-06-25 11:50:00,2018-02-18 09:41:26,2019-01-20 16:56:43
-242,Karney,Batteson,884-299-0885,Male,3,4,70,2018-04-21 18:15:47,2018-03-17 15:26:35,2018-09-21 06:49:36,2018-03-03 10:02:05
-243,Shep,Croisier,182-249-1703,Male,2,25,64,2018-11-27 15:36:38,2018-03-27 09:16:11,2018-07-27 14:14:49,2018-08-31 21:47:02
-244,Jackelyn,Franschini,203-947-2285,Female,5,93,18,2018-05-11 18:05:34,2018-07-09 02:56:23,2018-05-26 13:31:09,2018-11-12 13:51:54
-245,Kingston,Brazier,388-460-9266,Male,5,67,43,2018-11-17 16:06:03,2018-10-22 21:39:40,2018-11-03 04:17:45,2018-08-23 17:37:21
-246,Derwin,Postin,334-746-9914,Male,2,9,74,2018-04-28 10:39:48,2018-10-16 21:01:17,2019-01-17 12:54:27,2018-09-18 06:08:12
-247,Rustie,Boddington,499-187-3081,Male,7,75,92,2018-07-09 18:05:33,2018-09-15 11:50:52,2018-06-10 05:00:00,2018-09-23 05:52:23
-248,Araldo,MacConnulty,922-950-0398,Male,4,66,28,2018-11-11 12:46:18,2018-09-10 16:05:23,2018-09-21 00:16:24,2018-10-10 19:06:57
-249,Brear,Zuanelli,948-803-5705,Female,7,88,15,2018-03-03 08:12:37,2018-10-06 14:14:00,2018-09-06 21:02:50,2018-04-04 06:13:25
-250,Ruttger,Cartan,503-123-4758,Male,6,8,46,2018-07-02 10:33:15,2018-10-11 08:51:25,2018-02-16 18:01:35,2018-05-15 00:25:35
-251,Leta,Gravenell,798-643-9817,Female,6,19,50,2018-09-26 18:01:14,2018-12-31 01:08:01,2018-08-12 01:18:26,2018-08-12 11:04:31
-252,Nanny,Spellward,298-614-5133,Female,2,78,35,2018-07-31 14:38:53,2018-07-11 11:50:42,2018-06-24 03:47:24,2018-08-23 06:25:24
-253,Garwin,Overil,981-304-0345,Male,1,66,62,2018-02-20 05:57:01,2018-02-04 20:02:37,2018-04-21 16:30:20,2018-07-27 08:45:03
-254,Ancell,Bromidge,677-576-3535,Male,1,54,47,2018-02-27 19:07:09,2018-07-07 17:41:39,2018-03-14 05:31:23,2018-11-18 21:30:30
-255,Harmonia,McIleen,610-808-3838,Female,5,76,7,2018-05-09 14:49:35,2018-04-12 02:30:13,2019-01-17 21:59:23,2018-04-20 05:21:50
-256,Ginni,See,809-189-3574,Female,7,93,45,2018-04-11 20:22:07,2018-08-17 13:12:57,2018-04-20 06:30:33,2018-04-17 00:12:41
-257,Christi,Doorly,614-386-8893,Female,7,23,11,2018-08-09 05:01:14,2018-03-11 21:19:53,2018-05-09 23:37:07,2018-03-27 22:07:11
-258,Perice,Severy,433-906-1030,Male,1,18,5,2018-09-01 12:30:04,2018-09-13 05:34:16,2019-01-16 22:35:35,2019-01-09 20:31:49
-259,Dulsea,Yokel,279-965-4206,Female,2,93,50,2018-10-31 22:48:09,2018-07-13 09:25:20,2018-02-16 09:15:58,2018-05-12 21:55:26
-260,Marge,Cheng,549-350-8693,Female,2,10,68,2018-09-01 18:42:35,2018-04-07 10:58:53,2018-07-30 16:05:15,2018-10-20 05:45:19
-261,Baron,McIlmorow,283-456-4615,Male,2,41,89,2018-11-07 01:23:03,2018-12-20 18:25:28,2018-08-31 12:49:04,2018-05-27 07:39:41
-262,Rabbi,Beaglehole,904-724-1771,Male,2,94,67,2018-11-04 08:21:47,2018-12-28 20:54:40,2018-12-08 10:20:14,2018-11-29 19:47:40
-263,Olvan,Asher,310-502-8368,Male,7,76,67,2018-03-15 22:02:48,2018-07-30 12:08:26,2018-12-06 22:49:46,2018-06-17 22:03:05
-264,Yard,Beldon,209-784-5636,Male,7,90,9,2018-07-24 02:02:11,2018-05-11 03:54:15,2018-08-20 18:46:55,2018-03-10 04:11:33
-265,Enriqueta,Barraclough,332-372-0081,Female,6,75,69,2018-08-18 05:08:19,2018-01-27 11:36:23,2018-05-23 08:59:06,2018-02-11 04:14:36
-266,Alli,Smallcomb,255-741-1276,Female,2,8,1,2018-12-06 01:19:35,2018-07-16 16:10:12,2018-07-16 13:31:05,2018-10-26 07:03:09
-267,Shay,Amsden,816-821-9426,Male,6,25,35,2018-03-15 01:09:39,2018-11-26 05:57:30,2018-10-26 07:54:05,2018-04-14 01:42:13
-268,Jacynth,Boscott,970-121-0282,Female,1,88,89,2018-07-31 16:10:10,2018-05-10 10:28:44,2018-10-02 23:00:23,2018-07-02 13:55:14
-269,Dominique,Farny,782-337-7486,Male,1,17,29,2018-09-09 16:09:20,2018-04-10 15:04:16,2018-03-25 16:40:27,2019-01-04 20:02:55
-270,Keefe,Guerrero,440-254-1961,Male,4,96,29,2018-10-19 10:06:55,2018-07-28 18:31:17,2018-05-05 19:05:12,2018-06-01 05:55:25
-271,Buiron,Anfossi,512-333-8553,Male,2,92,51,2018-09-09 16:00:30,2018-02-20 14:27:22,2018-03-11 07:29:35,2018-07-12 02:19:45
-272,Eleonore,Puller,325-656-5909,Female,4,88,37,2018-12-04 20:39:40,2018-02-13 04:35:07,2018-08-16 18:26:05,2018-06-08 07:45:57
-273,Katuscha,Rasch,427-956-1046,Female,4,68,90,2018-06-19 01:20:15,2018-04-03 01:55:07,2018-04-17 19:09:09,2018-08-15 11:04:06
-274,Hoebart,Linger,972-926-3923,Male,4,74,74,2018-02-19 01:23:42,2018-01-26 15:34:23,2018-09-13 07:10:43,2018-06-07 23:26:33
-275,Patrick,Hryskiewicz,736-622-7490,Male,3,91,1,2019-01-13 09:57:23,2018-05-06 15:42:09,2018-07-01 17:16:14,2018-09-01 02:26:15
-276,Bert,Adrianello,485-126-1547,Female,7,33,12,2018-11-01 06:34:27,2018-09-14 23:29:20,2018-03-11 08:15:03,2018-09-21 21:53:26
-277,Burton,Spittall,570-586-9893,Male,7,46,33,2018-01-28 06:20:39,2018-06-15 19:15:06,2018-06-27 02:36:30,2018-03-24 02:52:03
-278,Tessy,Mitchley,167-983-7021,Female,5,45,26,2018-03-02 16:44:00,2018-12-25 18:48:13,2018-04-01 18:27:41,2018-04-03 20:39:05
-279,Nettle,Hause,489-296-7367,Female,2,99,15,2018-03-18 02:50:49,2018-03-02 01:31:53,2018-10-31 06:40:34,2018-04-28 11:21:14
-280,Pearce,Darwent,801-341-9474,Male,2,24,44,2018-05-28 23:54:50,2018-02-07 18:37:22,2018-09-11 02:48:52,2018-11-09 16:24:17
-281,Kelsey,Suttle,536-591-5133,Female,6,11,76,2018-02-14 19:05:31,2018-07-14 19:32:27,2018-03-26 04:59:22,2018-04-01 20:21:57
-282,Gillie,Sponton,270-390-2110,Female,2,94,57,2018-03-14 11:50:53,2018-03-27 13:10:53,2018-04-23 19:54:11,2018-08-22 21:53:12
-283,Marsha,Dietz,740-837-1891,Female,5,90,95,2018-03-18 04:53:06,2018-06-29 02:28:55,2018-08-10 05:14:09,2018-05-10 04:03:25
-284,Miles,Purchon,413-518-8673,Male,2,57,98,2018-04-02 15:49:11,2018-02-04 16:57:33,2018-09-09 22:23:44,2018-03-16 04:00:43
-285,Collette,Menego,440-637-0309,Female,3,21,56,2018-04-18 04:27:48,2018-05-05 08:32:40,2018-03-17 17:54:26,2018-04-12 00:24:45
-286,Heriberto,Dunkerton,321-657-4492,Male,5,99,91,2018-08-17 12:11:42,2018-10-26 14:33:07,2018-03-10 13:13:28,2018-05-03 02:14:30
-287,Hailee,Remington,671-722-2287,Female,6,69,53,2018-08-01 01:54:04,2018-08-20 04:05:47,2018-04-24 14:22:04,2018-11-02 14:15:55
-288,Ingunna,Errigo,378-401-4671,Female,3,83,66,2018-12-22 21:52:13,2018-12-24 18:41:25,2018-11-11 17:31:47,2018-06-27 14:34:11
-289,Barbie,Grishmanov,184-949-4040,Female,7,93,68,2018-08-14 21:25:04,2018-08-26 18:27:48,2018-04-28 10:50:33,2018-08-06 14:12:21
-290,Anderson,Freeland,842-434-1249,Male,6,22,71,2019-01-05 09:24:32,2018-06-13 07:19:06,2018-04-24 22:20:16,2018-05-31 21:18:59
-291,Olympie,Prantl,988-864-1736,Female,1,39,40,2018-04-06 05:52:26,2018-03-10 03:20:54,2018-02-06 16:53:55,2018-09-03 16:18:27
-292,Amos,Lanyon,552-486-3382,Male,1,17,35,2018-07-03 20:26:09,2018-11-16 06:37:27,2018-08-16 14:36:30,2018-04-07 19:59:08
-293,Gabby,Stockau,753-586-0632,Male,5,19,14,2018-12-10 13:52:07,2018-03-20 20:50:50,2018-04-11 20:54:39,2018-11-13 17:11:21
-294,Uta,Joan,660-241-5130,Female,7,67,41,2018-04-21 18:11:39,2018-07-12 17:47:45,2018-05-20 14:57:17,2018-09-19 10:15:02
-295,Elnar,Manjot,691-939-7359,Male,5,18,86,2018-11-24 20:27:24,2018-04-29 05:45:30,2018-09-06 04:15:04,2018-05-31 17:11:55
-296,Avram,Cowins,471-336-0418,Male,1,18,23,2018-10-07 19:35:52,2018-07-24 19:33:54,2018-05-09 12:43:10,2018-10-08 09:08:37
-297,Kyla,Fines,380-936-0659,Female,7,16,6,2018-12-04 05:02:51,2018-06-13 12:25:14,2018-05-15 10:17:43,2018-07-24 13:06:26
-298,Tymothy,Trevillion,740-586-6434,Male,4,99,5,2018-11-29 03:58:39,2018-07-10 01:02:27,2018-07-05 11:15:40,2018-07-17 11:17:00
-299,Rafaelita,Stiven,313-253-8470,Female,7,94,91,2018-05-11 22:09:50,2018-12-04 03:23:26,2018-06-04 22:13:06,2018-08-02 01:03:16
-300,Stanwood,Bracci,757-577-7619,Male,3,79,15,2018-06-02 08:42:52,2018-05-01 23:25:28,2018-10-27 06:54:40,2019-01-03 19:33:39
-301,Heddie,Pegden,750-484-0458,Female,3,85,74,2018-02-15 15:15:50,2018-08-13 10:31:12,2018-10-22 05:36:44,2018-07-27 21:33:04
-302,Letty,Ipplett,534-461-3389,Female,2,24,58,2018-12-30 15:03:42,2018-12-25 22:41:39,2018-08-06 08:13:19,2018-06-13 08:22:24
-303,Clarke,Buckberry,261-218-0110,Male,4,39,35,2018-11-25 02:26:48,2018-10-01 22:53:26,2019-01-01 07:32:49,2018-06-23 02:36:18
-304,Valina,Bouskill,292-930-7629,Female,2,63,32,2018-03-13 00:24:33,2018-12-08 10:39:51,2019-01-06 10:27:01,2018-07-13 00:19:13
-305,Jeth,Mosedall,326-529-0770,Male,7,44,30,2019-01-17 17:26:19,2018-03-23 23:40:12,2018-12-16 02:11:33,2018-09-08 07:21:24
-306,Mano,Komorowski,467-693-9454,Male,5,63,33,2018-12-05 21:37:13,2018-05-15 16:54:39,2018-11-21 08:06:01,2018-12-25 19:18:03
-307,Libby,Worters,651-420-4117,Female,6,62,73,2018-11-16 15:37:33,2018-04-10 08:47:08,2018-09-25 07:08:44,2018-12-20 18:11:17
-308,Ginnie,Dunnion,884-641-9401,Female,4,15,91,2018-02-25 04:25:07,2018-06-11 12:12:35,2018-12-20 05:03:34,2018-05-12 15:41:13
-309,Addi,Butterfill,454-471-6991,Female,6,45,37,2019-01-14 00:57:24,2018-10-22 12:37:53,2018-11-12 17:11:49,2018-04-13 08:39:20
-310,Eustace,Calway,260-583-1874,Male,3,98,96,2018-12-08 14:19:50,2018-03-09 04:33:52,2018-08-03 22:32:38,2018-12-17 16:12:12
-311,Greta,Tailour,864-452-3785,Female,5,63,78,2018-05-09 23:36:15,2018-09-16 21:21:51,2018-06-17 03:49:40,2018-06-25 12:40:03
-312,Nance,Ruston,102-299-0194,Female,4,66,33,2018-04-19 13:30:14,2018-08-22 20:55:14,2018-03-02 20:03:46,2018-03-23 09:40:10
-313,Harriette,Dicty,498-183-6908,Female,7,1,13,2018-12-31 04:35:08,2018-08-13 12:05:13,2018-04-30 22:42:00,2018-12-03 13:23:45
-314,Merrielle,Mapes,918-608-0262,Female,5,47,45,2018-12-16 07:21:41,2018-10-27 21:05:00,2018-03-23 14:05:12,2018-08-02 11:02:53
-315,Gris,Scurrell,392-726-5529,Male,4,71,95,2018-02-23 03:36:40,2018-04-09 20:52:39,2018-03-07 02:56:27,2018-10-22 11:26:37
-316,Novelia,Newdick,262-887-9640,Female,3,20,97,2018-05-18 12:00:02,2018-02-04 08:00:28,2018-01-28 09:59:37,2018-07-06 05:53:32
-317,Sean,Breton,304-133-1524,Male,4,91,49,2018-07-09 23:07:45,2018-10-27 06:20:49,2018-08-22 21:03:24,2018-06-13 05:33:30
-318,Winston,Springham,259-758-2788,Male,6,86,20,2018-03-20 19:07:57,2018-03-17 14:55:01,2018-08-05 20:39:20,2018-02-11 22:19:58
-319,Clemmie,Saywood,341-505-9072,Male,4,61,30,2018-06-08 02:47:28,2018-07-03 05:59:45,2018-10-28 00:28:02,2018-04-07 23:20:59
-320,Robinia,Vida,537-434-4616,Female,6,19,32,2018-05-03 10:52:24,2018-10-12 00:17:12,2018-11-27 23:47:32,2018-12-17 00:24:59
-321,Findley,Melanaphy,423-892-4436,Male,1,100,31,2018-02-04 19:41:01,2018-08-17 10:08:47,2018-11-04 14:37:46,2018-07-01 11:45:21
-322,Brooks,O'Keenan,840-842-8591,Female,4,82,84,2018-08-21 21:40:21,2018-08-31 04:07:15,2018-02-01 02:25:03,2018-12-09 10:50:21
-323,Caz,Leaf,797-315-7239,Male,6,75,22,2018-10-17 18:51:00,2018-11-22 19:03:52,2018-02-15 06:48:13,2018-04-19 22:25:23
-324,Ad,Harvey,336-617-2629,Male,4,46,5,2018-07-01 18:17:34,2018-05-24 05:31:23,2018-04-05 21:04:43,2018-07-21 06:50:26
-325,Berrie,Robardley,671-363-7428,Female,2,46,55,2018-05-14 01:56:01,2018-09-20 02:21:44,2019-01-14 15:24:34,2018-05-14 15:49:53
-326,Corliss,Halwell,154-276-2412,Female,3,63,16,2018-12-21 10:15:57,2018-11-26 00:14:11,2018-10-24 18:09:31,2018-05-27 11:41:11
-327,Carlina,Laird,357-488-1031,Female,5,59,27,2018-10-24 22:33:19,2018-10-23 00:27:39,2018-10-26 13:59:23,2018-07-19 02:41:32
-328,Rivalee,Bartolomucci,299-435-2483,Female,2,86,75,2018-06-02 23:51:58,2018-10-18 07:08:38,2019-01-11 07:36:58,2018-06-06 22:53:26
-329,Eleen,Girardy,254-561-4781,Female,6,99,58,2018-08-12 03:49:21,2019-01-04 17:17:54,2018-07-07 17:22:19,2018-02-08 00:26:15
-330,Junina,Scarisbrick,668-657-6435,Female,2,82,52,2018-10-08 01:58:04,2019-01-18 08:27:33,2018-10-13 10:36:18,2018-04-09 10:28:35
-331,Mufi,Insole,497-136-1156,Female,1,3,77,2018-07-01 05:18:23,2018-04-25 06:55:14,2018-12-23 07:35:00,2018-09-14 19:25:46
-332,Burk,Sawday,758-694-5610,Male,1,16,37,2018-05-18 17:42:50,2018-09-01 06:27:12,2018-05-06 06:30:31,2018-11-29 12:15:41
-333,Jess,Gully,330-430-8050,Female,5,2,75,2018-04-21 00:37:44,2018-06-12 02:34:07,2018-05-04 05:50:38,2018-11-25 21:02:42
-334,Dayna,Goublier,395-283-7995,Female,1,3,58,2018-03-10 13:08:34,2018-04-01 05:11:59,2018-07-17 13:31:35,2019-01-02 10:31:32
-335,Shandy,Grzegorczyk,271-236-1931,Female,6,32,34,2018-10-24 18:00:50,2018-03-17 19:11:58,2018-07-13 09:20:10,2018-07-07 03:03:48
-336,Alec,Nunnery,471-774-4412,Male,3,85,94,2018-02-15 09:59:45,2018-01-30 12:50:03,2018-03-01 13:47:47,2018-09-28 11:00:16
-337,Marti,Bedboro,799-912-3939,Female,3,88,26,2018-06-25 11:23:21,2018-10-30 08:43:52,2018-01-29 08:37:23,2018-06-06 00:28:49
-338,Malchy,Kobpac,819-568-9360,Male,4,9,14,2018-02-24 04:10:07,2018-10-05 18:35:23,2018-06-15 18:09:22,2018-11-15 08:05:17
-339,Egan,Dobbinson,366-886-7331,Male,5,43,13,2018-03-14 16:50:59,2018-08-08 23:17:17,2018-05-14 23:29:30,2018-08-19 04:54:16
-340,Maisie,Legg,700-620-6322,Female,7,85,21,2018-08-24 21:35:43,2018-08-30 17:01:27,2018-09-26 01:11:55,2018-12-29 12:04:35
-341,Fidel,Cossum,677-926-2862,Male,3,37,35,2018-07-26 05:42:32,2018-03-10 10:55:00,2018-12-22 17:20:15,2018-12-23 18:00:25
-342,Artemis,Beaton,301-959-5912,Male,7,15,26,2019-01-16 02:54:03,2018-10-28 11:08:44,2018-04-03 17:01:17,2018-04-13 04:28:34
-343,Culver,MacShirrie,126-770-5278,Male,4,28,43,2018-04-18 15:27:55,2018-08-01 10:35:51,2018-03-25 11:19:36,2018-06-01 19:23:11
-344,Jessa,Penreth,684-809-2622,Female,7,59,63,2018-08-04 18:24:37,2018-12-16 20:09:17,2018-04-11 13:14:28,2018-04-22 20:10:29
-345,Nydia,Hefner,535-519-6688,Female,3,70,29,2018-07-22 18:53:43,2018-09-02 00:30:03,2018-10-29 22:17:37,2018-05-07 11:46:24
-346,Ber,Naulty,311-674-2440,Male,6,85,70,2018-09-03 15:50:38,2018-07-04 22:30:51,2018-06-29 11:55:09,2018-05-16 11:27:56
-347,Margit,Greder,417-702-7174,Female,3,35,4,2018-04-28 01:58:34,2018-07-07 16:48:11,2018-10-08 13:45:45,2018-07-30 06:54:10
-348,Haroun,Kleynen,447-297-5270,Male,1,91,87,2018-05-14 13:40:54,2018-02-06 20:20:54,2018-04-24 19:09:01,2018-07-08 15:20:39
-349,Aylmer,Hubner,861-836-0360,Male,7,92,93,2018-02-10 06:55:44,2018-05-09 06:47:11,2018-07-09 15:46:54,2018-06-24 16:38:43
-350,Natty,Clemenzo,127-593-4758,Male,2,26,56,2018-02-01 13:02:29,2018-08-21 13:26:29,2018-12-24 09:27:03,2018-12-03 17:23:39
-351,Adriaens,Galier,704-551-4514,Female,1,64,55,2018-02-20 14:06:58,2018-09-17 22:53:46,2018-06-05 21:13:53,2018-02-25 03:51:27
-352,Raphaela,Higounet,493-470-8620,Female,7,72,86,2018-04-06 23:54:14,2018-11-09 00:01:09,2018-04-16 13:28:28,2018-10-15 09:06:54
-353,Nadia,Cureton,243-413-5780,Female,7,16,92,2018-10-20 06:35:07,2018-04-22 20:08:35,2018-04-07 15:26:39,2018-07-12 20:04:06
-354,Elliot,Bursell,301-524-4971,Male,6,59,44,2018-06-15 18:56:07,2018-03-14 21:30:37,2018-04-10 07:08:26,2018-10-03 23:57:13
-355,Miltie,Credland,318-601-5704,Male,3,5,47,2018-11-14 17:21:39,2018-04-18 22:02:24,2018-05-29 11:29:17,2018-08-28 19:44:37
-356,Andre,Dockray,631-438-3562,Male,2,1,36,2018-10-08 05:05:08,2018-10-07 10:51:00,2018-03-15 03:21:37,2018-08-31 02:22:35
-357,Marty,Vannah,864-526-0455,Male,5,32,9,2018-07-24 00:22:10,2018-08-26 02:40:08,2018-06-27 12:17:04,2018-05-23 03:24:49
-358,Timofei,Paddeley,941-127-2852,Male,4,75,28,2018-06-23 03:54:48,2018-06-16 19:23:26,2018-01-22 23:50:44,2018-09-17 11:00:42
-359,Susie,Bister,717-420-9064,Female,2,35,88,2018-08-09 20:57:50,2018-12-31 14:45:14,2018-04-16 17:44:38,2018-04-22 00:14:47
-360,Salvatore,Saenz,433-114-2254,Male,7,20,65,2018-02-14 15:55:26,2018-10-12 01:07:22,2018-11-29 04:17:51,2018-03-26 04:48:55
-361,Orin,Buttler,311-657-3727,Male,6,34,55,2018-04-05 00:11:44,2018-03-18 20:58:52,2018-09-14 10:40:07,2018-08-10 05:15:21
-362,Darbee,Garnam,956-529-4862,Male,1,75,26,2018-04-10 03:09:44,2018-06-29 01:39:43,2018-08-22 22:42:21,2018-09-15 23:23:04
-363,Lynne,Order,955-214-1203,Female,3,7,62,2018-11-15 23:40:31,2019-01-19 17:41:26,2018-02-14 19:18:25,2018-05-13 10:24:56
-364,Quinn,Hickinbottom,161-623-2666,Female,4,55,12,2018-10-24 13:06:05,2018-05-14 12:29:26,2018-10-03 06:49:08,2018-08-31 05:23:27
-365,Fionnula,Lonsbrough,271-974-9269,Female,2,24,86,2018-11-26 13:04:53,2018-04-30 00:03:02,2018-12-10 17:59:39,2018-11-02 17:56:01
-366,Blinni,Bound,991-243-7726,Female,3,34,55,2018-03-15 03:25:08,2018-07-17 18:13:35,2018-01-22 14:47:57,2018-07-03 10:31:07
-367,Joellyn,Duddin,562-523-2225,Female,3,91,7,2018-03-05 16:54:40,2018-07-11 18:24:57,2018-01-27 22:51:59,2018-06-14 14:18:32
-368,Shawn,McCandie,460-327-7535,Male,7,83,25,2018-03-04 04:08:42,2018-02-27 20:23:00,2018-05-03 04:17:09,2018-05-11 02:19:04
-369,Ferdinande,Beckinsall,555-188-2556,Female,1,23,71,2019-01-09 18:09:00,2018-11-05 21:40:44,2018-04-18 11:39:10,2018-05-26 04:58:28
-370,Dex,Hercock,124-933-7494,Male,4,66,59,2018-12-03 18:59:16,2018-08-24 14:54:44,2018-12-04 06:20:22,2018-02-12 20:16:12
-371,Auguste,Kindread,503-140-7531,Female,1,66,99,2018-09-06 02:28:55,2018-06-16 13:03:23,2018-12-18 05:54:52,2018-06-18 08:33:05
-372,Nicolle,McGarvie,977-633-1344,Female,3,80,30,2018-06-27 01:20:37,2019-01-03 07:13:42,2018-08-14 06:50:08,2018-03-11 19:28:21
-373,Meir,Poxson,979-687-3866,Male,4,95,64,2018-07-09 19:27:35,2018-05-02 06:46:01,2018-03-13 19:59:34,2018-02-14 17:37:01
-374,Aurore,Mathe,855-273-0680,Female,1,35,18,2018-12-25 19:52:38,2018-06-27 16:21:30,2018-09-05 07:24:39,2018-07-07 20:33:00
-375,Tara,Kovacs,289-503-0397,Female,1,96,65,2018-02-01 14:13:00,2018-09-13 12:52:31,2018-12-11 12:17:26,2018-01-27 11:08:31
-376,Oliver,Keitch,295-918-1908,Male,2,2,91,2018-04-25 08:41:36,2018-10-26 12:47:17,2018-09-17 07:21:55,2018-05-05 18:27:42
-377,Terrie,Van der Linde,437-439-0685,Female,5,40,86,2018-06-13 19:39:12,2018-09-27 20:24:10,2018-11-29 11:48:24,2018-08-03 10:38:12
-378,Dickie,Rhymes,812-341-6120,Male,1,20,77,2018-02-19 18:11:07,2018-07-04 05:36:40,2018-11-14 00:59:02,2018-11-24 17:13:06
-379,Lynette,Hadland,438-785-0370,Female,1,49,29,2018-04-01 23:24:07,2018-08-21 14:23:03,2018-05-13 18:28:29,2018-12-12 21:59:32
-380,Blanch,Smythin,325-174-1975,Female,1,13,78,2018-11-04 02:34:45,2018-10-22 10:28:57,2018-09-14 10:12:56,2018-10-23 19:59:00
-381,Camellia,Rickeard,681-592-9848,Female,5,53,4,2018-08-25 10:15:49,2018-04-05 06:53:58,2018-02-17 08:17:38,2018-09-11 01:16:02
-382,Muire,Minto,821-124-3681,Female,2,92,71,2018-10-16 14:05:30,2018-05-21 07:22:46,2018-10-26 09:45:10,2018-09-07 09:40:50
-383,Franz,Goullee,650-849-7354,Male,1,19,86,2018-07-14 09:46:05,2018-02-20 08:15:57,2018-06-05 10:37:07,2018-06-14 13:33:38
-384,Ardath,Salaman,542-596-2751,Female,6,3,76,2018-06-07 05:11:01,2018-09-17 09:28:04,2018-04-10 13:00:45,2018-11-27 21:22:09
-385,Graeme,Balshen,286-335-9657,Male,3,44,17,2018-07-18 15:23:20,2018-03-28 07:57:47,2018-11-12 18:58:13,2018-10-11 13:56:49
-386,Lola,Ainsbury,875-341-9340,Female,5,48,71,2018-03-12 03:05:33,2018-11-01 02:55:54,2018-02-15 04:37:51,2018-05-27 04:11:38
-387,Marchelle,Reynoollds,771-436-6596,Female,3,15,98,2018-07-21 06:24:35,2018-10-15 12:19:29,2018-10-21 17:19:01,2018-12-07 00:08:23
-388,Ruddie,Ginger,639-798-1010,Male,6,53,88,2018-10-27 08:25:56,2018-08-05 15:50:59,2018-05-26 08:38:25,2018-03-12 08:36:31
-389,Kathrine,Guiu,822-798-6112,Female,2,31,32,2018-07-21 23:07:18,2018-04-23 18:22:19,2018-12-14 04:50:14,2018-12-17 05:07:54
-390,Bobbie,Peet,321-618-4507,Male,6,40,10,2018-12-07 06:56:32,2018-05-26 07:54:01,2018-02-12 22:14:19,2018-03-02 09:00:13
-391,Waylon,Brignall,721-399-8864,Male,2,29,55,2018-03-05 23:01:40,2018-02-12 20:24:53,2018-10-03 20:50:03,2018-05-27 20:39:09
-392,Randene,M'Chirrie,274-833-8717,Female,7,5,29,2018-11-09 00:26:39,2018-05-08 06:51:45,2018-10-07 04:03:07,2018-07-11 15:11:59
-393,Venus,Burgise,888-311-2349,Female,5,49,10,2018-01-31 18:35:34,2018-06-11 17:52:44,2019-01-18 10:15:45,2018-01-29 11:19:22
-394,Patton,Atkirk,887-990-8528,Male,3,14,48,2018-09-02 04:16:21,2018-12-07 12:14:18,2018-09-11 02:15:29,2018-05-31 08:26:51
-395,Ethelda,Sclater,557-210-5737,Female,2,98,59,2018-10-08 02:45:35,2018-03-07 11:02:12,2018-03-09 22:30:08,2018-07-15 06:00:38
-396,Kerry,Mascall,178-504-3458,Male,3,83,65,2018-08-12 19:58:08,2018-07-06 21:04:42,2018-07-15 00:45:35,2018-11-11 14:30:45
-397,Kelsey,Bohills,477-245-9384,Female,4,23,40,2018-08-31 00:28:52,2018-04-23 15:33:52,2018-08-22 04:21:43,2018-12-27 08:56:06
-398,Brennen,Ahrendsen,666-924-8234,Male,3,47,82,2018-12-10 22:01:21,2018-11-13 15:03:16,2018-01-21 19:47:47,2018-07-28 11:39:10
-399,Carmelina,Mountcastle,871-952-4482,Female,6,14,79,2018-05-25 02:01:07,2018-05-15 19:52:19,2018-07-16 23:16:38,2018-05-22 23:32:19
-400,Dale,Eltone,663-128-1228,Male,1,80,26,2018-10-13 23:51:08,2018-02-19 19:49:01,2018-01-27 11:58:54,2018-07-02 14:05:44
-401,Brianna,Beauchop,922-667-1003,Female,5,12,12,2018-11-05 20:21:33,2018-06-24 22:17:20,2018-06-12 04:34:37,2018-07-09 06:48:22
-402,Guillema,MacKibbon,164-334-7955,Female,3,6,56,2018-06-24 21:01:56,2018-08-15 08:52:58,2018-07-21 21:42:02,2018-02-26 08:29:48
-403,Ettore,Brailsford,231-820-9624,Male,1,92,34,2019-01-17 05:37:42,2018-06-30 12:14:43,2018-04-11 20:55:10,2018-01-21 17:40:14
-404,Shawn,M'cowis,293-256-5912,Male,7,12,87,2018-02-07 20:27:20,2018-08-07 19:48:03,2019-01-01 18:32:27,2018-08-31 20:41:20
-405,Lolly,Rankcom,743-968-5736,Female,2,17,31,2018-11-03 21:37:26,2018-07-18 08:15:01,2018-12-28 23:22:36,2018-09-04 02:20:01
-406,Jeffry,Dingle,194-835-0524,Male,1,6,58,2018-10-21 16:42:07,2018-06-01 21:41:20,2018-06-17 04:34:34,2018-12-29 19:09:29
-407,Marcelle,Molder,766-356-8780,Female,3,85,45,2018-10-18 11:17:27,2018-10-17 20:18:59,2018-09-05 10:30:56,2018-08-10 06:31:09
-408,Binni,Ferney,214-353-4132,Female,6,6,98,2018-02-20 07:18:40,2018-06-24 11:40:51,2018-12-13 02:29:35,2018-10-04 10:52:07
-409,Pat,Whenham,885-713-4885,Male,7,64,5,2018-10-29 12:39:59,2018-11-08 18:24:31,2018-04-17 11:10:35,2018-10-13 22:45:02
-410,Towney,Mizzi,602-556-2702,Male,7,40,94,2018-03-02 22:07:54,2018-08-30 01:11:53,2018-12-21 22:30:09,2018-04-08 21:36:17
-411,Cecil,Bickerdike,577-476-2260,Male,2,2,65,2018-02-25 13:53:37,2018-02-13 04:10:01,2018-05-27 20:30:46,2018-04-11 01:36:56
-412,Franciskus,Thomlinson,539-919-8711,Male,4,69,14,2018-11-12 12:18:44,2018-02-07 14:40:19,2018-08-23 04:04:48,2018-02-11 00:53:06
-413,Valentino,Machent,281-308-6846,Male,6,76,23,2018-10-04 13:04:01,2018-09-13 11:56:13,2018-06-25 21:50:15,2018-06-03 04:08:35
-414,Evelin,Harpham,287-743-1401,Male,7,1,5,2018-06-15 01:25:03,2018-05-17 06:35:54,2018-10-22 08:02:14,2018-08-25 01:58:06
-415,Cassandre,Crum,685-341-7481,Female,3,25,79,2018-07-29 10:09:33,2018-01-30 23:16:22,2019-01-13 15:40:35,2018-07-14 15:57:17
-416,Loren,Leschelle,321-405-9197,Male,3,26,13,2018-04-29 06:52:46,2018-06-21 13:57:41,2018-07-30 18:39:32,2018-09-01 00:31:38
-417,Ilaire,Plose,336-197-4797,Male,1,53,50,2018-07-01 07:52:56,2018-10-30 02:18:43,2018-08-21 23:46:29,2018-08-07 13:03:11
-418,Hannis,Issacof,315-716-3782,Female,2,99,85,2019-01-19 10:40:46,2018-04-26 10:04:56,2018-11-15 02:42:19,2018-08-21 16:50:00
-419,Meggie,Beeke,556-174-4615,Female,1,13,85,2018-03-05 16:12:22,2018-09-19 22:31:27,2018-12-04 04:01:57,2018-04-14 20:14:40
-420,Clemens,Leades,183-447-0091,Male,7,98,12,2018-06-18 06:17:24,2018-04-10 09:59:20,2018-03-20 22:45:02,2018-05-10 17:11:21
-421,Dennis,Chifney,196-548-2180,Male,7,75,98,2018-12-09 00:19:15,2018-06-16 10:29:26,2018-09-12 03:26:46,2018-10-24 16:42:20
-422,Yuri,Laytham,783-967-4260,Male,7,72,60,2018-01-28 20:33:42,2018-11-10 15:59:58,2018-05-07 10:19:43,2018-03-08 01:03:28
-423,Rosaline,Gibbins,376-974-7633,Female,3,22,56,2018-06-26 01:09:00,2018-10-30 23:51:58,2018-07-31 09:43:54,2018-11-23 12:00:53
-424,Yule,Hadwick,795-430-0875,Male,2,99,87,2018-03-09 17:35:22,2018-07-18 20:38:41,2018-08-29 09:29:40,2018-12-12 13:21:09
-425,Albertine,Bernlin,415-360-6554,Female,2,40,34,2018-05-24 10:27:28,2018-10-31 10:36:51,2018-07-04 15:40:42,2018-05-23 02:22:57
-426,Donnell,Stammler,944-379-5489,Male,4,59,41,2018-06-28 16:01:29,2018-05-18 12:55:36,2018-03-07 06:37:32,2018-03-25 12:44:31
-427,Brant,Athy,987-827-3040,Male,5,52,7,2018-01-24 14:17:54,2018-10-06 04:10:01,2018-02-21 04:02:17,2018-05-27 20:44:43
-428,Rose,Barnaby,789-522-4912,Female,7,31,46,2018-11-30 14:09:29,2018-11-06 16:28:33,2018-12-13 23:06:42,2018-09-12 17:39:14
-429,Valina,Ply,729-373-7904,Female,3,65,27,2018-11-15 05:26:26,2018-11-28 15:21:13,2018-05-01 00:56:08,2018-02-05 07:37:50
-430,Berkley,Ferry,484-341-3250,Male,6,47,48,2018-07-26 11:27:11,2018-03-05 19:23:46,2018-08-05 08:09:19,2018-05-30 08:43:28
-431,Jarred,Cunnington,995-170-5820,Male,4,6,1,2018-07-12 11:36:19,2018-10-19 05:16:25,2018-06-28 12:38:16,2018-10-08 06:52:46
-432,Marys,Audry,449-892-8929,Female,2,25,86,2018-11-21 14:36:19,2018-11-26 13:31:27,2018-03-28 15:22:34,2018-01-28 08:07:21
-433,Coreen,Vinnicombe,267-868-6003,Female,6,64,45,2018-10-19 22:09:21,2018-12-08 23:41:39,2018-08-16 05:46:08,2018-11-18 14:46:52
-434,Spense,Sarfati,945-773-9494,Male,4,6,3,2018-03-18 13:44:54,2018-09-04 10:40:58,2019-01-15 18:23:55,2018-06-07 16:02:39
-435,Chandra,Burgin,130-446-4470,Female,4,95,96,2018-09-27 16:48:00,2018-05-20 20:44:56,2018-11-23 04:46:53,2018-01-31 16:31:14
-436,Tomas,Currin,756-279-5643,Male,4,41,4,2018-11-18 07:22:02,2018-11-14 14:03:44,2018-09-18 12:36:39,2018-06-05 09:28:43
-437,Conway,Wesson,754-769-3550,Male,1,52,46,2019-01-02 08:07:04,2018-02-14 00:52:12,2018-02-11 10:52:29,2018-02-16 15:31:25
-438,Stefa,Meese,610-105-6841,Female,7,39,28,2018-04-28 02:21:35,2018-10-21 01:33:19,2018-11-23 21:00:01,2019-01-10 08:36:35
-439,Theadora,Ubee,609-368-9924,Female,6,42,5,2018-04-22 17:02:17,2018-08-21 16:33:25,2018-08-25 04:12:23,2018-02-16 01:13:06
-440,Virginia,Flawn,711-955-7169,Female,3,20,19,2018-08-16 18:01:55,2018-04-18 10:08:19,2018-01-27 09:38:48,2018-05-29 02:29:24
-441,Marv,Mummery,820-192-1452,Male,5,75,95,2018-05-29 15:29:25,2018-03-19 14:00:54,2018-01-22 01:15:38,2018-08-17 08:36:00
-442,Fulton,Zelake,283-584-1765,Male,7,4,3,2019-01-13 23:55:52,2018-08-19 22:29:51,2018-04-16 02:28:54,2018-03-16 16:58:02
-443,Guillemette,Ferretti,776-408-8649,Female,3,24,79,2018-07-31 04:43:48,2018-08-04 15:42:51,2018-04-11 16:00:11,2019-01-07 22:56:20
-444,Egbert,Dureden,698-387-7895,Male,7,54,6,2018-02-25 13:06:41,2018-01-28 14:50:49,2019-01-01 05:38:28,2018-06-19 00:46:05
-445,Trumaine,Canniffe,563-399-5639,Male,1,79,93,2018-11-08 00:30:08,2018-04-07 04:15:13,2018-03-30 14:48:19,2018-04-10 23:29:00
-446,Burr,Goves,451-577-7757,Male,1,27,72,2018-03-16 22:57:50,2018-02-04 21:42:45,2018-06-27 04:37:53,2019-01-16 15:20:56
-447,Juditha,Luebbert,958-685-2937,Female,4,36,87,2018-08-30 23:36:55,2018-06-22 07:04:37,2018-08-23 08:03:08,2018-03-28 04:50:57
-448,Lilly,Smewings,246-392-5467,Female,7,61,65,2018-06-02 21:56:15,2018-09-21 22:08:51,2018-11-29 20:26:34,2018-09-09 13:36:55
-449,Beckie,Curd,239-783-9576,Female,2,18,69,2018-11-20 04:10:54,2018-07-09 08:10:52,2018-03-19 21:04:09,2018-06-19 12:09:53
-450,Cristie,Edmonds,203-875-9153,Female,6,75,68,2018-11-16 10:01:12,2018-08-05 10:10:51,2019-01-11 05:06:49,2018-02-27 23:12:37
-451,Richmound,Machans,259-901-3247,Male,6,7,81,2019-01-12 15:06:01,2018-08-04 16:50:11,2018-12-30 16:16:18,2018-04-24 01:22:55
-452,Murial,Heiss,686-151-1653,Female,6,62,44,2018-05-18 13:49:57,2018-07-31 04:58:55,2018-02-26 22:38:19,2018-06-03 12:20:39
-453,Leonhard,O'Hear,205-401-7116,Male,5,3,1,2018-12-01 20:43:01,2018-06-19 12:45:05,2018-06-17 21:31:22,2018-12-29 20:41:28
-454,Kin,Yakovlev,952-369-5846,Male,1,39,38,2018-03-05 07:22:54,2018-06-20 14:24:43,2018-12-24 17:56:41,2018-07-13 07:55:25
-455,Debee,Fransinelli,230-272-0203,Female,3,64,60,2018-03-28 12:01:56,2018-09-10 13:03:46,2018-05-10 07:50:05,2018-08-10 09:35:31
-456,Nappie,Seaton,809-725-5784,Male,1,67,52,2018-09-13 00:18:51,2018-07-10 10:46:33,2018-04-19 00:56:44,2018-06-17 12:12:31
-457,Adelheid,Wanjek,795-641-9749,Female,1,21,97,2018-03-09 22:00:35,2018-08-09 22:29:44,2018-05-22 14:09:09,2018-03-19 18:49:28
-458,Jeannette,Glanville,377-671-9024,Female,7,84,44,2018-10-05 10:17:32,2018-04-06 12:22:12,2018-05-10 03:19:20,2018-09-30 04:25:01
-459,Adrianna,Blezard,773-598-7742,Female,6,89,62,2018-04-25 21:46:25,2018-05-26 05:44:50,2018-07-14 12:21:26,2018-09-28 10:26:06
-460,Gloria,Keelin,120-823-7944,Female,4,9,68,2018-07-13 21:08:25,2018-03-14 15:55:09,2018-04-02 02:08:40,2019-01-09 11:56:17
-461,Becki,Gatling,845-125-4361,Female,4,1,71,2018-06-24 20:47:16,2018-08-28 04:29:09,2018-05-06 23:04:29,2018-06-01 05:37:42
-462,Gabriellia,Lobley,844-697-7445,Female,2,89,99,2018-09-15 13:57:53,2018-06-14 14:04:36,2018-12-09 22:49:10,2018-02-12 02:07:35
-463,Aaren,McVie,973-286-0455,Female,4,67,14,2018-10-24 23:51:19,2018-04-28 04:48:26,2018-08-01 00:36:09,2018-07-03 13:36:32
-464,Barbara,Luddy,270-772-2682,Female,6,31,58,2018-03-18 11:34:08,2018-11-10 07:14:55,2018-12-12 21:20:10,2018-08-31 00:15:05
-465,Ibrahim,Went,494-197-0863,Male,3,35,42,2018-10-27 09:01:43,2018-05-24 01:03:27,2018-11-12 00:22:15,2018-03-28 09:23:37
-466,Sherry,Meert,142-492-1426,Female,7,30,41,2018-09-05 17:22:28,2019-01-11 02:43:23,2018-08-24 21:28:14,2018-03-23 18:02:50
-467,Marietta,Caulwell,931-150-2069,Male,5,5,93,2018-10-20 06:55:32,2018-08-24 12:59:12,2018-02-05 08:19:35,2018-01-23 22:03:22
-468,Kaiser,Gossage,250-466-8664,Male,6,23,93,2018-08-30 13:38:00,2018-10-27 22:45:24,2018-06-20 08:32:02,2018-01-25 09:32:34
-469,Margie,Fenelon,570-190-5079,Female,7,83,33,2018-12-11 01:27:54,2018-02-18 13:46:59,2018-09-23 21:24:36,2018-09-12 19:05:02
-470,Alvin,Stallan,451-964-7576,Male,6,25,97,2018-10-10 09:53:05,2018-05-12 18:37:24,2018-04-16 18:11:41,2018-12-06 13:37:08
-471,Corbin,Lamport,950-956-7283,Male,2,80,15,2018-10-08 17:14:14,2018-12-03 17:06:55,2018-08-04 22:29:17,2018-12-03 12:04:13
-472,Imelda,Crat,346-373-3643,Female,3,60,21,2018-01-25 18:42:27,2018-02-02 11:29:22,2018-05-12 06:06:53,2018-05-24 14:31:31
-473,Kala,Aikenhead,665-137-0705,Female,3,5,83,2018-03-11 01:11:04,2019-01-18 14:28:39,2018-04-20 06:28:31,2018-06-21 01:18:27
-474,Bastien,Lavell,325-523-0512,Male,7,87,91,2019-01-14 08:13:00,2018-06-08 18:23:51,2018-12-02 08:49:53,2018-12-06 00:24:41
-475,Muriel,Cannon,174-249-0377,Female,7,11,49,2018-06-09 02:06:14,2018-05-19 03:47:34,2018-02-15 07:14:49,2018-03-19 22:10:50
-476,Duane,Presland,616-278-2852,Male,6,49,20,2018-02-10 17:43:55,2018-02-21 00:21:21,2018-10-01 16:17:22,2018-04-06 08:15:06
-477,Emmerich,Baildon,408-829-6965,Male,1,13,29,2018-11-08 20:46:52,2018-07-04 14:45:10,2018-05-22 03:30:35,2018-07-26 23:46:21
-478,El,Seabourne,745-257-4885,Male,6,13,60,2019-01-05 01:40:08,2019-01-07 01:30:58,2018-08-24 00:13:56,2018-08-20 02:39:03
-479,Rivalee,Robertsson,882-741-1264,Female,3,36,70,2018-10-07 07:27:41,2018-05-13 11:32:58,2018-12-07 16:22:21,2018-12-12 19:59:38
-480,Alexis,Lapping,852-596-1033,Female,1,48,44,2018-01-30 22:17:04,2018-08-30 00:34:37,2018-11-04 00:05:38,2018-12-11 02:01:32
-481,Francine,Slatcher,134-351-4974,Female,1,56,91,2018-12-25 00:49:27,2018-10-11 02:42:45,2018-10-09 12:40:08,2018-09-01 13:26:34
-482,Kristen,Petters,440-151-8788,Female,7,19,49,2018-02-17 01:34:14,2018-10-28 03:18:55,2018-09-13 14:14:48,2018-01-22 12:26:05
-483,Riobard,Helin,217-648-4050,Male,6,3,62,2019-01-08 20:13:28,2018-07-10 21:50:12,2018-02-14 10:54:30,2018-07-10 15:21:36
-484,Jere,Marrison,125-522-1752,Male,5,77,48,2018-03-27 12:35:57,2018-08-11 12:06:00,2018-07-10 09:48:33,2018-11-12 18:44:01
-485,Sheila,Edens,296-894-3200,Female,3,99,67,2018-09-02 05:54:01,2018-03-13 04:55:49,2019-01-07 04:42:32,2018-12-12 03:46:51
-486,Georgy,Sallings,860-751-2558,Male,5,42,98,2018-03-04 09:36:14,2018-12-18 03:43:57,2018-05-26 16:22:04,2018-09-02 12:56:41
-487,Marcellina,Ledgister,286-469-6281,Female,6,17,35,2018-07-04 19:56:40,2018-04-13 18:15:53,2018-06-22 16:02:20,2018-02-12 13:24:14
-488,Terra,Dodamead,913-630-9923,Female,1,82,1,2018-12-11 19:54:27,2018-12-11 20:39:38,2018-03-28 15:51:45,2018-08-25 04:08:21
-489,Alia,Morrel,431-923-1395,Female,7,7,38,2018-05-24 06:33:39,2018-03-16 20:23:58,2018-09-11 05:45:02,2018-02-10 15:26:52
-490,Henri,Cullivan,513-315-1874,Male,2,7,65,2018-02-21 12:36:28,2018-02-28 14:01:27,2018-11-04 00:27:37,2018-06-18 18:54:48
-491,Josie,Langrish,674-305-6918,Female,2,79,72,2018-07-26 02:09:25,2018-12-03 14:04:40,2018-10-18 18:24:47,2018-09-01 09:38:00
-492,Brittany,Redwall,197-871-1265,Female,2,98,39,2019-01-15 16:02:18,2018-07-28 14:31:51,2019-01-05 12:31:54,2018-02-17 02:21:53
-493,Phillie,Caulket,276-222-0475,Female,2,92,27,2018-10-19 10:58:15,2018-10-01 05:23:18,2018-10-31 20:41:31,2018-01-23 21:09:13
-494,Clair,Ring,789-696-3129,Female,1,60,89,2018-12-15 04:12:43,2018-03-14 18:18:51,2018-02-01 04:15:54,2018-05-24 23:34:59
-495,Allis,Sunner,601-505-2836,Female,3,37,9,2018-03-16 18:20:34,2018-10-03 23:52:03,2018-09-09 20:19:13,2018-09-12 13:27:03
-496,Madeleine,Haitlie,956-801-4088,Female,4,55,99,2018-05-23 09:24:40,2018-09-25 14:13:54,2018-12-07 06:01:21,2018-08-05 05:36:15
-497,Cirillo,Gronav,571-141-3522,Male,5,81,10,2018-10-11 20:52:40,2018-02-21 03:11:05,2018-09-16 08:35:42,2018-03-26 20:16:43
-498,Arturo,Cowitz,923-926-3273,Male,3,93,12,2018-11-22 05:37:54,2018-02-17 15:11:34,2018-03-31 00:15:46,2018-08-03 14:49:13
-499,Haley,Cartmill,139-891-8155,Female,2,79,56,2018-10-28 03:24:17,2018-09-26 03:42:15,2018-09-16 20:27:43,2018-10-21 06:51:02
-500,Caddric,Eim,386-491-4555,Male,4,88,81,2018-07-27 07:41:11,2018-11-06 13:25:15,2018-04-30 01:01:46,2018-10-27 13:14:40
-501,Sargent,Beart,958-909-4690,Male,1,44,9,2018-07-18 12:02:07,2018-07-23 05:06:07,2018-07-16 15:25:53,2018-08-26 13:12:34
-502,Dane,Gason,502-241-7120,Male,6,79,58,2018-11-17 04:47:55,2018-07-17 16:19:37,2018-12-02 13:39:55,2018-08-07 15:28:47
-503,Humfried,Canelas,275-518-1730,Male,3,82,87,2018-02-02 11:38:29,2018-10-18 04:09:03,2018-02-04 00:47:16,2018-07-23 00:37:30
-504,Sam,Freiberg,757-773-6048,Female,5,89,31,2018-12-01 22:51:12,2018-06-29 03:50:29,2018-07-25 14:13:37,2018-06-11 22:59:09
-505,Goddart,Crossgrove,820-183-6322,Male,3,41,25,2018-11-22 23:25:36,2018-01-29 08:12:28,2018-09-24 21:36:56,2018-03-04 00:40:37
-506,Joela,Bondesen,856-474-9498,Female,5,71,97,2018-05-08 08:23:42,2018-12-20 17:54:27,2018-08-13 11:11:11,2018-08-06 19:06:58
-507,Harrie,Nendick,943-670-9341,Female,3,66,6,2018-05-03 20:18:57,2018-11-06 16:35:09,2018-07-18 17:01:56,2018-03-29 06:23:00
-508,Farlay,Manderson,834-991-0018,Male,4,44,9,2018-08-16 12:51:08,2018-09-19 19:35:31,2018-09-28 07:49:16,2018-11-26 04:15:32
-509,Warren,Pegram,815-768-9711,Male,1,2,70,2018-11-03 16:08:12,2018-09-27 19:07:58,2018-02-15 09:57:42,2018-02-04 05:33:01
-510,Mylo,Haskayne,624-512-7407,Male,3,71,28,2018-11-05 07:00:48,2018-08-22 23:42:06,2018-10-13 09:30:14,2018-12-17 14:14:01
-511,Giacomo,Halsho,976-203-6826,Male,2,59,100,2018-04-11 12:30:03,2018-05-06 11:36:27,2019-01-03 21:44:26,2018-06-13 06:17:36
-512,Aloysia,Stuchburie,466-684-9228,Female,7,15,94,2018-05-05 20:22:16,2018-05-06 16:01:54,2018-11-13 03:57:27,2018-08-05 07:41:19
-513,Brit,Glentz,283-639-7723,Male,4,5,19,2018-04-07 12:25:00,2018-09-26 07:12:01,2018-06-05 14:15:20,2018-06-02 16:59:25
-514,Maddi,Kerfoot,543-438-1531,Female,3,16,67,2018-06-30 07:58:22,2018-12-16 23:14:43,2019-01-03 10:51:10,2018-09-10 17:15:42
-515,Ruy,Townson,801-852-6590,Male,1,31,55,2018-02-22 06:06:31,2019-01-20 20:38:59,2018-09-28 17:23:51,2018-09-30 05:48:30
-516,Rawley,Tatum,634-340-1379,Male,5,32,35,2018-02-14 04:43:24,2018-06-30 10:54:44,2018-11-22 11:23:10,2018-03-01 16:10:00
-517,Teddy,Pickford,404-551-3889,Male,2,82,54,2018-12-29 05:25:46,2018-04-13 05:46:18,2018-10-11 18:14:38,2018-11-07 08:35:59
-518,Randolph,Stealfox,750-802-5940,Male,3,91,11,2018-04-03 20:00:54,2018-11-29 19:15:41,2018-02-20 09:38:24,2018-03-25 15:38:52
-519,Filmer,Sumption,833-713-4339,Male,2,2,8,2018-01-26 04:26:32,2018-03-08 20:23:21,2018-07-27 10:41:05,2018-11-04 20:18:36
-520,Barbee,Salvador,475-228-6268,Female,1,13,71,2018-10-24 00:02:01,2018-01-21 21:29:45,2018-07-03 13:31:36,2019-01-07 14:59:36
-521,Valina,Spillett,588-767-5376,Female,5,27,8,2018-03-03 01:39:51,2018-01-28 01:22:11,2018-04-22 03:30:25,2018-03-08 04:45:22
-522,Taber,Faunt,428-608-8317,Male,5,46,93,2018-06-09 11:17:55,2018-09-01 01:34:32,2018-02-19 13:01:55,2018-08-15 06:00:48
-523,Lilas,Siemons,680-968-7597,Female,6,31,25,2018-11-26 22:08:43,2018-02-15 23:08:21,2018-12-26 05:40:57,2018-02-22 02:08:43
-524,Spence,Vosper,720-164-0499,Male,2,37,73,2018-01-31 08:38:29,2018-07-08 11:20:30,2018-10-31 09:36:46,2018-08-26 13:46:48
-525,Robinett,Le Breton De La Vieuville,690-247-8261,Female,6,47,79,2018-04-02 23:29:51,2018-04-26 14:43:49,2018-09-29 04:02:35,2018-02-22 14:19:00
-526,Pia,Favell,689-639-0553,Female,5,96,86,2018-09-27 09:10:13,2018-02-18 08:18:56,2018-09-16 10:20:42,2018-09-19 19:46:37
-527,Jody,Persich,875-503-4255,Female,5,1,63,2018-12-28 04:07:08,2018-02-19 06:37:40,2018-11-08 19:30:56,2018-04-16 19:36:13
-528,Mimi,Meach,664-906-5485,Female,3,46,59,2018-05-16 02:36:27,2018-02-06 06:52:54,2018-03-16 20:22:46,2018-12-24 10:29:20
-529,Nyssa,Hillborne,493-931-8360,Female,6,70,73,2018-12-08 00:07:34,2018-01-31 21:28:10,2018-04-14 12:33:22,2018-12-18 17:12:16
-530,Chrissie,Jagger,284-506-7117,Male,7,89,53,2018-03-21 21:11:02,2018-09-10 16:42:15,2019-01-17 21:11:31,2018-10-26 07:01:07
-531,Jacqueline,Hebblewhite,313-329-3935,Female,6,70,40,2018-07-29 17:39:44,2018-08-26 14:11:15,2018-12-18 12:39:49,2018-09-04 11:21:47
-532,Gunilla,Frarey,231-521-7913,Female,7,3,44,2018-03-05 06:12:04,2018-06-21 16:09:41,2018-01-27 13:30:18,2018-02-28 16:14:26
-533,Eleni,Fassum,149-906-0502,Female,1,40,27,2018-11-17 06:56:45,2018-06-22 05:04:09,2018-05-07 22:21:42,2018-12-21 21:39:19
-534,Kerr,Kelshaw,729-673-6161,Male,6,94,93,2018-11-23 00:31:03,2018-12-09 03:46:43,2018-02-22 16:54:17,2018-09-09 11:05:13
-535,Lisha,Curgenven,874-739-3351,Female,4,97,18,2018-02-20 18:11:36,2018-10-17 06:38:52,2018-12-26 02:40:15,2018-02-13 09:24:09
-536,Bevin,Jakeman,676-751-7045,Male,1,87,71,2018-02-20 13:08:18,2018-11-21 06:36:13,2018-09-22 09:22:49,2018-10-09 06:21:12
-537,Harland,Sidney,139-828-9659,Male,6,23,85,2018-09-18 02:15:28,2018-04-10 06:49:54,2018-12-05 20:08:51,2018-08-05 09:53:26
-538,Rori,Seys,180-907-6460,Female,5,27,23,2018-02-22 03:55:23,2018-08-01 08:40:28,2018-05-15 12:42:51,2018-10-22 00:24:22
-539,Baxy,Marjanski,580-759-7206,Male,4,95,30,2018-09-01 14:33:22,2018-12-14 23:01:00,2018-12-02 00:20:18,2018-08-25 13:54:47
-540,Martie,Dearsley,102-718-1278,Male,7,89,15,2018-03-15 10:57:25,2018-03-03 03:48:25,2018-07-12 03:48:36,2018-07-22 13:18:47
-541,Erin,Ruddick,969-222-3994,Male,1,97,56,2018-05-18 05:27:05,2018-02-23 12:22:10,2018-04-13 08:34:06,2018-11-25 15:51:09
-542,Tome,Lorne,842-424-5954,Male,4,58,76,2018-12-11 13:20:20,2018-07-29 14:26:59,2018-08-12 08:27:28,2018-04-03 13:46:52
-543,Nell,Borkin,228-448-5895,Female,1,3,1,2018-11-30 16:38:15,2018-07-27 09:33:59,2018-08-23 02:00:10,2018-09-28 00:28:48
-544,Teirtza,Springthorp,538-731-0003,Female,4,8,3,2018-03-28 08:52:40,2018-11-03 18:14:45,2019-01-02 06:05:23,2018-03-22 22:01:00
-545,Arlina,Feighney,977-853-6783,Female,1,18,40,2018-02-08 21:04:46,2018-03-02 23:43:32,2018-03-05 13:33:15,2018-05-12 17:12:38
-546,Melosa,Gifford,804-769-4197,Female,7,55,98,2018-02-04 08:50:49,2018-10-10 06:22:51,2018-06-01 01:45:08,2018-12-24 03:31:15
-547,Charin,Petrello,597-441-0171,Female,6,67,18,2018-09-10 08:11:34,2018-03-15 18:44:45,2018-10-22 23:24:05,2018-07-31 01:37:48
-548,Cristian,Stute,223-959-7392,Male,2,5,69,2018-11-01 17:37:10,2018-05-25 14:21:07,2018-10-09 08:14:38,2018-06-29 13:27:34
-549,Velvet,Morison,848-981-1316,Female,1,20,17,2018-02-14 02:16:51,2018-08-25 23:57:58,2018-04-20 10:47:18,2018-04-04 19:16:45
-550,Vivienne,Taillard,392-626-2926,Female,2,38,47,2019-01-20 11:03:04,2018-06-11 20:42:47,2018-05-13 17:10:39,2018-06-02 20:11:46
-551,Zach,Vials,406-733-0058,Male,1,28,88,2018-12-14 14:36:03,2018-02-25 21:52:58,2018-10-17 02:37:28,2018-02-05 17:26:59
-552,Christie,De Caville,268-836-0470,Male,6,28,91,2018-11-26 14:01:43,2018-06-27 22:05:24,2018-11-10 16:11:15,2018-07-20 12:01:34
-553,Dulce,Walesby,578-217-3628,Female,6,83,40,2018-04-12 08:24:30,2018-10-07 09:32:47,2018-04-10 12:21:16,2018-06-04 11:56:13
-554,Shermy,Martinek,627-924-0370,Male,1,54,86,2018-09-02 00:41:57,2018-09-16 02:42:47,2018-05-10 03:54:12,2018-11-14 17:54:47
-555,Curcio,Cudworth,355-447-1790,Male,2,43,26,2018-05-31 02:31:23,2018-11-18 23:47:19,2018-02-26 10:49:12,2018-08-22 04:36:14
-556,Newton,Zuan,810-756-5844,Male,5,85,20,2018-03-09 16:07:56,2018-10-12 16:45:42,2018-05-02 19:27:29,2018-04-21 12:37:09
-557,Gina,Keyho,566-476-0815,Female,4,8,83,2018-09-21 17:12:16,2018-03-20 10:13:51,2018-05-22 10:29:45,2018-09-23 17:23:36
-558,Emmanuel,Beacham,923-766-7627,Male,4,15,10,2018-10-14 04:16:42,2018-12-12 21:49:16,2018-04-06 14:49:00,2018-02-10 06:29:37
-559,Mel,Deniseau,577-125-8484,Female,3,12,6,2018-06-01 18:43:13,2018-11-09 14:24:38,2018-07-01 23:11:43,2018-11-24 10:28:42
-560,Deena,Knutton,544-886-5072,Female,2,98,57,2018-02-11 05:11:20,2018-08-19 14:06:35,2018-09-06 12:12:59,2018-10-07 13:53:21
-561,Flossy,Antonacci,108-542-7284,Female,2,20,36,2018-05-20 08:28:31,2018-04-01 14:07:20,2018-07-23 02:08:55,2018-08-29 00:40:11
-562,Gabriela,Gravy,565-992-0341,Female,3,54,70,2018-03-14 07:29:51,2018-11-24 05:40:57,2018-06-24 11:53:15,2018-12-13 15:23:43
-563,Emelen,Healey,821-210-6931,Male,7,16,79,2018-03-02 11:53:31,2018-07-04 07:43:45,2018-08-20 22:28:53,2018-08-20 07:13:10
-564,Anne-marie,Peatman,431-777-2495,Female,4,38,1,2018-02-28 18:38:14,2018-08-28 18:58:41,2018-09-01 22:16:42,2018-11-14 23:08:02
-565,Raymond,Truelock,671-694-3305,Male,5,20,76,2018-11-19 18:58:41,2018-10-26 03:22:35,2018-10-13 10:05:37,2018-10-20 00:19:39
-566,Gabriel,Matlock,704-620-9706,Female,1,29,24,2018-07-24 15:56:02,2018-12-23 10:03:48,2018-07-13 22:41:53,2018-06-12 13:42:42
-567,Leontine,Kollasch,793-692-0103,Female,4,68,78,2018-05-05 06:54:44,2018-07-26 19:41:30,2018-04-16 00:46:38,2018-11-20 19:18:17
-568,Amelina,Gullick,674-849-6707,Female,2,75,43,2019-01-01 12:18:11,2018-02-18 10:50:33,2018-09-11 05:30:18,2018-12-28 03:43:14
-569,Matthew,Gateley,450-774-0905,Male,5,93,62,2018-02-17 13:01:16,2018-06-17 01:27:48,2018-12-03 19:17:56,2018-08-31 08:39:46
-570,Alvan,Postance,415-301-3970,Male,5,36,24,2018-02-15 12:09:30,2018-07-26 19:38:06,2018-09-23 03:56:41,2018-09-17 12:13:43
-571,Ethelind,Otteridge,724-398-4832,Female,1,11,20,2019-01-09 07:06:55,2018-08-06 11:24:34,2018-02-04 09:08:33,2018-02-04 10:18:38
-572,Allayne,Pettegre,567-912-1393,Male,5,50,24,2019-01-17 18:14:12,2018-03-20 23:30:29,2018-07-08 17:53:55,2018-03-30 22:34:32
-573,Cindee,MacGill,218-267-2220,Female,3,85,36,2018-03-18 06:24:30,2018-08-12 14:08:59,2018-06-07 00:36:38,2018-07-28 18:35:16
-574,Jeramie,Fante,508-403-4318,Male,6,17,58,2018-09-05 21:09:00,2018-07-16 01:34:59,2018-05-30 20:15:51,2018-10-07 09:23:32
-575,Johannah,Treamayne,670-278-1704,Female,1,44,50,2018-09-01 12:25:07,2018-09-04 03:56:02,2018-03-25 08:47:56,2018-06-27 19:44:57
-576,Dari,Brocklesby,128-823-5176,Female,2,21,47,2018-11-06 21:06:13,2018-11-23 13:57:31,2019-01-01 00:06:22,2018-06-23 04:39:41
-577,Cob,Younglove,589-756-5544,Male,1,34,97,2018-06-06 05:48:43,2019-01-01 02:48:52,2018-09-20 02:52:35,2018-06-29 07:02:35
-578,Genevieve,Benois,718-259-0218,Female,1,83,84,2018-12-29 00:38:58,2019-01-17 14:12:58,2018-08-21 12:35:34,2018-07-15 16:50:51
-579,Demetra,Clineck,537-758-1797,Female,7,58,86,2018-04-18 09:28:08,2018-05-18 03:26:25,2018-02-24 07:51:24,2018-12-11 05:21:46
-580,Edithe,MacNeilage,254-201-0040,Female,5,2,46,2018-12-06 12:01:57,2018-02-16 02:10:30,2018-02-23 14:46:58,2018-12-31 17:43:21
-581,Osbourne,Scranny,682-363-4094,Male,3,29,17,2018-05-10 17:26:21,2018-11-02 03:59:01,2018-04-07 16:21:34,2018-07-31 23:17:47
-582,Con,Shyre,535-646-6697,Male,3,96,16,2018-07-14 00:36:39,2018-12-15 03:20:27,2018-07-23 10:48:18,2018-03-18 15:21:58
-583,Sylvester,Cannicott,456-905-3181,Male,1,2,37,2018-12-19 15:40:57,2018-06-18 08:08:39,2018-05-16 20:50:39,2018-10-02 13:56:35
-584,Any,Hayter,822-858-6900,Male,7,52,26,2018-11-06 13:05:00,2018-12-07 12:10:14,2018-12-30 08:34:38,2018-11-29 15:54:05
-585,Hebert,Casaro,238-642-2667,Male,5,86,80,2018-08-01 13:07:27,2018-11-03 12:14:52,2018-07-26 07:25:57,2019-01-19 03:35:48
-586,Lurlene,Feare,839-313-4455,Female,3,59,51,2018-08-26 04:27:58,2018-10-22 00:35:33,2018-06-26 19:50:51,2018-10-10 07:34:07
-587,Benjy,Mulvenna,623-742-2472,Male,3,63,37,2018-12-05 12:16:12,2018-06-01 06:27:24,2018-05-17 11:06:08,2018-11-03 18:34:32
-588,Odey,Burborough,705-824-5381,Male,7,35,7,2018-11-08 11:17:04,2018-10-02 17:39:13,2018-06-12 17:24:31,2018-11-16 00:36:52
-589,Marin,Piddletown,544-353-3265,Female,6,65,12,2018-06-05 02:00:30,2018-04-15 22:13:49,2018-10-25 08:48:07,2018-02-10 21:14:37
-590,Cyrille,holmes,735-579-6221,Male,7,40,75,2018-04-16 22:04:54,2018-04-25 22:55:07,2018-07-02 18:15:05,2018-08-10 21:27:54
-591,Maurice,Rains,484-638-1467,Male,5,73,91,2018-09-29 20:25:42,2018-05-09 00:14:24,2018-10-31 20:25:12,2018-10-07 19:50:59
-592,Caddric,Styant,859-759-9605,Male,6,10,38,2018-06-20 20:21:02,2018-12-09 17:47:12,2019-01-09 04:06:46,2018-07-19 05:01:01
-593,Vittorio,Straffon,643-403-5013,Male,3,46,7,2018-05-21 05:19:11,2018-12-06 16:33:18,2018-07-03 02:13:34,2018-11-03 12:50:20
-594,Filippo,Adamiak,414-171-7965,Male,5,13,70,2018-03-31 10:48:08,2018-07-07 00:41:10,2018-04-29 13:12:05,2018-08-12 07:32:33
-595,Abran,Blanning,940-243-9117,Male,6,88,72,2018-06-16 02:58:35,2018-08-17 14:00:04,2018-12-23 23:58:31,2018-04-15 17:28:52
-596,Ewart,Van Der Weedenburg,712-866-8225,Male,1,35,99,2018-12-03 12:43:02,2018-08-22 00:51:23,2018-06-03 09:07:10,2018-02-26 12:18:48
-597,Charmion,Toffoletto,139-517-9898,Female,2,60,33,2018-11-24 14:11:52,2018-10-26 03:35:48,2018-12-18 20:13:45,2018-09-23 22:05:26
-598,Marcellus,Casserly,253-327-1311,Male,3,41,81,2018-10-18 22:38:49,2018-03-13 20:31:39,2018-07-25 06:23:51,2018-06-05 20:55:02
-599,Bryant,Woonton,888-556-3681,Male,7,81,99,2018-02-28 09:31:55,2018-05-01 06:19:53,2019-01-09 14:08:26,2018-10-29 15:33:42
-600,Annnora,Beswick,518-587-0261,Female,6,56,22,2018-08-12 21:49:43,2019-01-08 19:34:20,2018-02-14 10:14:40,2018-08-01 03:40:27
-601,Donovan,Stenner,407-562-5695,Male,1,80,76,2018-08-31 07:45:11,2018-12-01 06:25:41,2018-02-28 03:57:11,2018-10-17 16:19:27
-602,Northrup,Limprecht,463-752-6075,Male,5,65,42,2018-11-03 02:27:29,2018-05-05 19:23:48,2018-02-18 06:54:36,2018-08-13 18:47:59
-603,Linoel,Havenhand,896-715-3769,Male,7,7,25,2018-05-10 18:45:39,2018-01-27 18:35:14,2018-06-14 18:17:37,2018-03-26 21:54:40
-604,Gerrilee,Morant,914-846-5569,Female,4,45,66,2018-02-17 20:40:10,2018-01-31 19:47:44,2018-10-09 22:28:47,2018-10-27 15:15:40
-605,Giralda,Daine,952-600-0863,Female,4,28,60,2018-06-15 19:09:55,2018-04-30 04:40:26,2018-09-14 06:48:06,2018-02-10 19:05:33
-606,Joela,Rand,808-932-6875,Female,1,27,3,2018-08-16 15:12:40,2018-09-27 15:12:49,2018-05-27 05:51:56,2018-04-13 14:52:35
-607,Obidiah,Beecham,324-361-0116,Male,7,72,18,2018-10-28 13:32:50,2018-06-20 18:58:47,2018-11-02 11:51:44,2018-03-11 23:29:03
-608,Karlik,Witherington,317-493-1871,Male,4,86,11,2019-01-20 03:58:33,2018-07-21 12:26:45,2018-08-23 20:09:48,2018-11-13 10:55:23
-609,Andras,Buttler,645-159-2747,Male,4,66,45,2018-05-19 10:32:36,2018-12-15 13:10:33,2018-01-31 23:04:41,2019-01-04 22:38:54
-610,Kevan,MacCorkell,902-102-9241,Male,5,35,56,2018-02-09 15:51:27,2018-07-17 04:54:50,2018-01-23 13:03:51,2018-07-12 19:59:05
-611,Dena,Welbelove,824-828-1515,Female,7,30,100,2018-03-13 11:53:11,2018-07-30 19:53:24,2019-01-12 19:12:36,2018-10-23 22:10:25
-612,Susette,Spurman,489-770-6265,Female,5,20,53,2018-05-08 12:17:52,2018-06-18 00:15:28,2018-04-14 14:12:49,2018-09-21 10:34:01
-613,Lisabeth,Clarycott,631-189-3198,Female,7,98,3,2018-08-30 00:26:48,2018-03-16 13:08:16,2018-10-12 07:44:50,2018-10-14 13:12:31
-614,Sheryl,Cicchinelli,508-453-8265,Female,6,77,4,2019-01-04 08:57:07,2018-07-27 00:56:42,2018-07-07 09:59:19,2018-08-03 11:54:06
-615,Milly,Harston,959-484-0888,Female,3,13,88,2018-05-02 06:02:08,2018-05-11 09:34:20,2019-01-11 22:42:26,2018-02-06 01:43:05
-616,Avery,Cant,144-536-3636,Male,5,59,83,2018-04-28 04:40:20,2018-02-20 10:21:26,2018-01-23 14:16:23,2018-06-13 17:25:06
-617,Odelle,Hauxley,311-843-6729,Female,2,15,33,2018-06-09 20:51:56,2018-03-22 15:09:29,2019-01-07 22:47:04,2018-10-30 05:38:26
-618,Symon,Dewi,944-566-4724,Male,6,79,26,2018-10-23 03:09:57,2018-04-20 15:52:10,2018-07-23 05:16:26,2018-09-05 13:15:24
-619,Nora,Ingerson,644-377-6341,Female,7,58,74,2018-12-31 01:35:50,2018-03-08 16:01:54,2018-04-02 13:25:27,2018-08-14 07:54:24
-620,Mariam,Ceschelli,722-520-3029,Female,5,65,57,2018-08-17 21:29:16,2018-11-14 18:13:13,2018-11-22 04:05:56,2018-03-25 21:13:21
-621,Guglielma,Fearey,399-683-0328,Female,2,48,46,2018-12-01 22:21:56,2018-05-05 09:53:28,2018-04-01 03:22:30,2018-10-31 05:13:13
-622,Putnem,Glanton,730-351-4499,Male,3,47,40,2018-05-06 05:22:19,2018-08-03 21:56:51,2018-07-27 03:42:36,2018-09-26 03:10:38
-623,Blancha,Penney,585-209-3640,Female,4,92,1,2018-04-24 13:18:47,2018-06-21 21:42:31,2018-03-11 01:50:30,2018-08-17 20:04:54
-624,Zacherie,Manoelli,211-774-0854,Male,7,41,38,2018-09-29 10:25:00,2018-11-03 11:49:35,2018-06-04 21:41:44,2018-10-24 16:29:50
-625,Seymour,Murphey,840-189-1695,Male,7,27,18,2018-11-22 02:51:55,2018-11-13 09:09:33,2018-04-26 15:24:33,2018-06-10 09:01:11
-626,Kiele,Potte,807-707-7776,Female,5,50,79,2018-12-10 09:07:14,2018-02-09 02:17:04,2018-12-02 09:39:41,2018-06-25 03:58:33
-627,Pascale,Keat,699-216-9743,Male,6,20,78,2018-11-23 01:30:15,2018-04-11 09:12:08,2018-03-14 20:14:59,2018-02-13 23:24:16
-628,Krisha,Sails,162-533-7679,Male,5,91,52,2019-01-17 01:56:16,2018-02-15 14:18:56,2018-03-05 23:19:21,2018-02-24 11:00:50
-629,Justen,McFeat,266-387-8084,Male,4,45,19,2018-10-17 20:09:40,2018-12-29 10:26:10,2018-07-21 12:46:49,2018-02-12 09:50:24
-630,Daloris,Adamson,173-669-4723,Female,4,46,42,2018-02-02 14:26:53,2018-08-15 00:31:20,2018-10-28 08:17:42,2018-04-21 16:28:19
-631,Saleem,Cawood,885-138-1413,Male,6,96,11,2018-09-04 09:51:41,2018-06-12 17:37:20,2018-12-09 22:22:56,2018-11-28 01:06:26
-632,Yettie,Glynn,672-547-0019,Female,3,84,66,2018-11-13 23:39:10,2018-07-14 16:14:12,2018-09-21 13:43:43,2018-09-29 15:57:10
-633,Waite,Smalls,320-394-9058,Male,4,2,55,2018-12-17 16:32:29,2018-11-15 01:45:06,2018-03-17 23:34:19,2018-03-06 15:12:35
-634,Tomkin,Adam,674-394-3276,Male,3,5,48,2018-02-07 03:48:38,2018-07-13 14:23:03,2018-06-02 14:48:09,2018-07-13 06:23:14
-635,Dilly,Strotone,507-532-7349,Male,2,63,15,2018-10-18 04:02:56,2018-08-29 04:49:57,2018-12-04 03:03:45,2018-10-13 05:54:24
-636,Townsend,Eytel,577-285-3662,Male,2,28,15,2018-06-01 12:29:01,2018-09-17 04:48:03,2018-08-12 21:57:59,2018-02-19 20:48:01
-637,Aurel,Taleworth,826-459-6823,Female,4,21,100,2018-08-04 08:00:57,2018-09-17 17:45:32,2018-10-01 19:40:32,2018-09-12 06:23:27
-638,Barnabe,Eldredge,303-934-8908,Male,1,96,66,2018-11-25 12:08:25,2018-09-28 04:15:54,2018-06-11 18:54:23,2018-01-29 01:27:18
-639,Brnaby,Kwietek,319-338-0342,Male,1,99,21,2018-07-11 05:00:49,2018-09-07 18:54:24,2019-01-02 06:20:42,2018-07-12 08:08:28
-640,Thea,Beamont,123-463-1082,Female,4,95,46,2018-03-04 16:30:12,2018-09-20 03:40:11,2018-07-15 14:34:10,2018-08-29 13:50:42
-641,Moyra,MacAne,973-363-3000,Female,3,50,66,2018-06-15 02:19:51,2018-07-18 23:41:04,2018-11-11 08:19:50,2018-07-28 23:40:30
-642,Luce,Hanmer,800-595-2765,Male,4,71,68,2018-12-29 07:24:16,2018-03-30 23:25:56,2018-12-20 17:22:17,2018-07-01 23:50:17
-643,Clement,Gobert,746-653-6801,Male,2,29,39,2018-03-16 20:33:17,2018-12-07 02:34:52,2018-12-12 16:45:55,2018-12-20 02:30:28
-644,Dalenna,Kingsnorth,366-634-1391,Female,5,42,29,2018-04-19 19:41:25,2018-11-24 02:02:50,2018-03-31 05:36:32,2018-07-16 23:22:03
-645,Gigi,MacGilrewy,807-983-4035,Female,2,5,59,2018-11-13 14:20:34,2018-09-08 20:54:02,2018-09-05 14:11:49,2018-06-05 21:12:39
-646,Josi,De Vere,191-357-7492,Female,3,26,63,2018-11-16 05:10:17,2018-05-10 22:27:04,2018-05-04 18:15:10,2018-06-28 04:26:52
-647,Ripley,Pedrozzi,564-644-3142,Male,4,81,64,2018-05-06 05:04:31,2018-09-08 07:15:00,2018-11-12 01:23:19,2018-08-14 01:45:01
-648,Angelina,Henriques,513-742-8132,Female,1,4,93,2018-08-13 00:14:12,2018-03-20 21:24:41,2018-08-07 23:30:14,2018-11-23 00:03:11
-649,Anthia,Dandy,983-456-4556,Female,4,7,96,2018-05-12 17:03:46,2018-12-07 05:19:51,2018-11-20 12:22:28,2018-10-03 06:06:09
-650,Audry,Mourge,237-352-0739,Female,3,87,13,2018-01-25 21:10:18,2018-04-08 08:11:55,2018-01-26 17:58:05,2018-11-22 16:05:01
-651,Konstanze,Skocroft,383-376-4511,Female,5,53,15,2018-07-06 21:47:19,2018-07-21 19:51:01,2019-01-05 19:31:14,2018-12-02 06:51:10
-652,Koo,Arington,553-175-9464,Female,4,51,72,2018-03-12 21:13:34,2018-01-29 22:50:56,2018-07-28 03:59:46,2018-09-08 20:40:26
-653,Mimi,Novakovic,282-495-5519,Female,2,13,7,2019-01-18 17:51:56,2018-03-21 21:03:27,2018-11-26 23:09:59,2018-02-15 16:11:04
-654,Aldus,Aguirrezabal,289-348-2177,Male,2,27,59,2018-11-06 12:55:08,2018-03-03 18:13:31,2018-04-12 18:22:35,2018-08-22 21:43:49
-655,Sullivan,Kelmere,595-312-2528,Male,1,42,45,2018-12-01 16:35:57,2018-10-25 18:48:22,2018-09-07 00:15:27,2018-04-27 11:34:49
-656,Taite,Ruffli,824-778-7852,Male,4,22,46,2018-07-28 22:54:17,2018-10-09 20:45:57,2018-08-03 04:38:39,2018-11-26 15:09:49
-657,Rosene,Missen,922-494-6731,Female,7,91,26,2018-08-17 20:06:33,2018-11-02 02:58:57,2018-03-05 00:03:11,2018-05-31 23:55:38
-658,Ty,Fucher,639-989-4144,Male,3,68,100,2018-07-22 01:36:24,2018-03-08 21:12:38,2018-05-04 21:30:03,2018-09-06 22:32:37
-659,Heddi,Assel,246-263-2031,Female,6,39,92,2018-02-15 08:32:02,2018-02-26 03:11:18,2018-01-27 11:33:06,2018-08-29 02:37:29
-660,Boonie,Djorvic,425-328-7219,Male,7,49,6,2018-02-11 23:21:23,2018-03-07 04:45:35,2019-01-16 02:27:45,2018-10-14 03:27:02
-661,Aurie,Esgate,216-596-1681,Female,4,44,39,2019-01-07 13:40:58,2018-09-29 18:40:04,2018-04-15 01:33:28,2018-11-16 00:59:28
-662,Dana,Edginton,762-855-7796,Male,7,11,7,2018-10-22 11:13:58,2018-02-25 07:53:13,2018-10-26 14:30:34,2018-02-21 08:22:28
-663,Christiana,Haslock(e),322-905-9384,Female,7,66,50,2018-04-08 07:38:08,2018-05-11 05:11:14,2018-03-13 07:31:38,2018-03-24 02:07:40
-664,Lelia,Kimmerling,462-373-6886,Female,2,22,47,2018-07-16 09:28:30,2018-01-31 12:00:37,2018-05-14 00:22:05,2018-04-02 06:04:19
-665,Kaleena,Ferrier,462-635-6827,Female,2,74,81,2018-06-05 11:09:52,2018-02-12 09:02:48,2018-09-11 19:00:25,2018-02-20 13:36:01
-666,Davon,Kroch,646-511-8893,Male,2,79,55,2018-08-11 12:22:33,2018-03-09 12:30:22,2018-10-04 12:31:33,2018-08-30 17:50:16
-667,Agathe,Kingwell,879-547-0641,Female,7,16,34,2018-06-12 18:22:16,2018-08-05 00:55:58,2018-12-27 12:31:25,2018-02-19 01:39:48
-668,Tami,Brum,925-535-6949,Female,6,13,16,2018-08-10 21:16:02,2018-07-10 10:42:55,2018-10-03 09:45:52,2018-09-02 08:04:13
-669,Meghan,Behan,666-973-3081,Female,2,37,72,2018-07-01 22:33:57,2018-12-23 00:46:46,2018-11-15 22:39:02,2018-02-15 12:20:24
-670,Elliott,Gumbley,891-324-8441,Male,3,100,20,2018-05-26 06:24:39,2018-08-24 00:11:20,2018-10-25 08:36:44,2018-03-14 08:39:54
-671,Roosevelt,Headan,845-354-1730,Male,5,3,90,2018-07-01 14:50:49,2018-09-15 12:12:40,2018-12-24 01:35:47,2018-09-20 01:17:08
-672,Judie,Cozins,719-163-5308,Female,6,64,26,2018-02-13 12:22:03,2018-11-17 08:43:37,2018-04-01 06:23:24,2018-09-21 04:32:48
-673,Zebulen,Bulger,201-223-1332,Male,5,98,53,2018-07-16 23:18:20,2018-05-29 12:17:27,2018-04-28 14:52:50,2018-06-12 16:22:23
-674,Lea,Fairpo,372-782-5016,Female,6,19,3,2018-09-03 14:58:22,2018-07-08 18:29:06,2018-05-16 18:23:32,2018-12-29 08:04:07
-675,Mayer,Demead,393-580-8088,Male,4,41,38,2018-09-26 07:35:23,2018-04-11 15:45:52,2018-03-27 15:23:59,2018-06-06 14:21:04
-676,Ana,Cannaway,492-510-5265,Female,7,61,68,2018-02-10 08:21:49,2019-01-17 12:57:29,2018-03-10 19:54:59,2018-05-05 03:55:19
-677,Cathrine,Featonby,618-545-3336,Female,2,13,20,2018-04-06 05:43:01,2018-08-08 21:16:04,2018-09-14 02:33:02,2018-02-21 21:27:00
-678,Wilt,Pitcher,482-827-8133,Male,3,100,4,2018-07-28 21:19:49,2018-05-26 09:01:20,2018-08-20 04:38:04,2018-12-20 10:33:58
-679,Mirabelle,Beric,266-468-3958,Female,5,22,72,2018-05-02 12:06:49,2018-04-08 13:34:02,2018-05-08 04:55:38,2018-04-08 07:43:46
-680,Kitti,Duell,600-603-0212,Female,6,63,11,2018-06-03 10:32:14,2018-02-28 16:15:11,2018-07-14 16:05:36,2018-12-09 20:55:23
-681,Pebrook,Tunuy,901-401-5075,Male,7,43,54,2018-05-03 21:20:23,2018-08-22 11:35:56,2019-01-16 05:29:13,2018-06-03 07:29:48
-682,Maryanna,Eayrs,722-426-6216,Female,1,44,84,2018-09-20 04:29:10,2018-03-25 00:25:02,2018-08-24 07:28:58,2019-01-03 12:51:01
-683,Obadias,Izzatt,379-850-7154,Male,6,6,27,2018-04-26 21:45:09,2018-02-05 01:27:51,2018-12-26 01:14:44,2018-08-29 23:20:18
-684,Cherye,Androletti,524-563-8173,Female,3,68,10,2018-04-21 19:56:00,2018-09-14 22:29:43,2018-12-29 20:14:49,2018-11-16 03:21:36
-685,Joachim,Dimitrescu,795-788-5797,Male,5,76,2,2018-12-11 21:33:57,2018-12-23 19:18:05,2018-11-25 10:00:13,2018-03-10 21:29:53
-686,Wynne,Heyward,438-352-0453,Female,2,24,17,2018-08-16 11:16:51,2018-07-01 06:49:35,2018-10-07 18:27:47,2018-12-09 16:04:47
-687,Renell,Ipwell,436-940-9778,Female,2,20,24,2018-11-20 12:06:05,2018-07-02 02:09:18,2018-09-08 02:49:34,2018-02-07 07:39:15
-688,Ricky,Alderson,299-400-6861,Male,6,41,97,2018-11-21 08:08:46,2018-08-15 09:54:31,2018-12-12 09:05:40,2018-11-13 16:44:40
-689,Rubi,Gail,300-475-1452,Female,4,37,26,2019-01-06 23:27:48,2018-11-12 10:44:21,2018-12-06 15:12:08,2018-03-19 12:15:14
-690,Sherill,Tallent,643-731-0806,Female,5,51,98,2018-10-30 15:13:26,2018-06-09 19:32:29,2018-02-06 16:40:35,2018-09-26 13:31:25
-691,Elia,Hairon,537-738-0445,Male,4,59,64,2018-06-18 11:14:46,2018-08-12 09:09:40,2018-03-22 09:13:44,2018-10-25 02:49:49
-692,Johny,Degoe,380-482-6021,Male,2,89,51,2018-12-18 10:28:50,2018-10-04 06:40:46,2018-05-17 13:11:00,2019-01-18 01:02:48
-693,Kirstin,Hopfer,520-920-5762,Female,7,7,29,2018-03-03 02:44:21,2018-07-08 01:31:26,2018-08-12 04:22:03,2018-10-07 12:47:55
-694,Addie,Hrycek,411-674-4016,Female,1,62,3,2018-08-02 04:43:18,2018-09-19 05:54:13,2018-09-30 17:33:04,2018-10-24 16:39:15
-695,Devinne,Dilrew,876-178-5135,Female,6,97,69,2018-01-22 00:39:19,2018-05-29 02:38:21,2018-10-17 03:17:47,2018-07-28 12:51:30
-696,Violet,Petren,352-136-0037,Female,3,20,80,2018-09-23 03:09:33,2018-05-22 01:24:08,2019-01-06 00:46:41,2018-04-13 04:27:36
-697,Inga,Cahalan,847-549-2394,Female,3,98,26,2018-03-24 12:37:49,2018-10-09 07:41:56,2019-01-07 22:18:43,2018-01-28 07:44:56
-698,Burg,Liepina,736-158-9051,Male,4,89,88,2018-02-04 05:58:15,2018-02-24 08:51:40,2018-12-01 18:20:15,2018-02-20 12:27:18
-699,Winnifred,Yakutin,165-178-2008,Female,1,74,93,2018-12-14 06:11:18,2018-12-23 02:09:43,2018-04-07 06:12:17,2018-08-16 08:12:28
-700,Boone,Walsom,432-415-6784,Male,3,91,63,2018-06-12 09:05:08,2018-09-21 04:24:21,2018-09-18 05:27:12,2018-09-10 10:46:37
-701,Alberto,Steadman,316-988-9996,Male,7,11,32,2019-01-13 23:25:22,2018-04-27 23:46:24,2018-12-07 20:28:14,2018-02-03 17:46:13
-702,Babbie,Ossulton,151-959-6676,Female,5,50,26,2018-08-25 20:54:00,2018-05-14 14:24:06,2019-01-14 14:14:51,2018-08-15 11:39:35
-703,Franni,Sparwell,411-855-1156,Female,6,95,65,2018-07-21 15:32:34,2018-07-03 10:42:20,2018-08-26 02:44:03,2018-04-13 05:52:48
-704,Carlos,MacNair,911-726-0315,Male,1,17,35,2018-12-05 14:25:42,2018-12-12 19:39:25,2018-04-29 02:34:46,2018-10-22 16:34:03
-705,Violetta,Crosbie,334-280-9073,Female,3,9,44,2018-01-30 22:36:27,2018-08-07 22:12:15,2018-11-27 09:47:02,2018-07-24 14:22:36
-706,Malanie,Perico,380-744-7181,Female,6,68,23,2019-01-03 09:08:46,2018-08-26 01:51:30,2018-12-02 23:44:58,2018-02-16 00:13:42
-707,Ivor,Bowcher,940-535-1313,Male,2,79,20,2018-09-05 08:48:25,2018-05-21 21:40:04,2018-05-02 19:33:24,2018-06-22 07:46:47
-708,Hyacinth,Trump,241-552-4852,Female,4,46,7,2018-02-27 17:57:22,2018-11-20 03:54:39,2018-10-27 00:44:50,2018-09-19 14:04:29
-709,Vittorio,Blincko,136-124-8825,Male,5,70,20,2018-12-17 01:45:05,2018-06-06 18:10:29,2018-12-01 18:11:21,2018-04-14 00:43:46
-710,Tadeas,Glendenning,676-274-2212,Male,3,70,6,2018-08-22 07:42:12,2018-07-12 17:41:15,2018-07-24 17:42:26,2018-12-27 05:34:05
-711,Sky,Flew,681-787-4952,Male,3,81,48,2018-11-13 09:16:39,2018-09-14 09:34:51,2018-09-23 01:44:43,2018-11-21 00:50:58
-712,Luise,Olivetti,707-121-6217,Female,4,68,4,2018-03-29 01:36:21,2018-05-06 13:38:59,2018-05-06 09:55:05,2018-02-04 21:27:46
-713,Drusy,Capinetti,432-896-1449,Female,5,94,80,2018-07-31 20:38:50,2018-11-28 22:41:39,2018-04-27 00:57:40,2018-08-30 16:16:05
-714,Miranda,Rissen,700-512-2672,Female,7,29,40,2018-03-15 22:30:44,2018-02-01 02:59:19,2018-11-25 08:02:09,2018-11-05 07:51:59
-715,Ario,Bashford,390-128-4254,Male,2,54,93,2018-06-14 08:22:43,2018-08-12 18:13:42,2018-11-28 21:40:32,2018-12-29 03:09:26
-716,Rochella,Shackesby,103-592-3468,Female,7,41,14,2018-02-12 09:44:28,2018-08-22 10:35:46,2019-01-09 02:25:18,2018-10-10 17:50:44
-717,Wes,Christofides,192-457-7659,Male,1,69,89,2018-05-29 07:31:48,2019-01-06 03:40:33,2018-02-04 22:20:47,2019-01-05 16:01:23
-718,Griselda,Lukes,232-886-4996,Female,2,96,24,2019-01-10 12:54:29,2019-01-16 20:13:57,2018-04-26 08:07:43,2018-10-11 15:19:29
-719,Dredi,Cooksey,432-670-0783,Female,2,24,32,2018-02-28 00:00:07,2018-06-20 03:18:14,2018-07-21 09:03:11,2018-07-06 03:35:06
-720,Coleman,Trudgian,273-535-1414,Male,4,97,47,2018-04-25 23:41:09,2018-03-11 00:03:13,2018-06-03 13:44:14,2018-08-08 09:07:58
-721,Averill,Shilstone,947-108-0865,Male,7,1,64,2018-08-18 22:21:07,2018-04-12 03:24:47,2018-03-10 08:58:27,2018-08-03 14:04:03
-722,Carmen,Syder,954-822-0919,Female,2,47,75,2018-10-09 09:52:34,2018-11-21 01:16:40,2018-02-12 03:27:35,2018-08-12 12:44:55
-723,Morgan,Leband,547-933-1630,Female,5,39,97,2018-03-25 07:19:57,2018-03-28 20:22:12,2018-09-05 13:29:46,2018-10-12 09:04:17
-724,Milzie,Fearnley,589-230-2628,Female,1,44,13,2018-05-17 23:12:31,2018-07-29 21:43:28,2018-07-06 23:27:59,2018-09-14 01:45:16
-725,Deb,Marjot,495-276-5931,Female,2,27,81,2018-09-28 15:27:35,2018-02-05 23:31:12,2018-07-29 04:18:34,2018-03-08 09:45:23
-726,Shayne,Artinstall,628-997-5039,Male,2,23,20,2018-11-19 12:44:15,2018-05-30 23:05:12,2018-11-23 10:18:23,2018-06-08 14:18:23
-727,Annabal,Standbridge,226-314-1568,Female,5,16,5,2018-08-11 00:40:31,2018-12-20 14:06:36,2018-04-15 04:33:53,2018-11-09 16:42:45
-728,Sheffield,Crielly,360-797-0933,Male,7,57,90,2018-03-08 03:32:17,2018-11-07 06:12:46,2019-01-12 22:10:52,2019-01-02 03:16:09
-729,Antonius,Delagua,336-343-1380,Male,2,64,60,2018-10-14 22:56:26,2018-11-13 00:50:03,2018-07-02 11:23:06,2018-08-09 09:29:32
-730,Brana,Cannell,157-563-3935,Female,2,74,73,2019-01-19 15:41:16,2018-04-20 09:34:06,2018-08-02 12:28:32,2018-02-21 06:29:31
-731,Bartram,Praundlin,631-372-3479,Male,2,35,7,2018-10-03 02:00:10,2018-07-31 21:29:22,2019-01-10 21:43:54,2018-08-28 13:29:28
-732,Anthiathia,Goodwins,664-616-3575,Female,7,76,19,2018-04-26 19:57:15,2018-10-28 17:07:05,2018-02-21 16:38:28,2018-04-18 17:58:31
-733,Deborah,Ekell,577-861-9112,Female,5,74,43,2018-10-19 06:10:04,2018-03-12 03:47:48,2018-05-17 13:04:37,2018-02-09 05:48:05
-734,Lauri,Arunowicz,862-427-5257,Female,4,58,81,2018-07-29 04:16:13,2018-04-23 19:30:17,2018-03-19 21:30:18,2018-11-18 20:46:33
-735,Fowler,Markus,496-831-3082,Male,7,18,52,2018-01-26 22:36:43,2019-01-14 00:15:25,2018-03-18 05:45:56,2018-02-27 16:55:19
-736,Klara,Ramme,103-225-9086,Female,7,28,67,2018-05-21 17:32:08,2018-10-05 08:11:16,2018-06-25 15:05:21,2018-03-13 14:44:42
-737,Melisenda,Chitham,158-699-0591,Female,2,49,88,2018-04-16 02:24:00,2018-10-27 14:52:15,2018-12-31 05:39:31,2018-12-09 09:15:25
-738,Hale,Layborn,106-961-8551,Male,3,66,90,2018-04-22 19:39:27,2018-08-12 19:37:50,2018-08-17 10:37:06,2018-09-14 15:17:48
-739,Ferdie,Stubbeley,686-279-8217,Male,7,62,96,2018-09-25 03:29:05,2018-06-27 23:31:12,2018-07-21 18:49:24,2018-06-19 05:08:00
-740,Licha,O' Kelleher,463-395-9023,Female,6,75,16,2018-07-05 08:29:21,2018-09-13 21:32:41,2018-08-26 17:50:16,2018-05-22 11:30:48
-741,Gualterio,Kernar,123-900-7702,Male,2,32,18,2018-12-30 04:11:35,2018-04-15 10:32:33,2018-06-21 01:01:16,2018-11-15 03:34:48
-742,Harley,Lyokhin,664-282-7716,Male,1,42,45,2018-07-26 12:07:21,2018-02-09 02:23:37,2018-05-10 13:39:44,2018-11-25 04:15:16
-743,Kylila,Hukin,726-438-0889,Female,2,2,74,2019-01-02 09:08:44,2018-04-07 07:18:19,2018-04-19 16:12:40,2018-03-03 19:00:47
-744,Natividad,Dahlbom,744-480-5437,Female,5,82,39,2018-12-30 01:10:05,2018-08-01 07:16:39,2018-05-29 02:44:28,2018-11-08 15:02:54
-745,Virgina,Couzens,947-544-5389,Female,6,14,38,2018-11-19 23:03:21,2018-11-21 13:32:21,2018-03-29 02:30:25,2018-12-31 17:15:49
-746,Peyter,Diano,292-294-3875,Male,2,23,76,2018-12-22 18:12:13,2018-09-23 11:29:07,2018-07-12 06:09:06,2018-07-28 01:53:40
-747,Jayme,O'Curneen,225-447-3103,Male,3,10,84,2018-06-20 10:29:48,2018-08-12 10:14:12,2018-04-28 06:15:40,2018-07-19 08:52:24
-748,Frederik,Wilkisson,963-312-1892,Male,3,4,18,2018-09-11 01:05:52,2018-05-17 07:03:54,2018-09-07 08:19:47,2018-12-27 05:51:37
-749,Yankee,Harrower,918-854-5590,Male,7,14,88,2019-01-12 12:01:21,2018-08-24 08:15:58,2018-06-19 00:06:07,2018-06-19 07:16:40
-750,Tamas,MacRinn,856-289-3684,Male,6,83,91,2018-05-18 15:58:10,2018-06-09 14:45:50,2018-06-16 17:21:20,2018-12-18 02:23:35
-751,Valentin,Rawlings,663-758-9646,Male,4,16,34,2018-06-27 02:03:36,2018-12-10 04:32:16,2018-07-07 05:22:18,2018-02-03 06:54:36
-752,Colver,Yarr,382-717-8711,Male,5,23,10,2018-05-13 09:06:22,2018-04-06 13:41:41,2018-05-07 22:03:59,2018-11-12 22:30:08
-753,Alisa,Gaynesford,417-789-3077,Female,2,87,12,2018-07-16 18:03:56,2018-02-06 07:27:34,2018-07-12 08:51:47,2018-02-22 19:25:29
-754,Xavier,Cornwell,777-401-4183,Male,7,12,13,2018-12-03 01:19:40,2018-05-30 23:16:32,2018-10-01 21:33:13,2018-04-13 23:28:08
-755,Hy,Raftery,563-495-4017,Male,7,54,93,2018-03-25 23:10:24,2018-11-20 07:01:06,2018-03-27 13:09:16,2018-08-03 19:07:10
-756,Holt,Rosenfeld,962-871-1674,Male,2,43,35,2018-08-07 04:15:12,2018-05-21 13:42:27,2018-11-13 19:28:52,2018-03-27 10:14:19
-757,Zola,Andreopolos,543-481-8409,Female,4,31,62,2018-02-08 17:26:50,2018-12-12 15:18:24,2018-02-22 22:58:13,2019-01-02 05:55:39
-758,Letty,Scotting,546-656-5808,Female,5,15,94,2018-10-21 18:22:43,2018-05-26 22:09:39,2018-08-04 15:48:15,2018-08-28 06:14:32
-759,Celina,Lauchlan,202-835-6732,Female,7,47,9,2018-02-26 21:58:16,2019-01-10 01:22:46,2018-11-03 06:10:35,2018-04-21 11:00:49
-760,Drusy,Izakov,129-552-5886,Female,1,45,2,2018-10-11 13:12:08,2018-06-26 11:16:28,2018-08-24 23:58:00,2018-09-09 05:46:23
-761,Shana,Ference,915-610-3990,Female,3,1,7,2018-10-31 18:47:12,2018-09-13 14:33:49,2018-10-02 08:57:46,2018-02-18 19:30:28
-762,Colin,Broy,868-631-8529,Male,2,22,32,2018-05-23 19:06:02,2018-09-08 07:49:35,2018-12-13 21:44:07,2018-06-25 07:15:53
-763,Farlay,Cromett,640-335-8081,Male,7,34,25,2018-06-29 00:34:53,2018-12-08 12:49:01,2018-12-03 13:22:54,2018-06-24 16:33:04
-764,Leandra,Hamberstone,786-332-2588,Female,2,37,90,2018-12-22 15:35:04,2018-02-04 16:23:41,2018-01-28 07:51:51,2018-06-01 00:25:34
-765,Gan,McCahey,450-198-7472,Male,2,79,7,2018-06-26 07:22:06,2018-09-27 09:42:20,2018-03-13 20:28:52,2018-02-10 02:05:39
-766,Brose,Gane,302-470-1094,Male,7,27,25,2018-11-05 10:16:11,2018-12-27 12:00:35,2018-12-13 06:00:05,2018-08-30 01:03:46
-767,Mabel,Nurdin,417-183-7374,Female,1,73,62,2018-12-09 01:11:47,2018-06-09 12:03:13,2018-11-30 04:52:49,2018-04-24 11:08:53
-768,Melinda,Belliard,277-126-4396,Female,6,39,83,2018-07-13 11:17:51,2018-08-04 10:46:43,2018-11-19 23:27:57,2018-02-19 10:08:24
-769,Percy,Yakolev,433-703-6347,Male,4,78,23,2018-11-02 23:32:50,2018-12-19 16:21:10,2018-02-17 21:43:15,2018-12-09 00:57:58
-770,Portia,Legonidec,761-180-7070,Female,6,27,1,2018-11-01 18:06:54,2018-05-16 10:56:05,2018-08-06 20:45:16,2018-08-14 23:11:03
-771,Harry,Lapley,950-309-5667,Male,5,8,58,2018-03-01 15:09:46,2018-05-13 05:24:49,2018-03-22 16:01:05,2018-08-18 02:05:37
-772,Cort,Gathwaite,964-902-3053,Male,5,33,89,2018-08-18 20:12:14,2018-01-27 16:39:37,2018-12-26 22:46:04,2018-02-16 22:31:58
-773,Moselle,Davidsson,813-238-6494,Female,4,13,60,2019-01-10 17:47:31,2018-11-04 08:31:17,2018-04-30 12:09:52,2018-04-14 19:47:23
-774,Avril,Britton,340-286-1678,Female,3,4,16,2018-03-18 00:19:38,2018-12-29 06:21:49,2019-01-03 02:03:40,2018-11-29 12:05:59
-775,Linn,Confait,176-807-2635,Female,6,18,70,2018-09-18 15:11:21,2018-05-02 18:32:49,2018-03-25 13:46:21,2018-10-06 04:29:26
-776,Joletta,Fyldes,547-358-7132,Female,3,92,6,2019-01-07 18:53:22,2018-09-07 21:09:08,2018-10-22 08:38:19,2018-07-08 07:01:37
-777,Alvira,Donnersberg,712-756-5926,Female,1,20,77,2018-06-09 12:41:30,2018-12-29 01:15:22,2018-02-11 19:44:50,2018-02-21 21:33:12
-778,Kirbee,Sherer,434-167-9643,Female,4,84,40,2018-10-18 16:54:05,2018-04-02 11:16:17,2018-02-26 17:45:53,2018-10-21 05:24:45
-779,Griffy,Guitton,326-132-8573,Male,4,60,19,2018-06-22 17:59:44,2018-09-11 16:22:32,2018-11-10 19:43:30,2018-02-06 10:06:41
-780,Emmott,Allitt,969-852-2661,Male,2,48,37,2018-04-24 21:17:55,2018-11-01 06:07:42,2018-07-30 22:56:18,2018-11-13 22:12:50
-781,Tailor,Dalman,521-811-9925,Male,5,60,72,2018-12-14 09:37:55,2018-12-26 17:43:11,2018-12-10 03:38:52,2018-04-07 11:21:07
-782,Brennen,Vasilechko,176-109-0551,Male,6,90,55,2018-08-31 12:29:00,2018-05-23 03:06:41,2018-10-10 17:44:50,2018-10-21 00:47:28
-783,Dotty,MacCallam,161-881-1371,Female,1,56,3,2018-03-01 02:18:19,2019-01-06 18:00:59,2018-04-28 10:26:11,2018-02-05 06:43:37
-784,Jedidiah,Guerin,645-152-7671,Male,5,56,83,2018-04-02 15:07:20,2018-08-24 12:42:12,2018-12-21 09:17:44,2018-10-06 00:19:03
-785,Hannie,Danes,716-637-6821,Female,5,40,18,2019-01-08 07:08:18,2019-01-05 20:40:19,2019-01-16 12:16:28,2018-03-23 12:28:41
-786,Galen,Scogin,453-714-4492,Male,6,38,18,2018-10-27 06:54:20,2018-06-19 09:26:07,2019-01-10 20:55:20,2018-10-18 17:04:44
-787,Aleta,Melonby,207-524-3356,Female,3,98,3,2018-04-04 12:13:59,2018-06-06 11:50:34,2018-05-05 17:38:56,2018-03-11 12:56:42
-788,Adlai,Mauchlen,601-977-7616,Male,7,88,64,2018-03-24 04:33:36,2018-03-07 16:46:25,2018-03-16 19:25:21,2018-07-20 14:23:29
-789,Amelie,Le Barre,576-950-1963,Female,5,28,53,2018-08-10 15:52:25,2018-05-07 07:19:32,2018-12-21 21:24:49,2018-07-21 01:11:54
-790,Rodrique,Lestor,723-918-4771,Male,4,26,72,2018-08-29 10:37:42,2018-11-16 09:49:01,2018-08-31 05:08:59,2018-12-18 10:17:32
-791,Gifford,Challoner,411-352-9364,Male,5,63,18,2018-10-16 12:33:24,2018-11-24 23:28:34,2018-05-29 22:33:36,2018-11-06 07:45:09
-792,Dorene,Pogosian,391-363-6103,Female,4,74,78,2018-04-26 20:52:42,2018-08-02 21:57:23,2018-04-29 21:18:02,2018-02-13 20:06:09
-793,Lynnell,De Filippi,418-713-4087,Female,7,78,47,2018-12-03 11:11:47,2019-01-05 12:23:37,2018-05-05 19:10:42,2018-04-22 16:11:38
-794,Tod,Willicott,354-257-4541,Male,5,34,18,2018-07-19 20:11:25,2018-08-12 01:02:55,2018-08-05 23:52:34,2018-02-15 00:20:31
-795,Myrlene,Wornham,331-165-6672,Female,7,51,75,2018-11-24 15:52:43,2018-07-01 06:12:47,2018-08-08 19:45:02,2018-11-19 14:51:56
-796,Sibyl,Burnsyde,981-826-0517,Female,2,24,2,2018-11-01 05:15:20,2018-10-15 22:30:33,2018-05-27 21:38:42,2018-05-08 15:34:52
-797,Barron,Hanrott,700-573-3103,Male,6,81,99,2018-08-12 21:14:38,2018-03-09 17:36:14,2018-06-03 16:23:47,2018-10-13 22:34:58
-798,Marylee,Hunnawill,501-536-2494,Female,7,30,33,2018-10-19 01:54:52,2018-04-12 03:02:28,2018-09-12 02:31:37,2018-06-14 10:58:08
-799,Chip,Hunnaball,249-377-3740,Male,3,98,59,2018-04-25 10:02:32,2019-01-18 16:00:40,2018-02-14 02:06:39,2018-06-17 23:32:24
-800,Major,Milsap,444-230-6774,Male,7,20,23,2018-03-11 15:00:30,2018-01-24 21:48:22,2018-12-27 13:31:21,2018-08-10 23:29:32
-801,Ashli,Romain,886-453-6140,Female,6,12,19,2018-02-24 23:38:53,2018-05-01 04:29:06,2018-06-03 17:41:53,2018-04-21 00:29:25
-802,Keeley,Frankom,894-599-8867,Female,3,30,4,2019-01-05 18:11:47,2018-03-25 21:31:27,2018-05-26 03:52:58,2018-10-23 16:17:28
-803,Curcio,Widmoor,934-987-4248,Male,5,23,84,2018-03-31 07:42:11,2018-10-25 03:00:08,2018-10-18 23:14:42,2018-05-07 19:58:59
-804,Crawford,Ballston,771-623-5016,Male,5,24,48,2018-12-27 07:13:13,2019-01-09 10:21:22,2018-05-20 08:49:26,2018-09-16 08:46:49
-805,Templeton,Snibson,650-275-2922,Male,3,55,83,2018-12-04 05:22:30,2018-09-29 21:23:56,2018-03-08 17:58:24,2018-08-15 02:38:52
-806,Gail,Peachment,906-123-1774,Male,4,59,13,2018-09-21 07:44:03,2018-08-02 22:34:51,2018-03-08 07:11:39,2018-08-25 15:39:59
-807,Adriano,Escale,888-817-1180,Male,3,92,78,2018-07-24 16:32:20,2018-02-22 12:50:50,2018-06-26 12:34:44,2018-06-06 08:04:35
-808,Trista,Tudgay,340-171-5505,Female,5,44,62,2018-09-04 12:09:41,2018-01-31 01:51:09,2018-09-13 08:38:11,2018-06-06 05:49:50
-809,Angie,Carradice,507-239-1908,Female,1,12,69,2018-08-13 18:36:13,2018-11-23 03:57:42,2018-06-17 07:44:13,2018-12-09 16:37:23
-810,Maureen,Perllman,116-299-8383,Female,1,91,1,2018-04-10 06:12:02,2018-08-02 04:31:50,2018-06-18 00:58:20,2018-10-12 02:31:31
-811,Renaud,Roylance,267-492-3743,Male,3,36,85,2018-02-05 00:59:50,2018-11-26 02:06:43,2018-11-16 00:25:18,2018-02-02 08:38:37
-812,Dasi,Rhucroft,505-753-6245,Female,4,96,84,2018-11-10 18:36:26,2018-07-17 05:54:10,2018-07-12 13:34:58,2018-11-10 01:57:49
-813,Arlee,Gerdts,220-186-9711,Female,6,76,30,2018-12-26 11:24:38,2018-11-21 22:09:49,2018-04-16 14:09:09,2018-05-27 06:24:32
-814,Darrel,Maseres,540-324-4576,Male,6,20,52,2018-01-25 13:38:00,2019-01-11 23:26:49,2018-07-10 03:23:20,2018-06-27 20:41:34
-815,Merle,Haggie,867-109-5010,Male,5,96,73,2018-05-11 09:41:28,2018-02-26 23:39:01,2019-01-18 06:20:26,2018-11-24 20:35:34
-816,Jordanna,Slocket,561-552-2274,Female,3,64,28,2018-06-05 00:07:31,2018-10-24 18:30:56,2018-04-11 09:26:10,2018-07-17 15:09:53
-817,Rosa,Naulty,104-742-5724,Female,1,49,36,2018-07-25 05:49:28,2018-12-11 01:12:50,2018-04-02 22:12:09,2019-01-03 01:54:51
-818,Abbott,Nenci,465-121-4813,Male,3,79,57,2018-11-14 21:12:41,2018-03-22 04:16:18,2018-08-26 18:31:33,2018-05-16 10:32:25
-819,Edsel,Brockley,602-592-8501,Male,1,30,96,2018-01-21 00:58:41,2018-12-18 18:52:15,2018-03-18 23:16:05,2018-11-22 00:32:00
-820,Rickie,Tace,237-311-6775,Female,4,14,43,2018-07-28 16:49:11,2018-12-14 07:30:09,2018-02-18 22:51:29,2018-06-05 16:20:34
-821,Shaun,Stagg,356-435-7464,Female,7,54,35,2018-09-08 08:01:19,2018-03-09 16:11:16,2019-01-16 17:00:44,2018-11-30 14:34:15
-822,Alfred,Durden,512-204-4387,Male,2,79,46,2018-12-31 13:42:16,2018-05-24 21:54:26,2018-07-10 23:33:53,2018-08-10 04:33:54
-823,Christoffer,Bolderstone,868-441-3575,Male,6,4,30,2018-11-03 00:46:09,2018-04-30 04:41:20,2018-07-26 23:17:02,2018-04-27 19:17:50
-824,Ellette,Robard,806-623-1247,Female,2,59,70,2018-01-31 22:31:04,2018-01-28 04:26:39,2018-06-10 10:50:30,2018-11-01 17:27:42
-825,Loren,Mitrovic,840-960-0930,Male,7,27,31,2018-11-09 15:53:11,2018-03-25 02:53:57,2018-12-15 15:59:47,2018-06-20 19:00:48
-826,Leigh,Beebee,483-570-2017,Male,5,56,99,2018-03-27 09:56:26,2018-09-05 03:40:42,2018-12-13 03:28:25,2018-11-23 13:45:15
-827,Debby,Beldham,686-330-6591,Female,5,65,17,2018-08-01 18:59:48,2018-03-24 14:20:35,2019-01-10 21:11:42,2018-12-19 08:48:47
-828,Barron,Lowell,115-742-2050,Male,5,85,65,2018-03-03 04:32:02,2018-04-24 11:36:33,2018-09-15 15:08:52,2018-06-25 22:46:54
-829,Randi,Skydall,223-820-2793,Male,2,86,47,2018-07-20 00:15:51,2018-06-26 06:23:43,2018-12-28 12:30:07,2018-08-25 21:27:50
-830,Isabel,Roggerone,927-569-8210,Female,4,85,41,2018-09-23 13:54:09,2018-03-09 05:31:36,2018-06-11 18:42:42,2018-04-13 18:03:27
-831,Alvan,Geake,401-432-6471,Male,5,71,66,2018-03-29 20:49:43,2018-04-25 14:10:14,2018-07-24 01:39:45,2018-12-24 09:39:46
-832,Sophey,Jeandel,338-361-7635,Female,6,60,18,2018-08-05 04:29:15,2018-09-21 05:26:30,2018-06-08 07:30:41,2018-12-27 19:45:07
-833,Howie,Maxsted,197-553-3905,Male,5,94,69,2018-08-25 23:10:38,2019-01-20 02:12:00,2019-01-15 20:11:44,2018-02-13 17:46:32
-834,Padraig,Torr,529-469-0039,Male,1,62,17,2018-03-14 04:21:56,2018-06-08 14:24:59,2018-10-08 09:31:56,2018-08-30 02:59:15
-835,Shirl,Jeratt,713-937-2841,Female,2,18,89,2018-09-25 03:56:45,2018-07-17 02:54:21,2019-01-08 21:13:42,2018-02-20 17:16:17
-836,Durward,Kermott,625-654-9223,Male,6,67,25,2018-02-14 15:04:10,2018-03-23 06:42:12,2018-09-16 13:56:48,2018-03-10 11:02:08
-837,Rici,Francie,992-830-9527,Female,5,75,22,2018-07-21 07:35:59,2018-01-24 21:24:42,2018-12-20 10:46:19,2018-04-27 01:28:33
-838,Vivian,Suddell,715-471-1918,Female,6,81,45,2018-07-29 02:06:46,2018-10-15 14:05:00,2018-06-12 17:01:30,2018-05-12 22:22:36
-839,Eugenia,Tudhope,527-791-1359,Female,2,95,25,2019-01-05 12:54:58,2018-12-12 20:07:15,2018-12-22 12:11:13,2018-12-25 06:49:43
-840,Hamnet,Gateman,792-883-5589,Male,1,84,45,2018-06-26 04:15:53,2018-02-21 14:45:49,2018-08-29 18:01:14,2019-01-15 09:03:43
-841,Laraine,Emma,256-645-5057,Female,3,88,52,2018-05-29 03:26:20,2018-03-10 02:05:24,2018-05-12 21:29:38,2018-12-10 02:39:56
-842,Harley,D'Ruel,359-498-9270,Male,4,16,57,2018-02-15 07:39:22,2018-08-24 22:23:10,2018-07-19 02:07:06,2018-02-13 01:45:52
-843,Theda,Eades,222-998-5683,Female,7,2,71,2018-03-06 07:09:18,2018-09-14 11:46:16,2018-11-23 01:07:59,2018-12-02 03:37:22
-844,Giselbert,Klimentyev,165-127-0115,Male,6,88,93,2018-11-13 03:56:59,2018-04-09 02:33:25,2018-07-04 00:34:57,2018-06-04 05:56:23
-845,Lynnet,Tidd,370-452-0577,Female,6,47,3,2018-08-25 20:45:24,2018-08-27 16:50:01,2018-08-22 21:33:48,2018-06-27 22:32:52
-846,Donetta,Giannassi,913-466-0403,Female,2,39,55,2018-02-26 16:34:20,2018-07-10 03:35:10,2018-09-29 14:23:34,2018-10-10 13:02:02
-847,Conrade,Ruddell,514-722-6544,Male,3,13,100,2018-05-31 18:14:29,2018-10-19 05:51:32,2018-11-22 09:45:08,2018-02-22 05:00:31
-848,Tynan,Ritchie,552-416-9192,Male,4,50,26,2018-02-13 01:36:31,2018-07-24 03:28:00,2018-02-22 16:37:36,2018-02-28 07:16:54
-849,Erv,Huggins,528-946-8385,Male,3,73,82,2018-03-23 14:37:41,2018-08-12 12:26:08,2018-02-09 16:56:21,2018-08-09 06:33:34
-850,Darby,Ambrogini,266-338-3612,Male,6,92,21,2018-04-27 07:57:01,2018-10-19 20:49:49,2018-02-10 16:39:59,2018-09-03 00:53:41
-851,Devondra,Boc,775-193-7341,Female,5,36,51,2018-10-18 04:36:21,2018-10-28 14:06:15,2018-03-25 15:47:47,2018-08-20 22:31:48
-852,Meggy,Paxforde,435-917-5199,Female,2,40,85,2018-08-27 05:39:35,2018-01-23 20:18:58,2018-02-01 16:43:58,2018-08-07 12:15:36
-853,Pattie,Macallam,901-370-6579,Female,1,4,32,2018-07-11 10:30:06,2018-10-01 12:33:55,2018-02-08 02:35:59,2018-11-30 18:29:14
-854,Ray,Thayre,822-459-4971,Male,7,13,79,2018-07-13 03:44:05,2018-07-07 04:47:58,2018-08-28 19:24:34,2018-08-13 10:49:03
-855,Sindee,Gong,919-731-7167,Female,6,23,3,2018-12-08 15:31:48,2018-04-27 17:10:40,2018-07-14 14:10:46,2018-09-23 22:25:52
-856,Giovanni,Elsie,739-171-4273,Male,3,100,20,2018-11-22 21:14:50,2018-09-29 00:12:07,2018-05-17 09:43:48,2018-04-05 15:26:17
-857,Hadley,Davidde,813-908-2619,Male,7,64,65,2018-01-31 19:26:32,2018-11-10 09:08:19,2018-06-20 20:16:01,2018-04-18 19:33:00
-858,Jud,Schleicher,248-874-9513,Male,1,24,8,2018-04-06 16:54:03,2018-12-08 11:46:05,2018-10-02 20:22:44,2018-04-27 09:04:18
-859,Berget,Rasmus,599-370-5265,Female,2,46,8,2018-11-11 16:46:30,2018-11-24 16:42:40,2019-01-05 12:53:51,2018-12-17 18:41:54
-860,Floris,Lelliott,495-754-4852,Female,1,35,72,2019-01-06 22:27:28,2018-06-14 07:45:20,2018-10-25 10:22:56,2018-07-09 00:48:19
-861,Marianna,Huge,136-171-1910,Female,1,92,73,2018-05-04 21:19:28,2018-04-08 18:45:35,2018-02-08 18:06:55,2018-07-12 04:08:00
-862,Federica,Seakings,778-573-1492,Female,5,42,100,2018-02-18 23:40:45,2018-08-29 22:07:35,2018-06-27 21:37:10,2018-06-27 18:13:29
-863,Christophorus,Tett,516-196-0657,Male,3,68,89,2018-09-28 20:37:26,2018-07-03 17:19:03,2018-04-20 09:01:09,2018-06-11 11:31:56
-864,Kathlin,Hubbart,400-384-9734,Female,5,75,62,2018-09-23 11:16:50,2018-11-22 07:00:07,2018-11-12 09:29:23,2018-03-19 17:19:13
-865,Toinette,Christophersen,222-218-6841,Female,4,81,80,2018-06-24 07:27:29,2018-03-08 17:25:42,2018-11-19 23:39:15,2018-04-02 19:04:26
-866,Mei,Dragon,891-366-6658,Female,2,14,22,2018-03-17 07:33:08,2018-06-23 20:11:56,2018-10-30 02:21:14,2018-10-21 08:13:29
-867,Wileen,Guittet,118-965-5819,Female,7,22,73,2018-04-12 00:04:07,2018-08-23 08:56:44,2018-07-09 08:29:36,2018-02-22 06:45:41
-868,Bill,Skechley,531-261-9052,Female,1,93,45,2018-03-25 13:30:53,2018-10-17 03:47:35,2018-10-18 02:26:47,2018-12-08 19:05:40
-869,Chrissy,Rapley,863-731-8995,Female,7,17,8,2018-09-12 01:35:07,2018-07-22 15:02:10,2018-06-18 19:06:47,2018-12-22 20:00:52
-870,Gwynne,Hymers,287-878-7144,Female,4,6,29,2018-08-19 13:41:56,2018-12-10 18:23:35,2018-03-26 01:25:26,2018-07-05 16:38:09
-871,Noland,Hornung,922-794-4200,Male,3,66,82,2018-12-10 23:49:55,2018-09-15 01:16:20,2018-10-24 20:37:00,2018-10-27 07:56:58
-872,Sybila,Caren,883-754-0514,Female,1,40,33,2018-11-01 03:29:07,2018-03-07 23:07:07,2018-09-06 01:46:46,2018-03-17 17:02:04
-873,Arnaldo,Ortelt,648-204-0219,Male,5,24,20,2018-04-19 00:26:30,2018-06-09 12:00:33,2018-09-30 00:21:33,2018-07-12 18:59:39
-874,Sascha,Thurner,504-586-1976,Male,4,9,34,2018-09-03 11:21:47,2018-12-06 09:23:43,2018-11-21 03:43:51,2018-05-28 10:34:36
-875,Janeva,Stallion,168-726-9745,Female,7,66,60,2018-07-05 04:40:09,2018-02-19 12:25:04,2018-05-31 06:47:34,2018-01-24 21:43:59
-876,Imelda,Daintrey,786-279-9676,Female,5,26,12,2018-07-29 01:32:45,2018-05-21 03:09:18,2018-10-03 07:09:16,2018-12-28 16:07:06
-877,Kaia,Pauleit,937-468-0457,Female,5,36,63,2018-08-20 03:23:06,2018-09-20 08:02:05,2018-05-13 23:35:38,2018-03-19 03:48:06
-878,Fons,Coton,673-868-5084,Male,6,51,39,2018-02-28 14:51:40,2018-08-02 02:13:10,2018-02-01 01:38:38,2018-09-22 00:49:46
-879,Amalee,Groneway,336-875-1596,Female,5,19,58,2018-04-12 20:12:37,2018-11-27 06:39:14,2018-09-18 01:05:22,2018-04-22 08:39:02
-880,Paquito,O'Dwyer,324-526-6202,Male,7,99,41,2018-10-12 02:35:53,2018-02-10 00:52:03,2018-02-07 03:12:35,2018-10-18 21:47:13
-881,Shea,Forst,307-995-7972,Female,1,41,41,2018-10-02 02:03:39,2018-10-24 23:10:36,2019-01-09 17:11:05,2018-05-16 22:15:02
-882,Sylvan,McKimm,999-270-7047,Male,1,21,29,2018-04-13 22:42:31,2018-12-10 08:47:39,2018-05-25 01:01:54,2018-04-17 08:03:17
-883,Peyter,Rotte,919-508-2810,Male,3,51,43,2018-05-25 10:20:40,2018-05-07 09:22:17,2018-10-29 16:34:13,2018-05-08 18:00:18
-884,Ernestine,Jankowski,998-337-8068,Female,3,7,44,2018-01-22 22:18:12,2018-11-04 08:03:53,2019-01-14 13:07:45,2018-01-25 10:53:54
-885,Bridget,Pettet,701-799-8814,Female,5,84,73,2018-04-24 13:06:17,2018-09-27 02:37:43,2018-11-23 08:52:31,2018-08-30 18:46:39
-886,Arlana,Wisniowski,321-679-5349,Female,7,1,72,2018-09-20 23:41:45,2018-07-29 00:16:49,2018-02-08 09:55:35,2018-04-07 15:34:38
-887,Darbie,Verzey,936-723-9548,Female,6,95,2,2018-09-15 23:29:11,2018-01-28 09:02:28,2018-12-05 08:05:15,2018-02-08 01:02:29
-888,Quintana,Nutley,896-674-7083,Female,3,38,16,2018-07-22 20:52:42,2018-09-19 19:39:52,2018-04-29 01:58:40,2018-07-30 22:07:46
-889,Padgett,Urwen,141-490-6319,Male,6,32,96,2018-05-09 19:03:45,2018-04-07 12:16:47,2018-07-17 13:53:15,2018-09-19 15:54:14
-890,Beret,Gilchrest,524-146-3660,Female,3,30,45,2018-12-09 18:08:35,2018-02-09 07:44:41,2019-01-09 06:31:54,2018-06-03 05:03:43
-891,Jacquette,McBlain,180-111-2719,Female,5,45,49,2018-08-25 23:50:05,2018-08-14 04:10:24,2018-06-28 01:21:56,2018-05-09 06:07:09
-892,Heriberto,Hardway,934-411-2153,Male,7,100,67,2018-08-12 07:20:08,2018-08-30 23:04:44,2018-08-09 09:18:15,2018-08-21 13:19:44
-893,Charo,Cheeney,934-194-4292,Female,2,79,49,2018-02-19 02:30:34,2018-07-26 21:32:10,2018-03-14 13:44:53,2019-01-02 19:07:53
-894,Barty,Delacour,352-181-7260,Male,7,68,1,2018-02-08 11:54:33,2018-12-22 15:26:11,2018-05-05 05:29:07,2018-01-28 16:34:01
-895,Arel,Qusklay,776-527-2939,Male,6,72,24,2018-02-10 23:05:47,2018-10-31 16:14:34,2018-04-17 06:36:20,2018-09-21 15:13:20
-896,Cleon,Westcarr,735-686-0389,Male,1,56,68,2018-12-14 09:21:13,2018-08-04 15:56:37,2018-09-09 11:38:56,2018-03-19 03:56:38
-897,Nicole,Gorrie,216-361-4858,Female,2,65,77,2018-08-05 12:50:07,2018-03-10 14:07:01,2018-02-15 13:44:04,2019-01-06 01:05:50
-898,Issiah,Patters,901-518-7348,Male,7,40,78,2018-04-27 08:43:08,2018-11-08 01:40:02,2018-02-05 13:31:35,2018-08-05 21:26:55
-899,Kimbell,Torvey,614-432-0846,Male,3,46,34,2018-10-10 17:10:59,2018-04-09 13:30:10,2018-12-26 11:39:55,2018-03-11 23:16:21
-900,Arabel,Reaney,250-158-0650,Female,1,39,42,2018-06-24 20:58:36,2018-06-13 01:05:57,2018-09-21 12:17:09,2018-05-12 01:20:04
-901,Lowrance,Birckmann,707-493-5823,Male,3,40,81,2018-10-30 04:51:25,2018-04-14 15:18:25,2018-11-26 23:12:20,2018-11-19 04:09:43
-902,Sande,Tinson,644-792-0309,Female,1,4,93,2018-06-05 12:30:15,2018-06-05 01:29:00,2018-04-13 08:38:54,2018-12-10 03:36:34
-903,Antonetta,Twelve,506-143-6120,Female,7,95,49,2018-10-15 14:45:58,2018-11-02 11:22:24,2018-02-20 23:03:06,2018-02-13 22:09:09
-904,Marietta,Christensen,356-415-2235,Male,5,80,58,2018-10-22 11:01:49,2018-02-01 17:42:35,2018-11-22 02:54:09,2018-09-30 12:05:18
-905,Jodee,Pietraszek,300-188-3774,Female,4,10,37,2018-10-23 06:33:49,2018-10-21 00:19:46,2018-11-29 18:55:51,2018-11-06 15:41:47
-906,Marthena,Kitson,601-214-9309,Female,4,28,26,2018-07-23 16:23:23,2018-06-22 12:00:30,2018-12-01 12:31:45,2018-12-23 15:09:43
-907,Daron,Mackison,682-377-7219,Female,4,89,96,2018-05-28 03:03:57,2018-03-02 01:25:11,2018-12-01 09:00:59,2018-02-21 02:24:22
-908,Hube,Feldhuhn,942-914-1709,Male,5,24,35,2018-10-02 04:25:27,2018-06-28 02:29:41,2018-02-06 01:40:17,2018-04-23 22:52:35
-909,Loretta,Pritty,613-563-4790,Female,7,75,82,2018-07-08 17:13:07,2018-11-22 22:05:00,2018-10-30 22:21:57,2018-08-13 01:05:15
-910,Cathyleen,McCallion,883-828-7510,Female,2,45,11,2018-09-09 14:13:19,2018-01-31 15:57:37,2018-08-13 04:55:36,2018-09-09 10:40:55
-911,Haleigh,Gleader,682-121-8965,Female,3,8,38,2018-12-20 06:38:29,2019-01-17 01:03:40,2019-01-19 16:23:53,2018-08-17 03:24:51
-912,Charles,Rosengarten,618-810-0078,Male,2,93,36,2018-10-15 16:20:15,2018-12-28 14:31:32,2018-09-12 08:52:44,2018-07-15 21:25:15
-913,Bjorn,Erskine Sandys,529-581-3333,Male,3,75,81,2018-04-14 17:13:49,2018-10-21 15:46:05,2018-05-28 06:44:30,2018-08-10 04:37:46
-914,Darill,Bostock,625-801-8242,Male,2,81,23,2018-10-11 19:47:21,2018-06-12 04:06:41,2019-01-15 07:56:54,2018-04-28 18:50:01
-915,Noellyn,Benwell,722-714-8266,Female,2,11,12,2018-02-15 07:48:35,2018-04-07 17:41:22,2018-05-18 02:39:40,2018-07-22 07:12:38
-916,Dov,Letrange,300-443-5277,Male,5,91,80,2018-12-27 15:44:06,2018-06-01 01:17:13,2018-06-04 08:44:49,2018-05-07 08:43:09
-917,Olympie,Louden,465-432-6397,Female,1,19,13,2018-01-25 05:55:27,2018-06-19 10:44:49,2018-10-06 16:38:12,2018-11-22 20:46:37
-918,Finley,Casbon,425-531-2684,Male,4,85,21,2018-09-04 05:24:44,2018-10-19 21:14:24,2018-09-24 15:11:59,2018-07-02 05:41:48
-919,Dewitt,Krolak,700-648-7734,Male,7,43,3,2018-04-11 09:56:52,2018-07-11 01:42:09,2018-02-28 00:53:56,2018-06-20 15:39:09
-920,Noby,De la Yglesia,405-211-0709,Male,4,1,49,2018-12-05 02:27:53,2018-07-03 10:21:49,2018-09-23 09:16:19,2018-05-12 09:47:56
-921,Aloysius,Baggs,272-379-1280,Male,2,40,53,2018-05-14 22:08:41,2018-12-03 09:03:58,2018-07-15 04:40:33,2018-09-15 06:12:36
-922,Karilynn,Costa,732-871-1192,Female,2,68,76,2018-12-29 05:05:50,2018-12-23 08:00:43,2018-04-13 17:50:47,2018-03-24 11:13:51
-923,Ky,Waggett,413-701-9663,Male,5,7,59,2018-02-05 06:17:54,2018-07-07 03:47:33,2018-09-13 00:11:05,2018-12-21 03:34:37
-924,Leeanne,Neasam,130-573-1360,Female,4,74,77,2018-11-30 04:33:22,2018-03-26 07:40:00,2018-05-03 16:40:09,2018-05-10 20:32:41
-925,Muffin,Eades,789-128-6773,Male,4,84,25,2018-04-19 09:16:22,2018-11-08 03:55:54,2018-02-03 05:36:52,2018-10-21 22:14:13
-926,Iormina,Baudry,644-418-1313,Female,4,72,19,2019-01-16 00:35:47,2018-11-23 14:35:13,2018-04-06 17:59:52,2018-02-24 14:59:31
-927,Fabe,Ziemke,161-651-6080,Male,6,36,12,2019-01-14 08:28:41,2018-10-28 13:42:55,2018-07-07 04:53:18,2018-08-04 15:37:00
-928,Danni,Leese,768-599-1814,Female,7,30,71,2018-11-08 21:26:44,2018-05-01 17:49:56,2018-08-03 00:06:41,2018-10-18 08:20:47
-929,Rycca,Petegre,433-887-8926,Female,4,5,34,2018-07-02 07:56:41,2018-02-10 11:51:30,2018-04-08 10:08:07,2018-06-11 19:43:31
-930,Berkie,Reveland,791-499-2738,Male,1,57,80,2018-07-18 08:14:02,2018-04-15 08:54:18,2018-09-25 23:13:59,2018-08-12 23:49:27
-931,Tommy,Swett,915-667-6497,Male,1,98,11,2018-06-26 21:33:59,2018-07-10 07:15:47,2018-07-15 03:48:37,2018-04-01 11:58:09
-932,Derrek,Perkinson,169-674-1053,Male,4,85,25,2018-08-23 05:51:09,2018-09-17 23:57:57,2018-03-06 01:30:46,2018-05-06 22:10:10
-933,Lonni,Polycote,996-492-4081,Female,2,7,6,2018-06-09 22:12:53,2018-04-09 09:26:53,2018-07-19 03:36:09,2018-12-01 16:50:15
-934,Phyllis,Gallamore,788-489-0287,Female,4,32,71,2018-07-08 11:07:20,2018-05-25 09:24:00,2018-04-23 04:53:35,2019-01-19 16:11:17
-935,Brittne,Caccavari,799-716-9817,Female,2,53,25,2018-12-11 00:47:47,2018-01-22 09:05:30,2018-09-30 14:03:22,2018-08-09 05:13:34
-936,Quinn,Torricina,342-560-9404,Female,3,60,72,2019-01-06 06:26:23,2018-11-21 02:21:54,2018-02-15 20:43:28,2018-08-15 17:59:55
-937,Jacklyn,Bohling,824-878-8873,Female,1,41,34,2018-06-23 18:52:40,2018-05-14 22:58:13,2018-06-08 07:11:42,2018-08-04 15:57:46
-938,Hunfredo,Millam,816-916-1240,Male,1,86,58,2019-01-08 04:02:45,2019-01-12 17:57:33,2019-01-20 14:58:14,2018-12-03 22:29:35
-939,Hymie,Vosse,980-181-0718,Male,4,67,59,2018-12-25 10:58:52,2018-03-09 06:50:03,2018-03-03 04:06:28,2018-07-17 18:26:14
-940,Olia,Wyse,875-970-0069,Female,4,54,96,2018-11-01 03:11:42,2018-12-29 18:01:06,2018-05-01 00:58:58,2018-08-29 17:41:08
-941,Arline,Bierton,582-902-5400,Female,4,36,83,2018-11-19 01:06:41,2018-07-20 08:22:25,2018-02-15 09:56:13,2018-07-07 12:00:06
-942,Nevsa,Jacquot,393-800-6240,Female,3,76,100,2018-12-03 03:10:20,2018-10-05 15:30:34,2018-07-03 08:10:26,2019-01-15 02:21:14
-943,Analise,Bechley,178-276-2761,Female,4,10,4,2018-08-03 05:49:50,2018-12-25 22:04:16,2019-01-18 22:16:01,2018-03-07 14:10:26
-944,Siffre,Cumbridge,484-369-3900,Male,1,30,98,2018-11-08 05:35:17,2018-07-06 03:41:16,2018-03-26 11:58:13,2018-10-05 22:55:01
-945,Berget,Oldred,470-380-7016,Female,2,34,3,2018-12-24 01:06:10,2018-03-01 08:09:07,2018-08-27 19:47:44,2018-07-15 17:16:39
-946,Aaron,Arnison,195-265-7576,Male,4,68,94,2018-06-02 08:58:18,2018-08-03 00:56:00,2018-05-06 14:32:24,2018-02-16 07:54:16
-947,Fay,Sarfas,659-275-5381,Female,6,34,96,2019-01-02 00:06:51,2018-12-05 05:47:36,2018-04-22 03:52:40,2018-09-20 19:16:51
-948,Pennie,Rappaport,851-746-8484,Female,5,74,57,2018-06-13 14:50:19,2018-05-10 00:00:37,2018-05-03 15:48:50,2018-12-06 19:15:10
-949,Ennis,Schindler,685-873-8208,Male,2,9,15,2018-12-06 10:23:57,2018-06-05 08:10:38,2018-08-19 04:20:22,2018-08-31 04:33:19
-950,Sean,Breckwell,511-213-8051,Male,4,65,20,2018-06-20 04:24:36,2018-12-24 06:27:41,2018-07-17 12:13:34,2018-06-02 06:09:01
-951,Carlene,Vials,130-632-1736,Female,2,71,12,2018-03-26 06:16:26,2018-03-25 23:10:14,2018-03-02 15:43:13,2018-06-01 08:30:44
-952,Nerita,Paolinelli,943-836-6191,Female,2,88,24,2018-11-19 20:39:05,2018-09-18 20:22:25,2018-07-16 13:15:28,2018-12-21 02:47:25
-953,Benoite,Gheorghescu,378-772-1101,Female,4,78,44,2018-11-09 02:22:49,2019-01-09 18:23:07,2018-04-05 11:06:02,2018-05-14 05:39:56
-954,Erik,Auchterlonie,766-720-0406,Male,1,17,56,2018-03-01 23:55:26,2018-10-18 17:00:40,2018-07-12 00:30:26,2018-11-30 15:38:30
-955,Jesse,Laurenty,586-274-7629,Female,2,10,63,2018-08-16 12:07:51,2018-05-30 23:14:43,2018-06-19 02:24:42,2018-03-17 09:24:46
-956,Lynnet,Cuel,652-339-4808,Female,1,26,91,2018-11-05 19:14:13,2018-11-22 14:06:17,2018-12-25 13:52:54,2018-10-28 04:14:09
-957,Marge,Adnet,901-394-6344,Female,7,46,51,2018-02-21 02:14:23,2018-12-29 22:39:34,2018-03-27 11:48:32,2019-01-05 10:26:02
-958,Clara,Rangeley,154-876-9501,Female,6,73,50,2018-07-06 13:52:31,2018-05-28 12:09:22,2018-09-08 04:19:54,2018-09-02 19:04:27
-959,Ciel,Ching,205-133-7293,Female,7,26,19,2018-06-13 01:00:22,2018-06-26 05:13:24,2018-03-12 09:15:19,2018-06-29 23:55:03
-960,Phebe,Pentecust,671-551-3717,Female,6,79,26,2018-07-17 05:39:55,2018-05-28 11:52:54,2018-11-17 17:20:32,2018-07-27 07:39:40
-961,Koralle,Doleman,733-411-3555,Female,4,50,86,2018-10-28 12:28:47,2018-04-19 14:24:23,2018-04-19 20:04:57,2018-11-03 19:27:30
-962,Gypsy,Ashard,627-318-6598,Female,4,84,97,2018-10-29 08:41:04,2018-04-12 21:17:30,2019-01-12 05:14:18,2018-08-11 13:20:16
-963,Zebedee,Guilayn,442-936-9333,Male,3,35,49,2018-06-20 19:42:39,2019-01-19 12:44:29,2018-10-03 09:52:26,2018-11-23 22:02:46
-964,Waldemar,Isaak,931-973-9119,Male,4,82,45,2018-04-23 15:37:02,2018-05-09 15:24:30,2018-02-14 08:08:10,2018-07-03 18:15:44
-965,Zackariah,Donaway,407-803-4328,Male,1,89,1,2018-07-08 18:27:27,2018-03-04 22:13:59,2018-12-18 03:57:10,2018-07-07 10:37:23
-966,Amie,Graddon,806-683-2495,Female,7,24,48,2018-08-12 05:59:08,2018-02-02 02:33:10,2018-12-27 15:24:26,2018-09-09 14:21:34
-967,Homere,Hinkes,540-511-8058,Male,2,18,21,2018-02-15 19:40:23,2018-03-12 20:21:06,2018-07-24 20:35:51,2018-11-05 01:00:48
-968,Hildy,Romaint,578-715-3279,Female,1,64,42,2018-08-05 12:04:55,2018-10-30 20:39:13,2018-11-01 10:01:51,2018-10-13 16:01:35
-969,Norbie,Reinhardt,522-463-8856,Male,6,73,39,2018-12-26 16:31:22,2018-05-04 07:05:54,2018-11-01 19:36:06,2018-08-22 23:10:40
-970,Farlee,Robb,921-988-0129,Male,2,92,32,2018-09-25 21:50:48,2018-01-29 06:17:06,2018-12-05 20:31:07,2018-10-13 17:19:53
-971,Husain,Coomes,167-999-0871,Male,7,43,13,2018-06-22 13:30:21,2018-10-26 10:44:10,2019-01-18 20:06:38,2018-12-02 03:52:12
-972,Milo,Ikringill,848-791-7005,Male,6,93,81,2018-04-23 10:40:56,2018-11-16 14:25:18,2018-05-08 11:02:49,2018-09-27 02:14:23
-973,Bendite,Ivan,797-480-5441,Female,4,19,47,2018-03-24 15:48:07,2019-01-18 21:56:06,2018-12-06 11:16:03,2018-03-11 17:19:09
-974,Dall,Hewson,361-271-3138,Male,7,51,12,2018-12-01 16:04:22,2018-07-19 15:52:08,2018-11-26 22:45:09,2018-02-12 13:20:52
-975,Alfonse,Paddell,215-108-6430,Male,3,67,39,2018-07-20 13:46:01,2019-01-09 15:28:08,2018-05-15 18:34:09,2018-09-24 12:02:27
-976,Rachelle,Parysowna,448-408-3939,Female,6,75,37,2019-01-08 01:40:17,2019-01-14 14:50:14,2018-09-08 20:13:56,2018-08-26 17:34:13
-977,Vlad,Massimo,958-382-7108,Male,6,83,50,2019-01-10 14:14:56,2018-04-03 09:05:13,2018-07-12 05:33:43,2018-08-03 07:52:29
-978,Orran,Labarre,603-601-4448,Male,1,62,88,2018-08-02 15:34:45,2018-11-25 10:40:27,2018-02-25 06:26:19,2018-08-02 08:35:57
-979,Goldi,McGaw,418-474-0723,Female,4,92,65,2018-03-02 17:07:20,2018-03-04 17:41:59,2018-08-24 13:07:56,2018-11-04 17:29:39
-980,Ddene,O'Halloran,269-505-5567,Female,5,40,82,2018-07-19 04:42:22,2018-10-21 20:43:40,2018-05-31 18:32:46,2018-05-27 23:48:19
-981,Franciska,Randalston,518-473-9956,Female,2,31,23,2018-08-10 19:43:25,2018-07-27 07:50:34,2018-09-05 22:19:23,2018-07-03 10:32:00
-982,Izak,Aaronson,559-374-9622,Male,3,42,87,2018-08-15 00:25:50,2018-04-15 10:04:12,2018-06-28 14:35:41,2018-01-21 11:06:29
-983,Trey,Battany,836-241-1102,Male,2,15,41,2019-01-10 17:37:08,2018-09-21 17:33:14,2018-10-31 07:41:53,2018-05-02 04:23:23
-984,Monty,Print,851-362-4374,Male,1,72,54,2018-07-29 11:59:40,2018-02-03 04:49:31,2019-01-10 13:05:52,2018-12-15 23:29:32
-985,Ashton,Cunnah,780-629-9147,Male,4,45,20,2018-02-10 13:25:53,2018-12-25 15:32:25,2018-01-23 10:29:44,2018-05-31 16:54:21
-986,Becky,Stavers,700-388-4222,Female,6,10,79,2018-03-04 20:32:59,2018-06-13 23:55:18,2018-06-02 22:41:53,2018-11-04 01:01:48
-987,Udall,Undrell,187-686-5781,Male,3,62,28,2018-07-29 04:00:33,2018-08-10 09:03:52,2018-12-20 19:09:22,2019-01-08 10:29:39
-988,Wait,Kippie,649-986-8035,Male,6,59,99,2018-08-26 01:11:54,2018-11-11 11:43:07,2018-11-26 18:10:23,2018-05-03 06:50:49
-989,Laurence,Dubs,725-348-9456,Male,5,80,78,2018-12-29 16:41:25,2018-03-04 01:25:41,2018-07-24 13:07:42,2018-03-02 01:22:54
-990,Cyrille,Ansley,464-181-4696,Male,7,71,25,2018-10-12 23:36:32,2018-05-18 07:03:48,2018-12-20 18:06:28,2018-09-16 15:37:18
-991,Emory,Manwell,415-640-8797,Male,5,12,56,2018-07-21 03:32:53,2018-11-15 00:05:50,2018-06-11 19:00:20,2018-03-30 06:39:44
-992,Chevalier,Pelosi,210-721-7355,Male,1,3,53,2018-09-10 01:51:52,2018-08-05 09:51:36,2018-07-09 12:50:42,2018-12-20 17:33:50
-993,Vale,Havenhand,885-493-5138,Male,5,37,72,2018-11-01 03:19:32,2018-11-02 06:12:05,2019-01-18 19:09:41,2018-07-29 06:54:36
-994,Shel,Kislingbury,683-829-9112,Female,2,57,75,2018-07-06 02:01:25,2018-11-17 02:11:03,2018-07-20 22:39:14,2018-05-08 16:48:52
-995,Kris,Rodear,296-572-9182,Male,5,24,22,2018-05-21 05:50:41,2018-12-04 14:27:38,2018-09-01 22:26:00,2018-09-05 14:46:56
-996,Jillayne,Mackerel,971-775-5324,Female,4,77,29,2018-08-29 09:36:26,2018-09-18 17:04:42,2018-12-08 03:41:26,2018-11-28 11:52:45
-997,Wilona,Yonnie,985-459-5111,Female,4,36,62,2018-08-07 01:17:54,2018-08-25 03:30:42,2018-02-17 20:26:24,2018-03-09 21:08:39
-998,Herbert,Liver,278-295-4343,Male,1,10,92,2018-04-27 00:14:36,2018-08-27 15:24:57,2018-02-11 18:53:26,2018-05-05 07:57:16
-999,Charmian,Robison,320-515-4401,Female,4,66,52,2018-11-29 19:32:40,2018-09-14 07:10:38,2018-07-04 09:36:16,2018-02-20 20:59:30
-1000,Cad,Alster,344-476-5489,Male,6,50,52,2018-09-12 09:49:44,2018-04-09 17:52:16,2018-12-18 02:15:47,2018-04-22 03:31:11
diff --git a/vitess-mixin/e2e/external_db/mysql/grant.sh b/vitess-mixin/e2e/external_db/mysql/grant.sh
deleted file mode 100755
index 9371377d074..00000000000
--- a/vitess-mixin/e2e/external_db/mysql/grant.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-
-echo '**********GRANTING PRIVILEGES START*******************'
-echo ${mysql[@]}
-# PURGE BINARY LOGS BEFORE DATE(NOW());
-mysql --protocol=socket -uroot -hlocalhost --socket=/var/run/mysqld/mysqld.sock -p$MYSQL_ROOT_PASSWORD -e \
-"GRANT ALL PRIVILEGES ON *.* TO '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD'"
-echo '*************GRANTING PRIVILEGES END****************'
diff --git a/vitess-mixin/e2e/external_db/mysql/mysql56.cnf b/vitess-mixin/e2e/external_db/mysql/mysql56.cnf
deleted file mode 100644
index fdd34b1bd2e..00000000000
--- a/vitess-mixin/e2e/external_db/mysql/mysql56.cnf
+++ /dev/null
@@ -1,41 +0,0 @@
-[mysqld]
-# Options for enabling GTID
-# https://dev.mysql.com/doc/refman/5.6/en/replication-gtids-howto.html
-gtid_mode = ON
-log_bin
-log_slave_updates
-enforce_gtid_consistency
-
-# Crash-safe replication settings.
-master_info_repository = TABLE
-relay_log_info_repository = TABLE
-relay_log_purge = 1
-relay_log_recovery = 1
-
-# Native AIO tends to run into aio-max-nr limit during test startup.
-innodb_use_native_aio = 0
-
-# Semi-sync replication is required for automated unplanned failover
-# (when the master goes away). Here we just load the plugin so it's
-# available if desired, but it's disabled at startup.
-#
-# VTTablet will enable semi-sync at the proper time when replication is set up,
-# or when a primary is promoted or demoted based on the durability policy configured.
-plugin-load = rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so
-
-# When semi-sync is enabled, don't allow fallback to async
-# if you get no ack, or have no slaves. This is necessary to
-# prevent alternate futures when doing a failover in response to
-# a master that becomes unresponsive.
-rpl_semi_sync_master_timeout = 1000000000000000000
-rpl_semi_sync_master_wait_no_slave = 1
-server-id = 1
-# Remove ONLY_FULL_GROUP_BY until queries are fixed
-sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
-
-general_log = 1
-general_log_file = /var/log/mysql/query.log
-
-slow_query_log = 1
-long_query_time = 1 # seconds
-slow_query_log_file = /var/log/mysql/slow.log
\ No newline at end of file
diff --git a/vitess-mixin/e2e/external_db/mysql/mysql57.cnf b/vitess-mixin/e2e/external_db/mysql/mysql57.cnf
deleted file mode 100644
index ebf301187eb..00000000000
--- a/vitess-mixin/e2e/external_db/mysql/mysql57.cnf
+++ /dev/null
@@ -1,43 +0,0 @@
-# This file is auto-included when MySQL 5.7 is detected.
-
-# MySQL 5.7 does not enable the binary log by default, and
-# info repositories default to file
-[mysqld]
-gtid_mode = ON
-log_slave_updates
-enforce_gtid_consistency
-expire_logs_days = 3
-master_info_repository = TABLE
-relay_log_info_repository = TABLE
-relay_log_purge = 1
-relay_log_recovery = 1
-
-# In MySQL 5.7 the default charset is latin1
-
-character_set_server = utf8
-collation_server = utf8_general_ci
-
-# Semi-sync replication is required for automated unplanned failover
-# (when the master goes away). Here we just load the plugin so it's
-# available if desired, but it's disabled at startup.
-#
-# VTTablet will enable semi-sync at the proper time when replication is set up,
-# or when a primary is promoted or demoted based on the durability policy configured.
-plugin-load = rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so
-
-# When semi-sync is enabled, don't allow fallback to async
-# if you get no ack, or have no slaves. This is necessary to
-# prevent alternate futures when doing a failover in response to
-# a master that becomes unresponsive.
-rpl_semi_sync_master_timeout = 1000000000000000000
-rpl_semi_sync_master_wait_no_slave = 1
-
-## Specific edits for this external_db ##
-log_bin
-server-id = 1
-general_log = 1
-general_log_file = /var/log/mysql/query.log
-
-slow_query_log = 1
-long_query_time = 1 # seconds
-slow_query_log_file = /var/log/mysql/slow.log
diff --git a/vitess-mixin/e2e/externaldb_vreplication.sh b/vitess-mixin/e2e/externaldb_vreplication.sh
deleted file mode 100755
index 1138909aa13..00000000000
--- a/vitess-mixin/e2e/externaldb_vreplication.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash
-
-# Copyright 2020 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -ex
-
-VTCTLD_SERVER=${VTCTLD_SERVER:-'vtctld:15999'}
-
-# Wait until source and destination primaries are available
-until (/vt/bin/vtctlclient --server $VTCTLD_SERVER ListAllTablets | grep "ext_" | grep "primary" ); do
- echo 'waiting for external primary..';
- sleep 1;
-done
-
-until (/vt/bin/vtctlclient --server $VTCTLD_SERVER ListAllTablets | grep -v "ext_" | grep "primary" ); do
- echo 'waiting for managed primary..';
- sleep 1;
-done
-
-
-# Get source and destination tablet and shard information
-TABLET_INFO=$(/vt/bin/vtctlclient --server $VTCTLD_SERVER ListAllTablets)
-source_alias=$(echo "$TABLET_INFO "| grep "ext_" | grep "primary" | awk '{ print $1 }')
-dest_alias=$(echo "$TABLET_INFO "| grep -v "ext_" | grep "primary" | awk '{ print $1 }')
-source_keyspace=$(echo "$TABLET_INFO "| grep "ext_" | grep "primary" | awk '{ print $2 }')
-dest_keyspace=$(echo "$TABLET_INFO "| grep -v "ext_" | grep "primary" | awk '{ print $2 }')
-source_shard=$(echo "$TABLET_INFO "| grep "ext_" | grep "primary" | awk '{ print $3 }')
-dest_shard=$(echo "$TABLET_INFO "| grep -v "ext_" | grep "primary" | awk '{ print $3 }')
-source_tablet=$(echo "$TABLET_INFO "| grep "ext_" | grep "primary" | awk '{ print $2 "/" $3}')
-dest_tablet=$(echo "$TABLET_INFO "| grep -v "ext_" | grep "primary" | awk '{ print $2 "/" $3}')
-
-
-# Disable foreign_key checks on destination
-/vt/bin/vtctlclient --server $VTCTLD_SERVER ExecuteFetchAsDba $dest_alias 'SET GLOBAL FOREIGN_KEY_CHECKS=0;'
-
-# Get source_sql mode
-source_sql_mode=$(/vt/bin/vtctlclient --server $VTCTLD_SERVER ExecuteFetchAsDba $source_alias 'SELECT @@GLOBAL.sql_mode' | awk 'NR==4 {print $2}')
-
-# Apply source sql_mode to destination
-# The intention is to avoid replication errors
-/vt/bin/vtctlclient --server $VTCTLD_SERVER ExecuteFetchAsDba $dest_alias "SET GLOBAL sql_mode='$source_sql_mode';"
-
-# Verify sql_mode matches
-[ $source_sql_mode == $(/vt/bin/vtctlclient --server $VTCTLD_SERVER ExecuteFetchAsDba $dest_alias 'SELECT @@GLOBAL.sql_mode' | awk 'NR==4 {print $2}') ] && \
-echo "Source and Destination sql_mode Match." || echo "sql_mode MisMatch"
-
-until /vt/bin/vtctlclient --server $VTCTLD_SERVER GetSchema $dest_alias; do
- echo "Waiting for destination schema to be ready..";
- sleep 3;
-done
-
-# Copy schema from source to destination shard
-/vt/bin/vtctlclient --server $VTCTLD_SERVER CopySchemaShard $source_tablet $dest_tablet || true
-
-# Verify schema
-/vt/bin/vtctlclient --server $VTCTLD_SERVER GetSchema $dest_alias
-
-# Start vreplication
-/vt/bin/vtctlclient --server $VTCTLD_SERVER VReplicationExec $dest_alias 'insert into _vt.vreplication (db_name, source, pos, max_tps, max_replication_lag, tablet_types, time_updated, transaction_timestamp, state) values('"'"''"$dest_keyspace"''"'"', '"'"'keyspace:\"'"$source_keyspace"'\" shard:\"'"$source_shard"'\" filter: > on_ddl:EXEC_IGNORE '"'"', '"'"''"'"', 9999, 9999, '"'"'primary'"'"', 0, 0, '"'"'Running'"'"')'
-
-# Check vreplication status
-/vt/bin/vtctlclient --server $VTCTLD_SERVER VReplicationExec $dest_alias 'select * from _vt.vreplication'
-
diff --git a/vitess-mixin/e2e/fix_replication.sh b/vitess-mixin/e2e/fix_replication.sh
deleted file mode 100755
index e6a06c71124..00000000000
--- a/vitess-mixin/e2e/fix_replication.sh
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/bash
-
-# Copyright 2019 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This is a helper script to sync replicas for mysql.
-# It handles the special case where the primary has purged bin logs that the replica requires.
-# To use it place a mysql dump of the database on the same directory as this script.
-# The name of the dump must be $KEYSPACE.sql. The script can also download the mysqldump for you.
-# Replication is fixed by restoring the mysqldump and resetting the replica.
-# https://dev.mysql.com/doc/refman/5.7/en/replication-mode-change-online-disable-gtids.html
-# https://www.percona.com/blog/2013/02/08/how-to-createrestore-a-slave-using-gtid-replication-in-mysql-5-6/
-
-cd "$(dirname "${BASH_SOURCE[0]}")"
-
-function get_replication_status() {
- # Get replica status
- STATUS_LINE=$(mysql -u$DB_USER -p$DB_PASS -h 127.0.0.1 -e "SHOW SLAVE STATUS\G")
- LAST_ERRNO=$(grep "Last_IO_Errno:" <<< "$STATUS_LINE" | awk '{ print $2 }')
- SLAVE_SQL_RUNNING=$(grep "Slave_SQL_Running:" <<< "$STATUS_LINE" | awk '{ print $2 }')
- SLAVE_IO_RUNNING=$(grep "Slave_IO_Running:" <<< "$STATUS_LINE" | awk '{ print $2 }')
- MASTER_HOST=$(grep "Master_Host:" <<< "$STATUS_LINE" | awk '{ print $2 }')
- MASTER_PORT=$(grep "Master_Port:" <<< "$STATUS_LINE" | awk '{ print $2 }')
-
- echo "Slave_SQL_Running: $SLAVE_SQL_RUNNING"
- echo "Slave_IO_Running: $SLAVE_IO_RUNNING"
- echo "Last_IO_Errno: $LAST_ERRNO"
-}
-
-function reset_replication() {
- # Necessary before sql file can be imported
- echo "Importing MysqlDump: $KEYSPACE.sql"
- mysql -u$DB_USER -p$DB_PASS -h 127.0.0.1 -e "RESET MASTER;STOP SLAVE;CHANGE MASTER TO MASTER_AUTO_POSITION = 0;source $KEYSPACE.sql;START SLAVE;"
- # Restore Master Auto Position
- echo "Restoring Master Auto Setting"
- mysql -u$DB_USER -p$DB_PASS -h 127.0.0.1 -e "STOP SLAVE;CHANGE MASTER TO MASTER_AUTO_POSITION = 1;START SLAVE;"
-}
-
-# Retrieve replication status
-get_replication_status
-
-# Exit script if called with argument 'status'
-[ ${1:-''} != 'status' ] || exit 0;
-
-# Check if SLAVE_IO is running
-if [[ $SLAVE_IO_RUNNING = "No" && $LAST_ERRNO = 1236 ]]; then
-
- echo "Primary has purged bin logs that replica requires. Sync will require restore from mysqldump"
- if [[ -f $KEYSPACE.sql ]] ; then
- echo "mysqldump file $KEYSPACE.sql exists, attempting to restore.."
- echo "Resetting replication.."
- reset_replication
- else
- echo "Starting mysqldump. This may take a while.."
- # Modify flags to user's requirements
- if mysqldump -h $MASTER_HOST -P $MASTER_PORT -u$DB_USER -p$DB_PASS --databases $KEYSPACE \
- --triggers --routines --events --hex-blob --master-data=1 --quick --order-by-primary \
- --no-autocommit --skip-comments --skip-add-drop-table --skip-add-locks \
- --skip-disable-keys --single-transaction --set-gtid-purged=on --verbose > $KEYSPACE.sql; then
- echo "mysqldump complete for database $KEYSPACE"
- echo "Resetting replication.."
- reset_replication
- else
- echo "mysqldump failed for database $KEYSPACE"
- fi
- fi
-
-else
-
- echo "No Actions to perform"
-
-fi
diff --git a/vitess-mixin/e2e/grafana/provisioning/dashboards/dashboard.yml b/vitess-mixin/e2e/grafana/provisioning/dashboards/dashboard.yml
deleted file mode 100644
index edfcd4f2271..00000000000
--- a/vitess-mixin/e2e/grafana/provisioning/dashboards/dashboard.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: 1
-
-providers:
-- name: 'Vitess Mixin'
- orgId: 1
- folder: ''
- type: file
- disableDeletion: false
- editable: true
- options:
- path: /etc/grafana/provisioning/dashboards
\ No newline at end of file
diff --git a/vitess-mixin/e2e/grafana/provisioning/datasources/datasource.yml b/vitess-mixin/e2e/grafana/provisioning/datasources/datasource.yml
deleted file mode 100644
index a2140b8834e..00000000000
--- a/vitess-mixin/e2e/grafana/provisioning/datasources/datasource.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-apiVersion: 1
-
-deleteDatasources:
- - name: Prometheus
- orgId: 1
-
-datasources:
-
-- name: Prometheus
- type: prometheus
- access: proxy
- orgId: 1
- url: http://prometheus:9090
- user:
- database:
- basicAuth: false
- basicAuthUser:
- basicAuthPassword:
- withCredentials:
- isDefault: true
- version: 1
- editable: true
\ No newline at end of file
diff --git a/vitess-mixin/e2e/lfixrepl.sh b/vitess-mixin/e2e/lfixrepl.sh
deleted file mode 100755
index bd3e5646019..00000000000
--- a/vitess-mixin/e2e/lfixrepl.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-
-# Copyright 2019 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Enable tty for Windows users using git-bash or cygwin
-if [[ "$OSTYPE" == "msys" ]]; then
- # Lightweight shell and GNU utilities compiled for Windows (part of MinGW)
- tty=winpty
- script=//script//fix_replication.sh
-fi
-
-# This is a convenience script to fix replication on replicas.
-exec $tty docker-compose exec ${CS:-vttablet2} ${script:-/script/fix_replication.sh} "$@"
\ No newline at end of file
diff --git a/vitess-mixin/e2e/lmysql.sh b/vitess-mixin/e2e/lmysql.sh
deleted file mode 100755
index d735e3783a8..00000000000
--- a/vitess-mixin/e2e/lmysql.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-
-# Copyright 2019 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Enable tty for Windows users using git-bash or cygwin
-if [[ "$OSTYPE" == "msys" ]]; then
- # Lightweight shell and GNU utilities compiled for Windows (part of MinGW)
- tty=winpty
-fi
-
-# This is a convenience script to run mysql client against the local example.
-exec $tty docker-compose exec ${CS:-vttablet101} mysql "$@"
diff --git a/vitess-mixin/e2e/load_test.sql b/vitess-mixin/e2e/load_test.sql
deleted file mode 100644
index 71e7d805386..00000000000
--- a/vitess-mixin/e2e/load_test.sql
+++ /dev/null
@@ -1,46 +0,0 @@
--- INSERT TEST DATA
--- mysql --port=15306 --host=127.0.0.1 < load_test.sql
--- SIMULATED QUERIES
--- mysqlslap -c 5 --port=15306 --host=127.0.0.1 --iterations=1000 --create-schema=test_keyspace:80-@primary --query="SELECT * FROM messages;"
--- mysqlslap -c 5 --port=15306 --host=127.0.0.1 --iterations=1000 --create-schema=test_keyspace:80-@replica --query="SELECT * FROM messages;"
--- mysqlslap -c 5 --port=15306 --host=127.0.0.1 --iterations=1000 --create-schema=lookup_keyspace:-@primary --query="SELECT * FROM messages_message_lookup;"
--- mysqlslap -c 5 --port=15306 --host=127.0.0.1 --iterations=1000 --create-schema=lookup_keyspace:-@replica --query="SELECT * FROM messages_message_lookup;"
--- SIMULATED ERRORS
--- ╰─$ mysqlslap --port=15306 --host=127.0.0.1 --iterations=10000 --create-schema=test_keyspace:80-@primary --query="SELECT name FROM messages;"
--- ╰─$ mysqlslap --port=15306 --host=127.0.0.1 --iterations=10000 --create-schema=lookup_keyspace:-@replica --query="SELECT name FROM messages_message_lookup;"
-
-USE test_keyspace:80-@primary;
-INSERT INTO messages (page,time_created_ns,message) VALUES
-(1,1,'test'),
-(2,2,'test'),
-(3,3,'test'),
-(4,4,'test'),
-(5,5,'test'),
-(6,6,'test'),
-(7,7,'test'),
-(8,8,'test'),
-(9,9,'test');
-
-USE test_keyspace:-80@primary;
-INSERT INTO messages (page,time_created_ns,message) VALUES
-(10,1,'test'),
-(11,2,'test'),
-(12,3,'test'),
-(13,4,'test'),
-(14,5,'test'),
-(15,6,'test'),
-(16,7,'test'),
-(17,8,'test'),
-(18,9,'test');
-
-USE lookup_keyspace:-@primary;
-INSERT INTO messages_message_lookup (id,page,message) VALUES
-(1,1,'test'),
-(2,2,'test'),
-(3,3,'test'),
-(4,4,'test'),
-(5,5,'test'),
-(6,6,'test'),
-(7,7,'test'),
-(8,8,'test'),
-(9,9,'test');
diff --git a/vitess-mixin/e2e/lookup_keyspace_vschema.json b/vitess-mixin/e2e/lookup_keyspace_vschema.json
deleted file mode 100644
index f67289821fe..00000000000
--- a/vitess-mixin/e2e/lookup_keyspace_vschema.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "sharded": true,
- "tables": {
- "messages_message_lookup": {
- "column_vindexes": [
- {
- "column": "id",
- "name": "hash"
- }
- ]
- },
- "tokens_token_lookup": {
- "column_vindexes": [
- {
- "column": "id",
- "name": "hash"
- }
- ]
- }
- },
- "vindexes": {
- "hash": {
- "type": "hash"
- }
- }
-}
\ No newline at end of file
diff --git a/vitess-mixin/e2e/lvtctl.sh b/vitess-mixin/e2e/lvtctl.sh
deleted file mode 100755
index 64110743073..00000000000
--- a/vitess-mixin/e2e/lvtctl.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-
-# Copyright 2019 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Enable tty for Windows users using git-bash or cygwin
-if [[ "$OSTYPE" == "msys" ]]; then
- # Lightweight shell and GNU utilities compiled for Windows (part of MinGW)
- tty=winpty
-fi
-
-# This is a convenience script to run vtctlclient against the local example.
-exec $tty docker-compose exec ${CS:-vtctld} vtctlclient -server vtctld:15999 "$@"
diff --git a/vitess-mixin/e2e/package-lock.json b/vitess-mixin/e2e/package-lock.json
deleted file mode 100644
index d686ef99233..00000000000
--- a/vitess-mixin/e2e/package-lock.json
+++ /dev/null
@@ -1,1483 +0,0 @@
-{
- "requires": true,
- "lockfileVersion": 1,
- "dependencies": {
- "@colors/colors": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
- "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
- "dev": true,
- "optional": true
- },
- "@cypress/request": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz",
- "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==",
- "dev": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "http-signature": "~1.3.6",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "performance-now": "^2.1.0",
- "qs": "6.10.4",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "^4.1.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^8.3.2"
- }
- },
- "@cypress/xvfb": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz",
- "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==",
- "dev": true,
- "requires": {
- "debug": "^3.1.0",
- "lodash.once": "^4.1.1"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "@types/node": {
- "version": "18.17.17",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.17.tgz",
- "integrity": "sha512-cOxcXsQ2sxiwkykdJqvyFS+MLQPLvIdwh5l6gNg8qF6s+C7XSkEWOZjK+XhUZd+mYvHV/180g2cnCcIl4l06Pw==",
- "dev": true
- },
- "@types/sinonjs__fake-timers": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz",
- "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==",
- "dev": true
- },
- "@types/sizzle": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
- "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==",
- "dev": true
- },
- "@types/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
- "dev": true,
- "optional": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "dev": true,
- "requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- }
- },
- "ansi-colors": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true
- },
- "ansi-escapes": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "dev": true,
- "requires": {
- "type-fest": "^0.21.3"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "arch": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
- "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
- "dev": true
- },
- "asn1": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
- "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
- "dev": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
- "dev": true
- },
- "astral-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
- "dev": true
- },
- "async": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
- "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
- "dev": true
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true
- },
- "at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
- "dev": true
- },
- "aws4": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
- "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==",
- "dev": true
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
- "dev": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
- "blob-util": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz",
- "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==",
- "dev": true
- },
- "bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
- "dev": true
- },
- "cachedir": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz",
- "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==",
- "dev": true
- },
- "call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- }
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
- "dev": true
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "check-more-types": {
- "version": "2.24.0",
- "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz",
- "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==",
- "dev": true
- },
- "ci-info": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
- "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
- "dev": true
- },
- "clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "dev": true
- },
- "cli-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
- "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
- "dev": true,
- "requires": {
- "restore-cursor": "^3.1.0"
- }
- },
- "cli-table3": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz",
- "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==",
- "dev": true,
- "requires": {
- "@colors/colors": "1.5.0",
- "string-width": "^4.2.0"
- }
- },
- "cli-truncate": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
- "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
- "dev": true,
- "requires": {
- "slice-ansi": "^3.0.0",
- "string-width": "^4.2.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "commander": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
- "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
- "dev": true
- },
- "common-tags": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
- "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
- "dev": true
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "cypress": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.2.0.tgz",
- "integrity": "sha512-AvDQxBydE771GTq0TR4ZUBvv9m9ffXuB/ueEtpDF/6gOcvFR96amgwSJP16Yhqw6VhmwqspT5nAGzoxxB+D89g==",
- "dev": true,
- "requires": {
- "@cypress/request": "^3.0.0",
- "@cypress/xvfb": "^1.2.4",
- "@types/node": "^18.17.5",
- "@types/sinonjs__fake-timers": "8.1.1",
- "@types/sizzle": "^2.3.2",
- "arch": "^2.2.0",
- "blob-util": "^2.0.2",
- "bluebird": "^3.7.2",
- "buffer": "^5.6.0",
- "cachedir": "^2.3.0",
- "chalk": "^4.1.0",
- "check-more-types": "^2.24.0",
- "cli-cursor": "^3.1.0",
- "cli-table3": "~0.6.1",
- "commander": "^6.2.1",
- "common-tags": "^1.8.0",
- "dayjs": "^1.10.4",
- "debug": "^4.3.4",
- "enquirer": "^2.3.6",
- "eventemitter2": "6.4.7",
- "execa": "4.1.0",
- "executable": "^4.1.1",
- "extract-zip": "2.0.1",
- "figures": "^3.2.0",
- "fs-extra": "^9.1.0",
- "getos": "^3.2.1",
- "is-ci": "^3.0.0",
- "is-installed-globally": "~0.4.0",
- "lazy-ass": "^1.6.0",
- "listr2": "^3.8.3",
- "lodash": "^4.17.21",
- "log-symbols": "^4.0.0",
- "minimist": "^1.2.8",
- "ospath": "^1.2.2",
- "pretty-bytes": "^5.6.0",
- "process": "^0.11.10",
- "proxy-from-env": "1.0.0",
- "request-progress": "^3.0.0",
- "semver": "^7.5.3",
- "supports-color": "^8.1.1",
- "tmp": "~0.2.1",
- "untildify": "^4.0.0",
- "yauzl": "^2.10.0"
- }
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "dayjs": {
- "version": "1.11.10",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
- "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==",
- "dev": true
- },
- "debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- }
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "dev": true
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
- "dev": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "enquirer": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
- "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==",
- "dev": true,
- "requires": {
- "ansi-colors": "^4.1.1",
- "strip-ansi": "^6.0.1"
- }
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "eventemitter2": {
- "version": "6.4.7",
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
- "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==",
- "dev": true
- },
- "execa": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
- "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.0",
- "get-stream": "^5.0.0",
- "human-signals": "^1.1.1",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.0",
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2",
- "strip-final-newline": "^2.0.0"
- }
- },
- "executable": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz",
- "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
- "dev": true,
- "requires": {
- "pify": "^2.2.0"
- }
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "dev": true,
- "requires": {
- "@types/yauzl": "^2.9.1",
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- }
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
- "dev": true
- },
- "fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
- "dev": true,
- "requires": {
- "pend": "~1.2.0"
- }
- },
- "figures": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
- "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.5"
- }
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
- "dev": true
- },
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "requires": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "dependencies": {
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true
- }
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "get-intrinsic": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
- "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3"
- }
- },
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "getos": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz",
- "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==",
- "dev": true,
- "requires": {
- "async": "^3.2.0"
- }
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "global-dirs": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz",
- "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==",
- "dev": true,
- "requires": {
- "ini": "2.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "dev": true
- },
- "has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true
- },
- "http-signature": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz",
- "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^2.0.2",
- "sshpk": "^1.14.1"
- }
- },
- "human-signals": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
- "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
- "dev": true
- },
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true
- },
- "indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "ini": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
- "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
- "dev": true
- },
- "is-ci": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
- "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
- "dev": true,
- "requires": {
- "ci-info": "^3.2.0"
- }
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "is-installed-globally": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
- "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
- "dev": true,
- "requires": {
- "global-dirs": "^3.0.0",
- "is-path-inside": "^3.0.2"
- }
- },
- "is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true
- },
- "is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
- "dev": true
- },
- "is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
- "dev": true
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
- "dev": true
- },
- "json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "dev": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
- "dev": true
- },
- "jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- },
- "dependencies": {
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true
- }
- }
- },
- "jsprim": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz",
- "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
- }
- },
- "lazy-ass": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz",
- "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==",
- "dev": true
- },
- "listr2": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz",
- "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==",
- "dev": true,
- "requires": {
- "cli-truncate": "^2.1.0",
- "colorette": "^2.0.16",
- "log-update": "^4.0.0",
- "p-map": "^4.0.0",
- "rfdc": "^1.3.0",
- "rxjs": "^7.5.1",
- "through": "^2.3.8",
- "wrap-ansi": "^7.0.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "lodash.once": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
- "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
- "dev": true
- },
- "log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dev": true,
- "requires": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- }
- },
- "log-update": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
- "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==",
- "dev": true,
- "requires": {
- "ansi-escapes": "^4.3.0",
- "cli-cursor": "^3.1.0",
- "slice-ansi": "^4.0.0",
- "wrap-ansi": "^6.2.0"
- },
- "dependencies": {
- "slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- }
- },
- "wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- }
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
- },
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
- },
- "npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "ospath": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz",
- "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==",
- "dev": true
- },
- "p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "dev": true,
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
- "dev": true
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
- "dev": true
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true
- },
- "pretty-bytes": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
- "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
- "dev": true
- },
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
- "dev": true
- },
- "proxy-from-env": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
- "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==",
- "dev": true
- },
- "psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
- "dev": true
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "dev": true
- },
- "qs": {
- "version": "6.10.4",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz",
- "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==",
- "dev": true,
- "requires": {
- "side-channel": "^1.0.4"
- }
- },
- "querystringify": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
- "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
- "dev": true
- },
- "request-progress": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz",
- "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==",
- "dev": true,
- "requires": {
- "throttleit": "^1.0.0"
- }
- },
- "requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "dev": true
- },
- "restore-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
- "dev": true,
- "requires": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
- }
- },
- "rfdc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
- "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dev": true,
- "requires": {
- "tslib": "^2.1.0"
- }
- },
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- }
- },
- "signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true
- },
- "slice-ansi": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
- "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- }
- },
- "sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
- "dev": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true
- },
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "throttleit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
- "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==",
- "dev": true
- },
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
- "dev": true
- },
- "tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
- "dev": true,
- "requires": {
- "rimraf": "^3.0.0"
- }
- },
- "tough-cookie": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
- "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
- "dev": true,
- "requires": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.2.0",
- "url-parse": "^1.5.3"
- }
- },
- "tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
- "dev": true
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
- "dev": true
- },
- "type-fest": {
- "version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "dev": true
- },
- "universalify": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
- "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
- "dev": true
- },
- "untildify": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
- "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
- "dev": true
- },
- "url-parse": {
- "version": "1.5.10",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
- "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
- "dev": true,
- "requires": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
- }
- },
- "uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "dev": true
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
- "dev": true,
- "requires": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- }
- }
-}
diff --git a/vitess-mixin/e2e/package.json b/vitess-mixin/e2e/package.json
deleted file mode 100644
index ccc95ba93b0..00000000000
--- a/vitess-mixin/e2e/package.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "license": "Apache-2.0",
- "devDependencies": {
- "cypress": "^13.2.0"
- }
-}
diff --git a/vitess-mixin/e2e/prometheus/prometheus.yml b/vitess-mixin/e2e/prometheus/prometheus.yml
deleted file mode 100644
index bd8fe98dfa7..00000000000
--- a/vitess-mixin/e2e/prometheus/prometheus.yml
+++ /dev/null
@@ -1,61 +0,0 @@
-global:
- scrape_interval: 5s
- scrape_timeout: 2s
-
-rule_files:
- - prometheus_rules.yaml
-
-scrape_configs:
- - job_name: vitess-vtctld
- metrics_path: /metrics
- static_configs:
- - targets:
- - 'vtctld:8080'
- - job_name: vitess-vtgate
- metrics_path: /metrics
- static_configs:
- - targets:
- - 'vtgate:8080'
- - job_name: vitess-vttablet
- metrics_path: /metrics
- static_configs:
- - targets:
- - 'vttablet101:8080'
- - 'vttablet102:8080'
- - 'vttablet201:8080'
- - 'vttablet202:8080'
- - 'vttablet301:8080'
- - 'vttablet302:8080'
- # Mock mysql exporter for vttablet
- - job_name: mysql
- metrics_path: /metrics
- static_configs:
- - targets:
- - 'mysqld_exporter:9104'
- metric_relabel_configs:
- - source_labels: [ instance ]
- target_label: instance
- action: replace
- replacement: vttablet101:8080
- # Mock node exporter for vtgate
- - job_name: node-exporter-vitess-vtgate
- metrics_path: /metrics
- static_configs:
- - targets:
- - 'node-exporter:9100'
- metric_relabel_configs:
- - source_labels: [ instance ]
- target_label: instance
- action: replace
- replacement: vtgate:8080
- # Mock node exporter for vttablet
- - job_name: node-exporter-vitess-vttablet
- metrics_path: /metrics
- static_configs:
- - targets:
- - 'node-exporter:9100'
- metric_relabel_configs:
- - source_labels: [ instance ]
- target_label: instance
- action: replace
- replacement: vttablet101:8080
diff --git a/vitess-mixin/e2e/run-forever.sh b/vitess-mixin/e2e/run-forever.sh
deleted file mode 100755
index 51e511be77a..00000000000
--- a/vitess-mixin/e2e/run-forever.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-
-# Copyright 2019 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-while true
-do
- $@
- sleep 2
-done
diff --git a/vitess-mixin/e2e/schemaload.sh b/vitess-mixin/e2e/schemaload.sh
deleted file mode 100755
index b8f13ee8812..00000000000
--- a/vitess-mixin/e2e/schemaload.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/bash -e
-
-# Copyright 2020 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-sleeptime=${SLEEPTIME:-0}
-targettab=${TARGETTAB:-"${CELL}-0000000101"}
-schema_files=${SCHEMA_FILES:-'create_messages.sql create_tokens.sql create'}
-vschema_file=${VSCHEMA_FILE:-'default_vschema.json'}
-load_file=${POST_LOAD_FILE:-''}
-external_db=${EXTERNAL_DB:-'0'}
-export PATH=/vt/bin:$PATH
-
-sleep $sleeptime
-
-if [ ! -f schema_run ]; then
- while true; do
- vtctlclient -server vtctld:$GRPC_PORT GetTablet $targettab && break
- sleep 1
- done
- if [ "$external_db" = "0" ]; then
- for schema_file in $schema_files; do
- echo "Applying Schema ${schema_file} to ${KEYSPACE}"
- vtctlclient -server vtctld:$GRPC_PORT ApplySchema -sql-file /script/tables/${schema_file} $KEYSPACE || \
- vtctlclient -server vtctld:$GRPC_PORT ApplySchema -sql "$(cat /script/tables/${schema_file})" $KEYSPACE || true
- done
- fi
- echo "Applying VSchema ${vschema_file} to ${KEYSPACE}"
-
- vtctlclient -server vtctld:$GRPC_PORT ApplyVSchema -vschema_file /script/${vschema_file} $KEYSPACE || \
- vtctlclient -server vtctld:$GRPC_PORT ApplyVSchema -vschema "$(cat /script/${vschema_file})" $KEYSPACE
-
- echo "List All Tablets"
- vtctlclient -server vtctld:$GRPC_PORT ListAllTablets
-
- if [ -n "$load_file" ]; then
- # vtgate can take a REALLY long time to come up fully
- sleep 60
- mysql --port=15306 --host=vtgate < /script/$load_file
- fi
-
- touch /vt/schema_run
- echo "Time: $(date). SchemaLoad completed at $(date "+%FT%T") " >> /vt/schema_run
- echo "Done Loading Schema at $(date "+%FT%T")"
-fi
diff --git a/vitess-mixin/e2e/tables/create_dinosaurs.sql b/vitess-mixin/e2e/tables/create_dinosaurs.sql
deleted file mode 100644
index ee9a5b624da..00000000000
--- a/vitess-mixin/e2e/tables/create_dinosaurs.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-CREATE TABLE dinosaurs (
- id BIGINT UNSIGNED,
- time_created_ns BIGINT UNSIGNED,
- name VARCHAR(255),
- PRIMARY KEY (id)
-) ENGINE=InnoDB;
\ No newline at end of file
diff --git a/vitess-mixin/e2e/tables/create_eggs.sql b/vitess-mixin/e2e/tables/create_eggs.sql
deleted file mode 100644
index 7e74c50b5a1..00000000000
--- a/vitess-mixin/e2e/tables/create_eggs.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-CREATE TABLE eggs (
- id BIGINT UNSIGNED,
- time_created_ns BIGINT UNSIGNED,
- species VARCHAR(255),
- PRIMARY KEY (id)
-) ENGINE=InnoDB;
\ No newline at end of file
diff --git a/vitess-mixin/e2e/tables/create_messages.sql b/vitess-mixin/e2e/tables/create_messages.sql
deleted file mode 100644
index 44c4cc16e87..00000000000
--- a/vitess-mixin/e2e/tables/create_messages.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-CREATE TABLE messages (
- page BIGINT(20) UNSIGNED,
- time_created_ns BIGINT(20) UNSIGNED,
- message VARCHAR(10000),
- PRIMARY KEY (page, time_created_ns)
-) ENGINE=InnoDB;
\ No newline at end of file
diff --git a/vitess-mixin/e2e/tables/create_messages_message_lookup.sql b/vitess-mixin/e2e/tables/create_messages_message_lookup.sql
deleted file mode 100644
index 1eb667dac93..00000000000
--- a/vitess-mixin/e2e/tables/create_messages_message_lookup.sql
+++ /dev/null
@@ -1,7 +0,0 @@
-CREATE TABLE messages_message_lookup (
- id BIGINT NOT NULL AUTO_INCREMENT,
- page BIGINT UNSIGNED,
- message VARCHAR(1000),
- PRIMARY KEY (id),
- UNIQUE KEY idx_message_page (`message`, `page`)
-) ENGINE=InnoDB;
\ No newline at end of file
diff --git a/vitess-mixin/e2e/tables/create_tokens.sql b/vitess-mixin/e2e/tables/create_tokens.sql
deleted file mode 100644
index 69f1be03dec..00000000000
--- a/vitess-mixin/e2e/tables/create_tokens.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-CREATE TABLE tokens (
- page BIGINT(20) UNSIGNED,
- time_created_ns BIGINT(20) UNSIGNED,
- token VARCHAR(255) DEFAULT NULL,
- PRIMARY KEY (page, time_created_ns)
-) ENGINE=InnoDB;
\ No newline at end of file
diff --git a/vitess-mixin/e2e/tables/create_tokens_token_lookup.sql b/vitess-mixin/e2e/tables/create_tokens_token_lookup.sql
deleted file mode 100644
index d3208fdfc41..00000000000
--- a/vitess-mixin/e2e/tables/create_tokens_token_lookup.sql
+++ /dev/null
@@ -1,7 +0,0 @@
-CREATE TABLE tokens_token_lookup (
- id BIGINT NOT NULL AUTO_INCREMENT,
- page BIGINT UNSIGNED,
- token VARCHAR(255) DEFAULT NULL,
- PRIMARY KEY (id),
- UNIQUE KEY idx_token_page (`token`, `page`)
-) ENGINE=InnoDB;
\ No newline at end of file
diff --git a/vitess-mixin/e2e/tables/lookup_keyspace_schema_file.sql b/vitess-mixin/e2e/tables/lookup_keyspace_schema_file.sql
deleted file mode 100644
index e9c66144176..00000000000
--- a/vitess-mixin/e2e/tables/lookup_keyspace_schema_file.sql
+++ /dev/null
@@ -1,16 +0,0 @@
-CREATE TABLE tokens_token_lookup (
- id BIGINT NOT NULL AUTO_INCREMENT,
- page BIGINT UNSIGNED,
- token VARCHAR(255) DEFAULT NULL,
- PRIMARY KEY (id),
- UNIQUE KEY idx_token_page (`token`, `page`)
-) ENGINE=InnoDB;
-
-CREATE TABLE messages_message_lookup (
- id BIGINT NOT NULL AUTO_INCREMENT,
- page BIGINT UNSIGNED,
- message VARCHAR(1000),
- PRIMARY KEY (id),
- UNIQUE KEY idx_message_page (`message`, `page`)
-) ENGINE=InnoDB;
-
diff --git a/vitess-mixin/e2e/tables/test_keyspace_schema_file.sql b/vitess-mixin/e2e/tables/test_keyspace_schema_file.sql
deleted file mode 100644
index b049e4ef211..00000000000
--- a/vitess-mixin/e2e/tables/test_keyspace_schema_file.sql
+++ /dev/null
@@ -1,14 +0,0 @@
-CREATE TABLE messages (
- page BIGINT(20) UNSIGNED,
- time_created_ns BIGINT(20) UNSIGNED,
- message VARCHAR(10000),
- PRIMARY KEY (page, time_created_ns)
-) ENGINE=InnoDB;
-
-CREATE TABLE tokens (
- page BIGINT(20) UNSIGNED,
- time_created_ns BIGINT(20) UNSIGNED,
- token VARCHAR(255) DEFAULT NULL,
- PRIMARY KEY (page, time_created_ns)
-) ENGINE=InnoDB;
-
diff --git a/vitess-mixin/e2e/tablet.yml b/vitess-mixin/e2e/tablet.yml
deleted file mode 100644
index 86cc8316a41..00000000000
--- a/vitess-mixin/e2e/tablet.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-externalConnections:
- erpl:
- flavor: FilePos
- host: external_db_host
- port: 3306
- dbName: commerce
- app:
- user: external_db_user
- password: external_db_password
- dba:
- user: external_db_user
- password: external_db_password
- filtered:
- user: external_db_user
- password: external_db_password
- repl:
- user: external_db_user
- password: external_db_password
- appdebug:
- user: external_db_user
- password: external_db_password
- allprivs:
- user: external_db_user
- password: external_db_password
\ No newline at end of file
diff --git a/vitess-mixin/e2e/test_keyspace_vschema.json b/vitess-mixin/e2e/test_keyspace_vschema.json
deleted file mode 100644
index 55d0df96204..00000000000
--- a/vitess-mixin/e2e/test_keyspace_vschema.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "sharded": true,
- "tables": {
- "messages": {
- "column_vindexes": [
- {
- "column": "page",
- "name": "hash"
- },
- {
- "column": "message",
- "name": "messages_message_lookup"
- }
- ]
- },
- "tokens": {
- "column_vindexes": [
- {
- "column": "page",
- "name": "hash"
- },
- {
- "column": "token",
- "name": "tokens_token_lookup"
- }
- ]
- }
- },
- "vindexes": {
- "hash": {
- "type": "hash"
- },
- "messages_message_lookup": {
- "type": "lookup_hash",
- "params": {
- "table": "lookup_keyspace.messages_message_lookup",
- "from": "message",
- "to": "page",
- "autocommit": "true"
- },
- "owner": "messages"
- },
- "tokens_token_lookup": {
- "type": "lookup_hash",
- "params": {
- "table": "lookup_keyspace.tokens_token_lookup",
- "from": "token",
- "to": "page",
- "autocommit": "true"
- },
- "owner": "tokens"
- }
- }
-}
\ No newline at end of file
diff --git a/vitess-mixin/e2e/vtcompose/base_vschema.json b/vitess-mixin/e2e/vtcompose/base_vschema.json
deleted file mode 100644
index b867400e5ee..00000000000
--- a/vitess-mixin/e2e/vtcompose/base_vschema.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "sharded": true,
- "vindexes": {
- "hash": {
- "type": "hash"
- }
- },
- "tables": {
- }
-}
diff --git a/vitess-mixin/e2e/vtcompose/docker-compose.base.yml b/vitess-mixin/e2e/vtcompose/docker-compose.base.yml
deleted file mode 100644
index 2f2fbc12c70..00000000000
--- a/vitess-mixin/e2e/vtcompose/docker-compose.base.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-version: "2.1"
-services:
- consul1:
- image: consul:latest
- hostname: "consul1"
- ports:
- - "8400:8400"
- - "8500:8500"
- - "8600:8600"
- command: "agent -server -bootstrap-expect 3 -ui -disable-host-node-id -client 0.0.0.0"
- consul2:
- image: consul:latest
- hostname: "consul2"
- expose:
- - "8400"
- - "8500"
- - "8600"
- command: "agent -server -retry-join consul1 -disable-host-node-id"
- depends_on:
- - consul1
- consul3:
- image: consul:latest
- hostname: "consul3"
- expose:
- - "8400"
- - "8500"
- - "8600"
- command: "agent -server -retry-join consul1 -disable-host-node-id"
- depends_on:
- - consul1
- # This is a convenience container to quickly test vitess against an external database.
- # In practice you will point Vitess to your existing database and migrate to a Vitess managed cluster.
- external_db_host:
- build:
- context: ./external_db/mysql
- dockerfile: Dockerfile
- restart: always
- environment:
- MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-pass}
- MYSQL_DATABASE: ${DB:-commerce}
- MYSQL_USER: ${DB_USER:-external_db_user}
- MYSQL_PASSWORD: ${DB_PASS:-external_db_password}
- volumes:
- - ./external_db/mysql/:/docker-entrypoint-initdb.d/
- - ./external_db/mysql/log:/var/log/mysql
- command:
- - --server-id=1
- - --log-bin=mysql-bin
- - --gtid_mode=ON
- - --enforce_gtid_consistency
- - --general_log=1
- - --slow_query_log=1
- healthcheck:
- test: "/usr/bin/mysql --user=root --password=$${MYSQL_ROOT_PASSWORD} --execute \"SHOW DATABASES;\""
- timeout: 10s
- retries: 10
- ports:
- - "3306"
\ No newline at end of file
diff --git a/vitess-mixin/e2e/vtcompose/docker-compose.test.yml b/vitess-mixin/e2e/vtcompose/docker-compose.test.yml
deleted file mode 100644
index e6928d73acc..00000000000
--- a/vitess-mixin/e2e/vtcompose/docker-compose.test.yml
+++ /dev/null
@@ -1,303 +0,0 @@
-# This file was generated by running `go run vtcompose/vtcompose.go` with no arguments.
-
-services:
- consul1:
- command: agent -server -bootstrap-expect 3 -ui -disable-host-node-id -client 0.0.0.0
- hostname: consul1
- image: consul:latest
- ports:
- - 8400:8400
- - 8500:8500
- - 8600:8600
- consul2:
- command: agent -server -retry-join consul1 -disable-host-node-id
- depends_on:
- - consul1
- expose:
- - "8400"
- - "8500"
- - "8600"
- hostname: consul2
- image: consul:latest
- consul3:
- command: agent -server -retry-join consul1 -disable-host-node-id
- depends_on:
- - consul1
- expose:
- - "8400"
- - "8500"
- - "8600"
- hostname: consul3
- image: consul:latest
- schemaload_test_keyspace:
- command:
- - sh
- - -c
- - /script/schemaload.sh
- depends_on:
- vttablet101:
- condition: service_healthy
- vttablet201:
- condition: service_healthy
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=test_keyspace
- - TARGETTAB=test-0000000101
- - SLEEPTIME=15
- - VSCHEMA_FILE=test_keyspace_vschema.json
- - SCHEMA_FILES=test_keyspace_schema_file.sql
- - POST_LOAD_FILE=
- - EXTERNAL_DB=0
- image: vitess/lite
- volumes:
- - .:/script
- schemaload_unsharded_keyspace:
- command:
- - sh
- - -c
- - /script/schemaload.sh
- depends_on:
- vttablet301:
- condition: service_healthy
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=unsharded_keyspace
- - TARGETTAB=test-0000000301
- - SLEEPTIME=15
- - VSCHEMA_FILE=unsharded_keyspace_vschema.json
- - SCHEMA_FILES=unsharded_keyspace_schema_file.sql
- - POST_LOAD_FILE=
- - EXTERNAL_DB=0
- image: vitess/lite
- volumes:
- - .:/script
- vtctld:
- command:
- - sh
- - -c
- - ' $$VTROOT/bin/vtctld -topo_implementation consul -topo_global_server_address
- consul1:8500 -topo_global_root vitess/global -cell test ''grpc-vtctl'' -backup_storage_implementation
- file -file_backup_storage_root $$VTDATAROOT/backups -logtostderr=true -port
- 8080 -grpc_port 15999 -pid_file $$VTDATAROOT/tmp/vtctld.pid '
- depends_on:
- - consul1
- - consul2
- - consul3
- image: vitess/lite
- ports:
- - 15000:8080
- - "15999"
- volumes:
- - .:/script
- vtgate:
- command:
- - sh
- - -c
- - '/script/run-forever.sh $$VTROOT/bin/vtgate --topo_implementation consul --topo_global_server_address
- consul1:8500 --topo_global_root vitess/global --logtostderr=true --port 8080 --grpc_port
- 15999 --mysql_server_port 15306 --mysql_auth_server_impl none --cell test --cells_to_watch
- test --tablet_types_to_wait PRIMARY,REPLICA,RDONLY --service_map ''grpc-vtgateservice''
- --pid_file $$VTDATAROOT/tmp/vtgate.pid --normalize_queries=true '
- depends_on:
- - vtctld
- image: vitess/lite
- ports:
- - 15099:8080
- - "15999"
- - 15306:15306
- volumes:
- - .:/script
- vttablet101:
- command:
- - sh
- - -c
- - /script/vttablet-up.sh 101
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=test_keyspace
- - SHARD=-80
- - ROLE=primary
- - VTHOST=vttablet101
- - EXTERNAL_DB=0
- - DB_PORT=
- - DB_HOST=
- - DB_USER=
- - DB_PASS=
- - DB_CHARSET=
- healthcheck:
- interval: 30s
- retries: 15
- test:
- - CMD-SHELL
- - curl localhost:8080/debug/health
- timeout: 10s
- image: vitess/lite
- ports:
- - 15101:8080
- - "15999"
- - "3306"
- volumes:
- - .:/script
- vttablet102:
- command:
- - sh
- - -c
- - /script/vttablet-up.sh 102
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=test_keyspace
- - SHARD=-80
- - ROLE=replica
- - VTHOST=vttablet102
- - EXTERNAL_DB=0
- - DB_PORT=
- - DB_HOST=
- - DB_USER=
- - DB_PASS=
- - DB_CHARSET=
- healthcheck:
- interval: 30s
- retries: 15
- test:
- - CMD-SHELL
- - curl localhost:8080/debug/health
- timeout: 10s
- image: vitess/lite
- ports:
- - 15102:8080
- - "15999"
- - "3306"
- volumes:
- - .:/script
- vttablet201:
- command:
- - sh
- - -c
- - /script/vttablet-up.sh 201
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=test_keyspace
- - SHARD=80-
- - ROLE=primary
- - VTHOST=vttablet201
- - EXTERNAL_DB=0
- - DB_PORT=
- - DB_HOST=
- - DB_USER=
- - DB_PASS=
- - DB_CHARSET=
- healthcheck:
- interval: 30s
- retries: 15
- test:
- - CMD-SHELL
- - curl localhost:8080/debug/health
- timeout: 10s
- image: vitess/lite
- ports:
- - 15201:8080
- - "15999"
- - "3306"
- volumes:
- - .:/script
- vttablet202:
- command:
- - sh
- - -c
- - /script/vttablet-up.sh 202
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=test_keyspace
- - SHARD=80-
- - ROLE=replica
- - VTHOST=vttablet202
- - EXTERNAL_DB=0
- - DB_PORT=
- - DB_HOST=
- - DB_USER=
- - DB_PASS=
- - DB_CHARSET=
- healthcheck:
- interval: 30s
- retries: 15
- test:
- - CMD-SHELL
- - curl localhost:8080/debug/health
- timeout: 10s
- image: vitess/lite
- ports:
- - 15202:8080
- - "15999"
- - "3306"
- volumes:
- - .:/script
- vttablet301:
- command:
- - sh
- - -c
- - /script/vttablet-up.sh 301
- depends_on:
- - vtctld
- environment:
- - TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
- -topo_global_root vitess/global
- - WEB_PORT=8080
- - GRPC_PORT=15999
- - CELL=test
- - KEYSPACE=unsharded_keyspace
- - SHARD=-
- - ROLE=primary
- - VTHOST=vttablet301
- - EXTERNAL_DB=0
- - DB_PORT=
- - DB_HOST=
- - DB_USER=
- - DB_PASS=
- - DB_CHARSET=
- healthcheck:
- interval: 30s
- retries: 15
- test:
- - CMD-SHELL
- - curl localhost:8080/debug/health
- timeout: 10s
- image: vitess/lite
- ports:
- - 15301:8080
- - "15999"
- - "3306"
- volumes:
- - .:/script
-version: "2.1"
diff --git a/vitess-mixin/e2e/vtcompose/vtcompose.go b/vitess-mixin/e2e/vtcompose/vtcompose.go
deleted file mode 100644
index d272c7330ff..00000000000
--- a/vitess-mixin/e2e/vtcompose/vtcompose.go
+++ /dev/null
@@ -1,857 +0,0 @@
-/*
- * Copyright 2020 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.
- * You may obtain a copy of the License at
-
- * http://www.apache.org/licenses/LICENSE-2.0
-
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
- "bytes"
- "encoding/json"
- "flag"
- "fmt"
- "math"
- "os"
- "regexp"
- "strconv"
- "strings"
-
- jsonpatch "github.com/evanphx/json-patch"
- yamlpatch "github.com/krishicks/yaml-patch"
-
- "vitess.io/vitess/go/vt/log"
-)
-
-const (
- DefaultWebPort = 8080
- webPortUsage = "Web port to be used"
- DefaultGrpcPort = 15999
- gRpcPortUsage = "gRPC port to be used"
- DefaultMysqlPort = 15306
- mySqlPortUsage = "mySql port to be used"
- DefaultKeyspaceData = "test_keyspace:2:1:create_messages.sql,create_tokens.sql;unsharded_keyspace:0:0:create_dinosaurs.sql,create_eggs.sql"
- keyspaceDataUsage = "List of keyspace_name/external_db_name:num_of_shards:num_of_replica_tablets:schema_files:lookup_keyspace_name separated by ';'"
- DefaultCell = "test"
- cellUsage = "Vitess Cell name"
- DefaultExternalDbData = ""
- externalDbDataUsage = "List of Data corresponding to external DBs. List of ,,,,, separated by ';'"
- DefaultTopologyFlags = "-topo_implementation consul -topo_global_server_address consul1:8500 -topo_global_root vitess/global"
- topologyFlagsUsage = "Vitess Topology Flags config"
-)
-
-var (
- tabletsUsed = 0
- tablesPath = "tables/"
- baseDockerComposeFile = flag.String("base_yaml", "vtcompose/docker-compose.base.yml", "Starting docker-compose yaml")
- baseVschemaFile = flag.String("base_vschema", "vtcompose/base_vschema.json", "Starting vschema json")
-
- topologyFlags = flag.String("topologyFlags", DefaultTopologyFlags, topologyFlagsUsage)
- webPort = flag.Int("webPort", DefaultWebPort, webPortUsage)
- gRpcPort = flag.Int("gRpcPort", DefaultGrpcPort, gRpcPortUsage)
- mySqlPort = flag.Int("mySqlPort", DefaultMysqlPort, mySqlPortUsage)
- cell = flag.String("cell", DefaultCell, cellUsage)
- keyspaceData = flag.String("keyspaceData", DefaultKeyspaceData, keyspaceDataUsage)
- externalDbData = flag.String("externalDbData", DefaultExternalDbData, externalDbDataUsage)
-)
-
-type vtOptions struct {
- webPort int
- gRpcPort int
- mySqlPort int
- topologyFlags string
- cell string
-}
-
-type keyspaceInfo struct {
- keyspace string
- shards int
- replicaTablets int
- lookupKeyspace string
- useLookups bool
- schemaFile *os.File
- schemaFileNames []string
-}
-
-type externalDbInfo struct {
- dbName string
- dbHost string
- dbPort string
- dbUser string
- dbPass string
- dbCharset string
-}
-
-func newKeyspaceInfo(
- keyspace string,
- shards int,
- replicaTablets int,
- schemaFiles []string,
- lookupKeyspace string,
-) keyspaceInfo {
- k := keyspaceInfo{
- keyspace: keyspace,
- shards: shards,
- replicaTablets: replicaTablets,
- schemaFileNames: schemaFiles,
- lookupKeyspace: lookupKeyspace,
- }
- if len(strings.TrimSpace(lookupKeyspace)) == 0 {
- k.useLookups = false
- } else {
- k.useLookups = true
- }
-
- k.schemaFile = nil
- return k
-}
-
-func newExternalDbInfo(dbName, dbHost, dbPort, dbUser, dbPass, dbCharset string) externalDbInfo {
- return externalDbInfo{
- dbName: dbName,
- dbHost: dbHost,
- dbPort: dbPort,
- dbUser: dbUser,
- dbPass: dbPass,
- dbCharset: dbCharset,
- }
-}
-
-func parseKeyspaceInfo(keyspaceData string) map[string]keyspaceInfo {
- keyspaceInfoMap := make(map[string]keyspaceInfo)
-
- for _, v := range strings.Split(keyspaceData, ";") {
- tokens := strings.Split(v, ":")
- shards, _ := strconv.Atoi(tokens[1])
- replicaTablets, _ := strconv.Atoi(tokens[2])
- schemaFileNames := []string{}
- // Make schemafiles argument optional
- if len(tokens) > 3 {
- f := func(c rune) bool {
- return c == ','
- }
- schemaFileNames = strings.FieldsFunc(tokens[3], f)
- }
-
- if len(tokens) > 4 {
- keyspaceInfoMap[tokens[0]] = newKeyspaceInfo(tokens[0], shards, replicaTablets, schemaFileNames, tokens[4])
- } else {
- keyspaceInfoMap[tokens[0]] = newKeyspaceInfo(tokens[0], shards, replicaTablets, schemaFileNames, "")
- }
- }
-
- return keyspaceInfoMap
-}
-
-func parseExternalDbData(externalDbData string) map[string]externalDbInfo {
- externalDbInfoMap := make(map[string]externalDbInfo)
- for _, v := range strings.Split(externalDbData, ";") {
- tokens := strings.Split(v, ":")
- if len(tokens) > 1 {
- externalDbInfoMap[tokens[0]] =
- newExternalDbInfo(tokens[0], tokens[1], tokens[2], tokens[3], tokens[4], tokens[5])
- }
- }
-
- return externalDbInfoMap
-}
-
-func main() {
- flag.Parse()
- keyspaceInfoMap := parseKeyspaceInfo(*keyspaceData)
- externalDbInfoMap := parseExternalDbData(*externalDbData)
- vtOpts := vtOptions{
- webPort: *webPort,
- gRpcPort: *gRpcPort,
- mySqlPort: *mySqlPort,
- topologyFlags: *topologyFlags,
- cell: *cell,
- }
-
- // Write schemaFile.
- for k, v := range keyspaceInfoMap {
- if _, ok := externalDbInfoMap[k]; !ok {
- v.schemaFile = createFile(fmt.Sprintf("%s%s_schema_file.sql", tablesPath, v.keyspace))
- appendToSqlFile(v.schemaFileNames, v.schemaFile)
- closeFile(v.schemaFile)
- }
- }
-
- // Vschema Patching
- for k, keyspaceData := range keyspaceInfoMap {
- vSchemaFile := readFile(*baseVschemaFile)
- if keyspaceData.shards == 0 {
- vSchemaFile = applyJsonInMemoryPatch(vSchemaFile, `[{"op": "replace","path": "/sharded", "value": false}]`)
- }
-
- // Check if it is an external_db
- if _, ok := externalDbInfoMap[k]; ok {
- //This is no longer necessary, but we'll keep it for reference
- //https://github.com/vitessio/vitess/pull/4868, https://github.com/vitessio/vitess/pull/5010
- //vSchemaFile = applyJsonInMemoryPatch(vSchemaFile,`[{"op": "add","path": "/tables/*", "value": {}}]`)
- } else {
- var primaryTableColumns map[string]string
- vSchemaFile, primaryTableColumns = addTablesVschemaPatch(vSchemaFile, keyspaceData.schemaFileNames)
-
- if keyspaceData.useLookups {
- lookup := keyspaceInfoMap[keyspaceData.lookupKeyspace]
- vSchemaFile = addLookupDataToVschema(vSchemaFile, lookup.schemaFileNames, primaryTableColumns, lookup.keyspace)
- }
- }
-
- writeVschemaFile(vSchemaFile, fmt.Sprintf("%s_vschema.json", keyspaceData.keyspace))
- }
-
- // Docker Compose File Patches
- dockerComposeFile := readFile(*baseDockerComposeFile)
- dockerComposeFile = applyDockerComposePatches(dockerComposeFile, keyspaceInfoMap, externalDbInfoMap, vtOpts)
- writeFile(dockerComposeFile, "docker-compose.yml")
-}
-
-func applyFilePatch(dockerYaml []byte, patchFile string) []byte {
- yamlPatch, err := os.ReadFile(patchFile)
- if err != nil {
- log.Fatalf("reading yaml patch file %s: %s", patchFile, err)
- }
-
- patch, err := yamlpatch.DecodePatch(yamlPatch)
- if err != nil {
- log.Fatalf("decoding patch failed: %s", err)
- }
-
- bs, err := patch.Apply(dockerYaml)
- if err != nil {
- log.Fatalf("applying patch failed: %s", err)
- }
- return bs
-}
-
-func applyJsonInMemoryPatch(vSchemaFile []byte, patchString string) []byte {
- patch, err := jsonpatch.DecodePatch([]byte(patchString))
- if err != nil {
- log.Fatalf("decoding vschema patch failed: %s", err)
- }
-
- modified, err := patch.Apply(vSchemaFile)
- if err != nil {
- log.Fatalf("applying vschema patch failed: %s", err)
- }
- return modified
-}
-
-func applyInMemoryPatch(dockerYaml []byte, patchString string) []byte {
- patch, err := yamlpatch.DecodePatch([]byte(patchString))
- if err != nil {
- log.Fatalf("decoding patch failed: %s", err)
- }
-
- bs, err := patch.Apply(dockerYaml)
- if err != nil {
- log.Fatalf("applying patch failed: %s", err)
- }
- return bs
-}
-
-func createFile(filePath string) *os.File {
- f, err := os.Create(filePath)
- if err != nil {
- log.Fatalf("creating %s %s", filePath, err)
- }
- return f
-}
-
-func readFile(filePath string) []byte {
- file, err := os.ReadFile(filePath)
-
- if err != nil {
- log.Fatalf("reading %s: %s", filePath, err)
- }
-
- return file
-}
-
-func closeFile(file *os.File) {
- err := file.Close()
- if err != nil {
- log.Fatalf("Closing schema_file.sql %s", err)
- }
-}
-
-func handleError(err error) {
- if err != nil {
- log.Fatalf("Error: %s", err)
- }
-}
-
-func appendToSqlFile(schemaFileNames []string, f *os.File) {
- for _, file := range schemaFileNames {
- data, err := os.ReadFile(tablesPath + file)
- if err != nil {
- log.Fatalf("reading %s: %s", tablesPath+file, err)
- }
-
- _, err = f.Write(data)
- handleError(err)
-
- _, err = f.WriteString("\n\n")
- handleError(err)
-
- err = f.Sync()
- handleError(err)
- }
-}
-
-func getTableName(sqlFile string) string {
- sqlFileData, err := os.ReadFile(sqlFile)
- if err != nil {
- log.Fatalf("reading sqlFile file %s: %s", sqlFile, err)
- }
-
- r, _ := regexp.Compile("CREATE TABLE ([a-z_-]*) \\(")
- rs := r.FindStringSubmatch(string(sqlFileData))
- // replace all ` from table name if exists
- return strings.ReplaceAll(rs[1], "`", "")
-}
-
-func getPrimaryKey(sqlFile string) string {
- sqlFileData, err := os.ReadFile(sqlFile)
- if err != nil {
- log.Fatalf("reading sqlFile file %s: %s", sqlFile, err)
- }
-
- r, _ := regexp.Compile("PRIMARY KEY \\((.*)\\).*")
- rs := r.FindStringSubmatch(string(sqlFileData))
-
- return rs[1]
-}
-
-func getKeyColumns(sqlFile string) string {
- sqlFileData, err := os.ReadFile(sqlFile)
- if err != nil {
- log.Fatalf("reading sqlFile file %s: %s", sqlFile, err)
- }
-
- r, _ := regexp.Compile("[^PRIMARY] (KEY|UNIQUE KEY) .*\\((.*)\\).*")
- rs := r.FindStringSubmatch(string(sqlFileData))
- // replace all ` from column names if exists
- return strings.ReplaceAll(rs[2], "`", "")
-}
-
-func addTablesVschemaPatch(vSchemaFile []byte, schemaFileNames []string) ([]byte, map[string]string) {
- indexedColumns := ""
- primaryTableColumns := make(map[string]string)
- for _, fileName := range schemaFileNames {
- tableName := getTableName(tablesPath + fileName)
- indexedColumns = getPrimaryKey(tablesPath + fileName)
- firstColumnName := strings.Split(indexedColumns, ", ")[0]
- vSchemaFile = applyJsonInMemoryPatch(vSchemaFile, generatePrimaryVIndex(tableName, firstColumnName, "hash"))
- primaryTableColumns[tableName] = firstColumnName
- }
-
- return vSchemaFile, primaryTableColumns
-}
-
-func addLookupDataToVschema(
- vSchemaFile []byte,
- schemaFileNames []string,
- primaryTableColumns map[string]string,
- keyspace string,
-) []byte {
- for _, fileName := range schemaFileNames {
- tableName := fileName[7 : len(fileName)-4]
- lookupTableOwner := ""
-
- // Find owner of lookup table
- for primaryTableName := range primaryTableColumns {
- if strings.HasPrefix(tableName, primaryTableName) && len(primaryTableName) > len(lookupTableOwner) {
- lookupTableOwner = primaryTableName
- }
- }
-
- indexedColumns := getKeyColumns(tablesPath + fileName)
- firstColumnName := strings.Split(indexedColumns, ", ")[0]
-
- // Lookup patch under "tables"
- vSchemaFile = applyJsonInMemoryPatch(vSchemaFile, addToColumnVIndexes(lookupTableOwner, firstColumnName, tableName))
-
- // Generate Vschema lookup hash types
- lookupHash := generateVschemaLookupHash(tableName, keyspace, firstColumnName, primaryTableColumns[lookupTableOwner], lookupTableOwner)
- vSchemaFile = applyJsonInMemoryPatch(vSchemaFile, lookupHash)
- }
-
- return vSchemaFile
-}
-
-func writeVschemaFile(file []byte, fileName string) {
- // Format json file
- var buf bytes.Buffer
- err := json.Indent(&buf, file, "", "\t")
- handleError(err)
- file = buf.Bytes()
-
- writeFile(file, fileName)
-}
-
-func writeFile(file []byte, fileName string) {
- err := os.WriteFile(fileName, file, 0644)
- if err != nil {
- log.Fatalf("writing %s %s", fileName, err)
- }
-}
-
-func applyKeyspaceDependentPatches(
- dockerComposeFile []byte,
- keyspaceData keyspaceInfo,
- externalDbInfoMap map[string]externalDbInfo,
- opts vtOptions,
-) []byte {
- var externalDbInfo externalDbInfo
- if val, ok := externalDbInfoMap[keyspaceData.keyspace]; ok {
- externalDbInfo = val
- }
- tabAlias := 0 + tabletsUsed*100
- shard := "-"
- var primaryTablets []string
- if tabletsUsed == 0 {
- primaryTablets = append(primaryTablets, "101")
- } else {
- primaryTablets = append(primaryTablets, strconv.Itoa((tabletsUsed+1)*100+1))
- }
- interval := int(math.Floor(256 / float64(keyspaceData.shards)))
-
- for i := 1; i < keyspaceData.shards; i++ {
- primaryTablets = append(primaryTablets, strconv.Itoa((i+1)*100+1))
- }
-
- schemaLoad := generateSchemaload(primaryTablets, "", keyspaceData.keyspace, externalDbInfo, opts)
- dockerComposeFile = applyInMemoryPatch(dockerComposeFile, schemaLoad)
-
- // Append Primary and Replica Tablets
- if keyspaceData.shards < 2 {
- tabAlias = tabAlias + 100
- dockerComposeFile = applyTabletPatches(dockerComposeFile, tabAlias, shard, keyspaceData, externalDbInfoMap, opts)
- dockerComposeFile = applyShardPatches(dockerComposeFile, tabAlias, shard, keyspaceData, externalDbInfoMap, opts)
- } else {
- // Determine shard range
- for i := 0; i < keyspaceData.shards; i++ {
- if i == 0 {
- shard = fmt.Sprintf("-%x", interval)
- } else if i == (keyspaceData.shards - 1) {
- shard = fmt.Sprintf("%x-", interval*i)
- } else {
- shard = fmt.Sprintf("%x-%x", interval*(i), interval*(i+1))
- }
- tabAlias = tabAlias + 100
- dockerComposeFile = applyTabletPatches(dockerComposeFile, tabAlias, shard, keyspaceData, externalDbInfoMap, opts)
- dockerComposeFile = applyShardPatches(dockerComposeFile, tabAlias, shard, keyspaceData, externalDbInfoMap, opts)
- }
- }
-
- tabletsUsed += len(primaryTablets)
- return dockerComposeFile
-}
-
-func applyDefaultDockerPatches(
- dockerComposeFile []byte,
- keyspaceInfoMap map[string]keyspaceInfo,
- externalDbInfoMap map[string]externalDbInfo,
- opts vtOptions,
-) []byte {
-
- var dbInfo externalDbInfo
- // This is a workaround to check if there are any externalDBs defined
- for _, keyspaceData := range keyspaceInfoMap {
- if val, ok := externalDbInfoMap[keyspaceData.keyspace]; ok {
- dbInfo = val
- }
- }
-
- dockerComposeFile = applyInMemoryPatch(dockerComposeFile, generateVtctld(opts))
- dockerComposeFile = applyInMemoryPatch(dockerComposeFile, generateVtgate(opts))
- dockerComposeFile = applyInMemoryPatch(dockerComposeFile, generateVreplication(dbInfo, opts))
- dockerComposeFile = applyInMemoryPatch(dockerComposeFile, generateVTOrc(dbInfo, opts))
- return dockerComposeFile
-}
-
-func applyDockerComposePatches(
- dockerComposeFile []byte,
- keyspaceInfoMap map[string]keyspaceInfo,
- externalDbInfoMap map[string]externalDbInfo,
- vtOpts vtOptions,
-) []byte {
- // Vtctld, vtgate, vtwork patches.
- dockerComposeFile = applyDefaultDockerPatches(dockerComposeFile, keyspaceInfoMap, externalDbInfoMap, vtOpts)
- for _, keyspaceData := range keyspaceInfoMap {
- dockerComposeFile = applyKeyspaceDependentPatches(dockerComposeFile, keyspaceData, externalDbInfoMap, vtOpts)
- }
-
- return dockerComposeFile
-}
-
-func applyShardPatches(
- dockerComposeFile []byte,
- tabAlias int,
- shard string,
- keyspaceData keyspaceInfo,
- externalDbInfoMap map[string]externalDbInfo,
- opts vtOptions,
-) []byte {
- var dbInfo externalDbInfo
- if val, ok := externalDbInfoMap[keyspaceData.keyspace]; ok {
- dbInfo = val
- }
- dockerComposeFile = applyInMemoryPatch(dockerComposeFile, generateExternalPrimary(tabAlias, shard, keyspaceData, dbInfo, opts))
- return dockerComposeFile
-}
-
-func generateDefaultShard(tabAlias int, shard string, keyspaceData keyspaceInfo, opts vtOptions) string {
- aliases := []int{tabAlias + 1} // primary alias, e.g. 201
- for i := 0; i < keyspaceData.replicaTablets; i++ {
- aliases = append(aliases, tabAlias+2+i) // replica aliases, e.g. 202, 203, ...
- }
- tabletDepends := make([]string, len(aliases))
- for i, tabletId := range aliases {
- tabletDepends[i] = fmt.Sprintf("vttablet%d: {condition : service_healthy}", tabletId)
- }
- // Wait on all shard tablets to be healthy
- dependsOn := "depends_on: {" + strings.Join(tabletDepends, ", ") + "}"
-
- return fmt.Sprintf(`
-- op: add
- path: /services/init_shard_primary%[2]d
- value:
- image: vitess/lite:${VITESS_TAG:-latest}
- 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)
-}
-
-func generateExternalPrimary(
- tabAlias int,
- shard string,
- keyspaceData keyspaceInfo,
- dbInfo externalDbInfo,
- opts vtOptions,
-) string {
-
- aliases := []int{tabAlias + 1} // primary alias, e.g. 201
- for i := 0; i < keyspaceData.replicaTablets; i++ {
- aliases = append(aliases, tabAlias+2+i) // replica aliases, e.g. 202, 203, ...
- }
-
- externalPrimaryTab := tabAlias
- externalDb := "0"
-
- if dbInfo.dbName != "" {
- externalDb = "1"
- } else {
- return fmt.Sprintf(``)
- }
-
- return fmt.Sprintf(`
-- op: add
- path: /services/vttablet%[1]d
- value:
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - "15%[1]d:%[3]d"
- - "%[4]d"
- - "3306"
- volumes:
- - ".:/script"
- environment:
- - TOPOLOGY_FLAGS=%[2]s
- - WEB_PORT=%[3]d
- - GRPC_PORT=%[4]d
- - CELL=%[5]s
- - SHARD=%[6]s
- - KEYSPACE=%[7]s
- - ROLE=primary
- - VTHOST=vttablet%[1]d
- - EXTERNAL_DB=%[8]s
- - DB_PORT=%[9]s
- - DB_HOST=%[10]s
- - DB_USER=%[11]s
- - DB_PASS=%[12]s
- - DB_CHARSET=%[13]s
- command: ["sh", "-c", "[ $$EXTERNAL_DB -eq 1 ] && /script/vttablet-up.sh %[1]d || exit 0"]
- depends_on:
- - vtctld
- healthcheck:
- test: ["CMD-SHELL","curl -s --fail --show-error localhost:%[3]d/debug/health"]
- interval: 30s
- timeout: 10s
- retries: 15
-`, externalPrimaryTab, opts.topologyFlags, opts.webPort, opts.gRpcPort, opts.cell, shard, keyspaceData.keyspace, externalDb, dbInfo.dbPort, dbInfo.dbHost, dbInfo.dbUser, dbInfo.dbPass, dbInfo.dbCharset)
-}
-
-func applyTabletPatches(
- dockerComposeFile []byte,
- tabAlias int,
- shard string,
- keyspaceData keyspaceInfo,
- externalDbInfoMap map[string]externalDbInfo,
- opts vtOptions,
-) []byte {
- var dbInfo externalDbInfo
- if val, ok := externalDbInfoMap[keyspaceData.keyspace]; ok {
- dbInfo = val
- }
- dockerComposeFile = applyInMemoryPatch(dockerComposeFile, generateDefaultTablet(tabAlias+1, shard, "primary", keyspaceData.keyspace, dbInfo, opts))
- for i := 0; i < keyspaceData.replicaTablets; i++ {
- dockerComposeFile = applyInMemoryPatch(dockerComposeFile, generateDefaultTablet(tabAlias+2+i, shard, "replica", keyspaceData.keyspace, dbInfo, opts))
- }
- return dockerComposeFile
-}
-
-func generateDefaultTablet(tabAlias int, shard, role, keyspace string, dbInfo externalDbInfo, opts vtOptions) string {
- externalDb := "0"
- if dbInfo.dbName != "" {
- externalDb = "1"
- }
-
- return fmt.Sprintf(`
-- op: add
- path: /services/vttablet%[1]d
- value:
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - "15%[1]d:%[4]d"
- - "%[5]d"
- - "3306"
- volumes:
- - ".:/script"
- environment:
- - TOPOLOGY_FLAGS=%[7]s
- - WEB_PORT=%[4]d
- - GRPC_PORT=%[5]d
- - CELL=%[8]s
- - KEYSPACE=%[6]s
- - SHARD=%[2]s
- - ROLE=%[3]s
- - VTHOST=vttablet%[1]d
- - EXTERNAL_DB=%[9]s
- - DB_PORT=%[10]s
- - DB_HOST=%[11]s
- - DB_USER=%[12]s
- - DB_PASS=%[13]s
- - DB_CHARSET=%[14]s
- command: ["sh", "-c", "/script/vttablet-up.sh %[1]d"]
- depends_on:
- - vtctld
- healthcheck:
- test: ["CMD-SHELL","curl -s --fail --show-error localhost:%[4]d/debug/health"]
- interval: 30s
- timeout: 10s
- retries: 15
-`, tabAlias, shard, role, opts.webPort, opts.gRpcPort, keyspace, opts.topologyFlags, opts.cell, externalDb, dbInfo.dbPort, dbInfo.dbHost, dbInfo.dbUser, dbInfo.dbPass, dbInfo.dbCharset)
-}
-
-func generateVtctld(opts vtOptions) string {
- return fmt.Sprintf(`
-- op: add
- path: /services/vtctld
- value:
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - "15000:%[1]d"
- - "%[2]d"
- command: ["sh", "-c", " /vt/bin/vtctld \
- %[3]s \
- -cell %[4]s \
- -service_map 'grpc-vtctl' \
- -backup_storage_implementation file \
- -file_backup_storage_root /vt/vtdataroot/backups \
- -logtostderr=true \
- -port %[1]d \
- -grpc_port %[2]d \
- "]
- volumes:
- - .:/script
- depends_on:
- - consul1
- - consul2
- - consul3
- depends_on:
- external_db_host:
- condition: service_healthy
-`, opts.webPort, opts.gRpcPort, opts.topologyFlags, opts.cell)
-}
-
-func generateVtgate(opts vtOptions) string {
- return fmt.Sprintf(`
-- op: add
- path: /services/vtgate
- value:
- image: vitess/lite:${VITESS_TAG:-latest}
- ports:
- - "15099:%[1]d"
- - "%[2]d"
- - "15306:%[3]d"
- command: ["sh", "-c", "/script/run-forever.sh /vt/bin/vtgate \
- %[4]s \
- --logtostderr=true \
- --port %[1]d \
- --grpc_port %[2]d \
- --mysql_server_port %[3]d \
- --mysql_auth_server_impl none \
- --cell %[5]s \
- --cells_to_watch %[5]s \
- --tablet_types_to_wait PRIMARY,REPLICA,RDONLY \
- --service_map 'grpc-vtgateservice' \
- --normalize_queries=true \
- "]
- volumes:
- - .:/script
- depends_on:
- - vtctld
-`, opts.webPort, opts.gRpcPort, opts.mySqlPort, opts.topologyFlags, opts.cell)
-}
-
-func generateVTOrc(dbInfo externalDbInfo, opts vtOptions) string {
- externalDb := "0"
- if dbInfo.dbName != "" {
- externalDb = "1"
- }
- return fmt.Sprintf(`
-- op: add
- path: /services/vtorc
- value:
- image: vitess/lite:${VITESS_TAG:-latest}
- volumes:
- - ".:/script"
- environment:
- - TOPOLOGY_FLAGS=%[1]s
- - EXTERNAL_DB=%[2]s
- - DB_USER=%[3]s
- - DB_PASS=%[4]s
- ports:
- - "13000:3000"
- command: ["sh", "-c", "/script/vtorc-up.sh"]
- depends_on:
- - vtctld
-`, opts.topologyFlags, externalDb, dbInfo.dbUser, dbInfo.dbPass)
-}
-
-func generateVreplication(dbInfo externalDbInfo, opts vtOptions) string {
- externalDb := "0"
- if dbInfo.dbName != "" {
- externalDb = "1"
- }
- return fmt.Sprintf(`
-- op: add
- path: /services/vreplication
- value:
- image: vitess/lite:${VITESS_TAG:-latest}
- volumes:
- - ".:/script"
- environment:
- - TOPOLOGY_FLAGS=%[1]s
- - EXTERNAL_DB=%[2]s
- command: ["sh", "-c", "[ $$EXTERNAL_DB -eq 1 ] && /script/externaldb_vreplication.sh || exit 0"]
- depends_on:
- - vtctld
-`, opts.topologyFlags, externalDb)
-}
-
-func generateSchemaload(
- tabletAliases []string,
- postLoadFile string,
- keyspace string,
- dbInfo externalDbInfo,
- opts vtOptions,
-) string {
- targetTab := tabletAliases[0]
- schemaFileName := fmt.Sprintf("%s_schema_file.sql", keyspace)
- externalDb := "0"
-
- if dbInfo.dbName != "" {
- schemaFileName = ""
- externalDb = "1"
- }
-
- // Formatting for list in yaml
- for i, tabletId := range tabletAliases {
- tabletAliases[i] = "vttablet" + tabletId + ": " + "{condition : service_healthy}"
- }
- dependsOn := "depends_on: {" + strings.Join(tabletAliases, ", ") + "}"
-
- return fmt.Sprintf(`
-- op: add
- path: /services/schemaload_%[7]s
- value:
- image: vitess/lite:${VITESS_TAG:-latest}
- volumes:
- - ".:/script"
- environment:
- - TOPOLOGY_FLAGS=%[3]s
- - WEB_PORT=%[4]d
- - GRPC_PORT=%[5]d
- - CELL=%[6]s
- - KEYSPACE=%[7]s
- - TARGETTAB=%[6]s-0000000%[2]s
- - SLEEPTIME=15
- - VSCHEMA_FILE=%[7]s_vschema.json
- - SCHEMA_FILES=%[9]s
- - POST_LOAD_FILE=%[8]s
- - EXTERNAL_DB=%[10]s
- command: ["sh", "-c", "/script/schemaload.sh"]
- %[1]s
-`, dependsOn, targetTab, opts.topologyFlags, opts.webPort, opts.gRpcPort, opts.cell, keyspace, postLoadFile, schemaFileName, externalDb)
-}
-
-func generatePrimaryVIndex(tableName, column, name string) string {
- return fmt.Sprintf(`
-[{"op": "add",
-"path": "/tables/%[1]s",
-"value":
- {"column_vindexes": [
- {
- "column": "%[2]s",
- "name": "%[3]s"
- }
- ]}
-}]
-`, tableName, column, name)
-}
-
-func generateVschemaLookupHash(tableName, tableKeyspace, from, to, owner string) string {
- return fmt.Sprintf(`
-[{"op": "add",
-"path": "/vindexes/%[1]s",
-"value":
- {"type": "lookup_hash",
- "params": {
- "table": "%[2]s.%[1]s",
- "from": "%[3]s",
- "to": "%[4]s",
- "autocommit": "true"
- },
- "owner": "%[5]s"
- }
-}]
-`, tableName, tableKeyspace, from, to, owner)
-}
-
-func addToColumnVIndexes(tableName, column, referenceName string) string {
- return fmt.Sprintf(`
-[{"op": "add",
-"path": "/tables/%[1]s/column_vindexes/-",
-"value":
- {
- "column": "%[2]s",
- "name": "%[3]s"
- }
-}]
-`, tableName, column, referenceName)
-}
diff --git a/vitess-mixin/e2e/vtcompose/vtcompose_test.go b/vitess-mixin/e2e/vtcompose/vtcompose_test.go
deleted file mode 100644
index 8e5cfaa2b89..00000000000
--- a/vitess-mixin/e2e/vtcompose/vtcompose_test.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2019 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.
- * You may obtain a copy of the License at
-
- * http://www.apache.org/licenses/LICENSE-2.0
-
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
- "fmt"
- "strconv"
- "testing"
-
- "github.com/stretchr/testify/assert"
-)
-
-var (
- referenceYaml = string(readFile("./docker-compose.test.yml"))
- testComposeFile = readFile("./docker-compose.base.yml")
- testKeyspaceInfoMap = parseKeyspaceInfo(DefaultKeyspaceData)
- testExternalDbInfoMap = parseExternalDbData(DefaultExternalDbData)
-
- testVtOpts = vtOptions{
- webPort: DefaultWebPort,
- gRpcPort: DefaultGrpcPort,
- mySqlPort: DefaultMysqlPort,
- topologyFlags: DefaultTopologyFlags,
- cell: DefaultCell,
- }
-)
-
-func TestGenerateCorrectFileWithDefaultOpts(t *testing.T) {
- baseFile := testComposeFile
- finalFile := applyDockerComposePatches(baseFile, testKeyspaceInfoMap, testExternalDbInfoMap, testVtOpts)
-
- yamlString := string(finalFile)
- assert.YAMLEq(t, referenceYaml, yamlString)
-}
-
-func TestOptsAppliedThroughoutGeneratedFile(t *testing.T) {
- baseFile := testComposeFile
- options := vtOptions{
- webPort: 55_555,
- gRpcPort: 66_666,
- mySqlPort: 77_777,
- topologyFlags: "-custom -flags",
- cell: "custom cell",
- }
- finalFile := applyDockerComposePatches(baseFile, testKeyspaceInfoMap, testExternalDbInfoMap, options)
- yamlString := string(finalFile)
-
- // These asserts are not exhaustive, but should cover most cases.
- assert.NotContains(t, yamlString, strconv.Itoa(DefaultWebPort))
- assert.Contains(t, yamlString, strconv.Itoa(options.webPort))
-
- assert.NotContains(t, yamlString, strconv.Itoa(DefaultGrpcPort))
- assert.Contains(t, yamlString, strconv.Itoa(options.gRpcPort))
-
- assert.NotContains(t, yamlString, ":"+strconv.Itoa(DefaultMysqlPort))
- assert.Contains(t, yamlString, ":"+strconv.Itoa(options.webPort))
-
- assert.NotContains(t, yamlString, fmt.Sprintf("-cell %s", DefaultCell))
- assert.Contains(t, yamlString, fmt.Sprintf("-cell %s", options.cell))
-
- assert.Contains(t, yamlString, fmt.Sprintf("- TOPOLOGY_FLAGS=%s", options.topologyFlags))
- assert.NotContains(t, yamlString, DefaultTopologyFlags)
-}
diff --git a/vitess-mixin/e2e/vtorc-up.sh b/vitess-mixin/e2e/vtorc-up.sh
deleted file mode 100755
index 9d71831c3ea..00000000000
--- a/vitess-mixin/e2e/vtorc-up.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/bash
-
-# Copyright 2020 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -u
-
-external=${EXTERNAL_DB:-0}
-config=${VTORC_CONFIG:-/vt/vtorc/config.json}
-# Copy config directory
-cp -R /script/vtorc /vt
-# Update credentials
-if [ $external = 1 ] ; then
- # Terrible substitution but we don't have jq in this image
- # This can be overridden by passing VTORC_CONFIG env variable
- echo "Updating $config..."
- cp /vt/vtorc/default.json /vt/vtorc/tmp.json
- sed -i '/MySQLTopologyUser/c\ \"MySQLTopologyUser\" : \"'"$DB_USER"'\",' /vt/vtorc/tmp.json
- sed -i '/MySQLTopologyPassword/c\ \"MySQLTopologyPassword\" : \"'"$DB_PASS"'\",' /vt/vtorc/tmp.json
- sed -i '/MySQLReplicaUser/c\ \"MySQLReplicaUser\" : \"'"$DB_USER"'\",' /vt/vtorc/tmp.json
- sed -i '/MySQLReplicaPassword/c\ \"MySQLReplicaPassword\" : \"'"$DB_PASS"'\",' /vt/vtorc/tmp.json
- cat /vt/vtorc/tmp.json
- cp /vt/vtorc/tmp.json /vt/vtorc/config.json
-else
- cp /vt/vtorc/default.json /vt/vtorc/config.json
-fi
-
-echo "Starting vtorc..."
-exec /vt/bin/vtorc \
-$TOPOLOGY_FLAGS \
--logtostderr=true \
--config $config
diff --git a/vitess-mixin/e2e/vtorc/default.json b/vitess-mixin/e2e/vtorc/default.json
deleted file mode 100644
index e0a03884c99..00000000000
--- a/vitess-mixin/e2e/vtorc/default.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Debug": true,
- "EnableSyslog": false,
- "MySQLTopologyUser": "orc_client_user",
- "MySQLTopologyPassword": "orc_client_user_password",
- "MySQLReplicaUser": "vt_repl",
- "MySQLReplicaPassword": "",
- "BackendDB": "sqlite",
- "SQLite3DataFile": "/tmp/vtorc.sqlite3",
- "RecoverMasterClusterFilters": ["*"],
- "RecoveryPeriodBlockSeconds": 5,
- "DelayMasterPromotionIfSQLThreadNotUpToDate": true
-}
diff --git a/vitess-mixin/e2e/vttablet-up.sh b/vitess-mixin/e2e/vttablet-up.sh
deleted file mode 100755
index 0bc9d7a629d..00000000000
--- a/vitess-mixin/e2e/vttablet-up.sh
+++ /dev/null
@@ -1,161 +0,0 @@
-#!/bin/bash
-
-# Copyright 2020 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -u
-export VTROOT=/vt
-export VTDATAROOT=/vt/vtdataroot
-
-keyspace=${KEYSPACE:-'test_keyspace'}
-shard=${SHARD:-'0'}
-grpc_port=${GRPC_PORT:-'15999'}
-web_port=${WEB_PORT:-'8080'}
-role=${ROLE:-'replica'}
-vthost=${VTHOST:-`hostname -i`}
-sleeptime=${SLEEPTIME:-'0'}
-uid=$1
-external=${EXTERNAL_DB:-0}
-
-# If DB is not explicitly set, we default to behaviour of prefixing with vt_
-# If there is an external db, the db_nmae will always match the keyspace name
-[ $external = 0 ] && db_name=${DB:-"vt_$keyspace"} || db_name=${DB:-"$keyspace"}
-db_charset=${DB_CHARSET:-''}
-tablet_hostname=''
-
-# Use IPs to simplify connections when testing in docker.
-# Otherwise, blank hostname means the tablet auto-detects FQDN.
-# This is now set further up
-
-printf -v alias '%s-%010d' $CELL $uid
-printf -v tablet_dir 'vt_%010d' $uid
-
-tablet_role=$role
-tablet_type='replica'
-
-# Make every 3rd tablet rdonly
-if (( $uid % 100 % 3 == 0 )) ; then
- tablet_type='rdonly'
-fi
-
-# Consider every tablet with %d00 as external primary
-if [ $external = 1 ] && (( $uid % 100 == 0 )) ; then
- tablet_type='replica'
- tablet_role='externalprimary'
- keyspace="ext_$keyspace"
-fi
-
-# Copy config directory
-cp -R /script/config $VTROOT
-init_db_sql_file="$VTROOT/config/init_db.sql"
-# Clear in-place edits of init_db_sql_file if any exist
-sed -i '/##\[CUSTOM_SQL/{:a;N;/END\]##/!ba};//d' $init_db_sql_file
-
-echo "##[CUSTOM_SQL_START]##" >> $init_db_sql_file
-
-if [ "$external" = "1" ]; then
- # We need a common user for the unmanaged and managed tablets else tools like orchestrator will not function correctly
- echo "Creating matching user for managed tablets..."
- echo "CREATE USER IF NOT EXISTS '$DB_USER'@'%' IDENTIFIED BY '$DB_PASS';" >> $init_db_sql_file
- echo "GRANT ALL ON *.* TO '$DB_USER'@'%';" >> $init_db_sql_file
-fi
-echo "##[CUSTOM_SQL_END]##" >> $init_db_sql_file
-
-echo "##[CUSTOM_SQL_END]##" >> $init_db_sql_file
-
-mkdir -p $VTDATAROOT/backups
-
-
-export KEYSPACE=$keyspace
-export SHARD=$shard
-export TABLET_ID=$alias
-export TABLET_DIR=$tablet_dir
-export MYSQL_PORT=3306
-export TABLET_ROLE=$tablet_role
-export DB_PORT=${DB_PORT:-3306}
-export DB_HOST=${DB_HOST:-""}
-export DB_NAME=$db_name
-
-# Delete socket files before running mysqlctld if exists.
-# This is the primary reason for unhealthy state on restart.
-# https://github.com/vitessio/vitess/pull/5115/files
-echo "Removing $VTDATAROOT/$tablet_dir/{mysql.sock,mysql.sock.lock}..."
-rm -rf $VTDATAROOT/$tablet_dir/{mysql.sock,mysql.sock.lock}
-
-# Create mysql instances
-# Do not create mysql instance for primary if connecting to external mysql database
-if [[ $tablet_role != "externalprimary" ]]; then
- echo "Initing mysql for tablet: $uid role: $role external: $external.. "
- $VTROOT/bin/mysqlctld \
- --init_db_sql_file=$init_db_sql_file \
- --logtostderr=true \
- --tablet_uid=$uid \
- &
-fi
-
-sleep $sleeptime
-
-# Create the cell
-# https://vitess.io/blog/2020-04-27-life-of-a-cluster/
-$VTROOT/bin/vtctlclient --server vtctld:$GRPC_PORT -- AddCellInfo --root vitess/$CELL --server_address consul1:8500 $CELL || true
-
-#Populate external db conditional args
-if [ $tablet_role = "externalprimary" ]; then
- echo "Setting external db args for primary: $DB_NAME"
- external_db_args="--db_host $DB_HOST \
- --db_port $DB_PORT \
- --init_db_name_override $DB_NAME \
- --init_tablet_type $tablet_type \
- --mycnf_server_id $uid \
- --db_app_user $DB_USER \
- --db_app_password $DB_PASS \
- --db_allprivs_user $DB_USER \
- --db_allprivs_password $DB_PASS \
- --db_appdebug_user $DB_USER \
- --db_appdebug_password $DB_PASS \
- --db_dba_user $DB_USER \
- --db_dba_password $DB_PASS \
- --db_filtered_user $DB_USER \
- --db_filtered_password $DB_PASS \
- --db_repl_user $DB_USER \
- --db_repl_password $DB_PASS \
- --enable_replication_reporter=false \
- --enforce_strict_trans_tables=false \
- --track_schema_versions=true \
- --watch_replication_stream=true"
-else
- external_db_args="--init_db_name_override $DB_NAME \
- --init_tablet_type $tablet_type \
- --enable_replication_reporter=true \
- --restore_from_backup"
-fi
-
-
-echo "Starting vttablet..."
-exec $VTROOT/bin/vttablet \
- $TOPOLOGY_FLAGS \
- --logtostderr=true \
- --tablet-path $alias \
- --tablet_hostname "$vthost" \
- --health_check_interval 5s \
- --disable_active_reparents=true \
- --port $web_port \
- --grpc_port $grpc_port \
- --service_map 'grpc-queryservice,grpc-tabletmanager,grpc-updatestream' \
- --init_keyspace $keyspace \
- --init_shard $shard \
- --backup_storage_implementation file \
- --file_backup_storage_root $VTDATAROOT/backups \
- --queryserver-config-schema-reload-time 60 \
- $external_db_args
diff --git a/vitess-mixin/go.mod b/vitess-mixin/go.mod
deleted file mode 100644
index 20d3f33eed8..00000000000
--- a/vitess-mixin/go.mod
+++ /dev/null
@@ -1,132 +0,0 @@
-module vitess-mixin
-
-go 1.22.5
-
-require (
- github.com/evanphx/json-patch v5.9.0+incompatible
- github.com/google/go-jsonnet v0.16.0
- github.com/jsonnet-bundler/jsonnet-bundler v0.4.0
- github.com/krishicks/yaml-patch v0.0.10
- // Believe it or not, this is actually version 2.13.1
- // See https://github.com/prometheus/prometheus/issues/5590#issuecomment-546368944
- github.com/prometheus/prometheus v1.8.2-0.20191017095924-6f92ce560538
- github.com/stretchr/testify v1.9.0
- vitess.io/vitess v0.19.4
-)
-
-require (
- cloud.google.com/go/compute v1.25.0 // indirect
- cloud.google.com/go/compute/metadata v0.2.3 // indirect
- github.com/Azure/azure-sdk-for-go v23.2.0+incompatible // indirect
- github.com/Azure/go-autorest v14.2.0+incompatible // indirect
- github.com/Azure/go-autorest/autorest v0.11.1 // indirect
- github.com/Azure/go-autorest/autorest/adal v0.9.23 // indirect
- github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
- github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect
- github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect
- github.com/Azure/go-autorest/logger v0.2.1 // indirect
- github.com/Azure/go-autorest/tracing v0.6.0 // indirect
- github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
- github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
- github.com/armon/go-metrics v0.4.1 // indirect
- github.com/aws/aws-sdk-go v1.50.32 // indirect
- github.com/beorn7/perks v1.0.1 // indirect
- github.com/cespare/xxhash v1.1.0 // indirect
- github.com/cespare/xxhash/v2 v2.2.0 // indirect
- github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
- github.com/edsrzf/mmap-go v1.0.0 // indirect
- github.com/emicklei/go-restful/v3 v3.10.1 // indirect
- github.com/fatih/color v1.16.0 // indirect
- github.com/felixge/httpsnoop v1.0.4 // indirect
- github.com/go-kit/kit v0.9.0 // indirect
- github.com/go-logfmt/logfmt v0.5.1 // indirect
- github.com/go-logr/logr v1.4.1 // indirect
- github.com/go-logr/stdr v1.2.2 // indirect
- github.com/go-openapi/jsonpointer v0.19.6 // indirect
- github.com/go-openapi/jsonreference v0.20.2 // indirect
- github.com/go-openapi/swag v0.22.3 // indirect
- github.com/gogo/protobuf v1.3.2 // indirect
- github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
- github.com/golang/glog v1.2.1 // indirect
- github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
- github.com/golang/protobuf v1.5.4 // indirect
- github.com/golang/snappy v0.0.4 // indirect
- github.com/google/gnostic v0.6.9 // indirect
- github.com/google/go-cmp v0.6.0 // indirect
- github.com/google/gofuzz v1.2.0 // indirect
- github.com/google/pprof v0.0.0-20190723021845-34ac40c74b70 // indirect
- github.com/google/s2a-go v0.1.7 // indirect
- github.com/google/uuid v1.6.0 // indirect
- github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
- github.com/googleapis/gax-go/v2 v2.12.2 // indirect
- github.com/gophercloud/gophercloud v0.3.0 // indirect
- github.com/hashicorp/consul/api v1.28.2 // indirect
- github.com/hashicorp/errwrap v1.1.0 // indirect
- github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
- github.com/hashicorp/go-hclog v1.6.2 // indirect
- github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
- github.com/hashicorp/go-multierror v1.1.1 // indirect
- github.com/hashicorp/go-rootcerts v1.0.2 // indirect
- github.com/hashicorp/golang-lru v1.0.2 // indirect
- github.com/hashicorp/serf v0.10.1 // indirect
- github.com/jmespath/go-jmespath v0.4.0 // indirect
- github.com/josharian/intern v1.0.0 // indirect
- github.com/jpillora/backoff v1.0.0 // indirect
- github.com/json-iterator/go v1.1.12 // indirect
- github.com/mailru/easyjson v0.7.7 // indirect
- github.com/mattn/go-colorable v0.1.13 // indirect
- github.com/mattn/go-isatty v0.0.20 // indirect
- github.com/miekg/dns v1.1.41 // indirect
- github.com/mitchellh/go-homedir v1.1.0 // indirect
- github.com/mitchellh/mapstructure v1.5.0 // indirect
- github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
- github.com/modern-go/reflect2 v1.0.2 // indirect
- github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
- github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect
- github.com/nxadm/tail v1.4.11 // indirect
- github.com/oklog/ulid v1.3.1 // indirect
- github.com/opentracing/opentracing-go v1.2.0 // indirect
- github.com/pkg/errors v0.9.1 // indirect
- github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
- github.com/prometheus/client_golang v1.19.0 // indirect
- github.com/prometheus/client_model v0.6.0 // indirect
- github.com/prometheus/common v0.49.0 // indirect
- github.com/prometheus/procfs v0.12.0 // indirect
- github.com/samuel/go-zookeeper v0.0.0-20190810000440-0ceca61e4d75 // indirect
- github.com/spf13/pflag v1.0.5 // indirect
- go.opencensus.io v0.24.0 // indirect
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
- go.opentelemetry.io/otel v1.24.0 // indirect
- go.opentelemetry.io/otel/metric v1.24.0 // indirect
- go.opentelemetry.io/otel/trace v1.24.0 // indirect
- golang.org/x/crypto v0.23.0 // indirect
- golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect
- golang.org/x/net v0.25.0 // indirect
- golang.org/x/oauth2 v0.18.0 // indirect
- golang.org/x/sync v0.6.0 // indirect
- golang.org/x/sys v0.20.0 // indirect
- golang.org/x/term v0.20.0 // indirect
- golang.org/x/text v0.15.0 // indirect
- golang.org/x/time v0.5.0 // indirect
- google.golang.org/api v0.168.0 // indirect
- google.golang.org/appengine v1.6.8 // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20240304212257-790db918fca8 // indirect
- google.golang.org/grpc v1.62.1 // indirect
- google.golang.org/protobuf v1.33.0 // indirect
- gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect
- gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect
- gopkg.in/inf.v0 v0.9.1 // indirect
- gopkg.in/yaml.v2 v2.4.0 // indirect
- gopkg.in/yaml.v3 v3.0.1 // indirect
- k8s.io/api v0.26.1 // indirect
- k8s.io/apimachinery v0.26.1 // indirect
- k8s.io/client-go v0.26.1 // indirect
- k8s.io/klog/v2 v2.90.0 // indirect
- k8s.io/kube-openapi v0.0.0-20230202010329-39b3636cbaa3 // indirect
- k8s.io/utils v0.0.0-20230115233650-391b47cb4029 // indirect
- sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
- sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
- sigs.k8s.io/yaml v1.4.0 // indirect
-)
-
-replace k8s.io/client-go v2.0.0-alpha.0.0.20181121191925-a47917edff34+incompatible => k8s.io/client-go v2.0.0-alpha.1+incompatible
diff --git a/vitess-mixin/go.sum b/vitess-mixin/go.sum
deleted file mode 100644
index 73171b17f6a..00000000000
--- a/vitess-mixin/go.sum
+++ /dev/null
@@ -1,908 +0,0 @@
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
-cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
-cloud.google.com/go/compute v1.25.0 h1:H1/4SqSUhjPFE7L5ddzHOfY2bCAvjwNRZPNl6Ni5oYU=
-cloud.google.com/go/compute v1.25.0/go.mod h1:GR7F0ZPZH8EhChlMo9FkLd7eUTwEymjqQagxzilIxIE=
-cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
-cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
-contrib.go.opencensus.io/exporter/ocagent v0.6.0/go.mod h1:zmKjrJcdo0aYcVS7bmEeSEBLPA9YJp5bjrofdU3pIXs=
-github.com/Azure/azure-sdk-for-go v23.2.0+incompatible h1:bch1RS060vGpHpY3zvQDV4rOiRw25J1zmR/B9a76aSA=
-github.com/Azure/azure-sdk-for-go v23.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
-github.com/Azure/go-autorest v11.1.2+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
-github.com/Azure/go-autorest v11.2.8+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
-github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=
-github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
-github.com/Azure/go-autorest/autorest v0.11.1 h1:eVvIXUKiTgv++6YnWb42DUA1YL7qDugnKP0HljexdnQ=
-github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw=
-github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg=
-github.com/Azure/go-autorest/autorest/adal v0.9.23 h1:Yepx8CvFxwNKpH6ja7RZ+sKX+DWYNldbLiALMC3BTz8=
-github.com/Azure/go-autorest/autorest/adal v0.9.23/go.mod h1:5pcMqFkdPhviJdlEy3kC/v1ZLnQl0MH6XA5YCcMhy4c=
-github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw=
-github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74=
-github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
-github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk=
-github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
-github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk=
-github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE=
-github.com/Azure/go-autorest/autorest/validation v0.3.1 h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac=
-github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E=
-github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8=
-github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg=
-github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8=
-github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo=
-github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU=
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
-github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
-github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
-github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
-github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
-github.com/OneOfOne/xxhash v1.2.5 h1:zl/OfRA6nftbBK9qTohYBJ5xvw6C/oNKizR7cZGl3cI=
-github.com/OneOfOne/xxhash v1.2.5/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q=
-github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
-github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
-github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
-github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=
-github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
-github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
-github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
-github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
-github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod h1:3AMJUQhVx52RsWOnlkpikZr01T/yAVN2gn0861vByNg=
-github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA=
-github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4=
-github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
-github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
-github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/aws/aws-sdk-go v1.23.12/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
-github.com/aws/aws-sdk-go v1.50.32 h1:POt81DvegnpQKM4DMDLlHz1CO6OBnEoQ1gRhYFd7QRY=
-github.com/aws/aws-sdk-go v1.50.32/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
-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=
-github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
-github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
-github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
-github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
-github.com/cenkalti/backoff v0.0.0-20181003080854-62661b46c409/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
-github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/cespare/xxhash v0.0.0-20181017004759-096ff4a8a059/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
-github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
-github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
-github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM=
-github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
-github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
-github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
-github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
-github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
-github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
-github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
-github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/dgrijalva/jwt-go v0.0.0-20160705203006-01aeca54ebda/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
-github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
-github.com/dgryski/go-sip13 v0.0.0-20190329191031-25c5027a8c7b/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
-github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
-github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
-github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw=
-github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
-github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
-github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
-github.com/emicklei/go-restful/v3 v3.10.1 h1:rc42Y5YTp7Am7CS630D7JmhRjq4UlEUuEKfrDac4bSQ=
-github.com/emicklei/go-restful/v3 v3.10.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
-github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
-github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
-github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
-github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/evanphx/json-patch v5.9.0+incompatible h1:fBXyNpNMuTTDdquAq/uisOr2lShz4oaXpDTX2bLe7ls=
-github.com/evanphx/json-patch v5.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
-github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
-github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
-github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
-github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
-github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
-github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
-github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0=
-github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
-github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
-github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
-github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
-github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk=
-github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
-github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
-github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
-github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
-github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
-github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
-github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
-github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
-github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
-github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
-github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
-github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
-github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
-github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.17.2/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.17.2/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
-github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.17.2/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
-github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE=
-github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
-github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
-github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.17.2/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
-github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
-github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
-github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.17.2/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
-github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
-github.com/go-openapi/runtime v0.18.0/go.mod h1:uI6pHuxWYTy94zZxgcwJkUWa9wbIlhteGfloI10GD4U=
-github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
-github.com/go-openapi/runtime v0.19.3/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
-github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
-github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.17.2/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
-github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.17.2/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
-github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
-github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.17.2/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.4/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
-github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
-github.com/go-openapi/validate v0.17.2/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
-github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
-github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
-github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
-github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
-github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
-github.com/gogo/protobuf v1.2.2-0.20190730201129-28a6bbf47e48/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
-github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
-github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
-github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg=
-github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/glog v1.2.1 h1:OptwRhECazUx5ix5TTWC3EZhsZEHWcYWY4FQHTIubm4=
-github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
-github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
-github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
-github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
-github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
-github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
-github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
-github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
-github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
-github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
-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.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
-github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
-github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-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-20160524151835-7d79101e329e/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-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=
-github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
-github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/go-jsonnet v0.16.0 h1:Nb4EEOp+rdeGGyB1rQ5eisgSAqrTnhf9ip+X6lzZbY0=
-github.com/google/go-jsonnet v0.16.0/go.mod h1:sOcuej3UW1vpPTZOr8L7RQimqai1a57bt5j22LzGZCw=
-github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
-github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
-github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
-github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
-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-20190723021845-34ac40c74b70 h1:XTnP8fJpa4Kvpw2qARB4KS9izqxPS0Sd92cDlY3uk+w=
-github.com/google/pprof v0.0.0-20190723021845-34ac40c74b70/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o=
-github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
-github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.1.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
-github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs=
-github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0=
-github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
-github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
-github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA=
-github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc=
-github.com/googleapis/gnostic v0.0.0-20170426233943-68f4ded48ba9/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-github.com/googleapis/gnostic v0.3.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-github.com/gophercloud/gophercloud v0.0.0-20190126172459-c818fa66e4c8/go.mod h1:3WdhXV3rUYy9p6AUW8d94kr+HS62Y4VL9mBnFxsD8q4=
-github.com/gophercloud/gophercloud v0.3.0 h1:6sjpKIpVwRIIwmcEGp+WwNovNsem+c+2vm6oxshRpL8=
-github.com/gophercloud/gophercloud v0.3.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
-github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
-github.com/grpc-ecosystem/grpc-gateway v1.9.4/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
-github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
-github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
-github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
-github.com/hashicorp/consul/api v1.28.2 h1:mXfkRHrpHN4YY3RqL09nXU1eHKLNiuAN4kHvDQ16k/8=
-github.com/hashicorp/consul/api v1.28.2/go.mod h1:KyzqzgMEya+IZPcD65YFoOVAgPpbfERu4I/tzG6/ueE=
-github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
-github.com/hashicorp/consul/sdk v0.16.0 h1:SE9m0W6DEfgIVCJX7xU+iv/hUl4m/nxqMTnCdMxDpJ8=
-github.com/hashicorp/consul/sdk v0.16.0/go.mod h1:7pxqqhqoaPqnBnzXD1StKed62LqJeClzVsUEy85Zr0A=
-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=
-github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
-github.com/hashicorp/go-hclog v1.6.2 h1:NOtoftovWkDheyUM/8JW3QMiXyxJK3uHRK7wV04nD2I=
-github.com/hashicorp/go-hclog v1.6.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
-github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
-github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
-github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc=
-github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
-github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
-github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI=
-github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
-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.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
-github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
-github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc=
-github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
-github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
-github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc=
-github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A=
-github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
-github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
-github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
-github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8=
-github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
-github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
-github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
-github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
-github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
-github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c=
-github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
-github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
-github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
-github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc=
-github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
-github.com/hashicorp/memberlist v0.1.4/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
-github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR/prTM=
-github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0=
-github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
-github.com/hashicorp/serf v0.8.3/go.mod h1:UpNcs7fFbpKIyZaUuSW6EPiH+eZC7OuyFD+wc1oal+k=
-github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY=
-github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4=
-github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
-github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-github.com/influxdata/influxdb v1.7.7/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY=
-github.com/jessevdk/go-flags v0.0.0-20180331124232-1c38ed7ad0cc/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
-github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
-github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
-github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
-github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
-github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
-github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
-github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
-github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0=
-github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA=
-github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
-github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
-github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
-github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
-github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
-github.com/jsonnet-bundler/jsonnet-bundler v0.4.0 h1:4BKZ6LDqPc2wJDmaKnmYD/vDjUptJtnUpai802MibFc=
-github.com/jsonnet-bundler/jsonnet-bundler v0.4.0/go.mod h1:/by7P/OoohkI3q4CgSFqcoFsVY+IaNbzOVDknEsKDeU=
-github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
-github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
-github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
-github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
-github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
-github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
-github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
-github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
-github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/krishicks/yaml-patch v0.0.10 h1:H4FcHpnNwVmw8u0MjPRjWyIXtco6zM2F78t+57oNM3E=
-github.com/krishicks/yaml-patch v0.0.10/go.mod h1:Sm5TchwZS6sm7RJoyg87tzxm2ZcKzdRE4Q7TjNhPrME=
-github.com/kylelemons/godebug v0.0.0-20160406211939-eadb3ce320cb/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
-github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
-github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
-github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
-github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
-github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
-github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
-github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
-github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
-github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
-github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
-github.com/mattn/go-isatty v0.0.6/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
-github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
-github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
-github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
-github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
-github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
-github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
-github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
-github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
-github.com/miekg/dns v1.1.15/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
-github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
-github.com/miekg/dns v1.1.41 h1:WMszZWJG0XmzbK9FEmzH2TVcqYzFesusSIB41b8KHxY=
-github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=
-github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
-github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=
-github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
-github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
-github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
-github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
-github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
-github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
-github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
-github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
-github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
-github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
-github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
-github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=
-github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
-github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY=
-github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc=
-github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
-github.com/oklog/ulid v0.0.0-20170117200651-66bb6560562f/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
-github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
-github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
-github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
-github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
-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 v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-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-stdlib v0.0.0-20190519235532-cf7a6c988dc9/go.mod h1:PLldrQSroqzH70Xl+1DQcGnefIbqsKR7UDaiux3zV+w=
-github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
-github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
-github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
-github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
-github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
-github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
-github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
-github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
-github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
-github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
-github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
-github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s=
-github.com/prometheus/alertmanager v0.18.0/go.mod h1:WcxHBl40VSPuOaqWae6l6HpnEOVRIycEJ7i9iYkadEE=
-github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
-github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM=
-github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
-github.com/prometheus/client_golang v1.2.0/go.mod h1:XMU6Z2MjaRKVu/dC1qupJI9SiNkDYzz3xecMgSW/F+U=
-github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
-github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU=
-github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k=
-github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
-github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos=
-github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8=
-github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
-github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
-github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA=
-github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
-github.com/prometheus/common v0.49.0 h1:ToNTdK4zSnPVJmh698mGFkDor9wBI/iGaJy5dbH1EgI=
-github.com/prometheus/common v0.49.0/go.mod h1:Kxm+EULxRbUkjGU6WFsQqo3ORzB4tyKvlWFOE9mB2sE=
-github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
-github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
-github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
-github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
-github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
-github.com/prometheus/prometheus v0.0.0-20180315085919-58e2a31db8de/go.mod h1:oAIUtOny2rjMX0OWN5vPR5/q/twIROJvdqnQKDdil/s=
-github.com/prometheus/prometheus v1.8.2-0.20191017095924-6f92ce560538 h1:iyerK9/VU1F02ASqYyIXp60gKxo7ualRoEezXPqbQZE=
-github.com/prometheus/prometheus v1.8.2-0.20191017095924-6f92ce560538/go.mod h1:SgN99nHQ/tVJyAuyLKKz6i2j5cJx3eLy9MCRCPOXqUI=
-github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
-github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
-github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
-github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
-github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
-github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
-github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
-github.com/samuel/go-zookeeper v0.0.0-20190810000440-0ceca61e4d75 h1:cA+Ubq9qEVIQhIWvP2kNuSZ2CmnfBJFSRq+kO1pu2cc=
-github.com/samuel/go-zookeeper v0.0.0-20190810000440-0ceca61e4d75/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
-github.com/satori/go.uuid v0.0.0-20160603004225-b111a074d5ef/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
-github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I=
-github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
-github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
-github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
-github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
-github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
-github.com/shurcooL/vfsgen v0.0.0-20180825020608-02ddb050ef6b/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
-github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
-github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
-github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
-github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
-github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
-github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
-github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
-github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
-github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
-github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
-github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
-github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
-github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
-github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
-github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
-github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
-github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
-github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
-github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
-github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
-github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
-github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
-github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
-github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
-github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
-github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg=
-github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
-go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.0.4/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
-go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
-go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
-go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw=
-go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo=
-go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo=
-go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI=
-go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco=
-go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI=
-go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU=
-go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
-golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
-golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
-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-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
-golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ=
-golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc=
-golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
-golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
-golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
-golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190206173232-65e2d4e15006/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
-golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8=
-golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
-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-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
-golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
-golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
-golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
-golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190310054646-10058d7d4faa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-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.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
-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.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.1-0.20180805044716-cb6730876b98/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-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.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-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-20161028155119-f51c12702a4d/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=
-golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
-golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
-golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190118193359-16909d206f00/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
-golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20190918214516-5a1a30219888/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
-google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
-google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.168.0 h1:MBRe+Ki4mMN93jhDDbpuRLjRddooArz4FeSObvUMmjY=
-google.golang.org/api v0.168.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg=
-google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
-google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
-google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
-google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
-google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20240304212257-790db918fca8 h1:Fe8QycXyEd9mJgnwB9kmw00WgB43eQ/xYO5C6gceybQ=
-google.golang.org/genproto/googleapis/api v0.0.0-20240304212257-790db918fca8 h1:8eadJkXbwDEMNwcB5O0s5Y5eCfyuCLdvaiOIaGTrWmQ=
-google.golang.org/genproto/googleapis/api v0.0.0-20240304212257-790db918fca8/go.mod h1:O1cOfN1Cy6QEYr7VxtjOyP5AdAuR0aJ/MYZaaof623Y=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240304212257-790db918fca8 h1:IR+hp6ypxjH24bkMfEJ0yHR21+gwPWdV+/IBrPQyn3k=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240304212257-790db918fca8/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs=
-google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
-google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
-google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
-google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
-google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
-google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
-google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk=
-google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
-google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
-google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
-google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
-google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
-google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
-google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
-google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-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.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
-gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
-gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
-gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
-gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
-gopkg.in/fsnotify/fsnotify.v1 v1.4.7 h1:XNNYLJHt73EyYiCZi6+xjupS9CpvmiDgjPTAjrBlQbo=
-gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
-gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
-gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
-gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
-gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
-gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
-gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
-gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
-gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
-gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-k8s.io/api v0.0.0-20190620084959-7cf5895f2711/go.mod h1:TBhBqb1AWbBQbW3XRusr7n7E4v2+5ZY8r8sAMnyFC5A=
-k8s.io/api v0.0.0-20190813020757-36bff7324fb7/go.mod h1:3Iy+myeAORNCLgjd/Xu9ebwN7Vh59Bw0vh9jhoX+V58=
-k8s.io/api v0.26.1 h1:f+SWYiPd/GsiWwVRz+NbFyCgvv75Pk9NK6dlkZgpCRQ=
-k8s.io/api v0.26.1/go.mod h1:xd/GBNgR0f707+ATNyPmQ1oyKSgndzXij81FzWGsejg=
-k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719/go.mod h1:I4A+glKBHiTgiEjQiCCQfCAIcIMFGt291SmsvcrFzJA=
-k8s.io/apimachinery v0.0.0-20190809020650-423f5d784010/go.mod h1:Waf/xTS2FGRrgXCkO5FP3XxTOWh0qLf2QhL1qFZZ/R8=
-k8s.io/apimachinery v0.26.1 h1:8EZ/eGJL+hY/MYCNwhmDzVqq2lPl3N3Bo8rvweJwXUQ=
-k8s.io/apimachinery v0.26.1/go.mod h1:tnPmbONNJ7ByJNz9+n9kMjNP8ON+1qoAIIC70lztu74=
-k8s.io/client-go v0.0.0-20190620085101-78d2af792bab/go.mod h1:E95RaSlHr79aHaX0aGSwcPNfygDiPKOVXdmivCIZT0k=
-k8s.io/client-go v0.26.1 h1:87CXzYJnAMGaa/IDDfRdhTzxk/wzGZ+/HUQpqgVSZXU=
-k8s.io/client-go v0.26.1/go.mod h1:IWNSglg+rQ3OcvDkhY6+QLeasV4OYHDjdqeWkDQZwGE=
-k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
-k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
-k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
-k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
-k8s.io/klog v0.4.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
-k8s.io/klog/v2 v2.90.0 h1:VkTxIV/FjRXn1fgNNcKGM8cfmL1Z33ZjXRTVxKCoF5M=
-k8s.io/klog/v2 v2.90.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
-k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
-k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4=
-k8s.io/kube-openapi v0.0.0-20190722073852-5e22f3d471e6/go.mod h1:RZvgC8MSN6DjiMV6oIfEE9pDL9CYXokkfaCKZeHm3nc=
-k8s.io/kube-openapi v0.0.0-20230202010329-39b3636cbaa3 h1:vV3ZKAUX0nMjTflyfVea98dTfROpIxDaEsQws0FT2Ts=
-k8s.io/kube-openapi v0.0.0-20230202010329-39b3636cbaa3/go.mod h1:/BYxry62FuDzmI+i9B+X2pqfySRmSOW2ARmj5Zbqhj0=
-k8s.io/utils v0.0.0-20190221042446-c2654d5206da/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0=
-k8s.io/utils v0.0.0-20190809000727-6c36bc71fc4a/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
-k8s.io/utils v0.0.0-20230115233650-391b47cb4029 h1:L8zDtT4jrxj+TaQYD0k8KNlr556WaVQylDXswKmX+dE=
-k8s.io/utils v0.0.0-20230115233650-391b47cb4029/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
-rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
-sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
-sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
-sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
-sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
-sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E=
-sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
-sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
-sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
-vitess.io/vitess v0.19.4 h1:fJhZm5RknYbF7YUBXBmcvST/mvA4CeevlI9N0TLlYXA=
-vitess.io/vitess v0.19.4/go.mod h1:15uIi9x/Gu+BdDhUR80yP0M1v7aMG2mZQXSd56CE2t0=
diff --git a/vitess-mixin/jsonnetfile.json b/vitess-mixin/jsonnetfile.json
deleted file mode 100644
index 93f3316ec38..00000000000
--- a/vitess-mixin/jsonnetfile.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "version": 1,
- "dependencies": [
- {
- "source": {
- "git": {
- "remote": "https://github.com/grafana/grafonnet-lib.git",
- "subdir": "grafonnet"
- }
- },
- "version": "master"
- }
- ],
- "legacyImports": true
-}
diff --git a/vitess-mixin/lib/alerts.jsonnet b/vitess-mixin/lib/alerts.jsonnet
deleted file mode 100644
index d396a38cd71..00000000000
--- a/vitess-mixin/lib/alerts.jsonnet
+++ /dev/null
@@ -1 +0,0 @@
-std.manifestYamlDoc((import '../mixin.libsonnet').prometheusAlerts)
diff --git a/vitess-mixin/lib/dashboards.jsonnet b/vitess-mixin/lib/dashboards.jsonnet
deleted file mode 100644
index c260feb80e3..00000000000
--- a/vitess-mixin/lib/dashboards.jsonnet
+++ /dev/null
@@ -1,10 +0,0 @@
-local dashboards = (import '../mixin.libsonnet').grafanaDashboards;
-
-local config = (import '../config.libsonnet');
-local deploy_list = config._config.deploy_list;
-
-{
- [name]: dashboards[name]
- for name in std.objectFields(dashboards)
- if std.member(dashboards[name].environments, std.extVar('env'))
-}
diff --git a/vitess-mixin/lib/rules.jsonnet b/vitess-mixin/lib/rules.jsonnet
deleted file mode 100644
index 2d7fa91f7ca..00000000000
--- a/vitess-mixin/lib/rules.jsonnet
+++ /dev/null
@@ -1 +0,0 @@
-std.manifestYamlDoc((import '../mixin.libsonnet').prometheusRules)
diff --git a/vitess-mixin/mixin.libsonnet b/vitess-mixin/mixin.libsonnet
deleted file mode 100644
index b9831f9380b..00000000000
--- a/vitess-mixin/mixin.libsonnet
+++ /dev/null
@@ -1,4 +0,0 @@
-(import 'config.libsonnet') +
-(import 'alerts/alerts.libsonnet') +
-(import 'dashboards/dashboards.libsonnet') +
-(import 'rules/rules.libsonnet')
diff --git a/vitess-mixin/rules/rules.libsonnet b/vitess-mixin/rules/rules.libsonnet
deleted file mode 100644
index 903212ca351..00000000000
--- a/vitess-mixin/rules/rules.libsonnet
+++ /dev/null
@@ -1,221 +0,0 @@
-// Recording rules can be used to continually evaluate queries and
-// store their results as new timeseries. This is commonly used to
-// calculate expensive aggregates prior to querying them. You can have
-// any number of rules, split across any number of files.
-//
-// Reference: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/
-local config = import '../config.libsonnet';
-
-{
- prometheusRules+:: {
- groups: [
- {
- name: 'vitess_mixin_1',
- rules: [
- {
- record: 'vitess_mixin:vttablet_errors:rate1m',
- expr: 'sum (rate(vttablet_errors[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_2',
- rules: [
- {
- record: 'vitess_mixin:vttablet_query_counts:rate1m',
- expr: 'sum (rate(vttablet_query_counts[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_3',
- rules: [
- {
- record: 'vitess_mixin:mysql_global_status_queries:rate1m',
- expr: 'sum (rate(mysql_global_status_queries[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_4',
- rules: [
- {
- record: 'vitess_mixin:vtgate_api_bucket:rate1m',
- expr: 'sum by(le)(rate(vtgate_api_bucket[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_5',
- rules: [
- {
- record: 'vitess_mixin:vtgate_api_bucket_by_keyspace:rate1m',
- expr: 'sum by(le,keyspace)(rate(vtgate_api_bucket[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_6',
- rules: [
- {
- record: 'vitess_mixin:vtgate_api_error_counts:rate1m',
- expr: 'sum (rate(vtgate_api_error_counts[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_7',
- rules: [
- {
- record: 'vitess_mixin:vtgate_api_count:rate1m',
- expr: 'sum (rate(vtgate_api_count[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_8',
- rules: [
- {
- record: 'vitess_mixin:vtgate_api_error_counts_by_keyspace:rate1m',
- expr: 'sum by(keyspace)(rate(vtgate_api_error_counts[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_9',
- rules: [
- {
- record: 'vitess_mixin:vtgate_api_count_by_keyspace:rate1m',
- expr: 'sum by(keyspace)(rate(vtgate_api_count[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_10',
- rules: [
- {
- record: 'vitess_mixin:vttablet_kills:rate1m',
- expr: 'sum by (keyspace,shard)(rate(vttablet_kills[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_11',
- rules: [
- {
- record: 'vitess_mixin:vtgate_vttablet_call_error_count_byinstance:rate1m',
- expr: 'sum by(instance)(rate(vtgate_vttablet_call_error_count[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_12',
- rules: [
- {
- record: 'vitess_mixin:vtgate_api_error_counts_by_db_type:rate1m',
- expr: 'sum by(db_type)(rate(vtgate_api_error_counts[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_13',
- rules: [
- {
- record: 'vitess_mixin:vtgate_api_count_by_db_type:rate1m',
- expr: 'sum by(db_type)(rate(vtgate_api_count[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_14',
- rules: [
- {
- record: 'vitess_mixin:vtgate_api_bucket_by_db_type:rate1m',
- expr: 'sum by(le,db_type)(rate(vtgate_api_bucket[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_15',
- rules: [
- {
- record: 'vitess_mixin:vtgate_api_error_counts_by_operation:rate1m',
- expr: 'sum by(operation)(rate(vtgate_api_error_counts[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_16',
- rules: [
- {
- record: 'vitess_mixin:vtgate_api_error_counts_by_code:rate1m',
- expr: 'sum by(code)(rate(vtgate_api_error_counts[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_17',
- rules: [
- {
- record: 'vitess_mixin:vttablet_queries_sum_by_keyspace_shard:rate1m',
- expr: 'sum by(keyspace,shard)(rate(vttablet_queries_sum[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_18',
- rules: [
- {
- record: 'vitess_mixin:vttablet_queries_count_by_keyspace_shard:rate1m',
- expr: 'sum by(keyspace,shard)(rate(vttablet_queries_count[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_19',
- rules: [
- {
- record: 'vitess_mixin:vttablet_transactions_bucket_by_keyspace_shard:rate1m',
- expr: 'sum by(keyspace,shard,le)(rate(vttablet_transactions_bucket[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_20',
- rules: [
- {
- record: 'vitess_mixin:process_start_time_seconds_by_instance_job:sum5m',
- expr: 'sum by (instance,job) (changes (process_start_time_seconds[5m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_21',
- rules: [
- {
- record: 'vitess_mixin:vttablet_kills_by_instance:rate1m',
- expr: 'sum by(instance)(rate(vttablet_kills[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_22',
- rules: [
- {
- record: 'vitess_mixin:vttablet_errors:rate1m',
- expr: 'sum by(keyspace,shard,instance,error_code)(rate(vttablet_errors[1m]))',
- },
- ],
- },
- {
- name: 'vitess_mixin_23',
- rules: [
- {
- record: 'vitess_mixin:vtgate_queries_processed_by_table:rate1m',
- expr: 'sum by(keyspace,plan,table) (rate(vtgate_queries_processed_by_table{plan!="Rollback"}[1m]))',
- },
- ],
- },
- ],
- },
-}
diff --git a/vitess-mixin/scripts/fmt.sh b/vitess-mixin/scripts/fmt.sh
deleted file mode 100755
index e1a5976ee8e..00000000000
--- a/vitess-mixin/scripts/fmt.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env bash
-#/ Usage: fmt [--check]
-#/ --check Fail if changed files need changes, do not format in place.
-
-set -eu
-
-usage() {
- grep '^#/' "$0" | cut -c'4-' >&2
- exit "$1"
-}
-
-if ! [ -x "$(command -v jsonnet)" ] && ! [ -x "$(command -v jsonnetfmt)" ]; then
- echo 'jsonnet or jsonnetfmt executable not found'
- exit 1
-fi
-
-if [ -x "$(command -v jsonnetfmt)" ]; then
- JSONNET_COMMAND='jsonnetfmt'
-else
- JSONNET_COMMAND='jsonnet fmt'
-fi
-
-CHECK="false"
-EXIT_STATUS=0
-FILES_CHANGED="$(git diff --name-only origin/main --diff-filter=d | grep -E '(jsonnet|TEMPLATE|libsonnet)$' || true)"
-
-while [ "$#" -gt 0 ]; do
- case "$1" in
- -c|--check) CHECK="true"; shift;;
- *) usage ;;
- esac
-done
-
-if [ "${CHECK}" == "true" ]; then
- if [ -n "${FILES_CHANGED}" ]; then
- for FILE in ${FILES_CHANGED}; do
- set +e
- echo -n "Checking $FILE: "
- ${JSONNET_COMMAND} --test "${FILE}"
- EC=$?
- if [ ${EC} -ne 0 ]; then
- echo "⚠️"
- EXIT_STATUS=1
- else
- echo "✅"
- fi
- set -e
- done
- echo ""
- fi
-
- echo -n "STATUS:"
- if [ "$EXIT_STATUS" -eq 0 ]; then
- echo "✅"
- else
- echo "❌"
- fi
-
- exit $EXIT_STATUS
-
-else
- for FILE in $FILES_CHANGED; do
- echo -n "Formatting $FILE: "
- $JSONNET_COMMAND -n 2 --max-blank-lines 2 --string-style s --comment-style s -i ../$FILE
- echo "✅"
- done
-fi
diff --git a/vitess-mixin/scripts/vitess-mixin-plan.sh b/vitess-mixin/scripts/vitess-mixin-plan.sh
deleted file mode 100755
index 8c305601956..00000000000
--- a/vitess-mixin/scripts/vitess-mixin-plan.sh
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/bash
-if [[ -z "$ENV" || ("${ENV}" != 'dev' && "${ENV}" != 'prod') ]]; then
- echo -e "##ERROR\nPlease specify ENV (prod or dev)\nUsage: ENV='prod' ./vitess-mixin-plan.sh" 1>&2
- exit 1
-fi
-
-export ENVIRONMENT=$ENV
-
-EXIT_STATUS=0;
-
-echo "#### Building origin/main"
-REPODIR="$(pwd)"
-TEMPDIR="$(mktemp -d)"
-
-cd $TEMPDIR
-git clone git@github.com:vitessio/vitess.git > /dev/null 2>&1
-cd vitess/vitess-mixin
-jb install > /dev/null 2>&1
-make dashboards_out > /dev/null 2>&1
-make prometheus_rules.yaml > /dev/null 2>&1
-# TODO enalbe when alerts are not empty.
-# make prometheus_alerts.yaml > /dev/null 2>&1
-
-echo -e "\nDone!\n"
-
-cd $REPODIR
-make dashboards_out > /dev/null 2>&1
-make prometheus_rules.yaml > /dev/null 2>&1
-# TODO enalbe when alerts are not empty.
-# make prometheus_alerts.yaml > /dev/null 2>&1
-
-branch=$(git rev-parse --abbrev-ref HEAD)
-echo -e "#### Diff origin/main with $branch:\n"
-
-# TODO check prometheus_alerts.yaml
-
-t="# Checking prometheus_rules.yaml...";
-d=$(diff -urt --label origin/main/prometheus_rules.yaml "$TEMPDIR/vitess/vitess-mixin/prometheus_rules.yaml" --label $branch/prometheus_rules.yaml "prometheus_rules.yaml" 2>/dev/null)
-if [ "$?" = "0" ];
-then
- echo $t OK
-else
- echo $t NOK
- echo "$d"
- EXIT_STATUS=2
-fi
-
-DASHBOARDS=()
-for filename in $(ls dashboards_out)
-do
- t="# Checking $filename..."
- DASHBOARDS+=($filename)
- d=$(diff -urt --label origin/main/$filename "$TEMPDIR/vitess/vitess-mixin/dashboards_out/"$filename --label $branch/$filename "dashboards_out/"$filename 2>/dev/null)
- if [ "$?" = "0" ];
- then
- echo $t OK
- else
- if [ -e "$TEMPDIR/vitess-mixin/dashboards_out/"$filename ];
- then
- echo $t NOK
- echo "$d"
- else
- echo $t "This is a new dashboard not present in origin/main" NOK
- fi
- EXIT_STATUS=2
- fi
-done
-
-for filename in $(ls $TEMPDIR/vitess/vitess-mixin/dashboards_out)
-do
- t="# Checking $filename..."
- if [[ ! " ${DASHBOARDS[*]} " == *"$filename"* ]];
- then
- echo $t This dashboard has been removed NOK ;
- EXIT_STATUS=2
- fi
-done
-
-echo -e "\nEXIT STATUS:"
-if [ "$EXIT_STATUS" -eq 0 ]; then
- echo -e "✅ Your dashboards local version matches the origin/main version"
-elif [ "$EXIT_STATUS" -eq 2 ]; then
- echo -e "👀 If you are happy with your changes open a PR"
-else
- echo "❌"
- exit 1
-fi
-
-rm -rf $TEMPDIR
diff --git a/vitess-mixin/tools.go b/vitess-mixin/tools.go
deleted file mode 100644
index 63cc73e0bbb..00000000000
--- a/vitess-mixin/tools.go
+++ /dev/null
@@ -1,11 +0,0 @@
-//go:build tools
-// +build tools
-
-package main
-
-import (
- _ "github.com/google/go-jsonnet/cmd/jsonnet"
- _ "github.com/google/go-jsonnet/cmd/jsonnetfmt"
- _ "github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb"
- _ "github.com/prometheus/prometheus/cmd/promtool"
-)
diff --git a/vitess-mixin/vitess-mixin-quickstart.md b/vitess-mixin/vitess-mixin-quickstart.md
deleted file mode 100644
index e15e6126211..00000000000
--- a/vitess-mixin/vitess-mixin-quickstart.md
+++ /dev/null
@@ -1,323 +0,0 @@
-# Vitess Mixin QuickStart
-
-## Table of Contents
-
-- [Vitess Mixin QuickStart](#vitess-mixin-quickstart)
- - [Table of Contents](#table-of-contents)
- - [What is the Vitess Mixin](#what-is-the-vitess-mixin)
- - [Development](#development)
- - [Building](#building)
- - [1. Prometheus Recording Rules](#1-prometheus-recording-rules)
- - [2. Grafana Dashboards](#2-grafana-dashboards)
- - [Formatting](#formatting)
- - [Linting](#linting)
- - [Cleaning up](#cleaning-up)
- - [Define a new Dashboard](#define-a-new-dashboard)
- - [Update Existing Dashboards](#update-existing-dashboards)
- - [Edit existing resources](#edit-existing-resources)
- - [Adding new resources](#adding-new-resources)
- - [Test and Deploy](#test-and-deploy)
- - [Local Unit Tests with `make all`](#local-unit-tests-with-make-all)
- - [Local e2e tests using Cypress (Alpha)](#local-e2e-tests-using-cypress-alpha)
- - [Local e2e manual testing using compose (Alpha)](#local-e2e-manual-testing-using-compose-alpha)
-
-## What is the Vitess Mixin
-
-Vitess [mixin](https://en.wikipedia.org/wiki/Mixin) is a monitoring mixin defined using [jsonnet](https://jsonnet.org/) data templating language. The grafana `jsonnet` library for creating dashboards is [grafonnet](https://github.com/grafana/grafonnet-lib). While the package manager for easily reusing and extending the mixin is [jsonnet-bundler](https://github.com/jsonnet-bundler/jsonnet-bundler).
-
-## Development
-
-If you want to see all available targets run `make help`.
-
-Choose an IDE of your preference. We use VSCode with `heptio.jsonnet` plugin which includes some nice features like on mouse over documentation and (ctrl+space) autocomplete.
-
-### Building
-
-#### 1. Prometheus Recording Rules
-
- ```shell
- $ make prometheus_rules.yaml
- # Building 'prometheus_rules.yaml'...
-
- Done!
- ```
-
- Once generated the Vitess Mixin Prometheus recording rules are available at `prometheus_rules.yaml`.
-
- **Note:** The Vitess Mixin only includes recording rules for Prometheus Vitess metrics. Other metric like Prometheus Node are not currently included in the rules.
-
-#### 2. Grafana Dashboards
-
-The vitess mixin supports DEV/PROD configurations (Currently it is possible to enable/disable dashboards. And set different alert configurations for DEV/PROD).
-
- **Prod dashboards**:
-
- ```shell
- $ ENV='prod' make dashboards_out
- # Building Grafana dashboards...
-
- dashboards_out/cluster_overview.json
- dashboards_out/vtgate_host_view.json
- dashboards_out/vtgate_overview.json
- dashboards_out/vttablet_host_view.json
-
- Done!
- ```
-
- **Dev dashboards**:
-
- ```shell
- $ ENV=dev make dashboards_out
-
- # Building Grafana dashboards...
-
- dashboards_out/cluster_overview.json
- dashboards_out/vtgate_host_view.json
- dashboards_out/vtgate_overview.json
- dashboards_out/vttablet_host_view.json
-
- Done!
- ```
-
- Voila!! the generated dashboards definitions in `.json` format are now available under `/dashboards_out`. (**Note**: dev and prod dashboards have the same names and they are stored in the same output folder. It is a good practice to run `make clean` after each build to make sure we are working with a clean `/dashboards_out` folder).
-
-### Formatting
-
- ```shell
- $ make fmt
- # Formatting all .libsonnet and .jsonnet files...
-
- Formatting dashboards/alerts_memory_events.libsonnet: ✅
-
- Done!
- ```
-
-### Linting
-
- ```shell
- $ make lint
- # Linting all .libsonnet and .jsonnet files...
-
- Checking dashboards/alerts_memory_events.libsonnet: ✅
-
- STATUS:✅
-
- Done!
-
- # Linting 'prometheus_rules.yaml' and 'prometheus_alerts.yaml'...
- TO BE IMPLEMENTED
- Done!
- ```
-
-### Cleaning up
-
- ```shell
- $ make clean
- # Cleaning up all generated files...
-
- rm -rf dashboards_out prometheus_alerts.yaml prometheus_rules.yaml
-
- Done!
- ```
-
-## Define a new Dashboard
-
- Dashboards are defined in `.libsonnet` format under the `/dashboards` folder.
- **Note** Files designed for import by convention end with `.libsonnet`.
-
- 1. Update the Mixin config to include the new **dashboard metadata** `config.libsonnet`.
- The metadata needs to be added under `grafanaDashboardMetadata`. For example for `vtgate-overview dashboard` it looks like this:
-
- ```bash
- vtgateOverview: {
- environments: ['dev', 'prod'],
- uid: 'vitess-vtgate-overview',
- title: 'vtgate - overview %(dashboardNameSuffix)s' % $._config.grafanaDashboardMetadataDefault,
- description: 'General vtgate overview',
- dashboardTags: $._config.grafanaDashboardMetadataDefault.dashboardTags + ['overview', 'vtgate'],
- }
- ```
-
- **Note**: It is possible to add/remove a dashboard from specific environments using the `environments` array field.
-
- 2. Define the **dashboard layout**: Create a new `.libsonnet` file following _Naming Convention_ (**TODO** Define a naming convention) in the `/dashboards/layouts` folder.
- The dashboard skeleton should look something like this:
-
- ```js
- local helpers = import '../resources/helpers.libsonnet';
-
- local config = import '../../config.libsonnet';
-
- {
- grafanaDashboards+:: {
- 'DASHBOARD_NAME.json':
-
- helpers.dashboard.getDashboard(config._config.grafanaDashboardMetadata.DASHBOARD_NAME)
- .addTemplates(
- [
-
- ]
- ).addLink(helpers.default.getDashboardLink(config._config.dashborardLinks))
- .addPanels(
- [
-
- ],
- ),
- },
- }
- ```
-
- 3. Import the new dashboard in the `dashboard.libsonnet` library.
-
- 4. Add/Edit dashboard resources.
-
- **Note:** Some of the resources have been grouped in the following categories `vtgate`, `vttablet`, `vtorc`, `webapp`, `os` for convenience. The resources under this categories follow a helper/config pattern. The `.*_helper.libsonnet` libraries within `grafonnet` folder functions to retrieve resources such as `getPanel(panel_name_config)`, reading the configuration by name for the desired resource from the corresponding `.*_config.libsonnet` library .
-
- **Note:** To isolate **PROD** and **DEV** the configuration files have a section for each environment where we can define specific `notifications`(ex: pagerduty, vitess-alerts...) and `conditions` (alert thresholds).
-
- In this example the alert has a different notification config. For **PROD** it pages and **DEV** it doesn't:
-
- ```js
- alert: {
- name: 'vitess-mixin - # of tablets with MySQL replication lag > 300s',
- frequency: '1m',
- forDuration: '3m',
- noDataState: 'ok',
- executionErrorState: 'keep_state',
- message: |||
- The number of tablets with MySQL replication lag > 300s is above the threshold.
- This usually indicate that replicas are not able to keep up with the write loads on the primary. Please take a look.
- |||,
-
- prod+: {
- notifications: [
- { uid: 'alerts-vitess' },
- { uid: 'pagerduty-vitess' },
- ],
- conditions: [
- alert_condition.new(
- evaluatorParams=[1],
- evaluatorType='gt',
- operatorType='and',
- queryRefId='A',
- queryTimeStart='1m',
- reducerType='max'),
- ],
- },
- //override PROD notifications.
- dev+: self.prod {
- notifications: [
- { uid: 'alerts-vitess' },
- ],
- },
- },
- ```
-
- **Warning:** Editing existing resources can change other dashboards behavior. Since basic resources like `panels`, `rows`, `texts`... can be shared across dashboards. This can be easily checked running `make all` as explained bellow.
-
-## Update Existing Dashboards
-
- Same steps as **Define a new Dashboard** starting from step `.4`.
-
-### Edit existing resources
-
- 1. Look for the dashboard you want to edit in the `dashboards/layouts` folder.
- 2. Find the resource you want to update in the `dashboards/resources` folder.
-
-### Adding new resources
-
- 1. Create the resource in the corresponding location under `dashboards/resources` folder.
- 2. Add the resource to the desired layout in `dashboards/layouts`.
-
-## Test and Deploy
-
-### Local Unit Tests with `make all`
-
-These tests attempt to assert truth to the following:
-
-- Does this mixin generate valid dashboard JSON?
-- Does this mixin generate valid recording rules YAML?
-- Do the configured elements do what they are expected to do?
-
-This make target will format, lint, build all generated dashboards and recording rules using `origin/main` and diff with them your `local branch`. Printing a report to the `stdout`.
-
-```shell
- $ pwd
- /manfontan/vitess-mixin
- $ ENV='prod' make all
- #### Building origin/main
-
- Done!
-
- #### Diff origin/main with main:
-
- # Checking prometheus_rules.yaml... OK
- # Checking cluster_overview.json... OK
- # Checking vtgate_host_view.json... OK
- # Checking vtgate_overview.json... OK
- # Checking vttablet_host_view.json... OK
-
- EXIT STATUS:
- ✅ Your dashboards local version matches the origin/main version
-```
-
-The above execution shows the report for a `local branch` matching `origin/main`. Any changes will be reported as **NOK** along with the diff report. This doesn't mean something is wrong it just points that there are changes in your local branch compared to `origin/main` which is expected. Review the diff report and once you are happy with your changes create a PR.
-
-### Local e2e tests using Cypress (Alpha)
-
-These tests attempt to assert truth to the following:
-
-- Are dashboard elements displayed as expected?
-
-The spec for each dashboard can be found at `/e2e/cypress/integration`.
-
-`docker-compose` is used to run Cypress and Grafana. There are two targets in
-[Makefile](../Makefile) to help run it.
-
-- `make e2e`: runs tests headless and exits.
-
-- `make e2e-dev`: opens the [the test
-runner](https://docs.cypress.io/guides/core-concepts/test-runner.html#Overview)
-and exposes Grafana to the host machine - http://localhost:3030. This requires
-an X11 server to work. [This
-post](https://www.cypress.io/blog/2019/05/02/run-cypress-with-a-single-docker-command/#Interactive-mode)
-describes how to set this up with [XQuartz](https://www.xquartz.org/).
-
-**Note** The dummy Grafana server is not connected to a Prometheus Backend for this reason dashboards will not display any data, templates will fail to load etc... If you don't have a Dev Prometheus server. Replacing prometheus datasources(`Prometheus_Vitess`, `Prometheus_Node` ...) with an empty string in the generated JSON file will default to the dummy datasource displaying dummy data. This is useful when testing using interactive mode `make e2e-dev`.
-
-### Local e2e manual testing using compose (Alpha)
-
-**Note**: This targets have been tested using docker for Mac. You may need to change the IPs and configurations for your specific setup.
-
-Before we run the local environment using compose it is necessary to generate the dashboards and recording rules using `ENV=dev make all` (Note: choose the environment you want to test).
-
-Once our dashboards are available simply run:
-
-- `make e2e-compose-up`: spin up the cluster
-
-Changes to the dashboards are not dynamically loaded so you will need to bring down the cluster and initialized it again to load your changes.
-
-If you are done testing or the cluster gets in a bad state quit and clean up using:
-
-- `make e2e-compose-down`: cleanup compose resources
-
-In order to generate some metrics we can use the following commands:
-
-```shell
-## INSERT TEST DATA
-mysql --port=15306 --host=127.0.0.1 < load_test.sql
-## SIMULATED QUERIES
-mysqlslap -c 5 --port=15306 --host=127.0.0.1 --iterations=1000 --create-schema=test_keyspace:80-@primary --query="SELECT * FROM messages;"
-mysqlslap -c 5 --port=15306 --host=127.0.0.1 --iterations=1000 --create-schema=test_keyspace:80-@replica --query="SELECT * FROM messages;"
-mysqlslap -c 5 --port=15306 --host=127.0.0.1 --iterations=1000 --create-schema=lookup_keyspace:-@primary --query="SELECT * FROM messages_message_lookup;"
-mysqlslap -c 5 --port=15306 --host=127.0.0.1 --iterations=1000 --create-schema=lookup_keyspace:-@replica --query="SELECT * FROM messages_message_lookup;"
-## SIMULATED ERRORS
-mysqlslap --port=15306 --host=127.0.0.1 --iterations=10000 --create-schema=test_keyspace:80-@primary --query="SELECT name FROM messages;"
-mysqlslap --port=15306 --host=127.0.0.1 --iterations=10000 --create-schema=lookup_keyspace:-@replica --query="SELECT name FROM messages_message_lookup;"
-```
-
-Once the cluster is up and running you should be able to access:
-
-- grafana (default credentials > admin/admin) http://localhost:3030/
-- prometheus http://localhost:9000/
-- vitess control panel http://localhost:15000/
diff --git a/web/vtadmin/package-lock.json b/web/vtadmin/package-lock.json
index 928217e9d4a..2dc201fbf88 100644
--- a/web/vtadmin/package-lock.json
+++ b/web/vtadmin/package-lock.json
@@ -21,6 +21,7 @@
"highcharts-react-official": "^3.1.0",
"history": "^5.3.0",
"lodash-es": "^4.17.21",
+ "path-to-regexp": "^8.1.0",
"postcss-flexbugs-fixes": "^5.0.2",
"postcss-preset-env": "^8.0.1",
"query-string": "^7.1.3",
@@ -3859,7 +3860,7 @@
"node": ">=14.0.0"
},
"peerDependencies": {
- "rollup": "^2.68.0||^3.0.0"
+ "rollup": "^3.29.5"
},
"peerDependenciesMeta": {
"rollup": {
@@ -3881,7 +3882,7 @@
"node": ">=14.0.0"
},
"peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ "rollup": "^3.29.5"
},
"peerDependenciesMeta": {
"rollup": {
@@ -5238,7 +5239,7 @@
"node": "^14.18.0 || >=16.0.0"
},
"peerDependencies": {
- "vite": "^4.1.0-beta.0"
+ "vite": "^4.5.4"
}
},
"node_modules/@vitest/expect": {
@@ -10777,11 +10778,11 @@
}
},
"node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dependencies": {
- "braces": "^3.0.2",
+ "braces": "^3.0.3",
"picomatch": "^2.3.1"
},
"engines": {
@@ -10927,7 +10928,7 @@
"is-node-process": "^1.0.1",
"js-levenshtein": "^1.1.6",
"node-fetch": "^2.6.7",
- "path-to-regexp": "^6.2.0",
+ "path-to-regexp": "^8.0.0",
"statuses": "^2.0.0",
"strict-event-emitter": "^0.2.0",
"type-fest": "^1.2.2",
@@ -14130,10 +14131,12 @@
}
},
"node_modules/path-to-regexp": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz",
- "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==",
- "dev": true
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.1.0.tgz",
+ "integrity": "sha512-Bqn3vc8CMHty6zuD+tG23s6v2kwxslHEhTj4eYaVKGIEB+YX/2wd0/rgXLFD9G9id9KCtbVy/3ZgmvZjpa0UdQ==",
+ "engines": {
+ "node": ">=16"
+ }
},
"node_modules/path-type": {
"version": "4.0.0",
@@ -15479,7 +15482,7 @@
"history": "^4.9.0",
"hoist-non-react-statics": "^3.1.0",
"loose-envify": "^1.3.1",
- "path-to-regexp": "^1.7.0",
+ "path-to-regexp": "^1.9.0",
"prop-types": "^15.6.2",
"react-is": "^16.6.0",
"tiny-invariant": "^1.0.2",
@@ -15538,9 +15541,9 @@
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
},
"node_modules/react-router/node_modules/path-to-regexp": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
- "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz",
+ "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==",
"dependencies": {
"isarray": "0.0.1"
}
@@ -16009,10 +16012,11 @@
"integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg=="
},
"node_modules/rollup": {
- "version": "3.29.4",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
- "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
+ "version": "3.29.5",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz",
+ "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==",
"dev": true,
+ "license": "MIT",
"bin": {
"rollup": "dist/bin/rollup"
},
@@ -16205,7 +16209,7 @@
"mime-types": "2.1.18",
"minimatch": "3.1.2",
"path-is-inside": "1.0.2",
- "path-to-regexp": "2.2.1",
+ "path-to-regexp": "^3.3.0",
"range-parser": "1.2.0"
}
},
@@ -16231,9 +16235,9 @@
}
},
"node_modules/serve-handler/node_modules/path-to-regexp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz",
- "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz",
+ "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==",
"dev": true
},
"node_modules/serve/node_modules/ajv": {
@@ -17662,14 +17666,15 @@
}
},
"node_modules/vite": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz",
- "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==",
+ "version": "4.5.5",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz",
+ "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"esbuild": "^0.18.10",
"postcss": "^8.4.27",
- "rollup": "^3.27.1"
+ "rollup": "^3.29.5"
},
"bin": {
"vite": "bin/vite.js"
@@ -17727,7 +17732,7 @@
"mlly": "^1.1.0",
"pathe": "^1.1.0",
"picocolors": "^1.0.0",
- "vite": "^3.0.0 || ^4.0.0"
+ "vite": "^4.5.4"
},
"bin": {
"vite-node": "vite-node.mjs"
@@ -17747,11 +17752,11 @@
"dependencies": {
"@rollup/pluginutils": "^4.2.1",
"@types/eslint": "^8.4.5",
- "rollup": "^2.77.2"
+ "rollup": "^3.29.5"
},
"peerDependencies": {
"eslint": ">=7",
- "vite": ">=2"
+ "vite": ">=4.5.4"
}
},
"node_modules/vite-plugin-eslint/node_modules/@rollup/pluginutils": {
@@ -17767,21 +17772,6 @@
"node": ">= 8.0.0"
}
},
- "node_modules/vite-plugin-eslint/node_modules/rollup": {
- "version": "2.79.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
- "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
- "dev": true,
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=10.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
"node_modules/vite-plugin-svgr": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-2.4.0.tgz",
@@ -17792,7 +17782,7 @@
"@svgr/core": "^6.5.1"
},
"peerDependencies": {
- "vite": "^2.6.0 || 3 || 4"
+ "vite": "^4.5.4"
}
},
"node_modules/vitest": {
@@ -17822,7 +17812,7 @@
"tinybench": "^2.3.1",
"tinypool": "^0.4.0",
"tinyspy": "^1.0.2",
- "vite": "^3.0.0 || ^4.0.0",
+ "vite": "^4.5.4",
"vite-node": "0.29.8",
"why-is-node-running": "^2.2.2"
},
diff --git a/web/vtadmin/package.json b/web/vtadmin/package.json
index 52029ddd9e4..78d14ea9e9c 100644
--- a/web/vtadmin/package.json
+++ b/web/vtadmin/package.json
@@ -20,6 +20,7 @@
"highcharts-react-official": "^3.1.0",
"history": "^5.3.0",
"lodash-es": "^4.17.21",
+ "path-to-regexp": "^8.1.0",
"postcss-flexbugs-fixes": "^5.0.2",
"postcss-preset-env": "^8.0.1",
"query-string": "^7.1.3",
diff --git a/web/vtadmin/src/api/http.ts b/web/vtadmin/src/api/http.ts
index 33d192dbb6f..529cb3c4e3c 100644
--- a/web/vtadmin/src/api/http.ts
+++ b/web/vtadmin/src/api/http.ts
@@ -265,7 +265,9 @@ export const deleteTablet = async ({ allowPrimary, clusterID, alias }: DeleteTab
req.append('allow_primary', allowPrimary.toString());
}
- const { result } = await vtfetch(`/api/tablet/${alias}?${req}`, { method: 'delete' });
+ const { result } = await vtfetch(`/api/tablet/${alias}?${req}`, {
+ method: 'delete',
+ });
const err = pb.DeleteTabletResponse.verify(result);
if (err) throw Error(err);
@@ -419,6 +421,20 @@ export const fetchVSchema = async ({ clusterID, keyspace }: FetchVSchemaParams)
return pb.VSchema.create(result);
};
+export interface FetchTransactionsParams {
+ clusterID: string;
+ keyspace: string;
+}
+
+export const fetchTransactions = async ({ clusterID, keyspace }: FetchTransactionsParams) => {
+ const { result } = await vtfetch(`/api/transactions/${clusterID}/${keyspace}`);
+
+ const err = vtctldata.GetUnresolvedTransactionsResponse.verify(result);
+ if (err) throw Error(err);
+
+ return vtctldata.GetUnresolvedTransactionsResponse.create(result);
+};
+
export const fetchWorkflows = async () => {
const { result } = await vtfetch(`/api/workflows`);
@@ -437,6 +453,54 @@ export const fetchWorkflow = async (params: { clusterID: string; keyspace: strin
return pb.Workflow.create(result);
};
+export const fetchWorkflowStatus = async (params: { clusterID: string; keyspace: string; name: string }) => {
+ const { result } = await vtfetch(`/api/workflow/${params.clusterID}/${params.keyspace}/${params.name}/status`);
+
+ const err = vtctldata.WorkflowStatusResponse.verify(result);
+ if (err) throw Error(err);
+
+ return vtctldata.WorkflowStatusResponse.create(result);
+};
+
+export interface CreateMoveTablesParams {
+ clusterID: string;
+ request: vtctldata.IMoveTablesCreateRequest;
+}
+
+export const createMoveTables = async ({ clusterID, request }: CreateMoveTablesParams) => {
+ const { result } = await vtfetch(`/api/workflow/${clusterID}/movetables`, {
+ body: JSON.stringify(request),
+ method: 'post',
+ });
+
+ const err = vtctldata.WorkflowStatusResponse.verify(result);
+ if (err) throw Error(err);
+
+ return vtctldata.WorkflowStatusResponse.create(result);
+};
+
+export interface WorkflowActionParams {
+ clusterID: string;
+ keyspace: string;
+ name: string;
+}
+
+export const startWorkflow = async ({ clusterID, keyspace, name }: WorkflowActionParams) => {
+ const { result } = await vtfetch(`/api/workflow/${clusterID}/${keyspace}/${name}/start`);
+ const err = vtctldata.WorkflowUpdateResponse.verify(result);
+ if (err) throw Error(err);
+
+ return vtctldata.WorkflowUpdateResponse.create(result);
+};
+
+export const stopWorkflow = async ({ clusterID, keyspace, name }: WorkflowActionParams) => {
+ const { result } = await vtfetch(`/api/workflow/${clusterID}/${keyspace}/${name}/stop`);
+ const err = vtctldata.WorkflowUpdateResponse.verify(result);
+ if (err) throw Error(err);
+
+ return vtctldata.WorkflowUpdateResponse.create(result);
+};
+
export const fetchVTExplain = async ({ cluster, keyspace, sql }: R) => {
// As an easy enhancement for later, we can also validate the request parameters on the front-end
// instead of defaulting to '', to save a round trip.
@@ -553,7 +617,9 @@ export const reloadSchema = async (params: ReloadSchemaParams) => {
req.append('wait_position', params.waitPosition);
}
- const { result } = await vtfetch(`/api/schemas/reload?${req}`, { method: 'put' });
+ const { result } = await vtfetch(`/api/schemas/reload?${req}`, {
+ method: 'put',
+ });
const err = pb.ReloadSchemasResponse.verify(result);
if (err) throw Error(err);
@@ -574,7 +640,9 @@ export const deleteShard = async (params: DeleteShardParams) => {
req.append('even_if_serving', String(params.evenIfServing));
req.append('recursive', String(params.recursive));
- const { result } = await vtfetch(`/api/shards/${params.clusterID}?${req}`, { method: 'delete' });
+ const { result } = await vtfetch(`/api/shards/${params.clusterID}?${req}`, {
+ method: 'delete',
+ });
const err = vtctldata.DeleteShardsResponse.verify(result);
if (err) throw Error(err);
@@ -701,7 +769,10 @@ export interface RebuildKeyspaceGraphParams {
export const rebuildKeyspaceGraph = async (params: RebuildKeyspaceGraphParams) => {
const { result } = await vtfetch(`/api/keyspace/${params.clusterID}/${params.keyspace}/rebuild_keyspace_graph`, {
method: 'put',
- body: JSON.stringify({ cells: params.cells, allow_partial: params.allowPartial }),
+ body: JSON.stringify({
+ cells: params.cells,
+ allow_partial: params.allowPartial,
+ }),
});
const err = pb.RebuildKeyspaceGraphRequest.verify(result);
if (err) throw Error(err);
@@ -720,7 +791,11 @@ export interface RemoveKeyspaceCellParams {
export const removeKeyspaceCell = async (params: RemoveKeyspaceCellParams) => {
const { result } = await vtfetch(`/api/keyspace/${params.clusterID}/${params.keyspace}/remove_keyspace_cell`, {
method: 'put',
- body: JSON.stringify({ cell: params.cell, force: params.force, recursive: params.recursive }),
+ body: JSON.stringify({
+ cell: params.cell,
+ force: params.force,
+ recursive: params.recursive,
+ }),
});
const err = pb.RemoveKeyspaceCellRequest.verify(result);
if (err) throw Error(err);
diff --git a/web/vtadmin/src/components/App.tsx b/web/vtadmin/src/components/App.tsx
index f7821f3a4ad..e65bbfde32b 100644
--- a/web/vtadmin/src/components/App.tsx
+++ b/web/vtadmin/src/components/App.tsx
@@ -40,6 +40,8 @@ import { isReadOnlyMode } from '../util/env';
import { CreateKeyspace } from './routes/createKeyspace/CreateKeyspace';
import { Topology } from './routes/topology/Topology';
import { ClusterTopology } from './routes/topology/ClusterTopology';
+import { CreateMoveTables } from './routes/createWorkflow/CreateMoveTables';
+import { Transactions } from './routes/Transactions';
export const App = () => {
return (
@@ -105,10 +107,16 @@ export const App = () => {
-
+
+ {!isReadOnlyMode() && (
+
+
+
+ )}
+
@@ -117,6 +125,10 @@ export const App = () => {
+
+
+
+
diff --git a/web/vtadmin/src/components/NavRail.tsx b/web/vtadmin/src/components/NavRail.tsx
index e2897395760..9f9e1bf1681 100644
--- a/web/vtadmin/src/components/NavRail.tsx
+++ b/web/vtadmin/src/components/NavRail.tsx
@@ -65,6 +65,9 @@ export const NavRail = () => {
+ -
+
+
-
diff --git a/web/vtadmin/src/components/TextInput.module.scss b/web/vtadmin/src/components/TextInput.module.scss
index cb087f68956..8611985108c 100644
--- a/web/vtadmin/src/components/TextInput.module.scss
+++ b/web/vtadmin/src/components/TextInput.module.scss
@@ -30,6 +30,7 @@ $iconPositionHorizontalLarge: 1.6rem;
&:disabled {
background: var(--backgroundSecondary);
border-color: var(--backgroundSecondaryHighlight);
+ color: var(--colorDisabled);
cursor: not-allowed;
}
diff --git a/web/vtadmin/src/components/dropdown/Dropdown.tsx b/web/vtadmin/src/components/dropdown/Dropdown.tsx
index c6f7e1285c3..a0db3cdd313 100644
--- a/web/vtadmin/src/components/dropdown/Dropdown.tsx
+++ b/web/vtadmin/src/components/dropdown/Dropdown.tsx
@@ -2,10 +2,14 @@ import React, { Fragment } from 'react';
import { Icon, Icons } from '../Icon';
import { Menu, Transition } from '@headlessui/react';
import style from './Dropdown.module.scss';
+import cx from 'classnames';
+
interface DropdownProps {
// Optionally pass in your own button if you don't want it styled like DropdownButton
dropdownButton: React.FC | Icons;
position?: 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left';
+ title?: string;
+ className?: string;
}
const positions: Record = {
@@ -16,14 +20,21 @@ const positions: Record = {
default: 'right-0',
};
-export const DropdownButton: React.FC<{ icon: Icons }> = ({ icon }) => (
+export const DropdownButton: React.FC<{ icon: Icons; title?: string; className?: string }> = ({
+ icon,
+ title,
+ className,
+}) => (